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