Add "Branch for 23.1" ChangeLog entry.
[emacs.git] / doc / lispref / anti.texi
blob5d61a16ca2029dc7ef3eedea31d06ac8f574fd01
1 @c -*-texinfo-*-
2 @c This is part of the GNU Emacs Lisp Reference Manual.
3 @c Copyright (C) 1999, 2002, 2003, 2004, 2005,
4 @c   2006, 2007, 2008, 2009 Free Software Foundation, Inc.
5 @c See the file elisp.texi for copying conditions.
7 @c This node must have no pointers.
9 @node Antinews, GNU Free Documentation License, System Interface, Top
10 @appendix Emacs 22 Antinews
12 For those users who live backwards in time, here is information about
13 downgrading to Emacs version 22.3.  We hope you will enjoy the greater
14 simplicity that results from the absence of many Emacs @value{EMACSVER}
15 features.
17 @section Old Lisp Features in Emacs 22
19 @itemize @bullet
20 @item
21 The internal character representation used by Emacs is not longer
22 based on Unicode.  In this representation, called @code{emacs-mule},
23 each character belongs to one and only one script.  Emacs makes no
24 attempt to distinguish between ``similar'' characters occurring in
25 different scripts.
27 @item
28 The @code{^} interactive spec code, the function
29 @code{handle-shift-selection}, and the variable
30 @code{this-command-keys-shift-translated} have all been removed.
31 Shift-translated keys are no longer treated specially, making Emacs'
32 handling of keybindings much more consistent.
34 @item
35 Temporarily-active regions are not created by giving the variable
36 @code{transient-mark-mode} values of the form @code{(only
37 . @var{oldvar})}.  We instead use a more more complicated scheme:
38 setting @code{transient-mark-mode} to @code{only} enables Transient
39 Mark mode for the following command only, during which the value of
40 @code{transient-mark-mode} is set to @code{identity}; if it is still
41 @code{identity} at the end of the command, Transient Mark mode is
42 disabled.
44 @item
45 Many minibuffer functions, such as @code{read-file-name} and
46 @code{minibuffer-complete}, have been rewritten in C for greater
47 speed.  The completion code has been considerably simplified; the
48 completion style can no longer be changed via
49 @code{completion-styles-alist}, and @code{completing-read} no longer
50 recognizes the special values @code{confirm-only} and
51 @code{confirm-after-completion} for its @var{require-match} argument.
53 @item
54 Emacs no longer supports explicitly-numbered groups in regular
55 expressions.
57 @item
58 The @code{permanent-local-hook} function property has no special
59 meaning.
61 @item
62 The @code{functionp} function now returns @code{t} for special forms.
64 @item
65 The @code{interactive-form} symbol property has no special meaning.
66 Once you supply a function with an interactive form, the only way to
67 change it is to redefine the function.
69 @item
70 The @code{ignore-errors} macro has been moved into the @code{cl}
71 package.
73 @item
74 Variables can now be both buffer-local and frame-local; buffer-local
75 bindings take precedence over frame-local bindings.
77 @item
78 Faces can no longer be remapped.
80 @item
81 Lisp programs now specify fonts by their names, which are strings
82 following the XLFD (X logical font descriptor) format.  Fonts are no
83 longer represented using a special set of ``font'' data types.  The
84 various functions that act on these data types, such as @code{fontp},
85 @code{font-spec}, and @code{list-fonts}, have all been deleted.
87 @item
88 Emacs does not recognize the @code{FontBackend} X resource and the
89 @code{font-backend} frame parameter.  On the X Window System, fonts
90 are always drawn using the X core font driver.
92 @item
93 Display terminals are no longer represented using a ``terminal'' data
94 type; this is not necessary, because we have removed the ability to
95 display on graphical and text-only terminals simultaneously.  For the
96 same reason, the @code{window-system} variable is no longer
97 frame-local, and the @code{window-system} function has been removed.
99 @item
100 The functions @code{list-system-processes} and
101 @code{process-attributes} have been removed.  To get information about
102 system processes, call an external program, such as @command{ps}.
104 @item
105 The function @code{locate-user-emacs-file} and the variable
106 @code{user-emacs-directory} have been removed.  Instead, use
107 hard-coded values pointing to @file{~/.emacs.d}.
109 @item
110 @code{vertical-motion} can no longer be told to move to a specific
111 column; it always puts point on the first column of a line.
113 @item
114 Windows no longer have parameters.
116 @item
117 The @code{display-buffer} function has been rewritten in C.  Its
118 window-splitting heuristics are a little less sophisticated, and a
119 little less documented.  Window-splitting is handled internally,
120 instead of using @code{split-window-preferred-function} (which has
121 been removed).  Windows are never split horizontally; the variable
122 @code{split-width-threshold} has been removed.
124 @item
125 The @code{mode-name} variable now accepts only string values, and
126 cannot take the form of a mode-line construct.
128 @item
129 The behavior of @code{map-char-table} has changed.  It calls the
130 mapping function for every single character in the table, instead of
131 using cons cells to represent contiguous character code ranges.
133 @item
134 Several keymaps have been eliminated: @code{input-decode-map},
135 @code{local-function-key-map}, @code{search-map},
136 @code{multi-query-replace-map}, and
137 @code{minibuffer-local-shell-command-map}.
139 @item
140 Many functions have been removed, including @code{emacs-init-time},
141 @code{emacs-uptime}, @code{buffer-swap-text}, @code{use-region-p},
142 @code{region-active-p}, @code{start-file-process},
143 @code{process-lines}, @code{image-refresh},
144 @code{match-substitute-replacement}, @code{word-search-forward-lax},
145 and @code{word-search-backward-lax}.
147 @item
148 Many variables have been removed, including @code{read-circle},
149 @code{before-init-time} and @code{after-init-time},
150 @code{generate-autoload-cookie}, @code{file-local-variables-alist},
151 @code{replace-search-function} and @code{replace-re-search-function},
152 @code{inhibit-changing-match-data}, @code{wrap-prefix}, and
153 @code{line-prefix},
154 @end itemize
156 @ignore
157    arch-tag: 1d0ef137-2bad-430e-ae8e-d820d569b5a6
158 @end ignore