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