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