Commit | Line | Data |
---|---|---|
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 | |
13 | For those users who live backwards in time, here is information about | |
17ecd7af | 14 | downgrading to Emacs version 22.3. We hope you will enjoy the greater |
0b3a2969 LK |
15 | simplicity that results from the absence of many Emacs @value{EMACSVER} |
16 | features. | |
0a9482c5 | 17 | |
17ecd7af | 18 | @section Old Lisp Features in Emacs 22 |
0a9482c5 RS |
19 | |
20 | @itemize @bullet | |
21 | @item | |
734b5e3b CY |
22 | The internal character representation used by Emacs is not longer |
23 | based on Unicode. In this representation, called @code{emacs-mule}, | |
24 | each character belongs to one and only one script. Emacs makes no | |
25 | attempt to distinguish between ``similar'' characters occurring in | |
26 | different scripts. | |
0a9482c5 | 27 | |
bd04e7de | 28 | @item |
734b5e3b CY |
29 | The @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. | |
32 | Shift-translated keys are no longer treated specially, making Emacs' | |
33 | handling of keybindings much more consistent. | |
34 | ||
35 | @item | |
36 | Temporarily-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 |
39 | setting @code{transient-mark-mode} to @code{only} enables Transient |
40 | Mark 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 | |
43 | disabled. | |
44 | ||
45 | @item | |
46 | Many minibuffer functions, such as @code{read-file-name} and | |
47 | @code{minibuffer-complete}, have been rewritten in C for greater | |
48 | speed. The completion code has been considerably simplified; the | |
49 | completion style can no longer be changed via | |
50 | @code{completion-styles-alist}, and @code{completing-read} no longer | |
51 | recognizes the special values @code{confirm-only} and | |
52 | @code{confirm-after-completion} for its @var{require-match} argument. | |
53 | ||
54 | @item | |
55 | Emacs no longer supports explicitly-numbered groups in regular | |
56 | expressions. | |
bd04e7de | 57 | |
0a9482c5 | 58 | @item |
734b5e3b CY |
59 | The @code{permanent-local-hook} function property has no special |
60 | meaning. | |
0a9482c5 | 61 | |
0a9482c5 | 62 | @item |
734b5e3b CY |
63 | The @code{functionp} function now returns @code{t} for special forms. |
64 | ||
65 | @item | |
66 | The @code{interactive-form} symbol property has no special meaning. | |
17ecd7af CY |
67 | Once you supply a function with an interactive form, the only way to |
68 | change it is to redefine the function. | |
0a9482c5 | 69 | |
6b5c0a2e | 70 | @item |
734b5e3b CY |
71 | The @code{ignore-errors} macro has been moved into the @code{cl} |
72 | package. | |
6b5c0a2e | 73 | |
0a9482c5 | 74 | @item |
734b5e3b CY |
75 | Variables can now be both buffer-local and frame-local; buffer-local |
76 | bindings take precedence over frame-local bindings. | |
0a9482c5 | 77 | |
4b878354 | 78 | @item |
734b5e3b | 79 | Faces can no longer be remapped. |
0a9482c5 | 80 | |
4b878354 | 81 | @item |
734b5e3b CY |
82 | Lisp programs now specify fonts by their names, which are strings |
83 | following the XLFD (X logical font descriptor) format. Fonts are no | |
84 | longer represented using a special set of ``font'' data types. The | |
85 | various 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 |
89 | Emacs does not recognize the @code{FontBackend} X resource and the |
90 | @code{font-backend} frame parameter. On the X Window System, fonts | |
91 | are always drawn using the X core font driver. | |
6b5c0a2e | 92 | |
1dffc5db | 93 | @item |
17ecd7af | 94 | Display terminals are no longer represented using a ``terminal'' data |
734b5e3b | 95 | type; this is not necessary, because we have removed the ability to |
17ecd7af CY |
96 | display on graphical and text-only terminals simultaneously. For the |
97 | same reason, the @code{window-system} variable is no longer | |
98 | frame-local, and the @code{window-system} function has been removed. | |
1dffc5db | 99 | |
6b5c0a2e | 100 | @item |
17ecd7af CY |
101 | The functions @code{list-system-processes} and |
102 | @code{process-attributes} have been removed. To get information about | |
103 | system processes, call an external program, such as @command{ps}. | |
0a9482c5 | 104 | |
0a9482c5 | 105 | @item |
17ecd7af | 106 | The function @code{locate-user-emacs-file} and the variable |
734b5e3b CY |
107 | @code{user-emacs-directory} have been removed. Instead, use |
108 | hard-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 |
112 | column; it always puts point on the first column of a line. | |
0a9482c5 RS |
113 | |
114 | @item | |
734b5e3b | 115 | Windows no longer have parameters. |
0a9482c5 | 116 | |
1dffc5db | 117 | @item |
734b5e3b CY |
118 | The @code{display-buffer} function has been rewritten in C. Its |
119 | window-splitting heuristics are a little less sophisticated, and a | |
120 | little less documented. Window-splitting is handled internally, | |
121 | instead of using @code{split-window-preferred-function} (which has | |
122 | been removed). Windows are never split horizontally; the variable | |
123 | @code{split-width-threshold} has been removed. | |
0a9482c5 | 124 | |
a40d4712 | 125 | @item |
17ecd7af CY |
126 | The @code{mode-name} variable now accepts only string values, and |
127 | cannot take the form of a mode-line construct. | |
4b878354 RS |
128 | |
129 | @item | |
734b5e3b CY |
130 | The behavior of @code{map-char-table} has changed. It calls the |
131 | mapping function for every single character in the table, instead of | |
132 | using cons cells to represent contiguous character code ranges. | |
133 | ||
134 | @item | |
135 | Several 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 |
141 | Many 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}, | |
146 | and @code{word-search-backward-lax}. | |
0a9482c5 RS |
147 | |
148 | @item | |
17ecd7af | 149 | Many 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 |