]> code.delx.au - gnu-emacs/blob - doc/lispref/anti.texi
Add 2012 to FSF copyright years for Emacs files (do not merge to trunk)
[gnu-emacs] / doc / lispref / anti.texi
1 @c -*-texinfo-*-
2 @c This is part of the GNU Emacs Lisp Reference Manual.
3 @c Copyright (C) 1999, 2002, 2003, 2004, 2005, 2006, 2007, 2008,
4 @c 2009, 2010, 2011, 2012 Free Software Foundation, Inc.
5 @c See the file elisp.texi for copying conditions.
6
7 @c This node must have no pointers.
8
9 @node Antinews, GNU Free Documentation License, System Interface, Top
10 @appendix Emacs 22 Antinews
11 @c Update the elisp.texi, vol1.texi, vol2.texi Antinews menu entries
12 @c with the above version number.
13
14 For those users who live backwards in time, here is information about
15 downgrading to Emacs version 22.3. We hope you will enjoy the greater
16 simplicity that results from the absence of many Emacs @value{EMACSVER}
17 features.
18
19 @section Old Lisp Features in Emacs 22
20
21 @itemize @bullet
22 @item
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.
28
29 @item
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
39 . @var{oldvar})}. We instead use a more complicated scheme:
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.
58
59 @item
60 The @code{permanent-local-hook} function property has no special
61 meaning.
62
63 @item
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.
68 Once you supply a function with an interactive form, the only way to
69 change it is to redefine the function.
70
71 @item
72 The @code{ignore-errors} macro has been moved into the @code{cl}
73 package.
74
75 @item
76 Variables can now be both buffer-local and frame-local; buffer-local
77 bindings take precedence over frame-local bindings.
78
79 @item
80 Faces can no longer be remapped.
81
82 @item
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.
88
89 @item
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.
93
94 @item
95 Display terminals are no longer represented using a ``terminal'' data
96 type; this is not necessary, because we have removed the ability to
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.
100
101 @item
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}.
105
106 @item
107 The function @code{locate-user-emacs-file} and the variable
108 @code{user-emacs-directory} have been removed. Instead, use
109 hard-coded values pointing to @file{~/.emacs.d}.
110
111 @item
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.
114
115 @item
116 Windows no longer have parameters.
117
118 @item
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.
125
126 @item
127 The @code{mode-name} variable now accepts only string values, and
128 cannot take the form of a mode-line construct.
129
130 @item
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},
137 @code{local-function-key-map}, @code{search-map},
138 @code{multi-query-replace-map}, and
139 @code{minibuffer-local-shell-command-map}.
140
141 @item
142 Many functions have been removed, including: @code{buffer-swap-text},
143 @code{emacs-init-time}, @code{emacs-uptime}, @code{use-region-p},
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}.
148
149 @item
150 Many variables have been removed, including @code{read-circle},
151 @code{after-init-time} and @code{before-init-time},
152 @code{generate-autoload-cookie}, @code{file-local-variables-alist},
153 @code{replace-search-function} and @code{replace-re-search-function},
154 @code{inhibit-changing-match-data}, @code{wrap-prefix}, and
155 @code{line-prefix},
156 @end itemize
157
158 @ignore
159 arch-tag: 1d0ef137-2bad-430e-ae8e-d820d569b5a6
160 @end ignore