Mercurial > emacs
comparison etc/NEWS @ 77350:7cc0a079620f
Remove +++ and --- lines.
author | Chong Yidong <cyd@stupidchicken.com> |
---|---|
date | Fri, 20 Apr 2007 21:39:32 +0000 |
parents | 0ccaaefc78e7 |
children | 00feafb6aed4 |
comparison
equal
deleted
inserted
replaced
77349:ddd98fc21199 | 77350:7cc0a079620f |
---|---|
12 See files NEWS.21, NEWS.20, NEWS.19, NEWS.18, and NEWS.1-17 for changes | 12 See files NEWS.21, NEWS.20, NEWS.19, NEWS.18, and NEWS.1-17 for changes |
13 in older Emacs versions. | 13 in older Emacs versions. |
14 | 14 |
15 You can narrow news to a specific version by calling `view-emacs-news' | 15 You can narrow news to a specific version by calling `view-emacs-news' |
16 with a prefix argument or by typing C-u C-h C-n. | 16 with a prefix argument or by typing C-u C-h C-n. |
17 | |
18 Temporary note: | |
19 +++ indicates that the appropriate manual has already been updated. | |
20 --- means no change in the manuals is called for. | |
21 When you add a new item, please add it without either +++ or --- | |
22 so we will look at it and add it to the manual. | |
23 | |
24 | 17 |
25 * About external Lisp packages | 18 * About external Lisp packages |
26 | 19 |
27 When you upgrade to Emacs 22 from a previous version, some older | 20 When you upgrade to Emacs 22 from a previous version, some older |
28 versions of external Lisp packages are known to behave badly. | 21 versions of external Lisp packages are known to behave badly. |
41 ** cua.el, cua-mode.el: remove old versions. | 34 ** cua.el, cua-mode.el: remove old versions. |
42 | 35 |
43 | 36 |
44 * Installation Changes in Emacs 22.1 | 37 * Installation Changes in Emacs 22.1 |
45 | 38 |
46 --- | |
47 ** Emacs comes with a new set of icons. | 39 ** Emacs comes with a new set of icons. |
48 These icons are displayed on the taskbar and/or titlebar when Emacs | 40 These icons are displayed on the taskbar and/or titlebar when Emacs |
49 runs in a graphical environment. Source files for these icons can be | 41 runs in a graphical environment. Source files for these icons can be |
50 found in etc/images/icons. (You can't change the icons displayed by | 42 found in etc/images/icons. (You can't change the icons displayed by |
51 Emacs by changing these files directly. On X, the icon is compiled | 43 Emacs by changing these files directly. On X, the icon is compiled |
52 into the Emacs executable; see gnu.h in the source tree. On MS | 44 into the Emacs executable; see gnu.h in the source tree. On MS |
53 Windows, see nt/icons/emacs.ico.) | 45 Windows, see nt/icons/emacs.ico.) |
54 | 46 |
55 --- | |
56 ** Emacs now supports new configure options `--program-prefix', | 47 ** Emacs now supports new configure options `--program-prefix', |
57 `--program-suffix' and `--program-transform-name' that affect the names of | 48 `--program-suffix' and `--program-transform-name' that affect the names of |
58 installed programs. | 49 installed programs. |
59 | 50 |
60 --- | |
61 ** Emacs can now be built without sound support. | 51 ** Emacs can now be built without sound support. |
62 | 52 |
63 --- | |
64 ** You can build Emacs with Gtk+ widgets by specifying `--with-x-toolkit=gtk' | 53 ** You can build Emacs with Gtk+ widgets by specifying `--with-x-toolkit=gtk' |
65 when you run configure. This requires Gtk+ 2.4 or newer. This port | 54 when you run configure. This requires Gtk+ 2.4 or newer. This port |
66 provides a way to display multilingual text in menus (with some caveats). | 55 provides a way to display multilingual text in menus (with some caveats). |
67 | 56 |
68 --- | |
69 ** The `emacsserver' program has been removed, replaced with Lisp code. | 57 ** The `emacsserver' program has been removed, replaced with Lisp code. |
70 | 58 |
71 --- | |
72 ** The `yow' program has been removed. | 59 ** The `yow' program has been removed. |
73 Use the corresponding Emacs feature instead. | 60 Use the corresponding Emacs feature instead. |
74 | 61 |
75 --- | |
76 ** By default, Emacs now uses a setgid helper program to update game | 62 ** By default, Emacs now uses a setgid helper program to update game |
77 scores. The directory ${localstatedir}/games/emacs is the normal | 63 scores. The directory ${localstatedir}/games/emacs is the normal |
78 place for game scores to be stored. You can control this with the | 64 place for game scores to be stored. You can control this with the |
79 configure option `--with-game-dir'. The specific user that Emacs uses | 65 configure option `--with-game-dir'. The specific user that Emacs uses |
80 to own the game scores is controlled by `--with-game-user'. If access | 66 to own the game scores is controlled by `--with-game-user'. If access |
81 to a game user is not available, then scores will be stored separately | 67 to a game user is not available, then scores will be stored separately |
82 in each user's home directory. | 68 in each user's home directory. |
83 | 69 |
84 --- | |
85 ** Leim is now part of the Emacs distribution. | 70 ** Leim is now part of the Emacs distribution. |
86 You no longer need to download a separate tarball in order to build | 71 You no longer need to download a separate tarball in order to build |
87 Emacs with Leim. | 72 Emacs with Leim. |
88 | 73 |
89 +++ | |
90 ** The Emacs Lisp Reference Manual is now part of the distribution. | 74 ** The Emacs Lisp Reference Manual is now part of the distribution. |
91 | 75 |
92 The Emacs Lisp Reference Manual in Info format is built as part of the | 76 The Emacs Lisp Reference Manual in Info format is built as part of the |
93 Emacs build procedure and installed together with the Emacs User | 77 Emacs build procedure and installed together with the Emacs User |
94 Manual. A menu item was added to the menu bar to make it easily | 78 Manual. A menu item was added to the menu bar to make it easily |
95 accessible (Help->More Manuals->Emacs Lisp Reference). | 79 accessible (Help->More Manuals->Emacs Lisp Reference). |
96 | 80 |
97 --- | |
98 ** The Introduction to Programming in Emacs Lisp manual is now part of | 81 ** The Introduction to Programming in Emacs Lisp manual is now part of |
99 the distribution. | 82 the distribution. |
100 | 83 |
101 This manual is now part of the standard distribution and is installed, | 84 This manual is now part of the standard distribution and is installed, |
102 together with the Emacs User Manual, into the Info directory. A menu | 85 together with the Emacs User Manual, into the Info directory. A menu |
103 item was added to the menu bar to make it easily accessible | 86 item was added to the menu bar to make it easily accessible |
104 (Help->More Manuals->Introduction to Emacs Lisp). | 87 (Help->More Manuals->Introduction to Emacs Lisp). |
105 | 88 |
106 --- | |
107 ** New translations of the Emacs Tutorial are available in the | 89 ** New translations of the Emacs Tutorial are available in the |
108 following languages: Brasilian Portuguese, Bulgarian, Chinese (both | 90 following languages: Brasilian Portuguese, Bulgarian, Chinese (both |
109 with simplified and traditional characters), French, Russian, and | 91 with simplified and traditional characters), French, Russian, and |
110 Italian. Type `C-u C-h t' to choose one of them in case your language | 92 Italian. Type `C-u C-h t' to choose one of them in case your language |
111 setup doesn't automatically select the right one. | 93 setup doesn't automatically select the right one. |
112 | 94 |
113 --- | |
114 ** New translations of the Emacs reference card are available in the | 95 ** New translations of the Emacs reference card are available in the |
115 Brasilian Portuguese and Russian. The corresponding PostScript files | 96 Brasilian Portuguese and Russian. The corresponding PostScript files |
116 are also included. | 97 are also included. |
117 | 98 |
118 --- | |
119 ** A French translation of the `Emacs Survival Guide' is available. | 99 ** A French translation of the `Emacs Survival Guide' is available. |
120 | 100 |
121 --- | |
122 ** Emacs now includes support for loading image libraries on demand. | 101 ** Emacs now includes support for loading image libraries on demand. |
123 (Currently this feature is only used on MS Windows.) You can configure | 102 (Currently this feature is only used on MS Windows.) You can configure |
124 the supported image types and their associated dynamic libraries by | 103 the supported image types and their associated dynamic libraries by |
125 setting the variable `image-library-alist'. | 104 setting the variable `image-library-alist'. |
126 | 105 |
127 --- | |
128 ** Support for a Cygwin build of Emacs was added. | 106 ** Support for a Cygwin build of Emacs was added. |
129 | 107 |
130 --- | |
131 ** Support for FreeBSD/Alpha has been added. | 108 ** Support for FreeBSD/Alpha has been added. |
132 | 109 |
133 --- | |
134 ** Support for GNU/Linux systems on S390 machines was added. | 110 ** Support for GNU/Linux systems on S390 machines was added. |
135 | 111 |
136 --- | |
137 ** Support for GNU/Linux systems on Tensilica Xtensa machines was added. | 112 ** Support for GNU/Linux systems on Tensilica Xtensa machines was added. |
138 | 113 |
139 --- | |
140 ** Support for MacOS X was added. | 114 ** Support for MacOS X was added. |
141 See the files mac/README and mac/INSTALL for build instructions. | 115 See the files mac/README and mac/INSTALL for build instructions. |
142 | 116 |
143 --- | |
144 ** Support for GNU/Linux systems on X86-64 machines was added. | 117 ** Support for GNU/Linux systems on X86-64 machines was added. |
145 | 118 |
146 --- | |
147 ** Mac OS 9 port now uses the Carbon API by default. You can also | 119 ** Mac OS 9 port now uses the Carbon API by default. You can also |
148 create a non-Carbon build by specifying `NonCarbon' as a target. See | 120 create a non-Carbon build by specifying `NonCarbon' as a target. See |
149 the files mac/README and mac/INSTALL for build instructions. | 121 the files mac/README and mac/INSTALL for build instructions. |
150 | 122 |
151 --- | |
152 ** Building with -DENABLE_CHECKING does not automatically build with union | 123 ** Building with -DENABLE_CHECKING does not automatically build with union |
153 types any more. Add -DUSE_LISP_UNION_TYPE if you want union types. | 124 types any more. Add -DUSE_LISP_UNION_TYPE if you want union types. |
154 | 125 |
155 --- | |
156 ** When pure storage overflows while dumping, Emacs now prints how | 126 ** When pure storage overflows while dumping, Emacs now prints how |
157 much pure storage it will approximately need. | 127 much pure storage it will approximately need. |
158 | 128 |
159 --- | |
160 ** The script etc/emacs-buffer.gdb can be used with gdb to retrieve the | 129 ** The script etc/emacs-buffer.gdb can be used with gdb to retrieve the |
161 contents of buffers from a core dump and save them to files easily, should | 130 contents of buffers from a core dump and save them to files easily, should |
162 Emacs crash. | 131 Emacs crash. |
163 | 132 |
164 --- | |
165 ** The Emacs terminal emulation in term.el uses a different terminfo name. | 133 ** The Emacs terminal emulation in term.el uses a different terminfo name. |
166 The Emacs terminal emulation in term.el now uses "eterm-color" as its | 134 The Emacs terminal emulation in term.el now uses "eterm-color" as its |
167 terminfo name, since term.el now supports color. | 135 terminfo name, since term.el now supports color. |
168 | 136 |
169 --- | |
170 ** Emacs Lisp source files are compressed by default if `gzip' is available. | 137 ** Emacs Lisp source files are compressed by default if `gzip' is available. |
171 | 138 |
172 --- | |
173 ** All images used in Emacs have been consolidated in etc/images and subdirs. | 139 ** All images used in Emacs have been consolidated in etc/images and subdirs. |
174 See also the changes to `find-image', documented below. | 140 See also the changes to `find-image', documented below. |
175 | 141 |
176 | 142 |
177 * Startup Changes in Emacs 22.1 | 143 * Startup Changes in Emacs 22.1 |
178 | 144 |
179 +++ | |
180 ** New command line option -Q or --quick. | 145 ** New command line option -Q or --quick. |
181 This is like using -q --no-site-file, but in addition it also disables | 146 This is like using -q --no-site-file, but in addition it also disables |
182 the fancy startup screen. | 147 the fancy startup screen. |
183 | 148 |
184 +++ | |
185 ** New command line option -D or --basic-display. | 149 ** New command line option -D or --basic-display. |
186 Disables the menu-bar, the tool-bar, the scroll-bars, tool tips, and | 150 Disables the menu-bar, the tool-bar, the scroll-bars, tool tips, and |
187 the blinking cursor. | 151 the blinking cursor. |
188 | 152 |
189 +++ | |
190 ** New command line option -nbc or --no-blinking-cursor disables | 153 ** New command line option -nbc or --no-blinking-cursor disables |
191 the blinking cursor on graphical terminals. | 154 the blinking cursor on graphical terminals. |
192 | 155 |
193 +++ | |
194 ** The option --script FILE runs Emacs in batch mode and loads FILE. | 156 ** The option --script FILE runs Emacs in batch mode and loads FILE. |
195 It is useful for writing Emacs Lisp shell script files, because they | 157 It is useful for writing Emacs Lisp shell script files, because they |
196 can start with this line: | 158 can start with this line: |
197 | 159 |
198 #!/usr/bin/emacs --script | 160 #!/usr/bin/emacs --script |
199 | 161 |
200 +++ | |
201 ** The option --directory DIR now modifies `load-path' immediately. | 162 ** The option --directory DIR now modifies `load-path' immediately. |
202 Directories are added to the front of `load-path' in the order they | 163 Directories are added to the front of `load-path' in the order they |
203 appear on the command line. For example, with this command line: | 164 appear on the command line. For example, with this command line: |
204 | 165 |
205 emacs -batch -L .. -L /tmp --eval "(require 'foo)" | 166 emacs -batch -L .. -L /tmp --eval "(require 'foo)" |
206 | 167 |
207 Emacs looks for library `foo' in the parent directory, then in /tmp, then | 168 Emacs looks for library `foo' in the parent directory, then in /tmp, then |
208 in the other directories in `load-path'. (-L is short for --directory.) | 169 in the other directories in `load-path'. (-L is short for --directory.) |
209 | 170 |
210 +++ | |
211 ** The command line option --no-windows has been changed to | 171 ** The command line option --no-windows has been changed to |
212 --no-window-system. The old one still works, but is deprecated. | 172 --no-window-system. The old one still works, but is deprecated. |
213 | 173 |
214 --- | |
215 ** If the environment variable DISPLAY specifies an unreachable X display, | 174 ** If the environment variable DISPLAY specifies an unreachable X display, |
216 Emacs will now startup as if invoked with the --no-window-system option. | 175 Emacs will now startup as if invoked with the --no-window-system option. |
217 | 176 |
218 +++ | |
219 ** The -f option, used from the command line to call a function, | 177 ** The -f option, used from the command line to call a function, |
220 now reads arguments for the function interactively if it is | 178 now reads arguments for the function interactively if it is |
221 an interactively callable function. | 179 an interactively callable function. |
222 | 180 |
223 +++ | |
224 ** When you specify a frame size with --geometry, the size applies to | 181 ** When you specify a frame size with --geometry, the size applies to |
225 all frames you create. A position specified with --geometry only | 182 all frames you create. A position specified with --geometry only |
226 affects the initial frame. | 183 affects the initial frame. |
227 | 184 |
228 --- | |
229 ** Emacs built for MS-Windows now behaves like Emacs on X does, | 185 ** Emacs built for MS-Windows now behaves like Emacs on X does, |
230 with respect to its frame position: if you don't specify a position | 186 with respect to its frame position: if you don't specify a position |
231 (in your .emacs init file, in the Registry, or with the --geometry | 187 (in your .emacs init file, in the Registry, or with the --geometry |
232 command-line option), Emacs leaves the frame position to the Windows' | 188 command-line option), Emacs leaves the frame position to the Windows' |
233 window manager. | 189 window manager. |
234 | 190 |
235 +++ | |
236 ** Emacs can now be invoked in full-screen mode on a windowed display. | 191 ** Emacs can now be invoked in full-screen mode on a windowed display. |
237 When Emacs is invoked on a window system, the new command-line options | 192 When Emacs is invoked on a window system, the new command-line options |
238 `--fullwidth', `--fullheight', and `--fullscreen' produce a frame | 193 `--fullwidth', `--fullheight', and `--fullscreen' produce a frame |
239 whose width, height, or both width and height take up the entire | 194 whose width, height, or both width and height take up the entire |
240 screen size. (For now, this does not work with some window managers.) | 195 screen size. (For now, this does not work with some window managers.) |
241 | 196 |
242 +++ | |
243 ** Emacs now displays a splash screen by default even if command-line | 197 ** Emacs now displays a splash screen by default even if command-line |
244 arguments were given. The new command-line option --no-splash | 198 arguments were given. The new command-line option --no-splash |
245 disables the splash screen; see also the variable | 199 disables the splash screen; see also the variable |
246 `inhibit-splash-screen' (which is also aliased as | 200 `inhibit-splash-screen' (which is also aliased as |
247 `inhibit-startup-message'). | 201 `inhibit-startup-message'). |
248 | 202 |
249 +++ | |
250 ** The default is now to use a bitmap as the icon, so the command-line options | 203 ** The default is now to use a bitmap as the icon, so the command-line options |
251 --icon-type, -i have been replaced with options --no-bitmap-icon, -nbi to turn | 204 --icon-type, -i have been replaced with options --no-bitmap-icon, -nbi to turn |
252 the bitmap icon off. | 205 the bitmap icon off. |
253 | 206 |
254 +++ | |
255 ** New user option `inhibit-startup-buffer-menu'. | 207 ** New user option `inhibit-startup-buffer-menu'. |
256 When loading many files, for instance with `emacs *', Emacs normally | 208 When loading many files, for instance with `emacs *', Emacs normally |
257 displays a buffer menu. This option turns the buffer menu off. | 209 displays a buffer menu. This option turns the buffer menu off. |
258 | 210 |
259 +++ | |
260 ** Init file changes | 211 ** Init file changes |
261 If the init file ~/.emacs does not exist, Emacs will try | 212 If the init file ~/.emacs does not exist, Emacs will try |
262 ~/.emacs.d/init.el or ~/.emacs.d/init.elc. Likewise, if the shell init file | 213 ~/.emacs.d/init.el or ~/.emacs.d/init.elc. Likewise, if the shell init file |
263 ~/.emacs_SHELL is not found, Emacs will try ~/.emacs.d/init_SHELL.sh. | 214 ~/.emacs_SHELL is not found, Emacs will try ~/.emacs.d/init_SHELL.sh. |
264 | 215 |
265 +++ | |
266 ** Emacs now reads the standard abbrevs file ~/.abbrev_defs | 216 ** Emacs now reads the standard abbrevs file ~/.abbrev_defs |
267 automatically at startup, if it exists. When Emacs offers to save | 217 automatically at startup, if it exists. When Emacs offers to save |
268 modified buffers, it saves the abbrevs too if they have changed. It | 218 modified buffers, it saves the abbrevs too if they have changed. It |
269 can do this either silently or asking for confirmation first, | 219 can do this either silently or asking for confirmation first, |
270 according to the value of `save-abbrevs'. | 220 according to the value of `save-abbrevs'. |
271 | 221 |
272 +++ | |
273 ** If the environment variable EMAIL is defined, Emacs now uses its value | 222 ** If the environment variable EMAIL is defined, Emacs now uses its value |
274 to compute the default value of `user-mail-address', in preference to | 223 to compute the default value of `user-mail-address', in preference to |
275 concatenation of `user-login-name' with the name of your host machine. | 224 concatenation of `user-login-name' with the name of your host machine. |
276 | 225 |
277 | 226 |
278 * Incompatible Editing Changes in Emacs 22.1 | 227 * Incompatible Editing Changes in Emacs 22.1 |
279 | 228 |
280 +++ | |
281 ** M-g is now a prefix key. | 229 ** M-g is now a prefix key. |
282 M-g g and M-g M-g run goto-line. | 230 M-g g and M-g M-g run goto-line. |
283 M-g n and M-g M-n run next-error (like C-x `). | 231 M-g n and M-g M-n run next-error (like C-x `). |
284 M-g p and M-g M-p run previous-error. | 232 M-g p and M-g M-p run previous-error. |
285 | 233 |
286 +++ | |
287 ** C-u M-g M-g switches to the most recent previous buffer, | 234 ** C-u M-g M-g switches to the most recent previous buffer, |
288 and goes to the specified line in that buffer. | 235 and goes to the specified line in that buffer. |
289 | 236 |
290 When goto-line starts to execute, if there's a number in the buffer at | 237 When goto-line starts to execute, if there's a number in the buffer at |
291 point then it acts as the default argument for the minibuffer. | 238 point then it acts as the default argument for the minibuffer. |
292 | 239 |
293 +++ | |
294 ** The old bindings C-M-delete and C-M-backspace have been deleted, | 240 ** The old bindings C-M-delete and C-M-backspace have been deleted, |
295 since there are situations where one or the other will shut down | 241 since there are situations where one or the other will shut down |
296 the operating system or your X server. | 242 the operating system or your X server. |
297 | 243 |
298 +++ | |
299 ** line-move-ignore-invisible now defaults to t. | 244 ** line-move-ignore-invisible now defaults to t. |
300 | 245 |
301 +++ | |
302 ** When the undo information of the current command gets really large | 246 ** When the undo information of the current command gets really large |
303 (beyond the value of `undo-outer-limit'), Emacs discards it and warns | 247 (beyond the value of `undo-outer-limit'), Emacs discards it and warns |
304 you about it. | 248 you about it. |
305 | 249 |
306 +++ | |
307 ** `apply-macro-to-region-lines' now operates on all lines that begin | 250 ** `apply-macro-to-region-lines' now operates on all lines that begin |
308 in the region, rather than on all complete lines in the region. | 251 in the region, rather than on all complete lines in the region. |
309 | 252 |
310 +++ | |
311 ** A prefix argument is no longer required to repeat a jump to a | 253 ** A prefix argument is no longer required to repeat a jump to a |
312 previous mark if you set `set-mark-command-repeat-pop' to t. I.e. C-u | 254 previous mark if you set `set-mark-command-repeat-pop' to t. I.e. C-u |
313 C-SPC C-SPC C-SPC ... cycles through the mark ring. Use C-u C-u C-SPC | 255 C-SPC C-SPC C-SPC ... cycles through the mark ring. Use C-u C-u C-SPC |
314 to set the mark immediately after a jump. | 256 to set the mark immediately after a jump. |
315 | 257 |
316 +++ | |
317 ** The info-search bindings on C-h C-f, C-h C-k and C-h C-i | 258 ** The info-search bindings on C-h C-f, C-h C-k and C-h C-i |
318 have been moved to C-h F, C-h K and C-h S. | 259 have been moved to C-h F, C-h K and C-h S. |
319 | 260 |
320 +++ | |
321 ** In incremental search, C-w is changed. M-%, C-M-w and C-M-y are special. | 261 ** In incremental search, C-w is changed. M-%, C-M-w and C-M-y are special. |
322 | 262 |
323 See below under "incremental search changes". | 263 See below under "incremental search changes". |
324 | 264 |
325 --- | |
326 ** C-x C-f RET (find-file), typing nothing in the minibuffer, is no longer | 265 ** C-x C-f RET (find-file), typing nothing in the minibuffer, is no longer |
327 a special case. | 266 a special case. |
328 | 267 |
329 Since the default input is the current directory, this has the effect | 268 Since the default input is the current directory, this has the effect |
330 of specifying the current directory. Normally that means to visit the | 269 of specifying the current directory. Normally that means to visit the |
331 directory with Dired. | 270 directory with Dired. |
332 | 271 |
333 You can get the old behavior by typing C-x C-f M-n RET, which fetches | 272 You can get the old behavior by typing C-x C-f M-n RET, which fetches |
334 the actual file name into the minibuffer. | 273 the actual file name into the minibuffer. |
335 | 274 |
336 +++ | |
337 ** The completion commands TAB, SPC and ? in the minibuffer apply only | 275 ** The completion commands TAB, SPC and ? in the minibuffer apply only |
338 to the text before point. If there is text in the buffer after point, | 276 to the text before point. If there is text in the buffer after point, |
339 it remains unchanged. | 277 it remains unchanged. |
340 | 278 |
341 +++ | |
342 ** When Emacs prompts for file names, SPC no longer completes the file name. | 279 ** When Emacs prompts for file names, SPC no longer completes the file name. |
343 This is so filenames with embedded spaces could be input without the | 280 This is so filenames with embedded spaces could be input without the |
344 need to quote the space with a C-q. The underlying changes in the | 281 need to quote the space with a C-q. The underlying changes in the |
345 keymaps that are active in the minibuffer are described below under | 282 keymaps that are active in the minibuffer are described below under |
346 "New keymaps for typing file names". | 283 "New keymaps for typing file names". |
347 | 284 |
348 +++ | |
349 ** M-o now is the prefix key for setting text properties; | 285 ** M-o now is the prefix key for setting text properties; |
350 M-o M-o requests refontification. | 286 M-o M-o requests refontification. |
351 | 287 |
352 +++ | |
353 ** You can now follow links by clicking Mouse-1 on the link. | 288 ** You can now follow links by clicking Mouse-1 on the link. |
354 | 289 |
355 See below for more details. | 290 See below for more details. |
356 | 291 |
357 +++ | |
358 ** In Dired's ! command (dired-do-shell-command), `*' and `?' now | 292 ** In Dired's ! command (dired-do-shell-command), `*' and `?' now |
359 control substitution of the file names only when they are surrounded | 293 control substitution of the file names only when they are surrounded |
360 by whitespace. This means you can now use them as shell wildcards | 294 by whitespace. This means you can now use them as shell wildcards |
361 too. If you want to use just plain `*' as a wildcard, type `*""'; the | 295 too. If you want to use just plain `*' as a wildcard, type `*""'; the |
362 doublequotes make no difference in the shell, but they prevent | 296 doublequotes make no difference in the shell, but they prevent |
363 special treatment in `dired-do-shell-command'. | 297 special treatment in `dired-do-shell-command'. |
364 | 298 |
365 --- | |
366 ** Adaptive filling misfeature removed. | 299 ** Adaptive filling misfeature removed. |
367 It no longer treats `NNN.' or `(NNN)' as a prefix. | 300 It no longer treats `NNN.' or `(NNN)' as a prefix. |
368 | 301 |
369 --- | |
370 ** The register compatibility key bindings (deprecated since Emacs 19) | 302 ** The register compatibility key bindings (deprecated since Emacs 19) |
371 have been removed: | 303 have been removed: |
372 C-x / point-to-register (Use: C-x r SPC) | 304 C-x / point-to-register (Use: C-x r SPC) |
373 C-x j jump-to-register (Use: C-x r j) | 305 C-x j jump-to-register (Use: C-x r j) |
374 C-x x copy-to-register (Use: C-x r s) | 306 C-x x copy-to-register (Use: C-x r s) |
375 C-x g insert-register (Use: C-x r i) | 307 C-x g insert-register (Use: C-x r i) |
376 | 308 |
377 | 309 |
378 * Editing Changes in Emacs 22.1 | 310 * Editing Changes in Emacs 22.1 |
379 | 311 |
380 +++ | |
381 ** !MEM FULL! at the start of the mode line indicates that Emacs | 312 ** !MEM FULL! at the start of the mode line indicates that Emacs |
382 cannot get any more memory for Lisp data. This often means it could | 313 cannot get any more memory for Lisp data. This often means it could |
383 crash soon if you do things that use more memory. On most systems, | 314 crash soon if you do things that use more memory. On most systems, |
384 killing buffers will get out of this state. If killing buffers does | 315 killing buffers will get out of this state. If killing buffers does |
385 not make !MEM FULL! disappear, you should save your work and start | 316 not make !MEM FULL! disappear, you should save your work and start |
386 a new Emacs. | 317 a new Emacs. |
387 | 318 |
388 +++ | |
389 ** The max size of buffers and integers has been doubled. | 319 ** The max size of buffers and integers has been doubled. |
390 On 32bit machines, it is now 256M (i.e. 268435455). | 320 On 32bit machines, it is now 256M (i.e. 268435455). |
391 | 321 |
392 +++ | |
393 ** You can now switch buffers in a cyclic order with C-x C-left | 322 ** You can now switch buffers in a cyclic order with C-x C-left |
394 (previous-buffer) and C-x C-right (next-buffer). C-x left and | 323 (previous-buffer) and C-x C-right (next-buffer). C-x left and |
395 C-x right can be used as well. The functions keep a different buffer | 324 C-x right can be used as well. The functions keep a different buffer |
396 cycle for each frame, using the frame-local buffer list. | 325 cycle for each frame, using the frame-local buffer list. |
397 | 326 |
398 +++ | |
399 ** `undo-only' does an undo which does not redo any previous undo. | 327 ** `undo-only' does an undo which does not redo any previous undo. |
400 | 328 |
401 +++ | |
402 ** M-SPC (just-one-space) when given a numeric argument N | 329 ** M-SPC (just-one-space) when given a numeric argument N |
403 converts whitespace around point to N spaces. | 330 converts whitespace around point to N spaces. |
404 | 331 |
405 --- | |
406 ** C-x 5 C-o displays a specified buffer in another frame | 332 ** C-x 5 C-o displays a specified buffer in another frame |
407 but does not switch to that frame. It's the multi-frame | 333 but does not switch to that frame. It's the multi-frame |
408 analogue of C-x 4 C-o. | 334 analogue of C-x 4 C-o. |
409 | 335 |
410 --- | |
411 ** New commands to operate on pairs of open and close characters: | 336 ** New commands to operate on pairs of open and close characters: |
412 `insert-pair', `delete-pair', `raise-sexp'. | 337 `insert-pair', `delete-pair', `raise-sexp'. |
413 | 338 |
414 +++ | |
415 ** New command `kill-whole-line' kills an entire line at once. | 339 ** New command `kill-whole-line' kills an entire line at once. |
416 By default, it is bound to C-S-<backspace>. | 340 By default, it is bound to C-S-<backspace>. |
417 | 341 |
418 +++ | |
419 ** Yanking text now discards certain text properties that can | 342 ** Yanking text now discards certain text properties that can |
420 be inconvenient when you did not expect them. The variable | 343 be inconvenient when you did not expect them. The variable |
421 `yank-excluded-properties' specifies which ones. Insertion | 344 `yank-excluded-properties' specifies which ones. Insertion |
422 of register contents and rectangles also discards these properties. | 345 of register contents and rectangles also discards these properties. |
423 | 346 |
424 +++ | |
425 ** The default values of paragraph-start and indent-line-function have | 347 ** The default values of paragraph-start and indent-line-function have |
426 been changed to reflect those used in Text mode rather than those used | 348 been changed to reflect those used in Text mode rather than those used |
427 in Indented-Text mode. | 349 in Indented-Text mode. |
428 | 350 |
429 +++ | |
430 ** M-x setenv now expands environment variable references. | 351 ** M-x setenv now expands environment variable references. |
431 | 352 |
432 Substrings of the form `$foo' and `${foo}' in the specified new value | 353 Substrings of the form `$foo' and `${foo}' in the specified new value |
433 now refer to the value of environment variable foo. To include a `$' | 354 now refer to the value of environment variable foo. To include a `$' |
434 in the value, use `$$'. | 355 in the value, use `$$'. |
435 | 356 |
436 +++ | |
437 ** `special-display-buffer-names' and `special-display-regexps' now | 357 ** `special-display-buffer-names' and `special-display-regexps' now |
438 understand two new boolean pseudo-frame-parameters `same-frame' and | 358 understand two new boolean pseudo-frame-parameters `same-frame' and |
439 `same-window'. | 359 `same-window'. |
440 | 360 |
441 +++ | |
442 ** The default for the paper size (variable ps-paper-type) is taken | 361 ** The default for the paper size (variable ps-paper-type) is taken |
443 from the locale. | 362 from the locale. |
444 | 363 |
445 ** Mark command changes: | 364 ** Mark command changes: |
446 | 365 |
447 +++ | |
448 *** A prefix argument is no longer required to repeat a jump to a | 366 *** A prefix argument is no longer required to repeat a jump to a |
449 previous mark, i.e. C-u C-SPC C-SPC C-SPC ... cycles through the | 367 previous mark, i.e. C-u C-SPC C-SPC C-SPC ... cycles through the |
450 mark ring. Use C-u C-u C-SPC to set the mark immediately after a jump. | 368 mark ring. Use C-u C-u C-SPC to set the mark immediately after a jump. |
451 | 369 |
452 +++ | |
453 *** Marking commands extend the region when invoked multiple times. | 370 *** Marking commands extend the region when invoked multiple times. |
454 | 371 |
455 If you type C-M-SPC (mark-sexp), M-@ (mark-word), M-h | 372 If you type C-M-SPC (mark-sexp), M-@ (mark-word), M-h |
456 (mark-paragraph), or C-M-h (mark-defun) repeatedly, the marked region | 373 (mark-paragraph), or C-M-h (mark-defun) repeatedly, the marked region |
457 extends each time, so you can mark the next two sexps with M-C-SPC | 374 extends each time, so you can mark the next two sexps with M-C-SPC |
460 region when the mark is active in Transient Mark mode, regardless of | 377 region when the mark is active in Transient Mark mode, regardless of |
461 the last command. To start a new region with one of marking commands | 378 the last command. To start a new region with one of marking commands |
462 in Transient Mark mode, you can deactivate the active region with C-g, | 379 in Transient Mark mode, you can deactivate the active region with C-g, |
463 or set the new mark with C-SPC. | 380 or set the new mark with C-SPC. |
464 | 381 |
465 +++ | |
466 *** M-h (mark-paragraph) now accepts a prefix arg. | 382 *** M-h (mark-paragraph) now accepts a prefix arg. |
467 | 383 |
468 With positive arg, M-h marks the current and the following paragraphs; | 384 With positive arg, M-h marks the current and the following paragraphs; |
469 if the arg is negative, it marks the current and the preceding | 385 if the arg is negative, it marks the current and the preceding |
470 paragraphs. | 386 paragraphs. |
471 | 387 |
472 +++ | |
473 *** Some commands do something special in Transient Mark mode when the | 388 *** Some commands do something special in Transient Mark mode when the |
474 mark is active--for instance, they limit their operation to the | 389 mark is active--for instance, they limit their operation to the |
475 region. Even if you don't normally use Transient Mark mode, you might | 390 region. Even if you don't normally use Transient Mark mode, you might |
476 want to get this behavior from a particular command. There are two | 391 want to get this behavior from a particular command. There are two |
477 ways you can enable Transient Mark mode and activate the mark, for one | 392 ways you can enable Transient Mark mode and activate the mark, for one |
485 After these commands, Transient Mark mode remains enabled until you | 400 After these commands, Transient Mark mode remains enabled until you |
486 deactivate the mark. That typically happens when you type a command | 401 deactivate the mark. That typically happens when you type a command |
487 that alters the buffer, but you can also deactivate the mark by typing | 402 that alters the buffer, but you can also deactivate the mark by typing |
488 C-g. | 403 C-g. |
489 | 404 |
490 +++ | |
491 *** Movement commands `beginning-of-buffer', `end-of-buffer', | 405 *** Movement commands `beginning-of-buffer', `end-of-buffer', |
492 `beginning-of-defun', `end-of-defun' do not set the mark if the mark | 406 `beginning-of-defun', `end-of-defun' do not set the mark if the mark |
493 is already active in Transient Mark mode. | 407 is already active in Transient Mark mode. |
494 | 408 |
495 ** Help command changes: | 409 ** Help command changes: |
496 | 410 |
497 +++ | |
498 *** Changes in C-h bindings: | 411 *** Changes in C-h bindings: |
499 | 412 |
500 C-h e displays the *Messages* buffer. | 413 C-h e displays the *Messages* buffer. |
501 | 414 |
502 C-h d runs apropos-documentation. | 415 C-h d runs apropos-documentation. |
526 - C-h w and C-h f kill-line reports: | 439 - C-h w and C-h f kill-line reports: |
527 kill-line is remapped to new-kill-line which is on C-k, <deleteline> | 440 kill-line is remapped to new-kill-line which is on C-k, <deleteline> |
528 - C-h w and C-h f new-kill-line reports: | 441 - C-h w and C-h f new-kill-line reports: |
529 new-kill-line is on C-k | 442 new-kill-line is on C-k |
530 | 443 |
531 --- | |
532 *** Help commands `describe-function' and `describe-key' now show function | 444 *** Help commands `describe-function' and `describe-key' now show function |
533 arguments in lowercase italics on displays that support it. To change the | 445 arguments in lowercase italics on displays that support it. To change the |
534 default, customize face `help-argument-name' or redefine the function | 446 default, customize face `help-argument-name' or redefine the function |
535 `help-default-arg-highlight'. | 447 `help-default-arg-highlight'. |
536 | 448 |
537 +++ | |
538 *** C-h v and C-h f commands now include a hyperlink to the C source for | 449 *** C-h v and C-h f commands now include a hyperlink to the C source for |
539 variables and functions defined in C (if the C source is available). | 450 variables and functions defined in C (if the C source is available). |
540 | 451 |
541 +++ | |
542 *** Help mode now only makes hyperlinks for faces when the face name is | 452 *** Help mode now only makes hyperlinks for faces when the face name is |
543 preceded or followed by the word `face'. It no longer makes | 453 preceded or followed by the word `face'. It no longer makes |
544 hyperlinks for variables without variable documentation, unless | 454 hyperlinks for variables without variable documentation, unless |
545 preceded by one of the words `variable' or `option'. It now makes | 455 preceded by one of the words `variable' or `option'. It now makes |
546 hyperlinks to Info anchors (or nodes) if the anchor (or node) name is | 456 hyperlinks to Info anchors (or nodes) if the anchor (or node) name is |
547 enclosed in single quotes and preceded by `info anchor' or `Info | 457 enclosed in single quotes and preceded by `info anchor' or `Info |
548 anchor' (in addition to earlier `info node' and `Info node'). In | 458 anchor' (in addition to earlier `info node' and `Info node'). In |
549 addition, it now makes hyperlinks to URLs as well if the URL is | 459 addition, it now makes hyperlinks to URLs as well if the URL is |
550 enclosed in single quotes and preceded by `URL'. | 460 enclosed in single quotes and preceded by `URL'. |
551 | 461 |
552 +++ | |
553 *** The new command `describe-char' (C-u C-x =) pops up a buffer with | 462 *** The new command `describe-char' (C-u C-x =) pops up a buffer with |
554 description various information about a character, including its | 463 description various information about a character, including its |
555 encodings and syntax, its text properties, how to input, overlays, and | 464 encodings and syntax, its text properties, how to input, overlays, and |
556 widgets at point. You can get more information about some of them, by | 465 widgets at point. You can get more information about some of them, by |
557 clicking on mouse-sensitive areas or moving there and pressing RET. | 466 clicking on mouse-sensitive areas or moving there and pressing RET. |
558 | 467 |
559 +++ | |
560 *** The command `list-text-properties-at' has been deleted because | 468 *** The command `list-text-properties-at' has been deleted because |
561 C-u C-x = gives the same information and more. | 469 C-u C-x = gives the same information and more. |
562 | 470 |
563 +++ | |
564 *** New command `display-local-help' displays any local help at point | 471 *** New command `display-local-help' displays any local help at point |
565 in the echo area. It is bound to `C-h .'. It normally displays the | 472 in the echo area. It is bound to `C-h .'. It normally displays the |
566 same string that would be displayed on mouse-over using the | 473 same string that would be displayed on mouse-over using the |
567 `help-echo' property, but, in certain cases, it can display a more | 474 `help-echo' property, but, in certain cases, it can display a more |
568 keyboard oriented alternative. | 475 keyboard oriented alternative. |
569 | 476 |
570 +++ | |
571 *** New user option `help-at-pt-display-when-idle' allows to | 477 *** New user option `help-at-pt-display-when-idle' allows to |
572 automatically show the help provided by `display-local-help' on | 478 automatically show the help provided by `display-local-help' on |
573 point-over, after suitable idle time. The amount of idle time is | 479 point-over, after suitable idle time. The amount of idle time is |
574 determined by the user option `help-at-pt-timer-delay' and defaults | 480 determined by the user option `help-at-pt-timer-delay' and defaults |
575 to one second. This feature is turned off by default. | 481 to one second. This feature is turned off by default. |
576 | 482 |
577 +++ | |
578 *** The apropos commands now accept a list of words to match. | 483 *** The apropos commands now accept a list of words to match. |
579 When more than one word is specified, at least two of those words must | 484 When more than one word is specified, at least two of those words must |
580 be present for an item to match. Regular expression matching is still | 485 be present for an item to match. Regular expression matching is still |
581 available. | 486 available. |
582 | 487 |
583 +++ | |
584 *** The new option `apropos-sort-by-scores' causes the matching items | 488 *** The new option `apropos-sort-by-scores' causes the matching items |
585 to be sorted according to their score. The score for an item is a | 489 to be sorted according to their score. The score for an item is a |
586 number calculated to indicate how well the item matches the words or | 490 number calculated to indicate how well the item matches the words or |
587 regular expression that you entered to the apropos command. The best | 491 regular expression that you entered to the apropos command. The best |
588 match is listed first, and the calculated score is shown for each | 492 match is listed first, and the calculated score is shown for each |
589 matching item. | 493 matching item. |
590 | 494 |
591 ** Incremental Search changes: | 495 ** Incremental Search changes: |
592 | 496 |
593 +++ | |
594 *** Vertical scrolling is now possible within incremental search. | 497 *** Vertical scrolling is now possible within incremental search. |
595 To enable this feature, customize the new user option | 498 To enable this feature, customize the new user option |
596 `isearch-allow-scroll'. User written commands which satisfy stringent | 499 `isearch-allow-scroll'. User written commands which satisfy stringent |
597 constraints can be marked as "scrolling commands". See the Emacs manual | 500 constraints can be marked as "scrolling commands". See the Emacs manual |
598 for details. | 501 for details. |
599 | 502 |
600 +++ | |
601 *** C-w in incremental search now grabs either a character or a word, | 503 *** C-w in incremental search now grabs either a character or a word, |
602 making the decision in a heuristic way. This new job is done by the | 504 making the decision in a heuristic way. This new job is done by the |
603 command `isearch-yank-word-or-char'. To restore the old behavior, | 505 command `isearch-yank-word-or-char'. To restore the old behavior, |
604 bind C-w to `isearch-yank-word' in `isearch-mode-map'. | 506 bind C-w to `isearch-yank-word' in `isearch-mode-map'. |
605 | 507 |
606 +++ | |
607 *** C-y in incremental search now grabs the next line if point is already | 508 *** C-y in incremental search now grabs the next line if point is already |
608 at the end of a line. | 509 at the end of a line. |
609 | 510 |
610 +++ | |
611 *** C-M-w deletes and C-M-y grabs a character in isearch mode. | 511 *** C-M-w deletes and C-M-y grabs a character in isearch mode. |
612 Another method to grab a character is to enter the minibuffer by `M-e' | 512 Another method to grab a character is to enter the minibuffer by `M-e' |
613 and to type `C-f' at the end of the search string in the minibuffer. | 513 and to type `C-f' at the end of the search string in the minibuffer. |
614 | 514 |
615 +++ | |
616 *** M-% typed in isearch mode invokes `query-replace' or | 515 *** M-% typed in isearch mode invokes `query-replace' or |
617 `query-replace-regexp' (depending on search mode) with the current | 516 `query-replace-regexp' (depending on search mode) with the current |
618 search string used as the string to replace. | 517 search string used as the string to replace. |
619 | 518 |
620 +++ | |
621 *** Isearch no longer adds `isearch-resume' commands to the command | 519 *** Isearch no longer adds `isearch-resume' commands to the command |
622 history by default. To enable this feature, customize the new | 520 history by default. To enable this feature, customize the new |
623 user option `isearch-resume-in-command-history'. | 521 user option `isearch-resume-in-command-history'. |
624 | 522 |
625 ** Replace command changes: | 523 ** Replace command changes: |
626 | 524 |
627 --- | |
628 *** New user option `query-replace-skip-read-only': when non-nil, | 525 *** New user option `query-replace-skip-read-only': when non-nil, |
629 `query-replace' and related functions simply ignore | 526 `query-replace' and related functions simply ignore |
630 a match if part of it has a read-only property. | 527 a match if part of it has a read-only property. |
631 | 528 |
632 +++ | |
633 *** When used interactively, the commands `query-replace-regexp' and | 529 *** When used interactively, the commands `query-replace-regexp' and |
634 `replace-regexp' allow \,expr to be used in a replacement string, | 530 `replace-regexp' allow \,expr to be used in a replacement string, |
635 where expr is an arbitrary Lisp expression evaluated at replacement | 531 where expr is an arbitrary Lisp expression evaluated at replacement |
636 time. `\#' in a replacement string now refers to the count of | 532 time. `\#' in a replacement string now refers to the count of |
637 replacements already made by the replacement command. All regular | 533 replacements already made by the replacement command. All regular |
638 expression replacement commands now allow `\?' in the replacement | 534 expression replacement commands now allow `\?' in the replacement |
639 string to specify a position where the replacement string can be | 535 string to specify a position where the replacement string can be |
640 edited for each replacement. `query-replace-regexp-eval' is now | 536 edited for each replacement. `query-replace-regexp-eval' is now |
641 deprecated since it offers no additional functionality. | 537 deprecated since it offers no additional functionality. |
642 | 538 |
643 +++ | |
644 *** query-replace uses isearch lazy highlighting when the new user option | 539 *** query-replace uses isearch lazy highlighting when the new user option |
645 `query-replace-lazy-highlight' is non-nil. | 540 `query-replace-lazy-highlight' is non-nil. |
646 | 541 |
647 --- | |
648 *** The current match in query-replace is highlighted in new face | 542 *** The current match in query-replace is highlighted in new face |
649 `query-replace' which by default inherits from isearch face. | 543 `query-replace' which by default inherits from isearch face. |
650 | 544 |
651 ** Local variables lists: | 545 ** Local variables lists: |
652 | 546 |
653 +++ | |
654 *** In processing a local variables list, Emacs strips the prefix and | 547 *** In processing a local variables list, Emacs strips the prefix and |
655 suffix from every line before processing all the lines. | 548 suffix from every line before processing all the lines. |
656 | 549 |
657 +++ | |
658 *** Text properties in local variables. | 550 *** Text properties in local variables. |
659 | 551 |
660 A file local variables list cannot specify a string with text | 552 A file local variables list cannot specify a string with text |
661 properties--any specified text properties are discarded. | 553 properties--any specified text properties are discarded. |
662 | 554 |
663 +++ | |
664 *** If the local variables list contains any variable-value pairs that | 555 *** If the local variables list contains any variable-value pairs that |
665 are not known to be safe, Emacs shows a prompt asking whether to apply | 556 are not known to be safe, Emacs shows a prompt asking whether to apply |
666 the local variables list as a whole. In earlier versions, a prompt | 557 the local variables list as a whole. In earlier versions, a prompt |
667 was only issued for variables explicitly marked as risky (for the | 558 was only issued for variables explicitly marked as risky (for the |
668 definition of risky variables, see `risky-local-variable-p'). | 559 definition of risky variables, see `risky-local-variable-p'). |
673 Variables can also be marked as safe with the existing | 564 Variables can also be marked as safe with the existing |
674 `safe-local-variable' property (see `safe-local-variable-p'). | 565 `safe-local-variable' property (see `safe-local-variable-p'). |
675 However, risky variables will not be added to | 566 However, risky variables will not be added to |
676 `safe-local-variable-values' in this way. | 567 `safe-local-variable-values' in this way. |
677 | 568 |
678 +++ | |
679 *** The variable `enable-local-variables' controls how local variable | 569 *** The variable `enable-local-variables' controls how local variable |
680 lists are handled. t, the default, specifies the standard querying | 570 lists are handled. t, the default, specifies the standard querying |
681 behavior. :safe means use only safe values, and ignore the rest. | 571 behavior. :safe means use only safe values, and ignore the rest. |
682 :all means set all variables, whether or not they are safe. | 572 :all means set all variables, whether or not they are safe. |
683 nil means ignore them all. Anything else means always query. | 573 nil means ignore them all. Anything else means always query. |
684 | 574 |
685 +++ | |
686 *** The variable `safe-local-eval-forms' specifies a list of forms that | 575 *** The variable `safe-local-eval-forms' specifies a list of forms that |
687 are ok to evaluate when they appear in an `eval' local variables | 576 are ok to evaluate when they appear in an `eval' local variables |
688 specification. Normally Emacs asks for confirmation before evaluating | 577 specification. Normally Emacs asks for confirmation before evaluating |
689 such a form, but if the form appears in this list, no confirmation is | 578 such a form, but if the form appears in this list, no confirmation is |
690 needed. | 579 needed. |
691 | 580 |
692 +++ | |
693 *** If a function has a non-nil `safe-local-eval-function' property, | 581 *** If a function has a non-nil `safe-local-eval-function' property, |
694 that means it is ok to evaluate some calls to that function when it | 582 that means it is ok to evaluate some calls to that function when it |
695 appears in an `eval' local variables specification. If the property | 583 appears in an `eval' local variables specification. If the property |
696 is t, then any form calling that function with constant arguments is | 584 is t, then any form calling that function with constant arguments is |
697 ok. If the property is a function or list of functions, they are called | 585 ok. If the property is a function or list of functions, they are called |
700 If the form is not "ok to call", that means Emacs asks for | 588 If the form is not "ok to call", that means Emacs asks for |
701 confirmation as before. | 589 confirmation as before. |
702 | 590 |
703 ** File operation changes: | 591 ** File operation changes: |
704 | 592 |
705 +++ | |
706 *** Unquoted `$' in file names do not signal an error any more when | 593 *** Unquoted `$' in file names do not signal an error any more when |
707 the corresponding environment variable does not exist. | 594 the corresponding environment variable does not exist. |
708 Instead, the `$ENVVAR' text is left as is, so that `$$' quoting | 595 Instead, the `$ENVVAR' text is left as is, so that `$$' quoting |
709 is only rarely needed. | 596 is only rarely needed. |
710 | 597 |
711 +++ | |
712 *** find-file-read-only visits multiple files in read-only mode, | 598 *** find-file-read-only visits multiple files in read-only mode, |
713 when the file name contains wildcard characters. | 599 when the file name contains wildcard characters. |
714 | 600 |
715 +++ | |
716 *** find-alternate-file replaces the current file with multiple files, | 601 *** find-alternate-file replaces the current file with multiple files, |
717 when the file name contains wildcard characters. It now asks if you | 602 when the file name contains wildcard characters. It now asks if you |
718 wish save your changes and not just offer to kill the buffer. | 603 wish save your changes and not just offer to kill the buffer. |
719 | 604 |
720 +++ | |
721 *** Auto Compression mode is now enabled by default. | 605 *** Auto Compression mode is now enabled by default. |
722 | 606 |
723 --- | |
724 *** C-x C-f RET, typing nothing in the minibuffer, is no longer a special case. | 607 *** C-x C-f RET, typing nothing in the minibuffer, is no longer a special case. |
725 | 608 |
726 Since the default input is the current directory, this has the effect | 609 Since the default input is the current directory, this has the effect |
727 of specifying the current directory. Normally that means to visit the | 610 of specifying the current directory. Normally that means to visit the |
728 directory with Dired. | 611 directory with Dired. |
729 | 612 |
730 +++ | |
731 *** When you are root, and you visit a file whose modes specify | 613 *** When you are root, and you visit a file whose modes specify |
732 read-only, the Emacs buffer is now read-only too. Type C-x C-q if you | 614 read-only, the Emacs buffer is now read-only too. Type C-x C-q if you |
733 want to make the buffer writable. (As root, you can in fact alter the | 615 want to make the buffer writable. (As root, you can in fact alter the |
734 file.) | 616 file.) |
735 | 617 |
736 +++ | |
737 *** C-x s (save-some-buffers) now offers an option `d' to diff a buffer | 618 *** C-x s (save-some-buffers) now offers an option `d' to diff a buffer |
738 against its file, so you can see what changes you would be saving. | 619 against its file, so you can see what changes you would be saving. |
739 | 620 |
740 +++ | |
741 *** The commands copy-file, rename-file, make-symbolic-link and | 621 *** The commands copy-file, rename-file, make-symbolic-link and |
742 add-name-to-file, when given a directory as the "new name" argument, | 622 add-name-to-file, when given a directory as the "new name" argument, |
743 convert it to a file name by merging in the within-directory part of | 623 convert it to a file name by merging in the within-directory part of |
744 the existing file's name. (This is the same convention that shell | 624 the existing file's name. (This is the same convention that shell |
745 commands cp, mv, and ln follow.) Thus, M-x copy-file RET ~/foo RET | 625 commands cp, mv, and ln follow.) Thus, M-x copy-file RET ~/foo RET |
746 /tmp RET copies ~/foo to /tmp/foo. | 626 /tmp RET copies ~/foo to /tmp/foo. |
747 | 627 |
748 --- | |
749 *** When used interactively, `format-write-file' now asks for confirmation | 628 *** When used interactively, `format-write-file' now asks for confirmation |
750 before overwriting an existing file, unless a prefix argument is | 629 before overwriting an existing file, unless a prefix argument is |
751 supplied. This behavior is analogous to `write-file'. | 630 supplied. This behavior is analogous to `write-file'. |
752 | 631 |
753 --- | |
754 *** The variable `auto-save-file-name-transforms' now has a third element that | 632 *** The variable `auto-save-file-name-transforms' now has a third element that |
755 controls whether or not the function `make-auto-save-file-name' will | 633 controls whether or not the function `make-auto-save-file-name' will |
756 attempt to construct a unique auto-save name (e.g. for remote files). | 634 attempt to construct a unique auto-save name (e.g. for remote files). |
757 | 635 |
758 +++ | |
759 *** The new option `write-region-inhibit-fsync' disables calls to fsync | 636 *** The new option `write-region-inhibit-fsync' disables calls to fsync |
760 in `write-region'. This can be useful on laptops to avoid spinning up | 637 in `write-region'. This can be useful on laptops to avoid spinning up |
761 the hard drive upon each file save. Enabling this variable may result | 638 the hard drive upon each file save. Enabling this variable may result |
762 in data loss, use with care. | 639 in data loss, use with care. |
763 | 640 |
764 +++ | |
765 *** If the user visits a file larger than `large-file-warning-threshold', | 641 *** If the user visits a file larger than `large-file-warning-threshold', |
766 Emacs asks for confirmation. | 642 Emacs asks for confirmation. |
767 | 643 |
768 +++ | |
769 *** require-final-newline now has two new possible values: | 644 *** require-final-newline now has two new possible values: |
770 | 645 |
771 `visit' means add a newline (as an undoable change) if it's needed | 646 `visit' means add a newline (as an undoable change) if it's needed |
772 when visiting the file. | 647 when visiting the file. |
773 | 648 |
774 `visit-save' means add a newline (as an undoable change) if it's | 649 `visit-save' means add a newline (as an undoable change) if it's |
775 needed when visiting the file, and also add a newline if it's needed | 650 needed when visiting the file, and also add a newline if it's needed |
776 when saving the file. | 651 when saving the file. |
777 | 652 |
778 +++ | |
779 *** The new option mode-require-final-newline controls how certain | 653 *** The new option mode-require-final-newline controls how certain |
780 major modes enable require-final-newline. Any major mode that's | 654 major modes enable require-final-newline. Any major mode that's |
781 designed for a kind of file that should normally end in a newline | 655 designed for a kind of file that should normally end in a newline |
782 sets require-final-newline based on mode-require-final-newline. | 656 sets require-final-newline based on mode-require-final-newline. |
783 So you can customize mode-require-final-newline to control what these | 657 So you can customize mode-require-final-newline to control what these |
784 modes do. | 658 modes do. |
785 | 659 |
786 ** Minibuffer changes: | 660 ** Minibuffer changes: |
787 | 661 |
788 +++ | |
789 *** The new file-name-shadow-mode is turned ON by default, so that when | 662 *** The new file-name-shadow-mode is turned ON by default, so that when |
790 entering a file name, any prefix which Emacs will ignore is dimmed. | 663 entering a file name, any prefix which Emacs will ignore is dimmed. |
791 | 664 |
792 +++ | |
793 *** There's a new face `minibuffer-prompt'. | 665 *** There's a new face `minibuffer-prompt'. |
794 Emacs adds this face to the list of text properties stored in the | 666 Emacs adds this face to the list of text properties stored in the |
795 variable `minibuffer-prompt-properties', which is used to display the | 667 variable `minibuffer-prompt-properties', which is used to display the |
796 prompt string. | 668 prompt string. |
797 | 669 |
798 --- | |
799 *** Enhanced visual feedback in `*Completions*' buffer. | 670 *** Enhanced visual feedback in `*Completions*' buffer. |
800 | 671 |
801 Completions lists use faces to highlight what all completions | 672 Completions lists use faces to highlight what all completions |
802 have in common and where they begin to differ. | 673 have in common and where they begin to differ. |
803 | 674 |
814 triggered at minibuffer. If you want to fontify completions whose | 685 triggered at minibuffer. If you want to fontify completions whose |
815 listing is triggered at the other normal buffer, you have to pass | 686 listing is triggered at the other normal buffer, you have to pass |
816 the common prefix of completions to `display-completion-list' as | 687 the common prefix of completions to `display-completion-list' as |
817 its second argument. | 688 its second argument. |
818 | 689 |
819 +++ | |
820 *** File-name completion can now ignore specified directories. | 690 *** File-name completion can now ignore specified directories. |
821 If an element of the list in `completion-ignored-extensions' ends in a | 691 If an element of the list in `completion-ignored-extensions' ends in a |
822 slash `/', it indicates a subdirectory that should be ignored when | 692 slash `/', it indicates a subdirectory that should be ignored when |
823 completing file names. Elements of `completion-ignored-extensions' | 693 completing file names. Elements of `completion-ignored-extensions' |
824 which do not end in a slash are never considered when a completion | 694 which do not end in a slash are never considered when a completion |
825 candidate is a directory. | 695 candidate is a directory. |
826 | 696 |
827 +++ | |
828 *** The completion commands TAB, SPC and ? in the minibuffer apply only | 697 *** The completion commands TAB, SPC and ? in the minibuffer apply only |
829 to the text before point. If there is text in the buffer after point, | 698 to the text before point. If there is text in the buffer after point, |
830 it remains unchanged. | 699 it remains unchanged. |
831 | 700 |
832 +++ | |
833 *** New user option `history-delete-duplicates'. | 701 *** New user option `history-delete-duplicates'. |
834 If set to t when adding a new history element, all previous identical | 702 If set to t when adding a new history element, all previous identical |
835 elements are deleted from the history list. | 703 elements are deleted from the history list. |
836 | 704 |
837 ** Redisplay changes: | 705 ** Redisplay changes: |
838 | 706 |
839 +++ | |
840 *** Preemptive redisplay now adapts to current load and bandwidth. | 707 *** Preemptive redisplay now adapts to current load and bandwidth. |
841 | 708 |
842 To avoid preempting redisplay on fast computers, networks, and displays, | 709 To avoid preempting redisplay on fast computers, networks, and displays, |
843 the arrival of new input is now performed at regular intervals during | 710 the arrival of new input is now performed at regular intervals during |
844 redisplay. The new variable `redisplay-preemption-period' specifies | 711 redisplay. The new variable `redisplay-preemption-period' specifies |
845 the period; the default is to check for input every 0.1 seconds. | 712 the period; the default is to check for input every 0.1 seconds. |
846 | 713 |
847 +++ | |
848 *** The mode line position information now comes before the major mode. | 714 *** The mode line position information now comes before the major mode. |
849 When the file is maintained under version control, that information | 715 When the file is maintained under version control, that information |
850 appears between the position information and the major mode. | 716 appears between the position information and the major mode. |
851 | 717 |
852 +++ | |
853 *** New face `escape-glyph' highlights control characters and escape glyphs. | 718 *** New face `escape-glyph' highlights control characters and escape glyphs. |
854 | 719 |
855 +++ | |
856 *** Non-breaking space and hyphens are now displayed with a special | 720 *** Non-breaking space and hyphens are now displayed with a special |
857 face, either nobreak-space or escape-glyph. You can turn this off or | 721 face, either nobreak-space or escape-glyph. You can turn this off or |
858 specify a different mode by setting the variable `nobreak-char-display'. | 722 specify a different mode by setting the variable `nobreak-char-display'. |
859 | 723 |
860 +++ | |
861 *** The parameters of automatic hscrolling can now be customized. | 724 *** The parameters of automatic hscrolling can now be customized. |
862 The variable `hscroll-margin' determines how many columns away from | 725 The variable `hscroll-margin' determines how many columns away from |
863 the window edge point is allowed to get before automatic hscrolling | 726 the window edge point is allowed to get before automatic hscrolling |
864 will horizontally scroll the window. The default value is 5. | 727 will horizontally scroll the window. The default value is 5. |
865 | 728 |
871 gives the fraction of the window's width to scroll the window. | 734 gives the fraction of the window's width to scroll the window. |
872 | 735 |
873 The variable `automatic-hscrolling' was renamed to | 736 The variable `automatic-hscrolling' was renamed to |
874 `auto-hscroll-mode'. The old name is still available as an alias. | 737 `auto-hscroll-mode'. The old name is still available as an alias. |
875 | 738 |
876 --- | |
877 *** Moving or scrolling through images (and other lines) taller than | 739 *** Moving or scrolling through images (and other lines) taller than |
878 the window now works sensibly, by automatically adjusting the window's | 740 the window now works sensibly, by automatically adjusting the window's |
879 vscroll property. | 741 vscroll property. |
880 | 742 |
881 +++ | |
882 *** New customize option `overline-margin' controls the space between | 743 *** New customize option `overline-margin' controls the space between |
883 overline and text. | 744 overline and text. |
884 | 745 |
885 +++ | |
886 *** New variable `x-underline-at-descent-line' controls the relative | 746 *** New variable `x-underline-at-descent-line' controls the relative |
887 position of the underline. When set, it overrides the | 747 position of the underline. When set, it overrides the |
888 `x-use-underline-position-properties' variables. | 748 `x-use-underline-position-properties' variables. |
889 | 749 |
890 +++ | |
891 *** The new face `mode-line-inactive' is used to display the mode line | 750 *** The new face `mode-line-inactive' is used to display the mode line |
892 of non-selected windows. The `mode-line' face is now used to display | 751 of non-selected windows. The `mode-line' face is now used to display |
893 the mode line of the currently selected window. | 752 the mode line of the currently selected window. |
894 | 753 |
895 The new variable `mode-line-in-non-selected-windows' controls whether | 754 The new variable `mode-line-in-non-selected-windows' controls whether |
896 the `mode-line-inactive' face is used. | 755 the `mode-line-inactive' face is used. |
897 | 756 |
898 +++ | |
899 *** You can now customize the use of window fringes. To control this | 757 *** You can now customize the use of window fringes. To control this |
900 for all frames, use M-x fringe-mode or the Show/Hide submenu of the | 758 for all frames, use M-x fringe-mode or the Show/Hide submenu of the |
901 top-level Options menu, or customize the `fringe-mode' variable. To | 759 top-level Options menu, or customize the `fringe-mode' variable. To |
902 control this for a specific frame, use the command M-x | 760 control this for a specific frame, use the command M-x |
903 set-fringe-style. | 761 set-fringe-style. |
904 | 762 |
905 +++ | |
906 *** Angle icons in the fringes can indicate the buffer boundaries. In | 763 *** Angle icons in the fringes can indicate the buffer boundaries. In |
907 addition, up and down arrow bitmaps in the fringe indicate which ways | 764 addition, up and down arrow bitmaps in the fringe indicate which ways |
908 the window can be scrolled. | 765 the window can be scrolled. |
909 | 766 |
910 This behavior is activated by setting the buffer-local variable | 767 This behavior is activated by setting the buffer-local variable |
920 For example, ((top . left) (t . right)) places the top angle bitmap | 777 For example, ((top . left) (t . right)) places the top angle bitmap |
921 in left fringe, the bottom angle bitmap in right fringe, and both | 778 in left fringe, the bottom angle bitmap in right fringe, and both |
922 arrow bitmaps in right fringe. To show just the angle bitmaps in the | 779 arrow bitmaps in right fringe. To show just the angle bitmaps in the |
923 left fringe, but no arrow bitmaps, use ((top . left) (bottom . left)). | 780 left fringe, but no arrow bitmaps, use ((top . left) (bottom . left)). |
924 | 781 |
925 +++ | |
926 *** On window systems, lines which are exactly as wide as the window | 782 *** On window systems, lines which are exactly as wide as the window |
927 (not counting the final newline character) are no longer broken into | 783 (not counting the final newline character) are no longer broken into |
928 two lines on the display (with just the newline on the second line). | 784 two lines on the display (with just the newline on the second line). |
929 Instead, the newline now "overflows" into the right fringe, and the | 785 Instead, the newline now "overflows" into the right fringe, and the |
930 cursor will be displayed in the fringe when positioned on that newline. | 786 cursor will be displayed in the fringe when positioned on that newline. |
931 | 787 |
932 The new user option 'overflow-newline-into-fringe' can be set to nil to | 788 The new user option 'overflow-newline-into-fringe' can be set to nil to |
933 revert to the old behavior of continuing such lines. | 789 revert to the old behavior of continuing such lines. |
934 | 790 |
935 +++ | |
936 *** When a window has display margin areas, the fringes are now | 791 *** When a window has display margin areas, the fringes are now |
937 displayed between the margins and the buffer's text area, rather than | 792 displayed between the margins and the buffer's text area, rather than |
938 outside those margins. | 793 outside those margins. |
939 | 794 |
940 +++ | |
941 *** A window can now have individual fringe and scroll-bar settings, | 795 *** A window can now have individual fringe and scroll-bar settings, |
942 in addition to the individual display margin settings. | 796 in addition to the individual display margin settings. |
943 | 797 |
944 Such individual settings are now preserved when windows are split | 798 Such individual settings are now preserved when windows are split |
945 horizontally or vertically, a saved window configuration is restored, | 799 horizontally or vertically, a saved window configuration is restored, |
946 or when the frame is resized. | 800 or when the frame is resized. |
947 | 801 |
948 +++ | |
949 *** The %c and %l constructs are now ignored in frame-title-format. | 802 *** The %c and %l constructs are now ignored in frame-title-format. |
950 Due to technical limitations in how Emacs interacts with windowing | 803 Due to technical limitations in how Emacs interacts with windowing |
951 systems, these constructs often failed to render properly, and could | 804 systems, these constructs often failed to render properly, and could |
952 even cause Emacs to crash. | 805 even cause Emacs to crash. |
953 | 806 |
954 +++ | |
955 *** If value of `auto-resize-tool-bars' is `grow-only', the tool bar | 807 *** If value of `auto-resize-tool-bars' is `grow-only', the tool bar |
956 will expand as needed, but not contract automatically. To contract | 808 will expand as needed, but not contract automatically. To contract |
957 the tool bar, you must type C-l. | 809 the tool bar, you must type C-l. |
958 | 810 |
959 ** Cursor display changes: | 811 ** Cursor display changes: |
960 | 812 |
961 +++ | |
962 *** On X, MS Windows, and Mac OS, the blinking cursor's "off" state is | 813 *** On X, MS Windows, and Mac OS, the blinking cursor's "off" state is |
963 now controlled by the variable `blink-cursor-alist'. | 814 now controlled by the variable `blink-cursor-alist'. |
964 | 815 |
965 +++ | |
966 *** The X resource cursorBlink can be used to turn off cursor blinking. | 816 *** The X resource cursorBlink can be used to turn off cursor blinking. |
967 | 817 |
968 +++ | |
969 *** Emacs can produce an underscore-like (horizontal bar) cursor. | 818 *** Emacs can produce an underscore-like (horizontal bar) cursor. |
970 The underscore cursor is set by putting `(cursor-type . hbar)' in | 819 The underscore cursor is set by putting `(cursor-type . hbar)' in |
971 default-frame-alist. It supports variable heights, like the `bar' | 820 default-frame-alist. It supports variable heights, like the `bar' |
972 cursor does. | 821 cursor does. |
973 | 822 |
974 +++ | |
975 *** Display of hollow cursors now obeys the buffer-local value (if any) | 823 *** Display of hollow cursors now obeys the buffer-local value (if any) |
976 of `cursor-in-non-selected-windows' in the buffer that the cursor | 824 of `cursor-in-non-selected-windows' in the buffer that the cursor |
977 appears in. | 825 appears in. |
978 | 826 |
979 +++ | |
980 *** The variable `cursor-in-non-selected-windows' can now be set to any | 827 *** The variable `cursor-in-non-selected-windows' can now be set to any |
981 of the recognized cursor types. | 828 of the recognized cursor types. |
982 | 829 |
983 +++ | |
984 *** On text terminals, the variable `visible-cursor' controls whether Emacs | 830 *** On text terminals, the variable `visible-cursor' controls whether Emacs |
985 uses the "very visible" cursor (the default) or the normal cursor. | 831 uses the "very visible" cursor (the default) or the normal cursor. |
986 | 832 |
987 ** New faces: | 833 ** New faces: |
988 | 834 |
989 +++ | |
990 *** `mode-line-highlight' is the standard face indicating mouse sensitive | 835 *** `mode-line-highlight' is the standard face indicating mouse sensitive |
991 elements on mode-line (and header-line) like `highlight' face on text | 836 elements on mode-line (and header-line) like `highlight' face on text |
992 areas. | 837 areas. |
993 | 838 |
994 +++ | |
995 *** `mode-line-buffer-id' is the standard face for buffer identification | 839 *** `mode-line-buffer-id' is the standard face for buffer identification |
996 parts of the mode line. | 840 parts of the mode line. |
997 | 841 |
998 +++ | |
999 *** `shadow' face defines the appearance of the "shadowed" text, i.e. | 842 *** `shadow' face defines the appearance of the "shadowed" text, i.e. |
1000 the text which should be less noticeable than the surrounding text. | 843 the text which should be less noticeable than the surrounding text. |
1001 This can be achieved by using shades of grey in contrast with either | 844 This can be achieved by using shades of grey in contrast with either |
1002 black or white default foreground color. This generic shadow face | 845 black or white default foreground color. This generic shadow face |
1003 allows customization of the appearance of shadowed text in one place, | 846 allows customization of the appearance of shadowed text in one place, |
1004 so package-specific faces can inherit from it. | 847 so package-specific faces can inherit from it. |
1005 | 848 |
1006 +++ | |
1007 *** `vertical-border' face is used for the vertical divider between windows. | 849 *** `vertical-border' face is used for the vertical divider between windows. |
1008 | 850 |
1009 ** ebnf2ps changes: | 851 ** ebnf2ps changes: |
1010 | 852 |
1011 +++ | |
1012 *** New option `ebnf-arrow-extra-width' which specify extra width for arrow | 853 *** New option `ebnf-arrow-extra-width' which specify extra width for arrow |
1013 shape drawing. | 854 shape drawing. |
1014 The extra width is used to avoid that the arrowhead and the terminal border | 855 The extra width is used to avoid that the arrowhead and the terminal border |
1015 overlap. It depends on `ebnf-arrow-shape' and `ebnf-line-width'. | 856 overlap. It depends on `ebnf-arrow-shape' and `ebnf-line-width'. |
1016 | 857 |
1017 +++ | |
1018 *** New option `ebnf-arrow-scale' which specify the arrow scale. | 858 *** New option `ebnf-arrow-scale' which specify the arrow scale. |
1019 Values lower than 1.0, shrink the arrow. | 859 Values lower than 1.0, shrink the arrow. |
1020 Values greater than 1.0, expand the arrow. | 860 Values greater than 1.0, expand the arrow. |
1021 | 861 |
1022 ** Font-Lock changes: | 862 ** Font-Lock changes: |
1023 | 863 |
1024 +++ | |
1025 *** M-o now is the prefix key for setting text properties; | 864 *** M-o now is the prefix key for setting text properties; |
1026 M-o M-o requests refontification. | 865 M-o M-o requests refontification. |
1027 | 866 |
1028 +++ | |
1029 *** All modes now support using M-x font-lock-mode to toggle | 867 *** All modes now support using M-x font-lock-mode to toggle |
1030 fontification, even those such as Occur, Info, and comint-derived | 868 fontification, even those such as Occur, Info, and comint-derived |
1031 modes that do their own fontification in a special way. | 869 modes that do their own fontification in a special way. |
1032 | 870 |
1033 The variable `Info-fontify' is no longer applicable; to disable | 871 The variable `Info-fontify' is no longer applicable; to disable |
1034 fontification in Info, remove `turn-on-font-lock' from | 872 fontification in Info, remove `turn-on-font-lock' from |
1035 `Info-mode-hook'. | 873 `Info-mode-hook'. |
1036 | 874 |
1037 +++ | |
1038 *** Font-Lock mode: in major modes such as Lisp mode, where some Emacs | 875 *** Font-Lock mode: in major modes such as Lisp mode, where some Emacs |
1039 features assume that an open-paren in column 0 is always outside of | 876 features assume that an open-paren in column 0 is always outside of |
1040 any string or comment, Font-Lock now highlights any such open-paren in | 877 any string or comment, Font-Lock now highlights any such open-paren in |
1041 bold-red if it is inside a string or a comment, to indicate that it | 878 bold-red if it is inside a string or a comment, to indicate that it |
1042 can cause trouble. You should rewrite the string or comment so that | 879 can cause trouble. You should rewrite the string or comment so that |
1043 the open-paren is not in column 0. | 880 the open-paren is not in column 0. |
1044 | 881 |
1045 +++ | |
1046 *** New standard font-lock face `font-lock-preprocessor-face'. | 882 *** New standard font-lock face `font-lock-preprocessor-face'. |
1047 | 883 |
1048 +++ | |
1049 *** New standard font-lock face `font-lock-comment-delimiter-face'. | 884 *** New standard font-lock face `font-lock-comment-delimiter-face'. |
1050 | 885 |
1051 +++ | |
1052 *** Easy to overlook single character negation can now be font-locked. | 886 *** Easy to overlook single character negation can now be font-locked. |
1053 You can use the new variable `font-lock-negation-char-face' and the face of | 887 You can use the new variable `font-lock-negation-char-face' and the face of |
1054 the same name to customize this. Currently the cc-modes, sh-script-mode, | 888 the same name to customize this. Currently the cc-modes, sh-script-mode, |
1055 cperl-mode and make-mode support this. | 889 cperl-mode and make-mode support this. |
1056 | 890 |
1057 --- | |
1058 *** The default settings for JIT stealth lock parameters are changed. | 891 *** The default settings for JIT stealth lock parameters are changed. |
1059 The default value for the user option jit-lock-stealth-time is now nil | 892 The default value for the user option jit-lock-stealth-time is now nil |
1060 instead of 3. This setting of jit-lock-stealth-time disables stealth | 893 instead of 3. This setting of jit-lock-stealth-time disables stealth |
1061 fontification: on today's machines, it may be a bug in font lock | 894 fontification: on today's machines, it may be a bug in font lock |
1062 patterns if fontification otherwise noticeably degrades interactivity. | 895 patterns if fontification otherwise noticeably degrades interactivity. |
1065 jit-lock-stealth-time to a non-nil value will let Emacs fontify | 898 jit-lock-stealth-time to a non-nil value will let Emacs fontify |
1066 buffers in the background when it considers the system to be idle. | 899 buffers in the background when it considers the system to be idle. |
1067 jit-lock-stealth-nice is now 0.5 instead of 0.125 which is supposed to | 900 jit-lock-stealth-nice is now 0.5 instead of 0.125 which is supposed to |
1068 cause less load than the old defaults. | 901 cause less load than the old defaults. |
1069 | 902 |
1070 --- | |
1071 *** jit-lock can now be delayed with `jit-lock-defer-time'. | 903 *** jit-lock can now be delayed with `jit-lock-defer-time'. |
1072 | 904 |
1073 If this variable is non-nil, its value should be the amount of Emacs | 905 If this variable is non-nil, its value should be the amount of Emacs |
1074 idle time in seconds to wait before starting fontification. For | 906 idle time in seconds to wait before starting fontification. For |
1075 example, if you set `jit-lock-defer-time' to 0.25, fontification will | 907 example, if you set `jit-lock-defer-time' to 0.25, fontification will |
1076 only happen after 0.25s of idle time. | 908 only happen after 0.25s of idle time. |
1077 | 909 |
1078 --- | |
1079 *** contextual refontification is now separate from stealth fontification. | 910 *** contextual refontification is now separate from stealth fontification. |
1080 | 911 |
1081 jit-lock-defer-contextually is renamed jit-lock-contextually and | 912 jit-lock-defer-contextually is renamed jit-lock-contextually and |
1082 jit-lock-context-time determines the delay after which contextual | 913 jit-lock-context-time determines the delay after which contextual |
1083 refontification takes place. | 914 refontification takes place. |
1084 | 915 |
1085 --- | |
1086 *** lazy-lock is considered obsolete. | 916 *** lazy-lock is considered obsolete. |
1087 | 917 |
1088 The `lazy-lock' package is superseded by `jit-lock' and is considered | 918 The `lazy-lock' package is superseded by `jit-lock' and is considered |
1089 obsolete. `jit-lock' is activated by default; if you wish to continue | 919 obsolete. `jit-lock' is activated by default; if you wish to continue |
1090 using `lazy-lock', activate it in your ~/.emacs like this: | 920 using `lazy-lock', activate it in your ~/.emacs like this: |
1097 "Use font-lock-support-mode rather than calling lazy-lock-mode" | 927 "Use font-lock-support-mode rather than calling lazy-lock-mode" |
1098 | 928 |
1099 | 929 |
1100 ** Menu support: | 930 ** Menu support: |
1101 | 931 |
1102 --- | |
1103 *** A menu item "Show/Hide" was added to the top-level menu "Options". | 932 *** A menu item "Show/Hide" was added to the top-level menu "Options". |
1104 This menu allows you to turn various display features on and off (such | 933 This menu allows you to turn various display features on and off (such |
1105 as the fringes, the tool bar, the speedbar, and the menu bar itself). | 934 as the fringes, the tool bar, the speedbar, and the menu bar itself). |
1106 You can also move the vertical scroll bar to either side here or turn | 935 You can also move the vertical scroll bar to either side here or turn |
1107 it off completely. There is also a menu-item to toggle displaying of | 936 it off completely. There is also a menu-item to toggle displaying of |
1108 current date and time, current line and column number in the mode-line. | 937 current date and time, current line and column number in the mode-line. |
1109 | 938 |
1110 --- | |
1111 *** Speedbar has moved from the "Tools" top level menu to "Show/Hide". | 939 *** Speedbar has moved from the "Tools" top level menu to "Show/Hide". |
1112 | 940 |
1113 --- | |
1114 *** You can exit dialog windows and menus by typing C-g. | 941 *** You can exit dialog windows and menus by typing C-g. |
1115 | 942 |
1116 --- | |
1117 *** The menu item "Open File..." has been split into two items, "New File..." | 943 *** The menu item "Open File..." has been split into two items, "New File..." |
1118 and "Open File...". "Open File..." now opens only existing files. This is | 944 and "Open File...". "Open File..." now opens only existing files. This is |
1119 to support existing GUI file selection dialogs better. | 945 to support existing GUI file selection dialogs better. |
1120 | 946 |
1121 +++ | |
1122 *** The file selection dialog for Gtk+, Mac, W32 and Motif/LessTif can be | 947 *** The file selection dialog for Gtk+, Mac, W32 and Motif/LessTif can be |
1123 disabled by customizing the variable `use-file-dialog'. | 948 disabled by customizing the variable `use-file-dialog'. |
1124 | 949 |
1125 --- | |
1126 *** The pop up menus for Lucid now stay up if you do a fast click and can | 950 *** The pop up menus for Lucid now stay up if you do a fast click and can |
1127 be navigated with the arrow keys (like Gtk+, Mac and W32). | 951 be navigated with the arrow keys (like Gtk+, Mac and W32). |
1128 | 952 |
1129 +++ | |
1130 *** The menu bar for Motif/LessTif/Lucid/Gtk+ can be navigated with keys. | 953 *** The menu bar for Motif/LessTif/Lucid/Gtk+ can be navigated with keys. |
1131 Pressing F10 shows the first menu in the menu bar. Navigation is done with | 954 Pressing F10 shows the first menu in the menu bar. Navigation is done with |
1132 the arrow keys, select with the return key and cancel with the escape keys. | 955 the arrow keys, select with the return key and cancel with the escape keys. |
1133 | 956 |
1134 +++ | |
1135 *** The Lucid menus can display multilingual text in your locale. You have | 957 *** The Lucid menus can display multilingual text in your locale. You have |
1136 to explicitly specify a fontSet resource for this to work, for example | 958 to explicitly specify a fontSet resource for this to work, for example |
1137 `-xrm "Emacs*fontSet: -*-helvetica-medium-r-*--*-120-*-*-*-*-*-*,*"'. | 959 `-xrm "Emacs*fontSet: -*-helvetica-medium-r-*--*-120-*-*-*-*-*-*,*"'. |
1138 | 960 |
1139 --- | |
1140 *** Dialogs for Lucid/Athena and LessTif/Motif now pop down on pressing | 961 *** Dialogs for Lucid/Athena and LessTif/Motif now pop down on pressing |
1141 ESC, like they do for Gtk+, Mac and W32. | 962 ESC, like they do for Gtk+, Mac and W32. |
1142 | 963 |
1143 +++ | |
1144 *** For the Gtk+ version, you can make Emacs use the old file dialog | 964 *** For the Gtk+ version, you can make Emacs use the old file dialog |
1145 by setting the variable `x-gtk-use-old-file-dialog' to t. Default is to use | 965 by setting the variable `x-gtk-use-old-file-dialog' to t. Default is to use |
1146 the new dialog. | 966 the new dialog. |
1147 | 967 |
1148 ** Mouse changes: | 968 ** Mouse changes: |
1149 | 969 |
1150 +++ | |
1151 *** If you set the new variable `mouse-autoselect-window' to a non-nil | 970 *** If you set the new variable `mouse-autoselect-window' to a non-nil |
1152 value, windows are automatically selected as you move the mouse from | 971 value, windows are automatically selected as you move the mouse from |
1153 one Emacs window to another, even within a frame. A minibuffer window | 972 one Emacs window to another, even within a frame. A minibuffer window |
1154 can be selected only when it is active. | 973 can be selected only when it is active. |
1155 | 974 |
1156 +++ | |
1157 *** On X, when the window manager requires that you click on a frame to | 975 *** On X, when the window manager requires that you click on a frame to |
1158 select it (give it focus), the selected window and cursor position | 976 select it (give it focus), the selected window and cursor position |
1159 normally changes according to the mouse click position. If you set | 977 normally changes according to the mouse click position. If you set |
1160 the variable x-mouse-click-focus-ignore-position to t, the selected | 978 the variable x-mouse-click-focus-ignore-position to t, the selected |
1161 window and cursor position do not change when you click on a frame | 979 window and cursor position do not change when you click on a frame |
1162 to give it focus. | 980 to give it focus. |
1163 | 981 |
1164 +++ | |
1165 *** You can now follow links by clicking Mouse-1 on the link. | 982 *** You can now follow links by clicking Mouse-1 on the link. |
1166 | 983 |
1167 Traditionally, Emacs uses a Mouse-1 click to set point and a Mouse-2 | 984 Traditionally, Emacs uses a Mouse-1 click to set point and a Mouse-2 |
1168 click to follow a link, whereas most other applications use a Mouse-1 | 985 click to follow a link, whereas most other applications use a Mouse-1 |
1169 click for both purposes, depending on whether you click outside or | 986 click for both purposes, depending on whether you click outside or |
1190 drag-mouse-1 action, typically copy the text. | 1007 drag-mouse-1 action, typically copy the text. |
1191 | 1008 |
1192 You can customize the new Mouse-1 behavior via the new user options | 1009 You can customize the new Mouse-1 behavior via the new user options |
1193 `mouse-1-click-follows-link' and `mouse-1-click-in-non-selected-windows'. | 1010 `mouse-1-click-follows-link' and `mouse-1-click-in-non-selected-windows'. |
1194 | 1011 |
1195 +++ | |
1196 *** Emacs normally highlights mouse sensitive text whenever the mouse | 1012 *** Emacs normally highlights mouse sensitive text whenever the mouse |
1197 is over the text. By setting the new variable `mouse-highlight', you | 1013 is over the text. By setting the new variable `mouse-highlight', you |
1198 can optionally enable mouse highlighting only after you move the | 1014 can optionally enable mouse highlighting only after you move the |
1199 mouse, so that highlighting disappears when you press a key. You can | 1015 mouse, so that highlighting disappears when you press a key. You can |
1200 also disable mouse highlighting. | 1016 also disable mouse highlighting. |
1201 | 1017 |
1202 +++ | |
1203 *** You can now customize if selecting a region by dragging the mouse | 1018 *** You can now customize if selecting a region by dragging the mouse |
1204 shall not copy the selected text to the kill-ring by setting the new | 1019 shall not copy the selected text to the kill-ring by setting the new |
1205 variable mouse-drag-copy-region to nil. | 1020 variable mouse-drag-copy-region to nil. |
1206 | 1021 |
1207 --- | |
1208 *** mouse-wheels can now scroll a specific fraction of the window | 1022 *** mouse-wheels can now scroll a specific fraction of the window |
1209 (rather than a fixed number of lines) and the scrolling is `progressive'. | 1023 (rather than a fixed number of lines) and the scrolling is `progressive'. |
1210 | 1024 |
1211 --- | |
1212 *** Emacs ignores mouse-2 clicks while the mouse wheel is being moved. | 1025 *** Emacs ignores mouse-2 clicks while the mouse wheel is being moved. |
1213 | 1026 |
1214 People tend to push the mouse wheel (which counts as a mouse-2 click) | 1027 People tend to push the mouse wheel (which counts as a mouse-2 click) |
1215 unintentionally while turning the wheel, so these clicks are now | 1028 unintentionally while turning the wheel, so these clicks are now |
1216 ignored. You can customize this with the mouse-wheel-click-event and | 1029 ignored. You can customize this with the mouse-wheel-click-event and |
1217 mouse-wheel-inhibit-click-time variables. | 1030 mouse-wheel-inhibit-click-time variables. |
1218 | 1031 |
1219 +++ | |
1220 *** Under X, mouse-wheel-mode is turned on by default. | 1032 *** Under X, mouse-wheel-mode is turned on by default. |
1221 | 1033 |
1222 ** Multilingual Environment (Mule) changes: | 1034 ** Multilingual Environment (Mule) changes: |
1223 | 1035 |
1224 +++ | |
1225 *** You can disable character translation for a file using the -*- | 1036 *** You can disable character translation for a file using the -*- |
1226 construct. Include `enable-character-translation: nil' inside the | 1037 construct. Include `enable-character-translation: nil' inside the |
1227 -*-...-*- to disable any character translation that may happen by | 1038 -*-...-*- to disable any character translation that may happen by |
1228 various global and per-coding-system translation tables. You can also | 1039 various global and per-coding-system translation tables. You can also |
1229 specify it in a local variable list at the end of the file. For | 1040 specify it in a local variable list at the end of the file. For |
1232 construct or in a local variable list. For example, if a file has the | 1043 construct or in a local variable list. For example, if a file has the |
1233 following header, it is decoded by the coding system `iso-latin-1' | 1044 following header, it is decoded by the coding system `iso-latin-1' |
1234 without any character translation: | 1045 without any character translation: |
1235 ;; -*- coding: iso-latin-1!; -*- | 1046 ;; -*- coding: iso-latin-1!; -*- |
1236 | 1047 |
1237 --- | |
1238 *** Language environment and various default coding systems are setup | 1048 *** Language environment and various default coding systems are setup |
1239 more correctly according to the current locale name. If the locale | 1049 more correctly according to the current locale name. If the locale |
1240 name doesn't specify a charset, the default is what glibc defines. | 1050 name doesn't specify a charset, the default is what glibc defines. |
1241 This change can result in using the different coding systems as | 1051 This change can result in using the different coding systems as |
1242 default in some locale (e.g. vi_VN). | 1052 default in some locale (e.g. vi_VN). |
1243 | 1053 |
1244 +++ | |
1245 *** The keyboard-coding-system is now automatically set based on your | 1054 *** The keyboard-coding-system is now automatically set based on your |
1246 current locale settings if you are not using a window system. This | 1055 current locale settings if you are not using a window system. This |
1247 can mean that the META key doesn't work but generates non-ASCII | 1056 can mean that the META key doesn't work but generates non-ASCII |
1248 characters instead, depending on how the terminal (or terminal | 1057 characters instead, depending on how the terminal (or terminal |
1249 emulator) works. Use `set-keyboard-coding-system' (or customize | 1058 emulator) works. Use `set-keyboard-coding-system' (or customize |
1250 keyboard-coding-system) if you prefer META to work (the old default) | 1059 keyboard-coding-system) if you prefer META to work (the old default) |
1251 or if the locale doesn't describe the character set actually generated | 1060 or if the locale doesn't describe the character set actually generated |
1252 by the keyboard. See Info node `Unibyte Mode'. | 1061 by the keyboard. See Info node `Unibyte Mode'. |
1253 | 1062 |
1254 +++ | |
1255 *** The new command `revert-buffer-with-coding-system' (C-x RET r) | 1063 *** The new command `revert-buffer-with-coding-system' (C-x RET r) |
1256 revisits the current file using a coding system that you specify. | 1064 revisits the current file using a coding system that you specify. |
1257 | 1065 |
1258 +++ | |
1259 *** New command `recode-region' decodes the region again by a specified | 1066 *** New command `recode-region' decodes the region again by a specified |
1260 coding system. | 1067 coding system. |
1261 | 1068 |
1262 +++ | |
1263 *** The new command `recode-file-name' changes the encoding of the name | 1069 *** The new command `recode-file-name' changes the encoding of the name |
1264 of a file. | 1070 of a file. |
1265 | 1071 |
1266 --- | |
1267 *** New command `ucs-insert' inserts a character specified by its | 1072 *** New command `ucs-insert' inserts a character specified by its |
1268 unicode. | 1073 unicode. |
1269 | 1074 |
1270 +++ | |
1271 *** The new command `set-file-name-coding-system' (C-x RET F) sets | 1075 *** The new command `set-file-name-coding-system' (C-x RET F) sets |
1272 coding system for encoding and decoding file names. A new menu item | 1076 coding system for encoding and decoding file names. A new menu item |
1273 (Options->Mule->Set Coding Systems->For File Name) invokes this | 1077 (Options->Mule->Set Coding Systems->For File Name) invokes this |
1274 command. | 1078 command. |
1275 | 1079 |
1276 +++ | |
1277 *** New command quail-show-key shows what key (or key sequence) to type | 1080 *** New command quail-show-key shows what key (or key sequence) to type |
1278 in the current input method to input a character at point. | 1081 in the current input method to input a character at point. |
1279 | 1082 |
1280 +++ | |
1281 *** Limited support for character `unification' has been added. | 1083 *** Limited support for character `unification' has been added. |
1282 Emacs now knows how to translate between different representations of | 1084 Emacs now knows how to translate between different representations of |
1283 the same characters in various Emacs charsets according to standard | 1085 the same characters in various Emacs charsets according to standard |
1284 Unicode mappings. This applies mainly to characters in the ISO 8859 | 1086 Unicode mappings. This applies mainly to characters in the ISO 8859 |
1285 sets plus some other 8-bit sets, but can be extended. For instance, | 1087 sets plus some other 8-bit sets, but can be extended. For instance, |
1295 unify-8859-on-decoding-mode. That maps all the Latin-N character sets | 1097 unify-8859-on-decoding-mode. That maps all the Latin-N character sets |
1296 into Unicode characters (from the latin-iso8859-1 and | 1098 into Unicode characters (from the latin-iso8859-1 and |
1297 mule-unicode-0100-24ff charsets) on decoding. Note that this mode | 1099 mule-unicode-0100-24ff charsets) on decoding. Note that this mode |
1298 will often effectively clobber data with an iso-2022 encoding. | 1100 will often effectively clobber data with an iso-2022 encoding. |
1299 | 1101 |
1300 --- | |
1301 *** There is support for decoding Greek and Cyrillic characters into | 1102 *** There is support for decoding Greek and Cyrillic characters into |
1302 either Unicode (the mule-unicode charsets) or the iso-8859 charsets, | 1103 either Unicode (the mule-unicode charsets) or the iso-8859 charsets, |
1303 when possible. The latter are more space-efficient. This is | 1104 when possible. The latter are more space-efficient. This is |
1304 controlled by user option utf-fragment-on-decoding. | 1105 controlled by user option utf-fragment-on-decoding. |
1305 | 1106 |
1306 --- | |
1307 *** New language environments: French, Ukrainian, Tajik, | 1107 *** New language environments: French, Ukrainian, Tajik, |
1308 Bulgarian, Belarusian, Ukrainian, UTF-8, Windows-1255, Welsh, Latin-6, | 1108 Bulgarian, Belarusian, Ukrainian, UTF-8, Windows-1255, Welsh, Latin-6, |
1309 Latin-7, Lithuanian, Latvian, Swedish, Slovenian, Croatian, Georgian, | 1109 Latin-7, Lithuanian, Latvian, Swedish, Slovenian, Croatian, Georgian, |
1310 Italian, Russian, Malayalam, Tamil, Russian, Chinese-EUC-TW, | 1110 Italian, Russian, Malayalam, Tamil, Russian, Chinese-EUC-TW, |
1311 Esperanto. (Set up automatically according to the locale.) | 1111 Esperanto. (Set up automatically according to the locale.) |
1312 | 1112 |
1313 --- | |
1314 *** New input methods: latin-alt-postfix, latin-postfix, latin-prefix, | 1113 *** New input methods: latin-alt-postfix, latin-postfix, latin-prefix, |
1315 ukrainian-computer, belarusian, bulgarian-bds, russian-computer, | 1114 ukrainian-computer, belarusian, bulgarian-bds, russian-computer, |
1316 vietnamese-telex, lithuanian-numeric, lithuanian-keyboard, | 1115 vietnamese-telex, lithuanian-numeric, lithuanian-keyboard, |
1317 latvian-keyboard, welsh, georgian, rfc1345, ucs, sgml, | 1116 latvian-keyboard, welsh, georgian, rfc1345, ucs, sgml, |
1318 bulgarian-phonetic, dutch, slovenian, croatian, malayalam-inscript, | 1117 bulgarian-phonetic, dutch, slovenian, croatian, malayalam-inscript, |
1319 tamil-inscript. | 1118 tamil-inscript. |
1320 | 1119 |
1321 --- | |
1322 *** New input method chinese-sisheng for inputting Chinese Pinyin | 1120 *** New input method chinese-sisheng for inputting Chinese Pinyin |
1323 characters. | 1121 characters. |
1324 | 1122 |
1325 --- | |
1326 *** Improved Thai support. A new minor mode `thai-word-mode' (which is | 1123 *** Improved Thai support. A new minor mode `thai-word-mode' (which is |
1327 automatically activated if you select Thai as a language | 1124 automatically activated if you select Thai as a language |
1328 environment) changes key bindings of most word-oriented commands to | 1125 environment) changes key bindings of most word-oriented commands to |
1329 versions which recognize Thai words. Affected commands are | 1126 versions which recognize Thai words. Affected commands are |
1330 M-f (forward-word) | 1127 M-f (forward-word) |
1332 M-d (kill-word) | 1129 M-d (kill-word) |
1333 M-DEL (backward-kill-word) | 1130 M-DEL (backward-kill-word) |
1334 M-t (transpose-words) | 1131 M-t (transpose-words) |
1335 M-q (fill-paragraph) | 1132 M-q (fill-paragraph) |
1336 | 1133 |
1337 --- | |
1338 *** Indian support has been updated. | 1134 *** Indian support has been updated. |
1339 The in-is13194 coding system is now Unicode-based. CDAC fonts are | 1135 The in-is13194 coding system is now Unicode-based. CDAC fonts are |
1340 assumed. There is a framework for supporting various | 1136 assumed. There is a framework for supporting various |
1341 Indian scripts, but currently only Devanagari, Malayalam and Tamil are | 1137 Indian scripts, but currently only Devanagari, Malayalam and Tamil are |
1342 supported. | 1138 supported. |
1343 | 1139 |
1344 --- | |
1345 *** A UTF-7 coding system is available in the library `utf-7'. | 1140 *** A UTF-7 coding system is available in the library `utf-7'. |
1346 | 1141 |
1347 --- | |
1348 *** The utf-8/16 coding systems have been enhanced. | 1142 *** The utf-8/16 coding systems have been enhanced. |
1349 By default, untranslatable utf-8 sequences are simply composed into | 1143 By default, untranslatable utf-8 sequences are simply composed into |
1350 single quasi-characters. User option `utf-translate-cjk-mode' (it is | 1144 single quasi-characters. User option `utf-translate-cjk-mode' (it is |
1351 turned on by default) arranges to translate many utf-8 CJK character | 1145 turned on by default) arranges to translate many utf-8 CJK character |
1352 sequences into real Emacs characters in a similar way to the Mule-UCS | 1146 sequences into real Emacs characters in a similar way to the Mule-UCS |
1356 `ucs-mule-cjk-to-unicode' and `ucs-unicode-to-mule-cjk'. The utf-8 | 1150 `ucs-mule-cjk-to-unicode' and `ucs-unicode-to-mule-cjk'. The utf-8 |
1357 coding system now also encodes characters from most of Emacs's | 1151 coding system now also encodes characters from most of Emacs's |
1358 one-dimensional internal charsets, specifically the ISO-8859 ones. | 1152 one-dimensional internal charsets, specifically the ISO-8859 ones. |
1359 The utf-16 coding system is affected similarly. | 1153 The utf-16 coding system is affected similarly. |
1360 | 1154 |
1361 --- | |
1362 *** A new coding system `euc-tw' has been added for traditional Chinese | 1155 *** A new coding system `euc-tw' has been added for traditional Chinese |
1363 in CNS encoding; it accepts both Big 5 and CNS as input; on saving, | 1156 in CNS encoding; it accepts both Big 5 and CNS as input; on saving, |
1364 Big 5 is then converted to CNS. | 1157 Big 5 is then converted to CNS. |
1365 | 1158 |
1366 --- | |
1367 *** Many new coding systems are available in the `code-pages' library. | 1159 *** Many new coding systems are available in the `code-pages' library. |
1368 These include complete versions of most of those in codepage.el, based | 1160 These include complete versions of most of those in codepage.el, based |
1369 on Unicode mappings. `codepage-setup' is now obsolete and is used | 1161 on Unicode mappings. `codepage-setup' is now obsolete and is used |
1370 only in the MS-DOS port of Emacs. All coding systems defined in | 1162 only in the MS-DOS port of Emacs. All coding systems defined in |
1371 `code-pages' are auto-loaded. | 1163 `code-pages' are auto-loaded. |
1372 | 1164 |
1373 --- | |
1374 *** New variable `utf-translate-cjk-unicode-range' controls which | 1165 *** New variable `utf-translate-cjk-unicode-range' controls which |
1375 Unicode characters to translate in `utf-translate-cjk-mode'. | 1166 Unicode characters to translate in `utf-translate-cjk-mode'. |
1376 | 1167 |
1377 --- | |
1378 *** iso-10646-1 (`Unicode') fonts can be used to display any range of | 1168 *** iso-10646-1 (`Unicode') fonts can be used to display any range of |
1379 characters encodable by the utf-8 coding system. Just specify the | 1169 characters encodable by the utf-8 coding system. Just specify the |
1380 fontset appropriately. | 1170 fontset appropriately. |
1381 | 1171 |
1382 ** Customize changes: | 1172 ** Customize changes: |
1383 | 1173 |
1384 +++ | |
1385 *** Custom themes are collections of customize options. Create a | 1174 *** Custom themes are collections of customize options. Create a |
1386 custom theme with M-x customize-create-theme. Use M-x load-theme to | 1175 custom theme with M-x customize-create-theme. Use M-x load-theme to |
1387 load and enable a theme, and M-x disable-theme to disable it. Use M-x | 1176 load and enable a theme, and M-x disable-theme to disable it. Use M-x |
1388 enable-theme to enable a disabled theme. | 1177 enable-theme to enable a disabled theme. |
1389 | 1178 |
1390 +++ | |
1391 *** The commands M-x customize-face and M-x customize-face-other-window | 1179 *** The commands M-x customize-face and M-x customize-face-other-window |
1392 now look at the character after point. If a face or faces are | 1180 now look at the character after point. If a face or faces are |
1393 specified for that character, the commands by default customize those | 1181 specified for that character, the commands by default customize those |
1394 faces. | 1182 faces. |
1395 | 1183 |
1396 --- | |
1397 *** The face-customization widget has been reworked to be less confusing. | 1184 *** The face-customization widget has been reworked to be less confusing. |
1398 In particular, when you enable a face attribute using the corresponding | 1185 In particular, when you enable a face attribute using the corresponding |
1399 check-box, there's no longer a redundant `*' option in value selection | 1186 check-box, there's no longer a redundant `*' option in value selection |
1400 for that attribute; the values you can choose are only those which make | 1187 for that attribute; the values you can choose are only those which make |
1401 sense for the attribute. When an attribute is de-selected by unchecking | 1188 sense for the attribute. When an attribute is de-selected by unchecking |
1402 its check-box, then the (now ignored, but still present temporarily in | 1189 its check-box, then the (now ignored, but still present temporarily in |
1403 case you re-select the attribute) value is hidden. | 1190 case you re-select the attribute) value is hidden. |
1404 | 1191 |
1405 +++ | |
1406 *** When you set or reset a variable's value in a Customize buffer, | 1192 *** When you set or reset a variable's value in a Customize buffer, |
1407 the previous value becomes the "backup value" of the variable. | 1193 the previous value becomes the "backup value" of the variable. |
1408 You can go back to that backup value by selecting "Use Backup Value" | 1194 You can go back to that backup value by selecting "Use Backup Value" |
1409 under the "[State]" button. | 1195 under the "[State]" button. |
1410 | 1196 |
1411 ** Buffer Menu changes: | 1197 ** Buffer Menu changes: |
1412 | 1198 |
1413 +++ | |
1414 *** New command `Buffer-menu-toggle-files-only' toggles display of file | 1199 *** New command `Buffer-menu-toggle-files-only' toggles display of file |
1415 buffers only in the Buffer Menu. It is bound to T in Buffer Menu | 1200 buffers only in the Buffer Menu. It is bound to T in Buffer Menu |
1416 mode. | 1201 mode. |
1417 | 1202 |
1418 +++ | |
1419 *** `buffer-menu' and `list-buffers' now list buffers whose names begin | 1203 *** `buffer-menu' and `list-buffers' now list buffers whose names begin |
1420 with a space, when those buffers are visiting files. Normally buffers | 1204 with a space, when those buffers are visiting files. Normally buffers |
1421 whose names begin with space are omitted. | 1205 whose names begin with space are omitted. |
1422 | 1206 |
1423 --- | |
1424 *** The new options `buffers-menu-show-directories' and | 1207 *** The new options `buffers-menu-show-directories' and |
1425 `buffers-menu-show-status' let you control how buffers are displayed | 1208 `buffers-menu-show-status' let you control how buffers are displayed |
1426 in the menu dropped down when you click "Buffers" from the menu bar. | 1209 in the menu dropped down when you click "Buffers" from the menu bar. |
1427 | 1210 |
1428 `buffers-menu-show-directories' controls whether the menu displays | 1211 `buffers-menu-show-directories' controls whether the menu displays |
1438 Setting these variables directly does not take effect until next time | 1221 Setting these variables directly does not take effect until next time |
1439 the Buffers menu is regenerated. | 1222 the Buffers menu is regenerated. |
1440 | 1223 |
1441 ** Dired mode: | 1224 ** Dired mode: |
1442 | 1225 |
1443 --- | |
1444 *** New faces dired-header, dired-mark, dired-marked, dired-flagged, | 1226 *** New faces dired-header, dired-mark, dired-marked, dired-flagged, |
1445 dired-ignored, dired-directory, dired-symlink, dired-warning | 1227 dired-ignored, dired-directory, dired-symlink, dired-warning |
1446 introduced for Dired mode instead of font-lock faces. | 1228 introduced for Dired mode instead of font-lock faces. |
1447 | 1229 |
1448 +++ | |
1449 *** New Dired command `dired-compare-directories' marks files | 1230 *** New Dired command `dired-compare-directories' marks files |
1450 with different file attributes in two dired buffers. | 1231 with different file attributes in two dired buffers. |
1451 | 1232 |
1452 +++ | |
1453 *** New Dired command `dired-do-touch' (bound to T) changes timestamps | 1233 *** New Dired command `dired-do-touch' (bound to T) changes timestamps |
1454 of marked files with the value entered in the minibuffer. | 1234 of marked files with the value entered in the minibuffer. |
1455 | 1235 |
1456 +++ | |
1457 *** The Dired command `dired-goto-file' is now bound to j, not M-g. | 1236 *** The Dired command `dired-goto-file' is now bound to j, not M-g. |
1458 This is to avoid hiding the global key binding of M-g. | 1237 This is to avoid hiding the global key binding of M-g. |
1459 | 1238 |
1460 +++ | |
1461 *** In Dired's ! command (dired-do-shell-command), `*' and `?' now | 1239 *** In Dired's ! command (dired-do-shell-command), `*' and `?' now |
1462 control substitution of the file names only when they are surrounded | 1240 control substitution of the file names only when they are surrounded |
1463 by whitespace. This means you can now use them as shell wildcards | 1241 by whitespace. This means you can now use them as shell wildcards |
1464 too. If you want to use just plain `*' as a wildcard, type `*""'; the | 1242 too. If you want to use just plain `*' as a wildcard, type `*""'; the |
1465 double quotes make no difference in the shell, but they prevent | 1243 double quotes make no difference in the shell, but they prevent |
1466 special treatment in `dired-do-shell-command'. | 1244 special treatment in `dired-do-shell-command'. |
1467 | 1245 |
1468 +++ | |
1469 *** In Dired, the w command now stores the current line's file name | 1246 *** In Dired, the w command now stores the current line's file name |
1470 into the kill ring. With a zero prefix arg, it stores the absolute file name. | 1247 into the kill ring. With a zero prefix arg, it stores the absolute file name. |
1471 | 1248 |
1472 +++ | |
1473 *** In Dired-x, Omitting files is now a minor mode, dired-omit-mode. | 1249 *** In Dired-x, Omitting files is now a minor mode, dired-omit-mode. |
1474 | 1250 |
1475 The mode toggling command is bound to M-o. A new command | 1251 The mode toggling command is bound to M-o. A new command |
1476 dired-mark-omitted, bound to * O, marks omitted files. The variable | 1252 dired-mark-omitted, bound to * O, marks omitted files. The variable |
1477 dired-omit-files-p is obsoleted, use the mode toggling function | 1253 dired-omit-files-p is obsoleted, use the mode toggling function |
1478 instead. | 1254 instead. |
1479 | 1255 |
1480 +++ | |
1481 *** The variables dired-free-space-program and dired-free-space-args | 1256 *** The variables dired-free-space-program and dired-free-space-args |
1482 have been renamed to directory-free-space-program and | 1257 have been renamed to directory-free-space-program and |
1483 directory-free-space-args, and they now apply whenever Emacs puts a | 1258 directory-free-space-args, and they now apply whenever Emacs puts a |
1484 directory listing into a buffer. | 1259 directory listing into a buffer. |
1485 | 1260 |
1486 ** Comint changes: | 1261 ** Comint changes: |
1487 | 1262 |
1488 --- | |
1489 *** The comint prompt can now be made read-only, using the new user | 1263 *** The comint prompt can now be made read-only, using the new user |
1490 option `comint-prompt-read-only'. This is not enabled by default, | 1264 option `comint-prompt-read-only'. This is not enabled by default, |
1491 except in IELM buffers. The read-only status of IELM prompts can be | 1265 except in IELM buffers. The read-only status of IELM prompts can be |
1492 controlled with the new user option `ielm-prompt-read-only', which | 1266 controlled with the new user option `ielm-prompt-read-only', which |
1493 overrides `comint-prompt-read-only'. | 1267 overrides `comint-prompt-read-only'. |
1505 and that all prompts must stay at the beginning of a line. If this is | 1279 and that all prompts must stay at the beginning of a line. If this is |
1506 not the case, then `comint-kill-region' behaves just like | 1280 not the case, then `comint-kill-region' behaves just like |
1507 `kill-region' if read-only properties are involved: it copies the text | 1281 `kill-region' if read-only properties are involved: it copies the text |
1508 to the kill-ring, but does not delete it. | 1282 to the kill-ring, but does not delete it. |
1509 | 1283 |
1510 +++ | |
1511 *** The new command `comint-insert-previous-argument' in comint-derived | 1284 *** The new command `comint-insert-previous-argument' in comint-derived |
1512 modes (shell-mode, etc.) inserts arguments from previous command lines, | 1285 modes (shell-mode, etc.) inserts arguments from previous command lines, |
1513 like bash's `ESC .' binding. It is bound by default to `C-c .', but | 1286 like bash's `ESC .' binding. It is bound by default to `C-c .', but |
1514 otherwise behaves quite similarly to the bash version. | 1287 otherwise behaves quite similarly to the bash version. |
1515 | 1288 |
1516 +++ | |
1517 *** `comint-use-prompt-regexp-instead-of-fields' has been renamed | 1289 *** `comint-use-prompt-regexp-instead-of-fields' has been renamed |
1518 `comint-use-prompt-regexp'. The old name has been kept as an alias, | 1290 `comint-use-prompt-regexp'. The old name has been kept as an alias, |
1519 but declared obsolete. | 1291 but declared obsolete. |
1520 | 1292 |
1521 +++ | |
1522 *** The new INSIDE_EMACS environment variable is set to "t" in | 1293 *** The new INSIDE_EMACS environment variable is set to "t" in |
1523 subshells running inside Emacs. This supersedes the EMACS environment | 1294 subshells running inside Emacs. This supersedes the EMACS environment |
1524 variable, which will be removed in a future Emacs release. Programs | 1295 variable, which will be removed in a future Emacs release. Programs |
1525 that need to know whether they are started inside Emacs should check | 1296 that need to know whether they are started inside Emacs should check |
1526 INSIDE_EMACS instead of EMACS. | 1297 INSIDE_EMACS instead of EMACS. |
1527 | 1298 |
1528 ** M-x Compile changes: | 1299 ** M-x Compile changes: |
1529 | 1300 |
1530 --- | |
1531 *** M-x compile has become more robust and reliable | 1301 *** M-x compile has become more robust and reliable |
1532 | 1302 |
1533 Quite a few more kinds of messages are recognized. Messages that are | 1303 Quite a few more kinds of messages are recognized. Messages that are |
1534 recognized as warnings or informational come in orange or green, instead of | 1304 recognized as warnings or informational come in orange or green, instead of |
1535 red. Informational messages are by default skipped with `next-error' | 1305 red. Informational messages are by default skipped with `next-error' |
1545 `compilation-mode-font-lock-keywords' and it nicely handles all the checks | 1315 `compilation-mode-font-lock-keywords' and it nicely handles all the checks |
1546 that configure outputs and -o options so you see at a glance where you are. | 1316 that configure outputs and -o options so you see at a glance where you are. |
1547 | 1317 |
1548 The new file etc/compilation.txt gives examples of each type of message. | 1318 The new file etc/compilation.txt gives examples of each type of message. |
1549 | 1319 |
1550 +++ | |
1551 *** New user option `compilation-environment'. | 1320 *** New user option `compilation-environment'. |
1552 This option allows you to specify environment variables for inferior | 1321 This option allows you to specify environment variables for inferior |
1553 compilation processes without affecting the environment that all | 1322 compilation processes without affecting the environment that all |
1554 subprocesses inherit. | 1323 subprocesses inherit. |
1555 | 1324 |
1556 +++ | |
1557 *** New user option `compilation-disable-input'. | 1325 *** New user option `compilation-disable-input'. |
1558 If this is non-nil, send end-of-file as compilation process input. | 1326 If this is non-nil, send end-of-file as compilation process input. |
1559 | 1327 |
1560 +++ | |
1561 *** New options `next-error-highlight' and `next-error-highlight-no-select' | 1328 *** New options `next-error-highlight' and `next-error-highlight-no-select' |
1562 specify the method of highlighting of the corresponding source line | 1329 specify the method of highlighting of the corresponding source line |
1563 in new face `next-error'. | 1330 in new face `next-error'. |
1564 | 1331 |
1565 +++ | |
1566 *** A new minor mode `next-error-follow-minor-mode' can be used in | 1332 *** A new minor mode `next-error-follow-minor-mode' can be used in |
1567 compilation-mode, grep-mode, occur-mode, and diff-mode (i.e. all the | 1333 compilation-mode, grep-mode, occur-mode, and diff-mode (i.e. all the |
1568 modes that can use `next-error'). In this mode, cursor motion in the | 1334 modes that can use `next-error'). In this mode, cursor motion in the |
1569 buffer causes automatic display in another window of the corresponding | 1335 buffer causes automatic display in another window of the corresponding |
1570 matches, compilation errors, etc. This minor mode can be toggled with | 1336 matches, compilation errors, etc. This minor mode can be toggled with |
1571 C-c C-f. | 1337 C-c C-f. |
1572 | 1338 |
1573 +++ | |
1574 *** When the left fringe is displayed, an arrow points to current message in | 1339 *** When the left fringe is displayed, an arrow points to current message in |
1575 the compilation buffer. | 1340 the compilation buffer. |
1576 | 1341 |
1577 +++ | |
1578 *** The new variable `compilation-context-lines' controls lines of leading | 1342 *** The new variable `compilation-context-lines' controls lines of leading |
1579 context before the current message. If nil and the left fringe is displayed, | 1343 context before the current message. If nil and the left fringe is displayed, |
1580 it doesn't scroll the compilation output window. If there is no left fringe, | 1344 it doesn't scroll the compilation output window. If there is no left fringe, |
1581 no arrow is displayed and a value of nil means display the message at the top | 1345 no arrow is displayed and a value of nil means display the message at the top |
1582 of the window. | 1346 of the window. |
1583 | 1347 |
1584 +++ | |
1585 *** The EMACS environment variable now defaults to Emacs's absolute | 1348 *** The EMACS environment variable now defaults to Emacs's absolute |
1586 file name, instead of to "t". | 1349 file name, instead of to "t". |
1587 | 1350 |
1588 ** Occur mode changes: | 1351 ** Occur mode changes: |
1589 | 1352 |
1590 +++ | |
1591 *** In the *Occur* buffer, `o' switches to it in another window, and | 1353 *** In the *Occur* buffer, `o' switches to it in another window, and |
1592 C-o displays the current line's occurrence in another window without | 1354 C-o displays the current line's occurrence in another window without |
1593 switching to it. | 1355 switching to it. |
1594 | 1356 |
1595 +++ | |
1596 *** You can now use next-error (C-x `) and previous-error to advance to | 1357 *** You can now use next-error (C-x `) and previous-error to advance to |
1597 the next/previous matching line found by M-x occur. | 1358 the next/previous matching line found by M-x occur. |
1598 | 1359 |
1599 +++ | |
1600 *** The new command `multi-occur' is just like `occur', except it can | 1360 *** The new command `multi-occur' is just like `occur', except it can |
1601 search multiple buffers. There is also a new command | 1361 search multiple buffers. There is also a new command |
1602 `multi-occur-in-matching-buffers' which allows you to specify the | 1362 `multi-occur-in-matching-buffers' which allows you to specify the |
1603 buffers to search by their filenames or buffer names. Internally, | 1363 buffers to search by their filenames or buffer names. Internally, |
1604 Occur mode has been rewritten, and now uses font-lock, among other | 1364 Occur mode has been rewritten, and now uses font-lock, among other |
1605 changes. | 1365 changes. |
1606 | 1366 |
1607 ** Grep changes: | 1367 ** Grep changes: |
1608 | 1368 |
1609 +++ | |
1610 *** Grep has been decoupled from compilation mode setup. | 1369 *** Grep has been decoupled from compilation mode setup. |
1611 | 1370 |
1612 There's a new separate package grep.el, with its own submenu and | 1371 There's a new separate package grep.el, with its own submenu and |
1613 customization group. | 1372 customization group. |
1614 | 1373 |
1615 +++ | |
1616 *** `grep-find' is now also available under the name `find-grep' where | 1374 *** `grep-find' is now also available under the name `find-grep' where |
1617 people knowing `find-grep-dired' would probably expect it. | 1375 people knowing `find-grep-dired' would probably expect it. |
1618 | 1376 |
1619 +++ | |
1620 *** New commands `lgrep' (local grep) and `rgrep' (recursive grep) are | 1377 *** New commands `lgrep' (local grep) and `rgrep' (recursive grep) are |
1621 more user-friendly versions of `grep' and `grep-find', which prompt | 1378 more user-friendly versions of `grep' and `grep-find', which prompt |
1622 separately for the regular expression to match, the files to search, | 1379 separately for the regular expression to match, the files to search, |
1623 and the base directory for the search. Case sensitivity of the | 1380 and the base directory for the search. Case sensitivity of the |
1624 search is controlled by the current value of `case-fold-search'. | 1381 search is controlled by the current value of `case-fold-search'. |
1630 | 1387 |
1631 Subdirectories listed in `grep-find-ignored-directories' such as those | 1388 Subdirectories listed in `grep-find-ignored-directories' such as those |
1632 typically used by various version control systems, like CVS and arch, | 1389 typically used by various version control systems, like CVS and arch, |
1633 are automatically skipped by `rgrep'. | 1390 are automatically skipped by `rgrep'. |
1634 | 1391 |
1635 --- | |
1636 *** The grep commands provide highlighting support. | 1392 *** The grep commands provide highlighting support. |
1637 | 1393 |
1638 Hits are fontified in green, and hits in binary files in orange. Grep buffers | 1394 Hits are fontified in green, and hits in binary files in orange. Grep buffers |
1639 can be saved and automatically revisited. | 1395 can be saved and automatically revisited. |
1640 | 1396 |
1641 --- | |
1642 *** The new variables `grep-window-height' and `grep-scroll-output' override | 1397 *** The new variables `grep-window-height' and `grep-scroll-output' override |
1643 the corresponding compilation mode settings, for grep commands only. | 1398 the corresponding compilation mode settings, for grep commands only. |
1644 | 1399 |
1645 +++ | |
1646 *** New option `grep-highlight-matches' highlights matches in *grep* | 1400 *** New option `grep-highlight-matches' highlights matches in *grep* |
1647 buffer. It uses a special feature of some grep programs which accept | 1401 buffer. It uses a special feature of some grep programs which accept |
1648 --color option to output markers around matches. When going to the next | 1402 --color option to output markers around matches. When going to the next |
1649 match with `next-error' the exact match is highlighted in the source | 1403 match with `next-error' the exact match is highlighted in the source |
1650 buffer. Otherwise, if `grep-highlight-matches' is nil, the whole | 1404 buffer. Otherwise, if `grep-highlight-matches' is nil, the whole |
1651 source line is highlighted. | 1405 source line is highlighted. |
1652 | 1406 |
1653 +++ | |
1654 *** New key bindings in grep output window: | 1407 *** New key bindings in grep output window: |
1655 SPC and DEL scrolls window up and down. C-n and C-p moves to next and | 1408 SPC and DEL scrolls window up and down. C-n and C-p moves to next and |
1656 previous match in the grep window. RET jumps to the source line of | 1409 previous match in the grep window. RET jumps to the source line of |
1657 the current match. `n' and `p' shows next and previous match in | 1410 the current match. `n' and `p' shows next and previous match in |
1658 other window, but does not switch buffer. `{' and `}' jumps to the | 1411 other window, but does not switch buffer. `{' and `}' jumps to the |
1659 previous or next file in the grep output. TAB also jumps to the next | 1412 previous or next file in the grep output. TAB also jumps to the next |
1660 file. | 1413 file. |
1661 | 1414 |
1662 +++ | |
1663 *** M-x grep now tries to avoid appending `/dev/null' to the command line | 1415 *** M-x grep now tries to avoid appending `/dev/null' to the command line |
1664 by using GNU grep `-H' option instead. M-x grep automatically | 1416 by using GNU grep `-H' option instead. M-x grep automatically |
1665 detects whether this is possible or not the first time it is invoked. | 1417 detects whether this is possible or not the first time it is invoked. |
1666 When `-H' is used, the grep command line supplied by the user is passed | 1418 When `-H' is used, the grep command line supplied by the user is passed |
1667 unchanged to the system to execute, which allows more complicated | 1419 unchanged to the system to execute, which allows more complicated |
1668 command lines to be used than was possible before. | 1420 command lines to be used than was possible before. |
1669 | 1421 |
1670 ** X Windows Support: | 1422 ** X Windows Support: |
1671 | 1423 |
1672 +++ | |
1673 *** Emacs now supports drag and drop for X. Dropping a file on a window | 1424 *** Emacs now supports drag and drop for X. Dropping a file on a window |
1674 opens it, dropping text inserts the text. Dropping a file on a dired | 1425 opens it, dropping text inserts the text. Dropping a file on a dired |
1675 buffer copies or moves the file to that directory. | 1426 buffer copies or moves the file to that directory. |
1676 | 1427 |
1677 +++ | |
1678 *** Under X11, it is possible to swap Alt and Meta (and Super and Hyper). | 1428 *** Under X11, it is possible to swap Alt and Meta (and Super and Hyper). |
1679 The new variables `x-alt-keysym', `x-hyper-keysym', `x-meta-keysym', | 1429 The new variables `x-alt-keysym', `x-hyper-keysym', `x-meta-keysym', |
1680 and `x-super-keysym' can be used to choose which keysyms Emacs should | 1430 and `x-super-keysym' can be used to choose which keysyms Emacs should |
1681 use for the modifiers. For example, the following two lines swap | 1431 use for the modifiers. For example, the following two lines swap |
1682 Meta and Alt: | 1432 Meta and Alt: |
1683 (setq x-alt-keysym 'meta) | 1433 (setq x-alt-keysym 'meta) |
1684 (setq x-meta-keysym 'alt) | 1434 (setq x-meta-keysym 'alt) |
1685 | 1435 |
1686 +++ | |
1687 *** The X resource useXIM can be used to turn off use of XIM, which can | 1436 *** The X resource useXIM can be used to turn off use of XIM, which can |
1688 speed up Emacs with slow networking to the X server. | 1437 speed up Emacs with slow networking to the X server. |
1689 | 1438 |
1690 If the configure option `--without-xim' was used to turn off use of | 1439 If the configure option `--without-xim' was used to turn off use of |
1691 XIM by default, the X resource useXIM can be used to turn it on. | 1440 XIM by default, the X resource useXIM can be used to turn it on. |
1692 | 1441 |
1693 --- | |
1694 *** The new variable `x-select-request-type' controls how Emacs | 1442 *** The new variable `x-select-request-type' controls how Emacs |
1695 requests X selection. The default value is nil, which means that | 1443 requests X selection. The default value is nil, which means that |
1696 Emacs requests X selection with types COMPOUND_TEXT and UTF8_STRING, | 1444 Emacs requests X selection with types COMPOUND_TEXT and UTF8_STRING, |
1697 and use the more appropriately result. | 1445 and use the more appropriately result. |
1698 | 1446 |
1699 --- | |
1700 *** The scrollbar under LessTif or Motif has a smoother drag-scrolling. | 1447 *** The scrollbar under LessTif or Motif has a smoother drag-scrolling. |
1701 On the other hand, the size of the thumb does not represent the actual | 1448 On the other hand, the size of the thumb does not represent the actual |
1702 amount of text shown any more (only a crude approximation of it). | 1449 amount of text shown any more (only a crude approximation of it). |
1703 | 1450 |
1704 ** Xterm support: | 1451 ** Xterm support: |
1705 | 1452 |
1706 --- | |
1707 *** If you enable Xterm Mouse mode, Emacs will respond to mouse clicks | 1453 *** If you enable Xterm Mouse mode, Emacs will respond to mouse clicks |
1708 on the mode line, header line and display margin, when run in an xterm. | 1454 on the mode line, header line and display margin, when run in an xterm. |
1709 | 1455 |
1710 --- | |
1711 *** Improved key bindings support when running in an xterm. | 1456 *** Improved key bindings support when running in an xterm. |
1712 When Emacs is running in an xterm more key bindings are available. | 1457 When Emacs is running in an xterm more key bindings are available. |
1713 The following should work: | 1458 The following should work: |
1714 {C,S,C-S,A}-{right,left,up,down,prior,next,delete,insert,F1-12}. | 1459 {C,S,C-S,A}-{right,left,up,down,prior,next,delete,insert,F1-12}. |
1715 These key bindings work on xterm from X.org 6.8 (and later versions), | 1460 These key bindings work on xterm from X.org 6.8 (and later versions), |
1718 The various keys generated by xterm when the "modifyOtherKeys" | 1463 The various keys generated by xterm when the "modifyOtherKeys" |
1719 resource is set are also supported. | 1464 resource is set are also supported. |
1720 | 1465 |
1721 ** Character terminal color support changes: | 1466 ** Character terminal color support changes: |
1722 | 1467 |
1723 +++ | |
1724 *** The new command-line option --color=MODE lets you specify a standard | 1468 *** The new command-line option --color=MODE lets you specify a standard |
1725 mode for a tty color support. It is meant to be used on character | 1469 mode for a tty color support. It is meant to be used on character |
1726 terminals whose capabilities are not set correctly in the terminal | 1470 terminals whose capabilities are not set correctly in the terminal |
1727 database, or with terminal emulators which support colors, but don't | 1471 database, or with terminal emulators which support colors, but don't |
1728 set the TERM environment variable to a name of a color-capable | 1472 set the TERM environment variable to a name of a color-capable |
1729 terminal. "emacs --color" uses the same color commands as GNU `ls' | 1473 terminal. "emacs --color" uses the same color commands as GNU `ls' |
1730 when invoked with "ls --color", so if your terminal can support colors | 1474 when invoked with "ls --color", so if your terminal can support colors |
1731 in "ls --color", it will support "emacs --color" as well. See the | 1475 in "ls --color", it will support "emacs --color" as well. See the |
1732 user manual for the possible values of the MODE parameter. | 1476 user manual for the possible values of the MODE parameter. |
1733 | 1477 |
1734 --- | |
1735 *** Emacs now supports several character terminals which provide more | 1478 *** Emacs now supports several character terminals which provide more |
1736 than 8 colors. For example, for `xterm', 16-color, 88-color, and | 1479 than 8 colors. For example, for `xterm', 16-color, 88-color, and |
1737 256-color modes are supported. Emacs automatically notes at startup | 1480 256-color modes are supported. Emacs automatically notes at startup |
1738 the extended number of colors, and defines the appropriate entries for | 1481 the extended number of colors, and defines the appropriate entries for |
1739 all of these colors. | 1482 all of these colors. |
1740 | 1483 |
1741 +++ | |
1742 *** Emacs now uses the full range of available colors for the default | 1484 *** Emacs now uses the full range of available colors for the default |
1743 faces when running on a color terminal, including 16-, 88-, and | 1485 faces when running on a color terminal, including 16-, 88-, and |
1744 256-color xterms. This means that when you run "emacs -nw" on an | 1486 256-color xterms. This means that when you run "emacs -nw" on an |
1745 88-color or 256-color xterm, you will see essentially the same face | 1487 88-color or 256-color xterm, you will see essentially the same face |
1746 colors as on X. | 1488 colors as on X. |
1747 | 1489 |
1748 --- | |
1749 *** There's a new support for colors on `rxvt' terminal emulator. | 1490 *** There's a new support for colors on `rxvt' terminal emulator. |
1750 | 1491 |
1751 * New Modes and Packages in Emacs 22.1 | 1492 * New Modes and Packages in Emacs 22.1 |
1752 | 1493 |
1753 --- | |
1754 ** ERC is now part of the Emacs distribution. | 1494 ** ERC is now part of the Emacs distribution. |
1755 | 1495 |
1756 ERC is a powerful, modular, and extensible IRC client for Emacs. | 1496 ERC is a powerful, modular, and extensible IRC client for Emacs. |
1757 | 1497 |
1758 To see what modules are available, type | 1498 To see what modules are available, type |
1759 M-x customize-option erc-modules RET. | 1499 M-x customize-option erc-modules RET. |
1760 | 1500 |
1761 To start an IRC session with ERC, type M-x erc, and follow the prompts | 1501 To start an IRC session with ERC, type M-x erc, and follow the prompts |
1762 for server, port, and nick. | 1502 for server, port, and nick. |
1763 | 1503 |
1764 --- | |
1765 ** Rcirc is now part of the Emacs distribution. | 1504 ** Rcirc is now part of the Emacs distribution. |
1766 | 1505 |
1767 Rcirc is an Internet relay chat (IRC) client. It supports | 1506 Rcirc is an Internet relay chat (IRC) client. It supports |
1768 simultaneous connections to multiple IRC servers. Each discussion | 1507 simultaneous connections to multiple IRC servers. Each discussion |
1769 takes place in its own buffer. For each connection you can join | 1508 takes place in its own buffer. For each connection you can join |
1773 | 1512 |
1774 To start an IRC session using the default parameters, type M-x irc. | 1513 To start an IRC session using the default parameters, type M-x irc. |
1775 If you type C-u M-x irc, it prompts you for the server, nick, port and | 1514 If you type C-u M-x irc, it prompts you for the server, nick, port and |
1776 startup channel parameters before connecting. | 1515 startup channel parameters before connecting. |
1777 | 1516 |
1778 --- | |
1779 ** Newsticker is now part of the Emacs distribution. | 1517 ** Newsticker is now part of the Emacs distribution. |
1780 | 1518 |
1781 Newsticker asynchronously retrieves headlines (RSS) from a list of news | 1519 Newsticker asynchronously retrieves headlines (RSS) from a list of news |
1782 sites, prepares these headlines for reading, and allows for loading the | 1520 sites, prepares these headlines for reading, and allows for loading the |
1783 corresponding articles in a web browser. Its documentation is in a | 1521 corresponding articles in a web browser. Its documentation is in a |
1784 separate manual. | 1522 separate manual. |
1785 | 1523 |
1786 +++ | |
1787 ** savehist saves minibuffer histories between sessions. | 1524 ** savehist saves minibuffer histories between sessions. |
1788 To use this feature, turn on savehist-mode in your `.emacs' file. | 1525 To use this feature, turn on savehist-mode in your `.emacs' file. |
1789 | 1526 |
1790 +++ | |
1791 ** Filesets are collections of files. You can define a fileset in | 1527 ** Filesets are collections of files. You can define a fileset in |
1792 various ways, such as based on a directory tree or based on | 1528 various ways, such as based on a directory tree or based on |
1793 program files that include other program files. | 1529 program files that include other program files. |
1794 | 1530 |
1795 Once you have defined a fileset, you can perform various operations on | 1531 Once you have defined a fileset, you can perform various operations on |
1796 all the files in it, such as visiting them or searching and replacing | 1532 all the files in it, such as visiting them or searching and replacing |
1797 in them. | 1533 in them. |
1798 | 1534 |
1799 +++ | |
1800 ** Calc is now part of the Emacs distribution. | 1535 ** Calc is now part of the Emacs distribution. |
1801 | 1536 |
1802 Calc is an advanced desk calculator and mathematical tool written in | 1537 Calc is an advanced desk calculator and mathematical tool written in |
1803 Emacs Lisp. The prefix for Calc has been changed to `C-x *' and Calc | 1538 Emacs Lisp. The prefix for Calc has been changed to `C-x *' and Calc |
1804 can be started with `C-x * *'. The Calc manual is separate from the | 1539 can be started with `C-x * *'. The Calc manual is separate from the |
1805 Emacs manual; within Emacs, type "C-h i m calc RET" to read the | 1540 Emacs manual; within Emacs, type "C-h i m calc RET" to read the |
1806 manual. A reference card is available in `etc/calccard.tex' and | 1541 manual. A reference card is available in `etc/calccard.tex' and |
1807 `etc/calccard.ps'. | 1542 `etc/calccard.ps'. |
1808 | 1543 |
1809 --- | |
1810 ** The new package ibuffer provides a powerful, completely | 1544 ** The new package ibuffer provides a powerful, completely |
1811 customizable replacement for buff-menu.el. | 1545 customizable replacement for buff-menu.el. |
1812 | 1546 |
1813 --- | |
1814 ** Ido mode is now part of the Emacs distribution. | 1547 ** Ido mode is now part of the Emacs distribution. |
1815 | 1548 |
1816 The ido (interactively do) package is an extension of the iswitchb | 1549 The ido (interactively do) package is an extension of the iswitchb |
1817 package to do interactive opening of files and directories in addition | 1550 package to do interactive opening of files and directories in addition |
1818 to interactive buffer switching. Ido is a superset of iswitchb (with | 1551 to interactive buffer switching. Ido is a superset of iswitchb (with |
1819 a few exceptions), so don't enable both packages. | 1552 a few exceptions), so don't enable both packages. |
1820 | 1553 |
1821 +++ | |
1822 ** Image files are normally visited in Image mode, which lets you toggle | 1554 ** Image files are normally visited in Image mode, which lets you toggle |
1823 between viewing the image and viewing the text using C-c C-c. | 1555 between viewing the image and viewing the text using C-c C-c. |
1824 | 1556 |
1825 --- | |
1826 ** CUA mode is now part of the Emacs distribution. | 1557 ** CUA mode is now part of the Emacs distribution. |
1827 | 1558 |
1828 The new cua package provides CUA-like keybindings using C-x for | 1559 The new cua package provides CUA-like keybindings using C-x for |
1829 cut (kill), C-c for copy, C-v for paste (yank), and C-z for undo. | 1560 cut (kill), C-c for copy, C-v for paste (yank), and C-z for undo. |
1830 With cua, the region can be set and extended using shifted movement | 1561 With cua, the region can be set and extended using shifted movement |
1869 Note: This version of cua mode is not backwards compatible with older | 1600 Note: This version of cua mode is not backwards compatible with older |
1870 versions of cua.el and cua-mode.el. To ensure proper operation, you | 1601 versions of cua.el and cua-mode.el. To ensure proper operation, you |
1871 must remove older versions of cua.el or cua-mode.el as well as the | 1602 must remove older versions of cua.el or cua-mode.el as well as the |
1872 loading and customization of those packages from the .emacs file. | 1603 loading and customization of those packages from the .emacs file. |
1873 | 1604 |
1874 +++ | |
1875 ** Org mode is now part of the Emacs distribution | 1605 ** Org mode is now part of the Emacs distribution |
1876 | 1606 |
1877 Org mode is a mode for keeping notes, maintaining ToDo lists, and | 1607 Org mode is a mode for keeping notes, maintaining ToDo lists, and |
1878 doing project planning with a fast and effective plain-text system. | 1608 doing project planning with a fast and effective plain-text system. |
1879 It also contains a plain-text table editor with spreadsheet-like | 1609 It also contains a plain-text table editor with spreadsheet-like |
1884 | 1614 |
1885 The documentation for org-mode is in a separate manual; within Emacs, | 1615 The documentation for org-mode is in a separate manual; within Emacs, |
1886 type "C-h i m org RET" to read that manual. A reference card is | 1616 type "C-h i m org RET" to read that manual. A reference card is |
1887 available in `etc/orgcard.tex' and `etc/orgcard.ps'. | 1617 available in `etc/orgcard.tex' and `etc/orgcard.ps'. |
1888 | 1618 |
1889 +++ | |
1890 ** The new package dns-mode.el adds syntax highlighting of DNS master files. | 1619 ** The new package dns-mode.el adds syntax highlighting of DNS master files. |
1891 It is a modern replacement for zone-mode.el, which is now obsolete. | 1620 It is a modern replacement for zone-mode.el, which is now obsolete. |
1892 | 1621 |
1893 --- | |
1894 ** The new global minor mode `file-name-shadow-mode' modifies the way | 1622 ** The new global minor mode `file-name-shadow-mode' modifies the way |
1895 filenames being entered by the user in the minibuffer are displayed, so | 1623 filenames being entered by the user in the minibuffer are displayed, so |
1896 that it's clear when part of the entered filename will be ignored due to | 1624 that it's clear when part of the entered filename will be ignored due to |
1897 Emacs' filename parsing rules. The ignored portion can be made dim, | 1625 Emacs' filename parsing rules. The ignored portion can be made dim, |
1898 invisible, or otherwise less visually noticeable. The display method can | 1626 invisible, or otherwise less visually noticeable. The display method can |
1899 be displayed by customizing the variable `file-name-shadow-properties'. | 1627 be displayed by customizing the variable `file-name-shadow-properties'. |
1900 | 1628 |
1901 +++ | |
1902 ** The new package flymake.el does on-the-fly syntax checking of program | 1629 ** The new package flymake.el does on-the-fly syntax checking of program |
1903 source files. See the Flymake's Info manual for more details. | 1630 source files. See the Flymake's Info manual for more details. |
1904 | 1631 |
1905 +++ | |
1906 ** The new keypad setup package provides several common bindings for | 1632 ** The new keypad setup package provides several common bindings for |
1907 the numeric keypad which is available on most keyboards. The numeric | 1633 the numeric keypad which is available on most keyboards. The numeric |
1908 keypad typically has the digits 0 to 9, a decimal point, keys marked | 1634 keypad typically has the digits 0 to 9, a decimal point, keys marked |
1909 +, -, /, and *, an Enter key, and a NumLock toggle key. The keypad | 1635 +, -, /, and *, an Enter key, and a NumLock toggle key. The keypad |
1910 package only controls the use of the digit and decimal keys. | 1636 package only controls the use of the digit and decimal keys. |
1925 where the keys work like (shifted) arrow keys, home/end, etc., and | 1651 where the keys work like (shifted) arrow keys, home/end, etc., and |
1926 `Unspecified/User-defined' where the keypad keys (kp-0, kp-1, etc.) | 1652 `Unspecified/User-defined' where the keypad keys (kp-0, kp-1, etc.) |
1927 are left unspecified and can be bound individually through the global | 1653 are left unspecified and can be bound individually through the global |
1928 or local keymaps. | 1654 or local keymaps. |
1929 | 1655 |
1930 +++ | |
1931 ** Emacs' keyboard macro facilities have been enhanced by the new | 1656 ** Emacs' keyboard macro facilities have been enhanced by the new |
1932 kmacro package. | 1657 kmacro package. |
1933 | 1658 |
1934 Keyboard macros are now defined and executed via the F3 and F4 keys: | 1659 Keyboard macros are now defined and executed via the F3 and F4 keys: |
1935 F3 starts a macro, F4 ends the macro, and pressing F4 again executes | 1660 F3 starts a macro, F4 ends the macro, and pressing F4 again executes |
1959 | 1684 |
1960 Keyboard macros can now be debugged and edited interactively. | 1685 Keyboard macros can now be debugged and edited interactively. |
1961 C-x C-k SPC steps through the last keyboard macro one key sequence | 1686 C-x C-k SPC steps through the last keyboard macro one key sequence |
1962 at a time, prompting for the actions to take. | 1687 at a time, prompting for the actions to take. |
1963 | 1688 |
1964 --- | |
1965 ** New minor mode, Visible mode, toggles invisibility in the current buffer. | 1689 ** New minor mode, Visible mode, toggles invisibility in the current buffer. |
1966 When enabled, it makes all invisible text visible. When disabled, it | 1690 When enabled, it makes all invisible text visible. When disabled, it |
1967 restores the previous value of `buffer-invisibility-spec'. | 1691 restores the previous value of `buffer-invisibility-spec'. |
1968 | 1692 |
1969 +++ | |
1970 ** The wdired.el package allows you to use normal editing commands on Dired | 1693 ** The wdired.el package allows you to use normal editing commands on Dired |
1971 buffers to change filenames, permissions, etc... | 1694 buffers to change filenames, permissions, etc... |
1972 | 1695 |
1973 +++ | |
1974 ** The new package longlines.el provides a minor mode for editing text | 1696 ** The new package longlines.el provides a minor mode for editing text |
1975 files composed of long lines, based on the `use-hard-newlines' | 1697 files composed of long lines, based on the `use-hard-newlines' |
1976 mechanism. The long lines are broken up by inserting soft newlines, | 1698 mechanism. The long lines are broken up by inserting soft newlines, |
1977 which are automatically removed when saving the file to disk or | 1699 which are automatically removed when saving the file to disk or |
1978 copying into the kill ring, clipboard, etc. By default, Longlines | 1700 copying into the kill ring, clipboard, etc. By default, Longlines |
1979 mode inserts soft newlines automatically during editing, a behavior | 1701 mode inserts soft newlines automatically during editing, a behavior |
1980 referred to as "soft word wrap" in other text editors. This is | 1702 referred to as "soft word wrap" in other text editors. This is |
1981 similar to Refill mode, but more reliable. To turn the word wrap | 1703 similar to Refill mode, but more reliable. To turn the word wrap |
1982 feature off, set `longlines-auto-wrap' to nil. | 1704 feature off, set `longlines-auto-wrap' to nil. |
1983 | 1705 |
1984 +++ | |
1985 ** The printing package is now part of the Emacs distribution. | 1706 ** The printing package is now part of the Emacs distribution. |
1986 | 1707 |
1987 If you enable the printing package by including (require 'printing) in | 1708 If you enable the printing package by including (require 'printing) in |
1988 the .emacs file, the normal Print item on the File menu is replaced | 1709 the .emacs file, the normal Print item on the File menu is replaced |
1989 with a Print sub-menu which allows you to preview output through | 1710 with a Print sub-menu which allows you to preview output through |
1990 ghostview, use ghostscript to print (if you don't have a PostScript | 1711 ghostview, use ghostscript to print (if you don't have a PostScript |
1991 printer) or send directly to printer a PostScript code generated by | 1712 printer) or send directly to printer a PostScript code generated by |
1992 `ps-print' package. Use M-x pr-help for more information. | 1713 `ps-print' package. Use M-x pr-help for more information. |
1993 | 1714 |
1994 --- | |
1995 ** The minor mode Reveal mode makes text visible on the fly as you | 1715 ** The minor mode Reveal mode makes text visible on the fly as you |
1996 move your cursor into hidden regions of the buffer. | 1716 move your cursor into hidden regions of the buffer. |
1997 It should work with any package that uses overlays to hide parts | 1717 It should work with any package that uses overlays to hide parts |
1998 of a buffer, such as outline-minor-mode, hs-minor-mode, hide-ifdef-mode, ... | 1718 of a buffer, such as outline-minor-mode, hs-minor-mode, hide-ifdef-mode, ... |
1999 | 1719 |
2000 There is also Global Reveal mode which affects all buffers. | 1720 There is also Global Reveal mode which affects all buffers. |
2001 | 1721 |
2002 --- | |
2003 ** The ruler-mode.el library provides a minor mode for displaying an | 1722 ** The ruler-mode.el library provides a minor mode for displaying an |
2004 "active" ruler in the header line. You can use the mouse to visually | 1723 "active" ruler in the header line. You can use the mouse to visually |
2005 change the `fill-column', `window-margins' and `tab-stop-list' | 1724 change the `fill-column', `window-margins' and `tab-stop-list' |
2006 settings. | 1725 settings. |
2007 | 1726 |
2008 +++ | |
2009 ** SES mode (ses-mode) is a new major mode for creating and editing | 1727 ** SES mode (ses-mode) is a new major mode for creating and editing |
2010 spreadsheet files. Besides the usual Emacs features (intuitive command | 1728 spreadsheet files. Besides the usual Emacs features (intuitive command |
2011 letters, undo, cell formulas in Lisp, plaintext files, etc.) it also offers | 1729 letters, undo, cell formulas in Lisp, plaintext files, etc.) it also offers |
2012 viral immunity and import/export of tab-separated values. | 1730 viral immunity and import/export of tab-separated values. |
2013 | 1731 |
2014 +++ | |
2015 ** The new global minor mode `size-indication-mode' (off by default) | 1732 ** The new global minor mode `size-indication-mode' (off by default) |
2016 shows the size of accessible part of the buffer on the mode line. | 1733 shows the size of accessible part of the buffer on the mode line. |
2017 | 1734 |
2018 +++ | |
2019 ** The new package table.el implements editable, WYSIWYG, embedded | 1735 ** The new package table.el implements editable, WYSIWYG, embedded |
2020 `text tables' in Emacs buffers. It simulates the effect of putting | 1736 `text tables' in Emacs buffers. It simulates the effect of putting |
2021 these tables in a special major mode. The package emulates WYSIWYG | 1737 these tables in a special major mode. The package emulates WYSIWYG |
2022 table editing available in modern word processors. The package also | 1738 table editing available in modern word processors. The package also |
2023 can generate a table source in typesetting and markup languages such | 1739 can generate a table source in typesetting and markup languages such |
2024 as latex and html from the visually laid out text table. | 1740 as latex and html from the visually laid out text table. |
2025 | 1741 |
2026 +++ | |
2027 ** The tumme.el package allows you to easily view, tag and in other ways | 1742 ** The tumme.el package allows you to easily view, tag and in other ways |
2028 manipulate image files and their thumbnails, using dired as the main interface. | 1743 manipulate image files and their thumbnails, using dired as the main interface. |
2029 Tumme provides functionality to generate simple image galleries. | 1744 Tumme provides functionality to generate simple image galleries. |
2030 | 1745 |
2031 +++ | |
2032 ** Tramp is now part of the distribution. | 1746 ** Tramp is now part of the distribution. |
2033 | 1747 |
2034 This package is similar to Ange-FTP: it allows you to edit remote | 1748 This package is similar to Ange-FTP: it allows you to edit remote |
2035 files. But whereas Ange-FTP uses FTP to access the remote host, | 1749 files. But whereas Ange-FTP uses FTP to access the remote host, |
2036 Tramp uses a shell connection. The shell connection is always used | 1750 Tramp uses a shell connection. The shell connection is always used |
2049 (setq tramp-default-method "ftp") | 1763 (setq tramp-default-method "ftp") |
2050 | 1764 |
2051 Removing Tramp, and re-enabling Ange-FTP, can be achieved by M-x | 1765 Removing Tramp, and re-enabling Ange-FTP, can be achieved by M-x |
2052 tramp-unload-tramp. | 1766 tramp-unload-tramp. |
2053 | 1767 |
2054 --- | |
2055 ** The URL package (which had been part of W3) is now part of Emacs. | 1768 ** The URL package (which had been part of W3) is now part of Emacs. |
2056 | 1769 |
2057 --- | |
2058 ** `cfengine-mode' is a major mode for editing GNU Cfengine | 1770 ** `cfengine-mode' is a major mode for editing GNU Cfengine |
2059 configuration files. | 1771 configuration files. |
2060 | 1772 |
2061 +++ | |
2062 ** The new package conf-mode.el handles thousands of configuration files, with | 1773 ** The new package conf-mode.el handles thousands of configuration files, with |
2063 varying syntaxes for comments (;, #, //, /* */ or !), assignment (var = value, | 1774 varying syntaxes for comments (;, #, //, /* */ or !), assignment (var = value, |
2064 var : value, var value or keyword var value) and sections ([section] or | 1775 var : value, var value or keyword var value) and sections ([section] or |
2065 section { }). Many files under /etc/, or with suffixes like .cf through | 1776 section { }). Many files under /etc/, or with suffixes like .cf through |
2066 .config, .properties (Java), .desktop (KDE/Gnome), .ini and many others are | 1777 .config, .properties (Java), .desktop (KDE/Gnome), .ini and many others are |
2067 recognized. | 1778 recognized. |
2068 | 1779 |
2069 --- | |
2070 ** GDB-Script-mode is used for files like .gdbinit. | 1780 ** GDB-Script-mode is used for files like .gdbinit. |
2071 | 1781 |
2072 +++ | |
2073 ** The new python.el package is used to edit Python and Jython programs. | 1782 ** The new python.el package is used to edit Python and Jython programs. |
2074 | 1783 |
2075 --- | |
2076 ** The TCL package tcl-mode.el was replaced by tcl.el. | 1784 ** The TCL package tcl-mode.el was replaced by tcl.el. |
2077 This was actually done in Emacs-21.1, and was not documented. | 1785 This was actually done in Emacs-21.1, and was not documented. |
2078 | 1786 |
2079 --- | |
2080 ** The new package scroll-lock.el provides the Scroll Lock minor mode | 1787 ** The new package scroll-lock.el provides the Scroll Lock minor mode |
2081 for pager-like scrolling. Keys which normally move point by line or | 1788 for pager-like scrolling. Keys which normally move point by line or |
2082 paragraph will scroll the buffer by the respective amount of lines | 1789 paragraph will scroll the buffer by the respective amount of lines |
2083 instead and point will be kept vertically fixed relative to window | 1790 instead and point will be kept vertically fixed relative to window |
2084 boundaries during scrolling. | 1791 boundaries during scrolling. |
2085 | 1792 |
2086 +++ | |
2087 ** The file t-mouse.el is now part of Emacs and provides access to mouse | 1793 ** The file t-mouse.el is now part of Emacs and provides access to mouse |
2088 events from the console. It still requires gpm to work but has been updated | 1794 events from the console. It still requires gpm to work but has been updated |
2089 for Emacs 22. In particular, the mode-line is now position sensitive. | 1795 for Emacs 22. In particular, the mode-line is now position sensitive. |
2090 | 1796 |
2091 * Changes in Specialized Modes and Packages in Emacs 22.1: | 1797 * Changes in Specialized Modes and Packages in Emacs 22.1: |
2092 | 1798 |
2093 ** Changes in Shell Mode | 1799 ** Changes in Shell Mode |
2094 | 1800 |
2095 --- | |
2096 *** Shell output normally scrolls so that the input line is at the | 1801 *** Shell output normally scrolls so that the input line is at the |
2097 bottom of the window -- thus showing the maximum possible text. (This | 1802 bottom of the window -- thus showing the maximum possible text. (This |
2098 is similar to the way sequential output to a terminal works.) | 1803 is similar to the way sequential output to a terminal works.) |
2099 | 1804 |
2100 ** Changes in Dired | 1805 ** Changes in Dired |
2101 | 1806 |
2102 +++ | |
2103 *** Bindings for Tumme added | 1807 *** Bindings for Tumme added |
2104 Several new keybindings, all starting with the C-t prefix, have been | 1808 Several new keybindings, all starting with the C-t prefix, have been |
2105 added to Dired. They are all bound to commands in Tumme. As a starting | 1809 added to Dired. They are all bound to commands in Tumme. As a starting |
2106 point, mark some image files in a dired buffer and do C-t d to display | 1810 point, mark some image files in a dired buffer and do C-t d to display |
2107 thumbnails of them in a separate buffer. | 1811 thumbnails of them in a separate buffer. |
2108 | 1812 |
2109 ** Changes in Hi Lock | 1813 ** Changes in Hi Lock |
2110 | 1814 |
2111 +++ | |
2112 *** hi-lock-mode now only affects a single buffer, and a new function | 1815 *** hi-lock-mode now only affects a single buffer, and a new function |
2113 `global-hi-lock-mode' enables Hi Lock in all buffers. By default, if | 1816 `global-hi-lock-mode' enables Hi Lock in all buffers. By default, if |
2114 hi-lock-mode is used in what appears to be the initialization file, a | 1817 hi-lock-mode is used in what appears to be the initialization file, a |
2115 warning message suggests to use global-hi-lock-mode instead. However, | 1818 warning message suggests to use global-hi-lock-mode instead. However, |
2116 if the new variable `hi-lock-archaic-interface-deduce' is non-nil, | 1819 if the new variable `hi-lock-archaic-interface-deduce' is non-nil, |
2117 using hi-lock-mode in an initialization file will turn on Hi Lock in all | 1820 using hi-lock-mode in an initialization file will turn on Hi Lock in all |
2118 buffers and no warning will be issued (for compatibility with the | 1821 buffers and no warning will be issued (for compatibility with the |
2119 behavior in older versions of Emacs). | 1822 behavior in older versions of Emacs). |
2120 | 1823 |
2121 --- | |
2122 ** Changes in Allout | 1824 ** Changes in Allout |
2123 | 1825 |
2124 *** Some previously rough topic-header format edge cases are reconciled. | 1826 *** Some previously rough topic-header format edge cases are reconciled. |
2125 Level 1 topics use the mode's comment format, and lines starting with the | 1827 Level 1 topics use the mode's comment format, and lines starting with the |
2126 asterisk - for instance, the comment close of some languages (eg, c's "*/" | 1828 asterisk - for instance, the comment close of some languages (eg, c's "*/" |
2215 have them automatically run at the end of module load by customizing | 1917 have them automatically run at the end of module load by customizing |
2216 the option `allout-run-unit-tests-on-load'. | 1918 the option `allout-run-unit-tests-on-load'. |
2217 - many, many other, more minor tweaks, fixes, and refinements. | 1919 - many, many other, more minor tweaks, fixes, and refinements. |
2218 - version number incremented to 2.2 | 1920 - version number incremented to 2.2 |
2219 | 1921 |
2220 +++ | |
2221 ** The variable `woman-topic-at-point' is renamed | 1922 ** The variable `woman-topic-at-point' is renamed |
2222 to `woman-use-topic-at-point' and behaves differently: if this | 1923 to `woman-use-topic-at-point' and behaves differently: if this |
2223 variable is non-nil, the `woman' command uses the word at point | 1924 variable is non-nil, the `woman' command uses the word at point |
2224 automatically, without asking for a confirmation. Otherwise, the word | 1925 automatically, without asking for a confirmation. Otherwise, the word |
2225 at point is suggested as default, but not inserted at the prompt. | 1926 at point is suggested as default, but not inserted at the prompt. |
2226 | 1927 |
2227 --- | |
2228 ** Changes to cmuscheme | 1928 ** Changes to cmuscheme |
2229 | 1929 |
2230 *** Emacs now offers to start Scheme if the user tries to | 1930 *** Emacs now offers to start Scheme if the user tries to |
2231 evaluate a Scheme expression but no Scheme subprocess is running. | 1931 evaluate a Scheme expression but no Scheme subprocess is running. |
2232 | 1932 |
2238 procedure calls (`scheme-trace-procedure') and to expand syntactic forms | 1938 procedure calls (`scheme-trace-procedure') and to expand syntactic forms |
2239 (`scheme-expand-current-form'). The commands actually sent to the Scheme | 1939 (`scheme-expand-current-form'). The commands actually sent to the Scheme |
2240 subprocess are controlled by the user options `scheme-trace-command', | 1940 subprocess are controlled by the user options `scheme-trace-command', |
2241 `scheme-untrace-command' and `scheme-expand-current-form'. | 1941 `scheme-untrace-command' and `scheme-expand-current-form'. |
2242 | 1942 |
2243 --- | |
2244 ** Changes in Makefile mode | 1943 ** Changes in Makefile mode |
2245 | 1944 |
2246 *** Makefile mode has submodes for automake, gmake, makepp, BSD make and imake. | 1945 *** Makefile mode has submodes for automake, gmake, makepp, BSD make and imake. |
2247 | 1946 |
2248 The former two couldn't be differentiated before, and the latter three | 1947 The former two couldn't be differentiated before, and the latter three |
2251 | 1950 |
2252 *** The variable `makefile-query-one-target-method' has been renamed | 1951 *** The variable `makefile-query-one-target-method' has been renamed |
2253 to `makefile-query-one-target-method-function'. The old name is still | 1952 to `makefile-query-one-target-method-function'. The old name is still |
2254 available as alias. | 1953 available as alias. |
2255 | 1954 |
2256 +++ | |
2257 ** In Outline mode, `hide-body' no longer hides lines at the top | 1955 ** In Outline mode, `hide-body' no longer hides lines at the top |
2258 of the file that precede the first header line. | 1956 of the file that precede the first header line. |
2259 | 1957 |
2260 +++ | |
2261 ** Telnet now prompts you for a port number with C-u M-x telnet. | 1958 ** Telnet now prompts you for a port number with C-u M-x telnet. |
2262 | 1959 |
2263 --- | |
2264 ** The terminal emulation code in term.el has been improved; it can | 1960 ** The terminal emulation code in term.el has been improved; it can |
2265 run most curses applications now. | 1961 run most curses applications now. |
2266 | 1962 |
2267 +++ | |
2268 ** M-x diff uses Diff mode instead of Compilation mode. | 1963 ** M-x diff uses Diff mode instead of Compilation mode. |
2269 | 1964 |
2270 +++ | |
2271 ** Diff mode key bindings changed. | 1965 ** Diff mode key bindings changed. |
2272 | 1966 |
2273 These are the new bindings: | 1967 These are the new bindings: |
2274 | 1968 |
2275 C-c C-e diff-ediff-patch (old M-A) | 1969 C-c C-e diff-ediff-patch (old M-A) |
2280 | 1974 |
2281 To convert unified to context format, use C-u C-c C-u. | 1975 To convert unified to context format, use C-u C-c C-u. |
2282 In addition, C-c C-u now operates on the region | 1976 In addition, C-c C-u now operates on the region |
2283 in Transient Mark mode when the mark is active. | 1977 in Transient Mark mode when the mark is active. |
2284 | 1978 |
2285 +++ | |
2286 ** You can now customize `fill-nobreak-predicate' to control where | 1979 ** You can now customize `fill-nobreak-predicate' to control where |
2287 filling can break lines. The value is now normally a list of | 1980 filling can break lines. The value is now normally a list of |
2288 functions, but it can also be a single function, for compatibility. | 1981 functions, but it can also be a single function, for compatibility. |
2289 | 1982 |
2290 Emacs provide two predicates, `fill-single-word-nobreak-p' and | 1983 Emacs provide two predicates, `fill-single-word-nobreak-p' and |
2291 `fill-french-nobreak-p', for use as the value of | 1984 `fill-french-nobreak-p', for use as the value of |
2292 `fill-nobreak-predicate'. | 1985 `fill-nobreak-predicate'. |
2293 | 1986 |
2294 --- | |
2295 ** M-x view-file and commands that use it now avoid interfering | 1987 ** M-x view-file and commands that use it now avoid interfering |
2296 with special modes such as Tar mode. | 1988 with special modes such as Tar mode. |
2297 | 1989 |
2298 --- | |
2299 ** Commands `winner-redo' and `winner-undo', from winner.el, are now | 1990 ** Commands `winner-redo' and `winner-undo', from winner.el, are now |
2300 bound to C-c <left> and C-c <right>, respectively. This is an | 1991 bound to C-c <left> and C-c <right>, respectively. This is an |
2301 incompatible change. | 1992 incompatible change. |
2302 | 1993 |
2303 --- | |
2304 ** `global-whitespace-mode' is a new alias for `whitespace-global-mode'. | 1994 ** `global-whitespace-mode' is a new alias for `whitespace-global-mode'. |
2305 | 1995 |
2306 +++ | |
2307 ** M-x compare-windows now can automatically skip non-matching text to | 1996 ** M-x compare-windows now can automatically skip non-matching text to |
2308 resync points in both windows. | 1997 resync points in both windows. |
2309 | 1998 |
2310 +++ | |
2311 ** New user option `add-log-always-start-new-record'. | 1999 ** New user option `add-log-always-start-new-record'. |
2312 | 2000 |
2313 When this option is enabled, M-x add-change-log-entry always | 2001 When this option is enabled, M-x add-change-log-entry always |
2314 starts a new record regardless of when the last record is. | 2002 starts a new record regardless of when the last record is. |
2315 | 2003 |
2316 --- | |
2317 ** PO translation files are decoded according to their MIME headers | 2004 ** PO translation files are decoded according to their MIME headers |
2318 when Emacs visits them. | 2005 when Emacs visits them. |
2319 | 2006 |
2320 ** Info mode changes: | 2007 ** Info mode changes: |
2321 | 2008 |
2322 +++ | |
2323 *** A numeric prefix argument of `info' selects an Info buffer | 2009 *** A numeric prefix argument of `info' selects an Info buffer |
2324 with the number appended to the `*info*' buffer name (e.g. "*info*<2>"). | 2010 with the number appended to the `*info*' buffer name (e.g. "*info*<2>"). |
2325 | 2011 |
2326 +++ | |
2327 *** isearch in Info uses Info-search and searches through multiple nodes. | 2012 *** isearch in Info uses Info-search and searches through multiple nodes. |
2328 | 2013 |
2329 Before leaving the initial Info node isearch fails once with the error | 2014 Before leaving the initial Info node isearch fails once with the error |
2330 message [initial node], and with subsequent C-s/C-r continues through | 2015 message [initial node], and with subsequent C-s/C-r continues through |
2331 other nodes. When isearch fails for the rest of the manual, it wraps | 2016 other nodes. When isearch fails for the rest of the manual, it wraps |
2332 around the whole manual to the top/final node. The user option | 2017 around the whole manual to the top/final node. The user option |
2333 `Info-isearch-search' controls whether to use Info-search for isearch, | 2018 `Info-isearch-search' controls whether to use Info-search for isearch, |
2334 or the default isearch search function that wraps around the current | 2019 or the default isearch search function that wraps around the current |
2335 Info node. | 2020 Info node. |
2336 | 2021 |
2337 --- | |
2338 *** New search commands: `Info-search-case-sensitively' (bound to S), | 2022 *** New search commands: `Info-search-case-sensitively' (bound to S), |
2339 `Info-search-backward', and `Info-search-next' which repeats the last | 2023 `Info-search-backward', and `Info-search-next' which repeats the last |
2340 search without prompting for a new search string. | 2024 search without prompting for a new search string. |
2341 | 2025 |
2342 +++ | |
2343 *** New command `Info-history-forward' (bound to r and new toolbar icon) | 2026 *** New command `Info-history-forward' (bound to r and new toolbar icon) |
2344 moves forward in history to the node you returned from after using | 2027 moves forward in history to the node you returned from after using |
2345 `Info-history-back' (renamed from `Info-last'). | 2028 `Info-history-back' (renamed from `Info-last'). |
2346 | 2029 |
2347 --- | |
2348 *** New command `Info-history' (bound to L) displays a menu of visited nodes. | 2030 *** New command `Info-history' (bound to L) displays a menu of visited nodes. |
2349 | 2031 |
2350 --- | |
2351 *** New command `Info-toc' (bound to T) creates a node with table of contents | 2032 *** New command `Info-toc' (bound to T) creates a node with table of contents |
2352 from the tree structure of menus of the current Info file. | 2033 from the tree structure of menus of the current Info file. |
2353 | 2034 |
2354 +++ | |
2355 *** New command `info-apropos' searches the indices of the known | 2035 *** New command `info-apropos' searches the indices of the known |
2356 Info files on your system for a string, and builds a menu of the | 2036 Info files on your system for a string, and builds a menu of the |
2357 possible matches. | 2037 possible matches. |
2358 | 2038 |
2359 --- | |
2360 *** New command `Info-copy-current-node-name' (bound to w) copies | 2039 *** New command `Info-copy-current-node-name' (bound to w) copies |
2361 the current Info node name into the kill ring. With a zero prefix | 2040 the current Info node name into the kill ring. With a zero prefix |
2362 arg, puts the node name inside the `info' function call. | 2041 arg, puts the node name inside the `info' function call. |
2363 | 2042 |
2364 +++ | |
2365 *** New face `info-xref-visited' distinguishes visited nodes from unvisited | 2043 *** New face `info-xref-visited' distinguishes visited nodes from unvisited |
2366 and a new option `Info-fontify-visited-nodes' to control this. | 2044 and a new option `Info-fontify-visited-nodes' to control this. |
2367 | 2045 |
2368 --- | |
2369 *** http and ftp links in Info are now operational: they look like cross | 2046 *** http and ftp links in Info are now operational: they look like cross |
2370 references and following them calls `browse-url'. | 2047 references and following them calls `browse-url'. |
2371 | 2048 |
2372 +++ | |
2373 *** Info now hides node names in menus and cross references by default. | 2049 *** Info now hides node names in menus and cross references by default. |
2374 | 2050 |
2375 If you prefer the old behavior, you can set the new user option | 2051 If you prefer the old behavior, you can set the new user option |
2376 `Info-hide-note-references' to nil. | 2052 `Info-hide-note-references' to nil. |
2377 | 2053 |
2378 --- | |
2379 *** Images in Info pages are supported. | 2054 *** Images in Info pages are supported. |
2380 | 2055 |
2381 Info pages show embedded images, in Emacs frames with image support. | 2056 Info pages show embedded images, in Emacs frames with image support. |
2382 Info documentation that includes images, processed with makeinfo | 2057 Info documentation that includes images, processed with makeinfo |
2383 version 4.7 or newer, compiles to Info pages with embedded images. | 2058 version 4.7 or newer, compiles to Info pages with embedded images. |
2384 | 2059 |
2385 +++ | |
2386 *** The default value for `Info-scroll-prefer-subnodes' is now nil. | 2060 *** The default value for `Info-scroll-prefer-subnodes' is now nil. |
2387 | 2061 |
2388 --- | |
2389 *** `Info-index' offers completion. | 2062 *** `Info-index' offers completion. |
2390 | 2063 |
2391 ** Lisp mode changes: | 2064 ** Lisp mode changes: |
2392 | 2065 |
2393 --- | |
2394 *** Lisp mode now uses `font-lock-doc-face' for doc strings. | 2066 *** Lisp mode now uses `font-lock-doc-face' for doc strings. |
2395 | 2067 |
2396 +++ | |
2397 *** C-u C-M-q in Emacs Lisp mode pretty-prints the list after point. | 2068 *** C-u C-M-q in Emacs Lisp mode pretty-prints the list after point. |
2398 | 2069 |
2399 *** New features in evaluation commands | 2070 *** New features in evaluation commands |
2400 | 2071 |
2401 +++ | |
2402 **** The function `eval-defun' (C-M-x) called on defface reinitializes | 2072 **** The function `eval-defun' (C-M-x) called on defface reinitializes |
2403 the face to the value specified in the defface expression. | 2073 the face to the value specified in the defface expression. |
2404 | 2074 |
2405 +++ | |
2406 **** Typing C-x C-e twice prints the value of the integer result | 2075 **** Typing C-x C-e twice prints the value of the integer result |
2407 in additional formats (octal, hexadecimal, character) specified | 2076 in additional formats (octal, hexadecimal, character) specified |
2408 by the new function `eval-expression-print-format'. The same | 2077 by the new function `eval-expression-print-format'. The same |
2409 function also defines the result format for `eval-expression' (M-:), | 2078 function also defines the result format for `eval-expression' (M-:), |
2410 `eval-print-last-sexp' (C-j) and some edebug evaluation functions. | 2079 `eval-print-last-sexp' (C-j) and some edebug evaluation functions. |
2411 | 2080 |
2412 +++ | |
2413 ** CC mode changes. | 2081 ** CC mode changes. |
2414 | 2082 |
2415 *** The CC Mode manual has been extensively revised. | 2083 *** The CC Mode manual has been extensively revised. |
2416 The information about using CC Mode has been separated from the larger | 2084 The information about using CC Mode has been separated from the larger |
2417 and more difficult chapters about configuration. | 2085 and more difficult chapters about configuration. |
2735 | 2403 |
2736 *** Added toggle for syntactic indentation. | 2404 *** Added toggle for syntactic indentation. |
2737 The function `c-toggle-syntactic-indentation' can be used to toggle | 2405 The function `c-toggle-syntactic-indentation' can be used to toggle |
2738 syntactic indentation. | 2406 syntactic indentation. |
2739 | 2407 |
2740 --- | |
2741 ** In sh-script, a continuation line is only indented if the backslash was | 2408 ** In sh-script, a continuation line is only indented if the backslash was |
2742 preceded by a SPC or a TAB. | 2409 preceded by a SPC or a TAB. |
2743 | 2410 |
2744 --- | |
2745 ** Perl mode has a new variable `perl-indent-continued-arguments'. | 2411 ** Perl mode has a new variable `perl-indent-continued-arguments'. |
2746 | 2412 |
2747 --- | |
2748 ** The old Octave mode bindings C-c f and C-c i have been changed | 2413 ** The old Octave mode bindings C-c f and C-c i have been changed |
2749 to C-c C-f and C-c C-i. The C-c C-i subcommands now have duplicate | 2414 to C-c C-f and C-c C-i. The C-c C-i subcommands now have duplicate |
2750 bindings on control characters--thus, C-c C-i C-b is the same as | 2415 bindings on control characters--thus, C-c C-i C-b is the same as |
2751 C-c C-i b, and so on. | 2416 C-c C-i b, and so on. |
2752 | 2417 |
2753 ** Fortran mode changes: | 2418 ** Fortran mode changes: |
2754 | 2419 |
2755 --- | |
2756 *** Fortran mode does more font-locking by default. Use level 3 | 2420 *** Fortran mode does more font-locking by default. Use level 3 |
2757 highlighting for the old default. | 2421 highlighting for the old default. |
2758 | 2422 |
2759 +++ | |
2760 *** Fortran mode has a new variable `fortran-directive-re'. | 2423 *** Fortran mode has a new variable `fortran-directive-re'. |
2761 Adapt this to match the format of any compiler directives you use. | 2424 Adapt this to match the format of any compiler directives you use. |
2762 Lines that match are never indented, and are given distinctive font-locking. | 2425 Lines that match are never indented, and are given distinctive font-locking. |
2763 | 2426 |
2764 +++ | |
2765 *** F90 mode and Fortran mode have new navigation commands | 2427 *** F90 mode and Fortran mode have new navigation commands |
2766 `f90-end-of-block', `f90-beginning-of-block', `f90-next-block', | 2428 `f90-end-of-block', `f90-beginning-of-block', `f90-next-block', |
2767 `f90-previous-block', `fortran-end-of-block', | 2429 `f90-previous-block', `fortran-end-of-block', |
2768 `fortran-beginning-of-block'. | 2430 `fortran-beginning-of-block'. |
2769 | 2431 |
2770 --- | |
2771 *** F90 mode and Fortran mode have support for `hs-minor-mode' (hideshow). | 2432 *** F90 mode and Fortran mode have support for `hs-minor-mode' (hideshow). |
2772 It cannot deal with every code format, but ought to handle a sizeable | 2433 It cannot deal with every code format, but ought to handle a sizeable |
2773 majority. | 2434 majority. |
2774 | 2435 |
2775 --- | |
2776 *** The new function `f90-backslash-not-special' can be used to change | 2436 *** The new function `f90-backslash-not-special' can be used to change |
2777 the syntax of backslashes in F90 buffers. | 2437 the syntax of backslashes in F90 buffers. |
2778 | 2438 |
2779 --- | |
2780 ** Reftex mode changes | 2439 ** Reftex mode changes |
2781 | 2440 |
2782 +++ | |
2783 *** Changes to RefTeX's table of contents | 2441 *** Changes to RefTeX's table of contents |
2784 | 2442 |
2785 The new command keys "<" and ">" in the TOC buffer promote/demote the | 2443 The new command keys "<" and ">" in the TOC buffer promote/demote the |
2786 section at point or all sections in the current region, with full | 2444 section at point or all sections in the current region, with full |
2787 support for multifile documents. | 2445 support for multifile documents. |
2802 key `M-%'. | 2460 key `M-%'. |
2803 | 2461 |
2804 The new command `reftex-goto-label' jumps directly to a label | 2462 The new command `reftex-goto-label' jumps directly to a label |
2805 location. | 2463 location. |
2806 | 2464 |
2807 +++ | |
2808 *** Changes related to citations and BibTeX database files | 2465 *** Changes related to citations and BibTeX database files |
2809 | 2466 |
2810 Commands that insert a citation now prompt for optional arguments when | 2467 Commands that insert a citation now prompt for optional arguments when |
2811 called with a prefix argument. Related new options are | 2468 called with a prefix argument. Related new options are |
2812 `reftex-cite-prompt-optional-args' and `reftex-cite-cleanup-optional-args'. | 2469 `reftex-cite-prompt-optional-args' and `reftex-cite-cleanup-optional-args'. |
2825 The macros which specify the bibliography file (like \bibliography) | 2482 The macros which specify the bibliography file (like \bibliography) |
2826 can be configured with the new option `reftex-bibliography-commands'. | 2483 can be configured with the new option `reftex-bibliography-commands'. |
2827 | 2484 |
2828 Support for jurabib has been added. | 2485 Support for jurabib has been added. |
2829 | 2486 |
2830 +++ | |
2831 *** Global index matched may be verified with a user function | 2487 *** Global index matched may be verified with a user function |
2832 | 2488 |
2833 During global indexing, a user function can verify an index match. | 2489 During global indexing, a user function can verify an index match. |
2834 See new option `reftex-index-verify-function'. | 2490 See new option `reftex-index-verify-function'. |
2835 | 2491 |
2836 +++ | |
2837 *** Parsing documents with many labels can be sped up. | 2492 *** Parsing documents with many labels can be sped up. |
2838 | 2493 |
2839 Operating in a document with thousands of labels can be sped up | 2494 Operating in a document with thousands of labels can be sped up |
2840 considerably by allowing RefTeX to derive the type of a label directly | 2495 considerably by allowing RefTeX to derive the type of a label directly |
2841 from the label prefix like `eq:' or `fig:'. The option | 2496 from the label prefix like `eq:' or `fig:'. The option |
2842 `reftex-trust-label-prefix' needs to be configured in order to enable | 2497 `reftex-trust-label-prefix' needs to be configured in order to enable |
2843 this feature. While the speed-up is significant, this may reduce the | 2498 this feature. While the speed-up is significant, this may reduce the |
2844 quality of the context offered by RefTeX to describe a label. | 2499 quality of the context offered by RefTeX to describe a label. |
2845 | 2500 |
2846 +++ | |
2847 *** Miscellaneous changes | 2501 *** Miscellaneous changes |
2848 | 2502 |
2849 The macros which input a file in LaTeX (like \input, \include) can be | 2503 The macros which input a file in LaTeX (like \input, \include) can be |
2850 configured in the new option `reftex-include-file-commands'. | 2504 configured in the new option `reftex-include-file-commands'. |
2851 | 2505 |
2852 RefTeX supports global incremental search. | 2506 RefTeX supports global incremental search. |
2853 | 2507 |
2854 +++ | |
2855 ** Prolog mode has a new variable `prolog-font-lock-keywords' | 2508 ** Prolog mode has a new variable `prolog-font-lock-keywords' |
2856 to support use of font-lock. | 2509 to support use of font-lock. |
2857 | 2510 |
2858 ** HTML/SGML changes: | 2511 ** HTML/SGML changes: |
2859 | 2512 |
2860 --- | |
2861 *** Emacs now tries to set up buffer coding systems for HTML/XML files | 2513 *** Emacs now tries to set up buffer coding systems for HTML/XML files |
2862 automatically. | 2514 automatically. |
2863 | 2515 |
2864 +++ | |
2865 *** SGML mode has indentation and supports XML syntax. | 2516 *** SGML mode has indentation and supports XML syntax. |
2866 The new variable `sgml-xml-mode' tells SGML mode to use XML syntax. | 2517 The new variable `sgml-xml-mode' tells SGML mode to use XML syntax. |
2867 When this option is enabled, SGML tags are inserted in XML style, | 2518 When this option is enabled, SGML tags are inserted in XML style, |
2868 i.e., there is always a closing tag. | 2519 i.e., there is always a closing tag. |
2869 By default, its setting is inferred on a buffer-by-buffer basis | 2520 By default, its setting is inferred on a buffer-by-buffer basis |
2870 from the file name or buffer contents. | 2521 from the file name or buffer contents. |
2871 | 2522 |
2872 --- | |
2873 *** The variable `sgml-transformation' has been renamed to | 2523 *** The variable `sgml-transformation' has been renamed to |
2874 `sgml-transformation-function'. The old name is still available as | 2524 `sgml-transformation-function'. The old name is still available as |
2875 alias. | 2525 alias. |
2876 | 2526 |
2877 +++ | |
2878 *** `xml-mode' is now an alias for `sgml-mode', which has XML support. | 2527 *** `xml-mode' is now an alias for `sgml-mode', which has XML support. |
2879 | 2528 |
2880 ** TeX modes: | 2529 ** TeX modes: |
2881 | 2530 |
2882 +++ | |
2883 *** C-c C-c prompts for a command to run, and tries to offer a good default. | 2531 *** C-c C-c prompts for a command to run, and tries to offer a good default. |
2884 | 2532 |
2885 +++ | |
2886 *** The user option `tex-start-options-string' has been replaced | 2533 *** The user option `tex-start-options-string' has been replaced |
2887 by two new user options: `tex-start-options', which should hold | 2534 by two new user options: `tex-start-options', which should hold |
2888 command-line options to feed to TeX, and `tex-start-commands' which should hold | 2535 command-line options to feed to TeX, and `tex-start-commands' which should hold |
2889 TeX commands to use at startup. | 2536 TeX commands to use at startup. |
2890 | 2537 |
2891 --- | |
2892 *** verbatim environments are now highlighted in courier by font-lock | 2538 *** verbatim environments are now highlighted in courier by font-lock |
2893 and super/sub-scripts are made into super/sub-scripts. | 2539 and super/sub-scripts are made into super/sub-scripts. |
2894 | 2540 |
2895 +++ | |
2896 *** New major mode Doctex mode, for *.dtx files. | 2541 *** New major mode Doctex mode, for *.dtx files. |
2897 | 2542 |
2898 --- | |
2899 ** BibTeX mode: | 2543 ** BibTeX mode: |
2900 | 2544 |
2901 *** The new command `bibtex-url' browses a URL for the BibTeX entry at | 2545 *** The new command `bibtex-url' browses a URL for the BibTeX entry at |
2902 point (bound to C-c C-l and mouse-2, RET on clickable fields). | 2546 point (bound to C-c C-l and mouse-2, RET on clickable fields). |
2903 | 2547 |
2950 `bibtex-autokey-titleword-case-convert' have been renamed to | 2594 `bibtex-autokey-titleword-case-convert' have been renamed to |
2951 `bibtex-autokey-name-case-convert-function' and | 2595 `bibtex-autokey-name-case-convert-function' and |
2952 `bibtex-autokey-titleword-case-convert-function'. The old names are | 2596 `bibtex-autokey-titleword-case-convert-function'. The old names are |
2953 still available as aliases. | 2597 still available as aliases. |
2954 | 2598 |
2955 +++ | |
2956 ** In Artist mode the variable `artist-text-renderer' has been | 2599 ** In Artist mode the variable `artist-text-renderer' has been |
2957 renamed to `artist-text-renderer-function'. The old name is still | 2600 renamed to `artist-text-renderer-function'. The old name is still |
2958 available as alias. | 2601 available as alias. |
2959 | 2602 |
2960 +++ | |
2961 ** In Enriched mode, `set-left-margin' and `set-right-margin' are now | 2603 ** In Enriched mode, `set-left-margin' and `set-right-margin' are now |
2962 by default bound to `C-c [' and `C-c ]' instead of the former `C-c C-l' | 2604 by default bound to `C-c [' and `C-c ]' instead of the former `C-c C-l' |
2963 and `C-c C-r'. | 2605 and `C-c C-r'. |
2964 | 2606 |
2965 ** GUD changes: | 2607 ** GUD changes: |
2966 | 2608 |
2967 +++ | |
2968 *** In GUD mode, when talking to GDB, C-x C-a C-j "jumps" the program | 2609 *** In GUD mode, when talking to GDB, C-x C-a C-j "jumps" the program |
2969 counter to the specified source line (the one where point is). | 2610 counter to the specified source line (the one where point is). |
2970 | 2611 |
2971 --- | |
2972 *** GUD mode has its own tool bar for controlling execution of the inferior | 2612 *** GUD mode has its own tool bar for controlling execution of the inferior |
2973 and other common debugger commands. | 2613 and other common debugger commands. |
2974 | 2614 |
2975 +++ | |
2976 *** The new package gdb-ui.el provides an enhanced graphical interface to | 2615 *** The new package gdb-ui.el provides an enhanced graphical interface to |
2977 GDB. You can interact with GDB through the GUD buffer in the usual way, but | 2616 GDB. You can interact with GDB through the GUD buffer in the usual way, but |
2978 there are also further buffers which control the execution and describe the | 2617 there are also further buffers which control the execution and describe the |
2979 state of your program. It can separate the input/output of your program from | 2618 state of your program. It can separate the input/output of your program from |
2980 that of GDB and watches expressions in the speedbar. It also uses features of | 2619 that of GDB and watches expressions in the speedbar. It also uses features of |
2982 breakpoints. | 2621 breakpoints. |
2983 | 2622 |
2984 To use this package just type M-x gdb. See the Emacs manual if you want the | 2623 To use this package just type M-x gdb. See the Emacs manual if you want the |
2985 old behaviour. | 2624 old behaviour. |
2986 | 2625 |
2987 --- | |
2988 *** The variable tooltip-gud-tips-p has been removed. GUD tooltips can now be | 2626 *** The variable tooltip-gud-tips-p has been removed. GUD tooltips can now be |
2989 toggled independently of normal tooltips with the minor mode | 2627 toggled independently of normal tooltips with the minor mode |
2990 `gud-tooltip-mode'. | 2628 `gud-tooltip-mode'. |
2991 | 2629 |
2992 +++ | |
2993 *** In graphical mode, with a C program, GUD Tooltips have been extended to | 2630 *** In graphical mode, with a C program, GUD Tooltips have been extended to |
2994 display the #define directive associated with an identifier when program is | 2631 display the #define directive associated with an identifier when program is |
2995 not executing. | 2632 not executing. |
2996 | 2633 |
2997 --- | |
2998 ** GUD mode improvements for jdb: | 2634 ** GUD mode improvements for jdb: |
2999 | 2635 |
3000 *** Search for source files using jdb classpath and class information. | 2636 *** Search for source files using jdb classpath and class information. |
3001 Fast startup since there is no need to scan all source files up front. | 2637 Fast startup since there is no need to scan all source files up front. |
3002 There is also no need to create and maintain lists of source | 2638 There is also no need to create and maintain lists of source |
3037 | 2673 |
3038 **** Do not allow debugger output history variable to grow without bounds. | 2674 **** Do not allow debugger output history variable to grow without bounds. |
3039 | 2675 |
3040 ** Auto-Revert changes: | 2676 ** Auto-Revert changes: |
3041 | 2677 |
3042 +++ | |
3043 *** You can now use Auto Revert mode to `tail' a file. | 2678 *** You can now use Auto Revert mode to `tail' a file. |
3044 | 2679 |
3045 If point is at the end of a file buffer before reverting, Auto Revert | 2680 If point is at the end of a file buffer before reverting, Auto Revert |
3046 mode keeps it at the end after reverting. Similarly if point is | 2681 mode keeps it at the end after reverting. Similarly if point is |
3047 displayed at the end of a file buffer in any window, it stays at | 2682 displayed at the end of a file buffer in any window, it stays at |
3053 If you are sure that the file will only change by growing at the end, | 2688 If you are sure that the file will only change by growing at the end, |
3054 then you can tail the file more efficiently by using the new minor | 2689 then you can tail the file more efficiently by using the new minor |
3055 mode Auto Revert Tail mode. The function `auto-revert-tail-mode' | 2690 mode Auto Revert Tail mode. The function `auto-revert-tail-mode' |
3056 toggles this mode. | 2691 toggles this mode. |
3057 | 2692 |
3058 +++ | |
3059 *** Auto Revert mode is now more careful to avoid excessive reverts and | 2693 *** Auto Revert mode is now more careful to avoid excessive reverts and |
3060 other potential problems when deciding which non-file buffers to | 2694 other potential problems when deciding which non-file buffers to |
3061 revert. This matters especially if Global Auto Revert mode is enabled | 2695 revert. This matters especially if Global Auto Revert mode is enabled |
3062 and `global-auto-revert-non-file-buffers' is non-nil. Auto Revert | 2696 and `global-auto-revert-non-file-buffers' is non-nil. Auto Revert |
3063 mode only reverts a non-file buffer if the buffer has a non-nil | 2697 mode only reverts a non-file buffer if the buffer has a non-nil |
3064 `revert-buffer-function' and a non-nil `buffer-stale-function', which | 2698 `revert-buffer-function' and a non-nil `buffer-stale-function', which |
3065 decides whether the buffer should be reverted. Currently, this means | 2699 decides whether the buffer should be reverted. Currently, this means |
3066 that auto reverting works for Dired buffers (although this may not | 2700 that auto reverting works for Dired buffers (although this may not |
3067 work properly on all operating systems) and for the Buffer Menu. | 2701 work properly on all operating systems) and for the Buffer Menu. |
3068 | 2702 |
3069 +++ | |
3070 *** If the new user option `auto-revert-check-vc-info' is non-nil, Auto | 2703 *** If the new user option `auto-revert-check-vc-info' is non-nil, Auto |
3071 Revert mode reliably updates version control info (such as the version | 2704 Revert mode reliably updates version control info (such as the version |
3072 control number in the mode line), in all version controlled buffers in | 2705 control number in the mode line), in all version controlled buffers in |
3073 which it is active. If the option is nil, the default, then this info | 2706 which it is active. If the option is nil, the default, then this info |
3074 only gets updated whenever the buffer gets reverted. | 2707 only gets updated whenever the buffer gets reverted. |
3075 | 2708 |
3076 --- | |
3077 ** recentf changes. | 2709 ** recentf changes. |
3078 | 2710 |
3079 The recent file list is now automatically cleaned up when recentf mode is | 2711 The recent file list is now automatically cleaned up when recentf mode is |
3080 enabled. The new option `recentf-auto-cleanup' controls when to do | 2712 enabled. The new option `recentf-auto-cleanup' controls when to do |
3081 automatic cleanup. | 2713 automatic cleanup. |
3096 | 2728 |
3097 To follow naming convention, `recentf-menu-append-commands-flag' | 2729 To follow naming convention, `recentf-menu-append-commands-flag' |
3098 replaces the misnamed option `recentf-menu-append-commands-p'. The | 2730 replaces the misnamed option `recentf-menu-append-commands-p'. The |
3099 old name remains available as alias, but has been marked obsolete. | 2731 old name remains available as alias, but has been marked obsolete. |
3100 | 2732 |
3101 +++ | |
3102 ** Desktop package | 2733 ** Desktop package |
3103 | 2734 |
3104 +++ | |
3105 *** Desktop saving is now a minor mode, `desktop-save-mode'. | 2735 *** Desktop saving is now a minor mode, `desktop-save-mode'. |
3106 | 2736 |
3107 +++ | |
3108 *** The variable `desktop-enable' is obsolete. | 2737 *** The variable `desktop-enable' is obsolete. |
3109 | 2738 |
3110 Customize `desktop-save-mode' to enable desktop saving. | 2739 Customize `desktop-save-mode' to enable desktop saving. |
3111 | 2740 |
3112 --- | |
3113 *** Buffers are saved in the desktop file in the same order as that in the | 2741 *** Buffers are saved in the desktop file in the same order as that in the |
3114 buffer list. | 2742 buffer list. |
3115 | 2743 |
3116 +++ | |
3117 *** The desktop package can be customized to restore only some buffers | 2744 *** The desktop package can be customized to restore only some buffers |
3118 immediately, remaining buffers are restored lazily (when Emacs is | 2745 immediately, remaining buffers are restored lazily (when Emacs is |
3119 idle). | 2746 idle). |
3120 | 2747 |
3121 +++ | |
3122 *** New commands: | 2748 *** New commands: |
3123 - desktop-revert reverts to the last loaded desktop. | 2749 - desktop-revert reverts to the last loaded desktop. |
3124 - desktop-change-dir kills current desktop and loads a new. | 2750 - desktop-change-dir kills current desktop and loads a new. |
3125 - desktop-save-in-desktop-dir saves desktop in the directory from which | 2751 - desktop-save-in-desktop-dir saves desktop in the directory from which |
3126 it was loaded. | 2752 it was loaded. |
3127 - desktop-lazy-complete runs the desktop load to completion. | 2753 - desktop-lazy-complete runs the desktop load to completion. |
3128 - desktop-lazy-abort aborts lazy loading of the desktop. | 2754 - desktop-lazy-abort aborts lazy loading of the desktop. |
3129 | 2755 |
3130 --- | |
3131 *** New customizable variables: | 2756 *** New customizable variables: |
3132 - desktop-save. Determines whether the desktop should be saved when it is | 2757 - desktop-save. Determines whether the desktop should be saved when it is |
3133 killed. | 2758 killed. |
3134 - desktop-file-name-format. Format in which desktop file names should be saved. | 2759 - desktop-file-name-format. Format in which desktop file names should be saved. |
3135 - desktop-path. List of directories in which to lookup the desktop file. | 2760 - desktop-path. List of directories in which to lookup the desktop file. |
3140 - desktop-restore-eager. Number of buffers to restore immediately. Remaining buffers are | 2765 - desktop-restore-eager. Number of buffers to restore immediately. Remaining buffers are |
3141 restored lazily (when Emacs is idle). | 2766 restored lazily (when Emacs is idle). |
3142 - desktop-lazy-verbose. Verbose reporting of lazily created buffers. | 2767 - desktop-lazy-verbose. Verbose reporting of lazily created buffers. |
3143 - desktop-lazy-idle-delay. Idle delay before starting to create buffers. | 2768 - desktop-lazy-idle-delay. Idle delay before starting to create buffers. |
3144 | 2769 |
3145 +++ | |
3146 *** New command line option --no-desktop | 2770 *** New command line option --no-desktop |
3147 | 2771 |
3148 --- | |
3149 *** New hooks: | 2772 *** New hooks: |
3150 - desktop-after-read-hook run after a desktop is loaded. | 2773 - desktop-after-read-hook run after a desktop is loaded. |
3151 - desktop-no-desktop-file-hook run when no desktop file is found. | 2774 - desktop-no-desktop-file-hook run when no desktop file is found. |
3152 | 2775 |
3153 --- | |
3154 ** The saveplace.el package now filters out unreadable files. | 2776 ** The saveplace.el package now filters out unreadable files. |
3155 | 2777 |
3156 When you exit Emacs, the saved positions in visited files no longer | 2778 When you exit Emacs, the saved positions in visited files no longer |
3157 include files that aren't readable, e.g. files that don't exist. | 2779 include files that aren't readable, e.g. files that don't exist. |
3158 Customize the new option `save-place-forget-unreadable-files' to nil | 2780 Customize the new option `save-place-forget-unreadable-files' to nil |
3160 and `save-place-skip-check-regexp' allow further fine-tuning of this | 2782 and `save-place-skip-check-regexp' allow further fine-tuning of this |
3161 feature. | 2783 feature. |
3162 | 2784 |
3163 ** EDiff changes. | 2785 ** EDiff changes. |
3164 | 2786 |
3165 +++ | |
3166 *** When comparing directories. | 2787 *** When comparing directories. |
3167 Typing D brings up a buffer that lists the differences between the contents of | 2788 Typing D brings up a buffer that lists the differences between the contents of |
3168 directories. Now it is possible to use this buffer to copy the missing files | 2789 directories. Now it is possible to use this buffer to copy the missing files |
3169 from one directory to another. | 2790 from one directory to another. |
3170 | 2791 |
3171 +++ | |
3172 *** When comparing files or buffers. | 2792 *** When comparing files or buffers. |
3173 Typing the = key now offers to perform the word-by-word comparison of the | 2793 Typing the = key now offers to perform the word-by-word comparison of the |
3174 currently highlighted regions in an inferior Ediff session. If you answer 'n' | 2794 currently highlighted regions in an inferior Ediff session. If you answer 'n' |
3175 then it reverts to the old behavior and asks the user to select regions for | 2795 then it reverts to the old behavior and asks the user to select regions for |
3176 comparison. | 2796 comparison. |
3177 | 2797 |
3178 +++ | |
3179 *** The new command `ediff-backup' compares a file with its most recent | 2798 *** The new command `ediff-backup' compares a file with its most recent |
3180 backup using `ediff'. If you specify the name of a backup file, | 2799 backup using `ediff'. If you specify the name of a backup file, |
3181 `ediff-backup' compares it with the file of which it is a backup. | 2800 `ediff-backup' compares it with the file of which it is a backup. |
3182 | 2801 |
3183 +++ | |
3184 ** Etags changes. | 2802 ** Etags changes. |
3185 | 2803 |
3186 *** New regular expressions features | 2804 *** New regular expressions features |
3187 | 2805 |
3188 **** New syntax for regular expressions, multi-line regular expressions. | 2806 **** New syntax for regular expressions, multi-line regular expressions. |
3281 | 2899 |
3282 *** Ctags now allows duplicate tags | 2900 *** Ctags now allows duplicate tags |
3283 | 2901 |
3284 ** VC Changes | 2902 ** VC Changes |
3285 | 2903 |
3286 +++ | |
3287 *** The key C-x C-q only changes the read-only state of the buffer | 2904 *** The key C-x C-q only changes the read-only state of the buffer |
3288 (toggle-read-only). It no longer checks files in or out. | 2905 (toggle-read-only). It no longer checks files in or out. |
3289 | 2906 |
3290 We made this change because we held a poll and found that many users | 2907 We made this change because we held a poll and found that many users |
3291 were unhappy with the previous behavior. If you do prefer this | 2908 were unhappy with the previous behavior. If you do prefer this |
3294 | 2911 |
3295 (global-set-key "\C-x\C-q" 'vc-toggle-read-only) | 2912 (global-set-key "\C-x\C-q" 'vc-toggle-read-only) |
3296 | 2913 |
3297 The function `vc-toggle-read-only' will continue to exist. | 2914 The function `vc-toggle-read-only' will continue to exist. |
3298 | 2915 |
3299 +++ | |
3300 *** The new variable `vc-cvs-global-switches' specifies switches that | 2916 *** The new variable `vc-cvs-global-switches' specifies switches that |
3301 are passed to any CVS command invoked by VC. | 2917 are passed to any CVS command invoked by VC. |
3302 | 2918 |
3303 These switches are used as "global options" for CVS, which means they | 2919 These switches are used as "global options" for CVS, which means they |
3304 are inserted before the command name. For example, this allows you to | 2920 are inserted before the command name. For example, this allows you to |
3305 specify a compression level using the `-z#' option for CVS. | 2921 specify a compression level using the `-z#' option for CVS. |
3306 | 2922 |
3307 +++ | |
3308 *** New backends for Subversion and Meta-CVS. | 2923 *** New backends for Subversion and Meta-CVS. |
3309 | 2924 |
3310 +++ | |
3311 *** VC-Annotate mode enhancements | 2925 *** VC-Annotate mode enhancements |
3312 | 2926 |
3313 In VC-Annotate mode, you can now use the following key bindings for | 2927 In VC-Annotate mode, you can now use the following key bindings for |
3314 enhanced functionality to browse the annotations of past revisions, or | 2928 enhanced functionality to browse the annotations of past revisions, or |
3315 to view diffs or log entries directly from vc-annotate-mode: | 2929 to view diffs or log entries directly from vc-annotate-mode: |
3322 L: shows the log of the revision at line | 2936 L: shows the log of the revision at line |
3323 W: annotates the workfile (most up to date) version | 2937 W: annotates the workfile (most up to date) version |
3324 | 2938 |
3325 ** pcl-cvs changes: | 2939 ** pcl-cvs changes: |
3326 | 2940 |
3327 +++ | |
3328 *** In pcl-cvs mode, there is a new `d y' command to view the diffs | 2941 *** In pcl-cvs mode, there is a new `d y' command to view the diffs |
3329 between the local version of the file and yesterday's head revision | 2942 between the local version of the file and yesterday's head revision |
3330 in the repository. | 2943 in the repository. |
3331 | 2944 |
3332 +++ | |
3333 *** In pcl-cvs mode, there is a new `d r' command to view the changes | 2945 *** In pcl-cvs mode, there is a new `d r' command to view the changes |
3334 anyone has committed to the repository since you last executed | 2946 anyone has committed to the repository since you last executed |
3335 `checkout', `update' or `commit'. That means using cvs diff options | 2947 `checkout', `update' or `commit'. That means using cvs diff options |
3336 -rBASE -rHEAD. | 2948 -rBASE -rHEAD. |
3337 | 2949 |
3338 +++ | |
3339 ** The new variable `mail-default-directory' specifies | 2950 ** The new variable `mail-default-directory' specifies |
3340 `default-directory' for mail buffers. This directory is used for | 2951 `default-directory' for mail buffers. This directory is used for |
3341 auto-save files of mail buffers. It defaults to "~/". | 2952 auto-save files of mail buffers. It defaults to "~/". |
3342 | 2953 |
3343 +++ | |
3344 ** The mode line can indicate new mail in a directory or file. | 2954 ** The mode line can indicate new mail in a directory or file. |
3345 | 2955 |
3346 See the documentation of the user option | 2956 See the documentation of the user option |
3347 `display-time-mail-directory'. | 2957 `display-time-mail-directory'. |
3348 | 2958 |
3349 ** Rmail changes: | 2959 ** Rmail changes: |
3350 | 2960 |
3351 --- | |
3352 *** Rmail now displays 5-digit message ids in its summary buffer. | 2961 *** Rmail now displays 5-digit message ids in its summary buffer. |
3353 | 2962 |
3354 +++ | |
3355 *** The new commands rmail-end-of-message and rmail-summary end-of-message, | 2963 *** The new commands rmail-end-of-message and rmail-summary end-of-message, |
3356 by default bound to `/', go to the end of the current mail message in | 2964 by default bound to `/', go to the end of the current mail message in |
3357 Rmail and Rmail summary buffers. | 2965 Rmail and Rmail summary buffers. |
3358 | 2966 |
3359 +++ | |
3360 *** Support for `movemail' from GNU mailutils was added to Rmail. | 2967 *** Support for `movemail' from GNU mailutils was added to Rmail. |
3361 | 2968 |
3362 This version of `movemail' allows to read mail from a wide range of | 2969 This version of `movemail' allows to read mail from a wide range of |
3363 mailbox formats, including remote POP3 and IMAP4 mailboxes with or | 2970 mailbox formats, including remote POP3 and IMAP4 mailboxes with or |
3364 without TLS encryption. If GNU mailutils is installed on the system | 2971 without TLS encryption. If GNU mailutils is installed on the system |
3365 and its version of `movemail' can be found in exec-path, it will be | 2972 and its version of `movemail' can be found in exec-path, it will be |
3366 used instead of the native one. | 2973 used instead of the native one. |
3367 | 2974 |
3368 ** Gnus package | 2975 ** Gnus package |
3369 | 2976 |
3370 --- | |
3371 *** Gnus now includes Sieve and PGG | 2977 *** Gnus now includes Sieve and PGG |
3372 | 2978 |
3373 Sieve is a library for managing Sieve scripts. PGG is a library to handle | 2979 Sieve is a library for managing Sieve scripts. PGG is a library to handle |
3374 PGP/MIME. | 2980 PGP/MIME. |
3375 | 2981 |
3376 --- | |
3377 *** There are many news features, bug fixes and improvements. | 2982 *** There are many news features, bug fixes and improvements. |
3378 | 2983 |
3379 See the file GNUS-NEWS or the node "Oort Gnus" in the Gnus manual for details. | 2984 See the file GNUS-NEWS or the node "Oort Gnus" in the Gnus manual for details. |
3380 | 2985 |
3381 --- | |
3382 ** MH-E changes. | 2986 ** MH-E changes. |
3383 | 2987 |
3384 Upgraded to MH-E version 8.0.3. There have been major changes since | 2988 Upgraded to MH-E version 8.0.3. There have been major changes since |
3385 version 5.0.2; see MH-E-NEWS for details. | 2989 version 5.0.2; see MH-E-NEWS for details. |
3386 | 2990 |
3387 ** Calendar changes: | 2991 ** Calendar changes: |
3388 | 2992 |
3389 +++ | |
3390 *** The meanings of C-x < and C-x > have been interchanged. | 2993 *** The meanings of C-x < and C-x > have been interchanged. |
3391 < means to scroll backward in time, and > means to scroll forward. | 2994 < means to scroll backward in time, and > means to scroll forward. |
3392 | 2995 |
3393 +++ | |
3394 *** You can now use < and >, instead of C-x < and C-x >, to scroll | 2996 *** You can now use < and >, instead of C-x < and C-x >, to scroll |
3395 the calendar left or right. | 2997 the calendar left or right. |
3396 | 2998 |
3397 +++ | |
3398 *** There is a new calendar package, icalendar.el, that can be used to | 2999 *** There is a new calendar package, icalendar.el, that can be used to |
3399 convert Emacs diary entries to/from the iCalendar format. | 3000 convert Emacs diary entries to/from the iCalendar format. |
3400 | 3001 |
3401 +++ | |
3402 *** The new package cal-html.el writes HTML files with calendar and | 3002 *** The new package cal-html.el writes HTML files with calendar and |
3403 diary entries. | 3003 diary entries. |
3404 | 3004 |
3405 +++ | |
3406 *** Diary sexp entries can have custom marking in the calendar. | 3005 *** Diary sexp entries can have custom marking in the calendar. |
3407 Diary sexp functions which only apply to certain days (such as | 3006 Diary sexp functions which only apply to certain days (such as |
3408 `diary-block' or `diary-cyclic') now take an optional parameter MARK, | 3007 `diary-block' or `diary-cyclic') now take an optional parameter MARK, |
3409 which is the name of a face or a single-character string indicating | 3008 which is the name of a face or a single-character string indicating |
3410 how to highlight the day in the calendar display. Specifying a | 3009 how to highlight the day in the calendar display. Specifying a |
3411 single-character string as @var{mark} places the character next to the | 3010 single-character string as @var{mark} places the character next to the |
3412 day in the calendar. Specifying a face highlights the day with that | 3011 day in the calendar. Specifying a face highlights the day with that |
3413 face. This lets you have different colors or markings for vacations, | 3012 face. This lets you have different colors or markings for vacations, |
3414 appointments, paydays or anything else using a sexp. | 3013 appointments, paydays or anything else using a sexp. |
3415 | 3014 |
3416 +++ | |
3417 *** The new function `calendar-goto-day-of-year' (g D) prompts for a | 3015 *** The new function `calendar-goto-day-of-year' (g D) prompts for a |
3418 year and day number, and moves to that date. Negative day numbers | 3016 year and day number, and moves to that date. Negative day numbers |
3419 count backward from the end of the year. | 3017 count backward from the end of the year. |
3420 | 3018 |
3421 +++ | |
3422 *** The new Calendar function `calendar-goto-iso-week' (g w) | 3019 *** The new Calendar function `calendar-goto-iso-week' (g w) |
3423 prompts for a year and a week number, and moves to the first | 3020 prompts for a year and a week number, and moves to the first |
3424 day of that ISO week. | 3021 day of that ISO week. |
3425 | 3022 |
3426 --- | |
3427 *** The new variable `calendar-minimum-window-height' affects the | 3023 *** The new variable `calendar-minimum-window-height' affects the |
3428 window generated by the function `generate-calendar-window'. | 3024 window generated by the function `generate-calendar-window'. |
3429 | 3025 |
3430 --- | |
3431 *** The functions `holiday-easter-etc' and `holiday-advent' now take | 3026 *** The functions `holiday-easter-etc' and `holiday-advent' now take |
3432 optional arguments, in order to only report on the specified holiday | 3027 optional arguments, in order to only report on the specified holiday |
3433 rather than all. This makes customization of variables such as | 3028 rather than all. This makes customization of variables such as |
3434 `christian-holidays' simpler. | 3029 `christian-holidays' simpler. |
3435 | 3030 |
3436 --- | |
3437 *** The function `simple-diary-display' now by default sets a header line. | 3031 *** The function `simple-diary-display' now by default sets a header line. |
3438 This can be controlled through the variables `diary-header-line-flag' | 3032 This can be controlled through the variables `diary-header-line-flag' |
3439 and `diary-header-line-format'. | 3033 and `diary-header-line-format'. |
3440 | 3034 |
3441 +++ | |
3442 *** The procedure for activating appointment reminders has changed: | 3035 *** The procedure for activating appointment reminders has changed: |
3443 use the new function `appt-activate'. The new variable | 3036 use the new function `appt-activate'. The new variable |
3444 `appt-display-format' controls how reminders are displayed, replacing | 3037 `appt-display-format' controls how reminders are displayed, replacing |
3445 `appt-issue-message', `appt-visible', and `appt-msg-window'. | 3038 `appt-issue-message', `appt-visible', and `appt-msg-window'. |
3446 | 3039 |
3447 +++ | |
3448 *** The new functions `diary-from-outlook', `diary-from-outlook-gnus', | 3040 *** The new functions `diary-from-outlook', `diary-from-outlook-gnus', |
3449 and `diary-from-outlook-rmail' can be used to import diary entries | 3041 and `diary-from-outlook-rmail' can be used to import diary entries |
3450 from Outlook-format appointments in mail messages. The variable | 3042 from Outlook-format appointments in mail messages. The variable |
3451 `diary-outlook-formats' can be customized to recognize additional | 3043 `diary-outlook-formats' can be customized to recognize additional |
3452 formats. | 3044 formats. |
3453 | 3045 |
3454 +++ | |
3455 ** Speedbar changes: | 3046 ** Speedbar changes: |
3456 | 3047 |
3457 *** Speedbar items can now be selected by clicking mouse-1, based on | 3048 *** Speedbar items can now be selected by clicking mouse-1, based on |
3458 the `mouse-1-click-follows-link' mechanism. | 3049 the `mouse-1-click-follows-link' mechanism. |
3459 | 3050 |
3493 `dframe-activity-change-focus-flag' instead of | 3084 `dframe-activity-change-focus-flag' instead of |
3494 `speedbar-activity-change-focus-flag'. The variables | 3085 `speedbar-activity-change-focus-flag'. The variables |
3495 `speedbar-update-speed' and `speedbar-navigating-speed' are also | 3086 `speedbar-update-speed' and `speedbar-navigating-speed' are also |
3496 obsolete; use `dframe-update-speed' instead. | 3087 obsolete; use `dframe-update-speed' instead. |
3497 | 3088 |
3498 --- | |
3499 ** sql changes. | 3089 ** sql changes. |
3500 | 3090 |
3501 *** The variable `sql-product' controls the highlighting of different | 3091 *** The variable `sql-product' controls the highlighting of different |
3502 SQL dialects. This variable can be set globally via Customize, on a | 3092 SQL dialects. This variable can be set globally via Customize, on a |
3503 buffer-specific basis via local variable settings, or for the current | 3093 buffer-specific basis via local variable settings, or for the current |
3567 | 3157 |
3568 *** Added SQL->Start SQLi Session menu entry which calls the | 3158 *** Added SQL->Start SQLi Session menu entry which calls the |
3569 appropriate `sql-interactive-mode' wrapper for the current setting of | 3159 appropriate `sql-interactive-mode' wrapper for the current setting of |
3570 `sql-product'. | 3160 `sql-product'. |
3571 | 3161 |
3572 --- | |
3573 *** sql.el supports the SQLite interpreter--call 'sql-sqlite'. | 3162 *** sql.el supports the SQLite interpreter--call 'sql-sqlite'. |
3574 | 3163 |
3575 ** FFAP changes: | 3164 ** FFAP changes: |
3576 | 3165 |
3577 +++ | |
3578 *** New ffap commands and keybindings: | 3166 *** New ffap commands and keybindings: |
3579 | 3167 |
3580 C-x C-r (`ffap-read-only'), | 3168 C-x C-r (`ffap-read-only'), |
3581 C-x C-v (`ffap-alternate-file'), C-x C-d (`ffap-list-directory'), | 3169 C-x C-v (`ffap-alternate-file'), C-x C-d (`ffap-list-directory'), |
3582 C-x 4 r (`ffap-read-only-other-window'), C-x 4 d (`ffap-dired-other-window'), | 3170 C-x 4 r (`ffap-read-only-other-window'), C-x 4 d (`ffap-dired-other-window'), |
3583 C-x 5 r (`ffap-read-only-other-frame'), C-x 5 d (`ffap-dired-other-frame'). | 3171 C-x 5 r (`ffap-read-only-other-frame'), C-x 5 d (`ffap-dired-other-frame'). |
3584 | 3172 |
3585 --- | |
3586 *** FFAP accepts wildcards in a file name by default. | 3173 *** FFAP accepts wildcards in a file name by default. |
3587 | 3174 |
3588 C-x C-f passes the file name to `find-file' with non-nil WILDCARDS | 3175 C-x C-f passes the file name to `find-file' with non-nil WILDCARDS |
3589 argument, which visits multiple files, and C-x d passes it to `dired'. | 3176 argument, which visits multiple files, and C-x d passes it to `dired'. |
3590 | 3177 |
3591 --- | |
3592 ** Changes in Skeleton | 3178 ** Changes in Skeleton |
3593 | 3179 |
3594 *** In skeleton.el, `-' marks the `skeleton-point' without interregion interaction. | 3180 *** In skeleton.el, `-' marks the `skeleton-point' without interregion interaction. |
3595 | 3181 |
3596 `@' has reverted to only setting `skeleton-positions' and no longer | 3182 `@' has reverted to only setting `skeleton-positions' and no longer |
3603 `skeleton-pair-filter' have been renamed to | 3189 `skeleton-pair-filter' have been renamed to |
3604 `skeleton-transformation-function', `skeleton-filter-function', and | 3190 `skeleton-transformation-function', `skeleton-filter-function', and |
3605 `skeleton-pair-filter-function'. The old names are still available | 3191 `skeleton-pair-filter-function'. The old names are still available |
3606 as aliases. | 3192 as aliases. |
3607 | 3193 |
3608 --- | |
3609 ** Hideshow mode changes | 3194 ** Hideshow mode changes |
3610 | 3195 |
3611 *** New variable `hs-set-up-overlay' allows customization of the overlay | 3196 *** New variable `hs-set-up-overlay' allows customization of the overlay |
3612 used to effect hiding for hideshow minor mode. Integration with isearch | 3197 used to effect hiding for hideshow minor mode. Integration with isearch |
3613 handles the overlay property `display' specially, preserving it during | 3198 handles the overlay property `display' specially, preserving it during |
3615 | 3200 |
3616 *** New variable `hs-allow-nesting' non-nil means that hiding a block does | 3201 *** New variable `hs-allow-nesting' non-nil means that hiding a block does |
3617 not discard the hidden state of any "internal" blocks; when the parent | 3202 not discard the hidden state of any "internal" blocks; when the parent |
3618 block is later shown, the internal blocks remain hidden. Default is nil. | 3203 block is later shown, the internal blocks remain hidden. Default is nil. |
3619 | 3204 |
3620 +++ | |
3621 ** `hide-ifdef-mode' now uses overlays rather than selective-display | 3205 ** `hide-ifdef-mode' now uses overlays rather than selective-display |
3622 to hide its text. This should be mostly transparent but slightly | 3206 to hide its text. This should be mostly transparent but slightly |
3623 changes the behavior of motion commands like C-e and C-p. | 3207 changes the behavior of motion commands like C-e and C-p. |
3624 | 3208 |
3625 --- | |
3626 ** `partial-completion-mode' now handles partial completion on directory names. | 3209 ** `partial-completion-mode' now handles partial completion on directory names. |
3627 | 3210 |
3628 --- | |
3629 ** The type-break package now allows `type-break-file-name' to be nil | 3211 ** The type-break package now allows `type-break-file-name' to be nil |
3630 and if so, doesn't store any data across sessions. This is handy if | 3212 and if so, doesn't store any data across sessions. This is handy if |
3631 you don't want the `.type-break' file in your home directory or are | 3213 you don't want the `.type-break' file in your home directory or are |
3632 annoyed by the need for interaction when you kill Emacs. | 3214 annoyed by the need for interaction when you kill Emacs. |
3633 | 3215 |
3634 --- | |
3635 ** `ps-print' can now print characters from the mule-unicode charsets. | 3216 ** `ps-print' can now print characters from the mule-unicode charsets. |
3636 | 3217 |
3637 Printing text with characters from the mule-unicode-* sets works with | 3218 Printing text with characters from the mule-unicode-* sets works with |
3638 `ps-print', provided that you have installed the appropriate BDF | 3219 `ps-print', provided that you have installed the appropriate BDF |
3639 fonts. See the file INSTALL for URLs where you can find these fonts. | 3220 fonts. See the file INSTALL for URLs where you can find these fonts. |
3640 | 3221 |
3641 --- | |
3642 ** New command `strokes-global-set-stroke-string'. | 3222 ** New command `strokes-global-set-stroke-string'. |
3643 This is like `strokes-global-set-stroke', but it allows you to bind | 3223 This is like `strokes-global-set-stroke', but it allows you to bind |
3644 the stroke directly to a string to insert. This is convenient for | 3224 the stroke directly to a string to insert. This is convenient for |
3645 using strokes as an input method. | 3225 using strokes as an input method. |
3646 | 3226 |
3647 ** Emacs server changes: | 3227 ** Emacs server changes: |
3648 | 3228 |
3649 +++ | |
3650 *** You can have several Emacs servers on the same machine. | 3229 *** You can have several Emacs servers on the same machine. |
3651 | 3230 |
3652 % emacs --eval '(setq server-name "foo")' -f server-start & | 3231 % emacs --eval '(setq server-name "foo")' -f server-start & |
3653 % emacs --eval '(setq server-name "bar")' -f server-start & | 3232 % emacs --eval '(setq server-name "bar")' -f server-start & |
3654 % emacsclient -s foo file1 | 3233 % emacsclient -s foo file1 |
3655 % emacsclient -s bar file2 | 3234 % emacsclient -s bar file2 |
3656 | 3235 |
3657 +++ | |
3658 *** The `emacsclient' command understands the options `--eval' and | 3236 *** The `emacsclient' command understands the options `--eval' and |
3659 `--display' which tell Emacs respectively to evaluate the given Lisp | 3237 `--display' which tell Emacs respectively to evaluate the given Lisp |
3660 expression and to use the given display when visiting files. | 3238 expression and to use the given display when visiting files. |
3661 | 3239 |
3662 +++ | |
3663 *** User option `server-mode' can be used to start a server process. | 3240 *** User option `server-mode' can be used to start a server process. |
3664 | 3241 |
3665 --- | |
3666 ** LDAP support now defaults to ldapsearch from OpenLDAP version 2. | 3242 ** LDAP support now defaults to ldapsearch from OpenLDAP version 2. |
3667 | 3243 |
3668 +++ | |
3669 ** You can now disable pc-selection-mode after enabling it. | 3244 ** You can now disable pc-selection-mode after enabling it. |
3670 | 3245 |
3671 M-x pc-selection-mode behaves like a proper minor mode, and with no | 3246 M-x pc-selection-mode behaves like a proper minor mode, and with no |
3672 argument it toggles the mode. Turning off PC-Selection mode restores | 3247 argument it toggles the mode. Turning off PC-Selection mode restores |
3673 the global key bindings that were replaced by turning on the mode. | 3248 the global key bindings that were replaced by turning on the mode. |
3674 | 3249 |
3675 --- | |
3676 ** `uniquify-strip-common-suffix' tells uniquify to prefer | 3250 ** `uniquify-strip-common-suffix' tells uniquify to prefer |
3677 `file|dir1' and `file|dir2' to `file|dir1/subdir' and `file|dir2/subdir'. | 3251 `file|dir1' and `file|dir2' to `file|dir1/subdir' and `file|dir2/subdir'. |
3678 | 3252 |
3679 --- | |
3680 ** Support for `magic cookie' standout modes has been removed. | 3253 ** Support for `magic cookie' standout modes has been removed. |
3681 | 3254 |
3682 Emacs still works on terminals that require magic cookies in order to | 3255 Emacs still works on terminals that require magic cookies in order to |
3683 use standout mode, but they can no longer display mode-lines in | 3256 use standout mode, but they can no longer display mode-lines in |
3684 inverse-video. | 3257 inverse-video. |
3685 | 3258 |
3686 --- | |
3687 ** The game `mpuz' is enhanced. | 3259 ** The game `mpuz' is enhanced. |
3688 | 3260 |
3689 `mpuz' now allows the 2nd factor not to have two identical digits. By | 3261 `mpuz' now allows the 2nd factor not to have two identical digits. By |
3690 default, all trivial operations involving whole lines are performed | 3262 default, all trivial operations involving whole lines are performed |
3691 automatically. The game uses faces for better visual feedback. | 3263 automatically. The game uses faces for better visual feedback. |
3692 | 3264 |
3693 ** battery.el changes: | 3265 ** battery.el changes: |
3694 | 3266 |
3695 --- | |
3696 *** display-battery-mode replaces display-battery. | 3267 *** display-battery-mode replaces display-battery. |
3697 | 3268 |
3698 --- | |
3699 *** battery.el now works on recent versions of OS X. | 3269 *** battery.el now works on recent versions of OS X. |
3700 | 3270 |
3701 --- | |
3702 ** calculator.el now has radix grouping mode. | 3271 ** calculator.el now has radix grouping mode. |
3703 | 3272 |
3704 To enable this, set `calculator-output-radix' non-nil. In this mode a | 3273 To enable this, set `calculator-output-radix' non-nil. In this mode a |
3705 separator character is used every few digits, making it easier to see | 3274 separator character is used every few digits, making it easier to see |
3706 byte boundaries etc. For more info, see the documentation of the | 3275 byte boundaries etc. For more info, see the documentation of the |
3707 variable `calculator-radix-grouping-mode'. | 3276 variable `calculator-radix-grouping-mode'. |
3708 | 3277 |
3709 --- | |
3710 ** fast-lock.el and lazy-lock.el are obsolete. Use jit-lock.el instead. | 3278 ** fast-lock.el and lazy-lock.el are obsolete. Use jit-lock.el instead. |
3711 | 3279 |
3712 --- | |
3713 ** iso-acc.el is now obsolete. Use one of the latin input methods instead. | 3280 ** iso-acc.el is now obsolete. Use one of the latin input methods instead. |
3714 | 3281 |
3715 --- | |
3716 ** zone-mode.el is now obsolete. Use dns-mode.el instead. | 3282 ** zone-mode.el is now obsolete. Use dns-mode.el instead. |
3717 | 3283 |
3718 --- | |
3719 ** cplus-md.el has been deleted. | 3284 ** cplus-md.el has been deleted. |
3720 | 3285 |
3721 --- | |
3722 ** Ewoc changes | 3286 ** Ewoc changes |
3723 | 3287 |
3724 *** The new function `ewoc-delete' deletes specified nodes. | 3288 *** The new function `ewoc-delete' deletes specified nodes. |
3725 | 3289 |
3726 *** `ewoc-create' now takes optional arg NOSEP, which inhibits insertion of | 3290 *** `ewoc-create' now takes optional arg NOSEP, which inhibits insertion of |
3739 (defun PP (data) (insert (format "%S\n" data))) | 3303 (defun PP (data) (insert (format "%S\n" data))) |
3740 (ewoc-create 'PP "start\n\n" "\n" t) | 3304 (ewoc-create 'PP "start\n\n" "\n" t) |
3741 | 3305 |
3742 ** Locate changes | 3306 ** Locate changes |
3743 | 3307 |
3744 --- | |
3745 *** By default, reverting the *Locate* buffer now just runs the last | 3308 *** By default, reverting the *Locate* buffer now just runs the last |
3746 `locate' command back over again without offering to update the locate | 3309 `locate' command back over again without offering to update the locate |
3747 database (which normally only works if you have root privileges). If | 3310 database (which normally only works if you have root privileges). If |
3748 you prefer the old behavior, set the new customizable option | 3311 you prefer the old behavior, set the new customizable option |
3749 `locate-update-when-revert' to t. | 3312 `locate-update-when-revert' to t. |
3750 | 3313 |
3751 | 3314 |
3752 * Changes in Emacs 22.1 on non-free operating systems | 3315 * Changes in Emacs 22.1 on non-free operating systems |
3753 | 3316 |
3754 +++ | |
3755 ** The HOME directory defaults to Application Data under the user profile. | 3317 ** The HOME directory defaults to Application Data under the user profile. |
3756 | 3318 |
3757 If you used a previous version of Emacs without setting the HOME | 3319 If you used a previous version of Emacs without setting the HOME |
3758 environment variable and a `.emacs' was saved, then Emacs will continue | 3320 environment variable and a `.emacs' was saved, then Emacs will continue |
3759 using C:/ as the default HOME. But if you are installing Emacs afresh, | 3321 using C:/ as the default HOME. But if you are installing Emacs afresh, |
3764 | 3326 |
3765 This change means that users can now have their own `.emacs' files on | 3327 This change means that users can now have their own `.emacs' files on |
3766 shared computers, and the default HOME directory is less likely to be | 3328 shared computers, and the default HOME directory is less likely to be |
3767 read-only on computers that are administered by someone else. | 3329 read-only on computers that are administered by someone else. |
3768 | 3330 |
3769 +++ | |
3770 ** Passing resources on the command line now works on MS Windows. | 3331 ** Passing resources on the command line now works on MS Windows. |
3771 | 3332 |
3772 You can use --xrm to pass resource settings to Emacs, overriding any | 3333 You can use --xrm to pass resource settings to Emacs, overriding any |
3773 existing values. For example: | 3334 existing values. For example: |
3774 | 3335 |
3775 emacs --xrm "Emacs.Background:red" --xrm "Emacs.Geometry:100x20" | 3336 emacs --xrm "Emacs.Background:red" --xrm "Emacs.Geometry:100x20" |
3776 | 3337 |
3777 will start up Emacs on an initial frame of 100x20 with red background, | 3338 will start up Emacs on an initial frame of 100x20 with red background, |
3778 irrespective of geometry or background setting on the Windows registry. | 3339 irrespective of geometry or background setting on the Windows registry. |
3779 | 3340 |
3780 --- | |
3781 ** On MS Windows, the "system caret" now follows the cursor. | 3341 ** On MS Windows, the "system caret" now follows the cursor. |
3782 | 3342 |
3783 This enables Emacs to work better with programs that need to track the | 3343 This enables Emacs to work better with programs that need to track the |
3784 cursor, for example screen magnifiers and text to speech programs. | 3344 cursor, for example screen magnifiers and text to speech programs. |
3785 When such a program is in use, the system caret is made visible | 3345 When such a program is in use, the system caret is made visible |
3786 instead of Emacs drawing its own cursor. This seems to be required by | 3346 instead of Emacs drawing its own cursor. This seems to be required by |
3787 some programs. The new variable w32-use-visible-system-caret allows | 3347 some programs. The new variable w32-use-visible-system-caret allows |
3788 the caret visibility to be manually toggled. | 3348 the caret visibility to be manually toggled. |
3789 | 3349 |
3790 --- | |
3791 ** Tooltips now work on MS Windows. | 3350 ** Tooltips now work on MS Windows. |
3792 | 3351 |
3793 See the Emacs 21.1 NEWS entry for tooltips for details. | 3352 See the Emacs 21.1 NEWS entry for tooltips for details. |
3794 | 3353 |
3795 --- | |
3796 ** Images are now supported on MS Windows. | 3354 ** Images are now supported on MS Windows. |
3797 | 3355 |
3798 PBM and XBM images are supported out of the box. Other image formats | 3356 PBM and XBM images are supported out of the box. Other image formats |
3799 depend on external libraries. All of these libraries have been ported | 3357 depend on external libraries. All of these libraries have been ported |
3800 to Windows, and can be found in both source and binary form at | 3358 to Windows, and can be found in both source and binary form at |
3801 http://gnuwin32.sourceforge.net/. Note that libpng also depends on | 3359 http://gnuwin32.sourceforge.net/. Note that libpng also depends on |
3802 zlib, and tiff depends on the version of jpeg that it was compiled | 3360 zlib, and tiff depends on the version of jpeg that it was compiled |
3803 against. For additional information, see nt/INSTALL. | 3361 against. For additional information, see nt/INSTALL. |
3804 | 3362 |
3805 --- | |
3806 ** Sound is now supported on MS Windows. | 3363 ** Sound is now supported on MS Windows. |
3807 | 3364 |
3808 WAV format is supported on all versions of Windows, other formats such | 3365 WAV format is supported on all versions of Windows, other formats such |
3809 as AU, AIFF and MP3 may be supported in the more recent versions of | 3366 as AU, AIFF and MP3 may be supported in the more recent versions of |
3810 Windows, or when other software provides hooks into the system level | 3367 Windows, or when other software provides hooks into the system level |
3811 sound support for those formats. | 3368 sound support for those formats. |
3812 | 3369 |
3813 --- | |
3814 ** Different shaped mouse pointers are supported on MS Windows. | 3370 ** Different shaped mouse pointers are supported on MS Windows. |
3815 | 3371 |
3816 The mouse pointer changes shape depending on what is under the pointer. | 3372 The mouse pointer changes shape depending on what is under the pointer. |
3817 | 3373 |
3818 --- | |
3819 ** Pointing devices with more than 3 buttons are now supported on MS Windows. | 3374 ** Pointing devices with more than 3 buttons are now supported on MS Windows. |
3820 | 3375 |
3821 The new variable `w32-pass-extra-mouse-buttons-to-system' controls | 3376 The new variable `w32-pass-extra-mouse-buttons-to-system' controls |
3822 whether Emacs should handle the extra buttons itself (the default), or | 3377 whether Emacs should handle the extra buttons itself (the default), or |
3823 pass them to Windows to be handled with system-wide functions. | 3378 pass them to Windows to be handled with system-wide functions. |
3824 | 3379 |
3825 --- | |
3826 ** Emacs takes note of colors defined in Control Panel on MS-Windows. | 3380 ** Emacs takes note of colors defined in Control Panel on MS-Windows. |
3827 | 3381 |
3828 The Control Panel defines some default colors for applications in much | 3382 The Control Panel defines some default colors for applications in much |
3829 the same way as wildcard X Resources do on X. Emacs now adds these | 3383 the same way as wildcard X Resources do on X. Emacs now adds these |
3830 colors to the colormap prefixed by System (eg SystemMenu for the | 3384 colors to the colormap prefixed by System (eg SystemMenu for the |
3831 default Menu background, SystemMenuText for the foreground), and uses | 3385 default Menu background, SystemMenuText for the foreground), and uses |
3832 some of them to initialize some of the default faces. | 3386 some of them to initialize some of the default faces. |
3833 `list-colors-display' shows the list of System color names, in case | 3387 `list-colors-display' shows the list of System color names, in case |
3834 you wish to use them in other faces. | 3388 you wish to use them in other faces. |
3835 | 3389 |
3836 --- | |
3837 ** On MS Windows NT/W2K/XP, Emacs uses Unicode for clipboard operations. | 3390 ** On MS Windows NT/W2K/XP, Emacs uses Unicode for clipboard operations. |
3838 | 3391 |
3839 Those systems use Unicode internally, so this allows Emacs to share | 3392 Those systems use Unicode internally, so this allows Emacs to share |
3840 multilingual text with other applications. On other versions of | 3393 multilingual text with other applications. On other versions of |
3841 MS Windows, Emacs now uses the appropriate locale coding-system, so | 3394 MS Windows, Emacs now uses the appropriate locale coding-system, so |
3842 the clipboard should work correctly for your local language without | 3395 the clipboard should work correctly for your local language without |
3843 any customizations. | 3396 any customizations. |
3844 | 3397 |
3845 --- | |
3846 ** Running in a console window in Windows now uses the console size. | 3398 ** Running in a console window in Windows now uses the console size. |
3847 | 3399 |
3848 Previous versions of Emacs erred on the side of having a usable Emacs | 3400 Previous versions of Emacs erred on the side of having a usable Emacs |
3849 through telnet, even though that was inconvenient if you use Emacs in | 3401 through telnet, even though that was inconvenient if you use Emacs in |
3850 a local console window with a scrollback buffer. The default value of | 3402 a local console window with a scrollback buffer. The default value of |
3854 that the console window dimensions that are reported are not sane, and | 3406 that the console window dimensions that are reported are not sane, and |
3855 defaults to 80x25. If you use such a telnet server regularly at a size | 3407 defaults to 80x25. If you use such a telnet server regularly at a size |
3856 other than 80x25, you can still manually set | 3408 other than 80x25, you can still manually set |
3857 w32-use-full-screen-buffer to t. | 3409 w32-use-full-screen-buffer to t. |
3858 | 3410 |
3859 --- | |
3860 ** On Mac OS, `keyboard-coding-system' changes based on the keyboard script. | 3411 ** On Mac OS, `keyboard-coding-system' changes based on the keyboard script. |
3861 | 3412 |
3862 --- | |
3863 ** The variable `mac-keyboard-text-encoding' and the constants | 3413 ** The variable `mac-keyboard-text-encoding' and the constants |
3864 `kTextEncodingMacRoman', `kTextEncodingISOLatin1', and | 3414 `kTextEncodingMacRoman', `kTextEncodingISOLatin1', and |
3865 `kTextEncodingISOLatin2' are obsolete. | 3415 `kTextEncodingISOLatin2' are obsolete. |
3866 | 3416 |
3867 +++ | |
3868 ** The variable `mac-command-key-is-meta' is obsolete. Use | 3417 ** The variable `mac-command-key-is-meta' is obsolete. Use |
3869 `mac-command-modifier' and `mac-option-modifier' instead. | 3418 `mac-command-modifier' and `mac-option-modifier' instead. |
3870 | 3419 |
3871 * Incompatible Lisp Changes in Emacs 22.1 | 3420 * Incompatible Lisp Changes in Emacs 22.1 |
3872 | 3421 |
3873 +++ | |
3874 ** The `read-file-name' function now returns a null string if the | 3422 ** The `read-file-name' function now returns a null string if the |
3875 user just types RET. | 3423 user just types RET. |
3876 | 3424 |
3877 +++ | |
3878 ** The function find-operation-coding-system may be called with a cons | 3425 ** The function find-operation-coding-system may be called with a cons |
3879 (FILENAME . BUFFER) in the second argument if the first argument | 3426 (FILENAME . BUFFER) in the second argument if the first argument |
3880 OPERATION is `insert-file-contents', and thus a function registered in | 3427 OPERATION is `insert-file-contents', and thus a function registered in |
3881 `file-coding-system-alist' is also called with such an argument. | 3428 `file-coding-system-alist' is also called with such an argument. |
3882 | 3429 |
3883 --- | |
3884 ** The variables post-command-idle-hook and post-command-idle-delay have | 3430 ** The variables post-command-idle-hook and post-command-idle-delay have |
3885 been removed. Use run-with-idle-timer instead. | 3431 been removed. Use run-with-idle-timer instead. |
3886 | 3432 |
3887 +++ | |
3888 ** `suppress-keymap' now works by remapping `self-insert-command' to | 3433 ** `suppress-keymap' now works by remapping `self-insert-command' to |
3889 the command `undefined'. (In earlier Emacs versions, it used | 3434 the command `undefined'. (In earlier Emacs versions, it used |
3890 `substitute-key-definition' to rebind self inserting characters to | 3435 `substitute-key-definition' to rebind self inserting characters to |
3891 `undefined'.) | 3436 `undefined'.) |
3892 | 3437 |
3893 +++ | |
3894 ** Mode line display ignores text properties as well as the | 3438 ** Mode line display ignores text properties as well as the |
3895 :propertize and :eval forms in the value of a variable whose | 3439 :propertize and :eval forms in the value of a variable whose |
3896 `risky-local-variable' property is nil. | 3440 `risky-local-variable' property is nil. |
3897 | 3441 |
3898 --- | |
3899 The function `comint-send-input' now accepts 3 optional arguments: | 3442 The function `comint-send-input' now accepts 3 optional arguments: |
3900 | 3443 |
3901 (comint-send-input &optional no-newline artificial) | 3444 (comint-send-input &optional no-newline artificial) |
3902 | 3445 |
3903 Callers sending input not from the user should use bind the 3rd | 3446 Callers sending input not from the user should use bind the 3rd |
3904 argument `artificial' to a non-nil value, to prevent Emacs from | 3447 argument `artificial' to a non-nil value, to prevent Emacs from |
3905 deleting the part of subprocess output that matches the input. | 3448 deleting the part of subprocess output that matches the input. |
3906 | 3449 |
3907 --- | |
3908 ** Support for Mocklisp has been removed. | 3450 ** Support for Mocklisp has been removed. |
3909 | 3451 |
3910 +++ | |
3911 ** The variable `memory-full' now remains t until | 3452 ** The variable `memory-full' now remains t until |
3912 there is no longer a shortage of memory. | 3453 there is no longer a shortage of memory. |
3913 | 3454 |
3914 +++ | |
3915 ** When Emacs receives a USR1 or USR2 signal, this generates | 3455 ** When Emacs receives a USR1 or USR2 signal, this generates |
3916 input events: sigusr1 or sigusr2. Use special-event-map to | 3456 input events: sigusr1 or sigusr2. Use special-event-map to |
3917 handle these events. | 3457 handle these events. |
3918 | 3458 |
3919 +++ | |
3920 ** A hex or octal escape in a string constant forces the string to | 3459 ** A hex or octal escape in a string constant forces the string to |
3921 be multibyte or unibyte, respectively. | 3460 be multibyte or unibyte, respectively. |
3922 | 3461 |
3923 +++ | |
3924 ** The explicit method of creating a display table element by | 3462 ** The explicit method of creating a display table element by |
3925 combining a face number and a character code into a numeric | 3463 combining a face number and a character code into a numeric |
3926 glyph code is deprecated. | 3464 glyph code is deprecated. |
3927 | 3465 |
3928 Instead, the new functions `make-glyph-code', `glyph-char', and | 3466 Instead, the new functions `make-glyph-code', `glyph-char', and |
3932 | 3470 |
3933 * Lisp Changes in Emacs 22.1 | 3471 * Lisp Changes in Emacs 22.1 |
3934 | 3472 |
3935 ** General Lisp changes: | 3473 ** General Lisp changes: |
3936 | 3474 |
3937 +++ | |
3938 *** The function `expt' handles negative exponents differently. | 3475 *** The function `expt' handles negative exponents differently. |
3939 The value for `(expt A B)', if both A and B are integers and B is | 3476 The value for `(expt A B)', if both A and B are integers and B is |
3940 negative, is now a float. For example: (expt 2 -2) => 0.25. | 3477 negative, is now a float. For example: (expt 2 -2) => 0.25. |
3941 | 3478 |
3942 +++ | |
3943 *** The function `eql' is now available without requiring the CL package. | 3479 *** The function `eql' is now available without requiring the CL package. |
3944 | 3480 |
3945 +++ | |
3946 *** The new function `memql' is like `memq', but uses `eql' for comparison, | 3481 *** The new function `memql' is like `memq', but uses `eql' for comparison, |
3947 that is, floats are compared by value and other elements with `eq'. | 3482 that is, floats are compared by value and other elements with `eq'. |
3948 | 3483 |
3949 +++ | |
3950 *** `makehash' is now obsolete. Use `make-hash-table' instead. | 3484 *** `makehash' is now obsolete. Use `make-hash-table' instead. |
3951 | 3485 |
3952 +++ | |
3953 *** `add-to-list' takes an optional third argument, APPEND. | 3486 *** `add-to-list' takes an optional third argument, APPEND. |
3954 | 3487 |
3955 If APPEND is non-nil, the new element gets added at the end of the | 3488 If APPEND is non-nil, the new element gets added at the end of the |
3956 list instead of at the beginning. This change actually occurred in | 3489 list instead of at the beginning. This change actually occurred in |
3957 Emacs 21.1, but was not documented then. | 3490 Emacs 21.1, but was not documented then. |
3958 | 3491 |
3959 +++ | |
3960 *** New function `add-to-ordered-list' is like `add-to-list' but | 3492 *** New function `add-to-ordered-list' is like `add-to-list' but |
3961 associates a numeric ordering of each element added to the list. | 3493 associates a numeric ordering of each element added to the list. |
3962 | 3494 |
3963 +++ | |
3964 *** New function `copy-tree' makes a copy of a tree. | 3495 *** New function `copy-tree' makes a copy of a tree. |
3965 | 3496 |
3966 It recursively copies through both CARs and CDRs. | 3497 It recursively copies through both CARs and CDRs. |
3967 | 3498 |
3968 +++ | |
3969 *** New function `delete-dups' deletes `equal' duplicate elements from a list. | 3499 *** New function `delete-dups' deletes `equal' duplicate elements from a list. |
3970 | 3500 |
3971 It modifies the list destructively, like `delete'. Of several `equal' | 3501 It modifies the list destructively, like `delete'. Of several `equal' |
3972 occurrences of an element in the list, the one that's kept is the | 3502 occurrences of an element in the list, the one that's kept is the |
3973 first one. | 3503 first one. |
3974 | 3504 |
3975 +++ | |
3976 *** New function `add-to-history' adds an element to a history list. | 3505 *** New function `add-to-history' adds an element to a history list. |
3977 | 3506 |
3978 Lisp packages should use this function to add elements to their | 3507 Lisp packages should use this function to add elements to their |
3979 history lists. | 3508 history lists. |
3980 | 3509 |
3981 If `history-delete-duplicates' is non-nil, it removes duplicates of | 3510 If `history-delete-duplicates' is non-nil, it removes duplicates of |
3982 the new element from the history list it updates. | 3511 the new element from the history list it updates. |
3983 | 3512 |
3984 +++ | |
3985 *** New function `rassq-delete-all'. | 3513 *** New function `rassq-delete-all'. |
3986 | 3514 |
3987 (rassq-delete-all VALUE ALIST) deletes, from ALIST, each element whose | 3515 (rassq-delete-all VALUE ALIST) deletes, from ALIST, each element whose |
3988 CDR is `eq' to the specified value. | 3516 CDR is `eq' to the specified value. |
3989 | 3517 |
3990 +++ | |
3991 *** The function `number-sequence' makes a list of equally-separated numbers. | 3518 *** The function `number-sequence' makes a list of equally-separated numbers. |
3992 | 3519 |
3993 For instance, (number-sequence 4 9) returns (4 5 6 7 8 9). By | 3520 For instance, (number-sequence 4 9) returns (4 5 6 7 8 9). By |
3994 default, the separation is 1, but you can specify a different | 3521 default, the separation is 1, but you can specify a different |
3995 separation as the third argument. (number-sequence 1.5 6 2) returns | 3522 separation as the third argument. (number-sequence 1.5 6 2) returns |
3996 (1.5 3.5 5.5). | 3523 (1.5 3.5 5.5). |
3997 | 3524 |
3998 +++ | |
3999 *** New variables `most-positive-fixnum' and `most-negative-fixnum'. | 3525 *** New variables `most-positive-fixnum' and `most-negative-fixnum'. |
4000 | 3526 |
4001 They hold the largest and smallest possible integer values. | 3527 They hold the largest and smallest possible integer values. |
4002 | 3528 |
4003 +++ | |
4004 *** Minor change in the function `format'. | 3529 *** Minor change in the function `format'. |
4005 | 3530 |
4006 Some flags that were accepted but not implemented (such as "*") are no | 3531 Some flags that were accepted but not implemented (such as "*") are no |
4007 longer accepted. | 3532 longer accepted. |
4008 | 3533 |
4009 +++ | |
4010 *** Functions `get' and `plist-get' no longer give errors for bad plists. | 3534 *** Functions `get' and `plist-get' no longer give errors for bad plists. |
4011 | 3535 |
4012 They return nil for a malformed property list or if the list is | 3536 They return nil for a malformed property list or if the list is |
4013 cyclic. | 3537 cyclic. |
4014 | 3538 |
4015 +++ | |
4016 *** New functions `lax-plist-get' and `lax-plist-put'. | 3539 *** New functions `lax-plist-get' and `lax-plist-put'. |
4017 | 3540 |
4018 They are like `plist-get' and `plist-put', except that they compare | 3541 They are like `plist-get' and `plist-put', except that they compare |
4019 the property name using `equal' rather than `eq'. | 3542 the property name using `equal' rather than `eq'. |
4020 | 3543 |
4021 +++ | |
4022 *** New variable `print-continuous-numbering'. | 3544 *** New variable `print-continuous-numbering'. |
4023 | 3545 |
4024 When this is non-nil, successive calls to print functions use a single | 3546 When this is non-nil, successive calls to print functions use a single |
4025 numbering scheme for circular structure references. This is only | 3547 numbering scheme for circular structure references. This is only |
4026 relevant when `print-circle' is non-nil. | 3548 relevant when `print-circle' is non-nil. |
4027 | 3549 |
4028 When you bind `print-continuous-numbering' to t, you should | 3550 When you bind `print-continuous-numbering' to t, you should |
4029 also bind `print-number-table' to nil. | 3551 also bind `print-number-table' to nil. |
4030 | 3552 |
4031 +++ | |
4032 *** New function `macroexpand-all' expands all macros in a form. | 3553 *** New function `macroexpand-all' expands all macros in a form. |
4033 | 3554 |
4034 It is similar to the Common-Lisp function of the same name. | 3555 It is similar to the Common-Lisp function of the same name. |
4035 One difference is that it guarantees to return the original argument | 3556 One difference is that it guarantees to return the original argument |
4036 if no expansion is done, which can be tested using `eq'. | 3557 if no expansion is done, which can be tested using `eq'. |
4037 | 3558 |
4038 +++ | |
4039 *** The function `atan' now accepts an optional second argument. | 3559 *** The function `atan' now accepts an optional second argument. |
4040 | 3560 |
4041 When called with 2 arguments, as in `(atan Y X)', `atan' returns the | 3561 When called with 2 arguments, as in `(atan Y X)', `atan' returns the |
4042 angle in radians between the vector [X, Y] and the X axis. (This is | 3562 angle in radians between the vector [X, Y] and the X axis. (This is |
4043 equivalent to the standard C library function `atan2'.) | 3563 equivalent to the standard C library function `atan2'.) |
4044 | 3564 |
4045 +++ | |
4046 *** A function or macro's doc string can now specify the calling pattern. | 3565 *** A function or macro's doc string can now specify the calling pattern. |
4047 | 3566 |
4048 You put this info in the doc string's last line. It should be | 3567 You put this info in the doc string's last line. It should be |
4049 formatted so as to match the regexp "\n\n(fn .*)\\'". If you don't | 3568 formatted so as to match the regexp "\n\n(fn .*)\\'". If you don't |
4050 specify this explicitly, Emacs determines it from the actual argument | 3569 specify this explicitly, Emacs determines it from the actual argument |
4051 names. Usually that default is right, but not always. | 3570 names. Usually that default is right, but not always. |
4052 | 3571 |
4053 +++ | |
4054 *** New macro `with-local-quit' temporarily allows quitting. | 3572 *** New macro `with-local-quit' temporarily allows quitting. |
4055 | 3573 |
4056 A quit inside the body of `with-local-quit' is caught by the | 3574 A quit inside the body of `with-local-quit' is caught by the |
4057 `with-local-quit' form itself, but another quit will happen later once | 3575 `with-local-quit' form itself, but another quit will happen later once |
4058 the code that has inhibited quitting exits. | 3576 the code that has inhibited quitting exits. |
4059 | 3577 |
4060 This is for use around potentially blocking or long-running code | 3578 This is for use around potentially blocking or long-running code |
4061 inside timer functions and `post-command-hook' functions. | 3579 inside timer functions and `post-command-hook' functions. |
4062 | 3580 |
4063 +++ | |
4064 *** New macro `define-obsolete-function-alias'. | 3581 *** New macro `define-obsolete-function-alias'. |
4065 | 3582 |
4066 This combines `defalias' and `make-obsolete'. | 3583 This combines `defalias' and `make-obsolete'. |
4067 | 3584 |
4068 +++ | |
4069 *** New macro `with-case-table' | 3585 *** New macro `with-case-table' |
4070 | 3586 |
4071 This executes the body with the case table temporarily set to a given | 3587 This executes the body with the case table temporarily set to a given |
4072 case table. | 3588 case table. |
4073 | 3589 |
4074 +++ | |
4075 *** New function `unsafep' determines whether a Lisp form is safe. | 3590 *** New function `unsafep' determines whether a Lisp form is safe. |
4076 | 3591 |
4077 It returns nil if the given Lisp form can't possibly do anything | 3592 It returns nil if the given Lisp form can't possibly do anything |
4078 dangerous; otherwise it returns a reason why the form might be unsafe | 3593 dangerous; otherwise it returns a reason why the form might be unsafe |
4079 (calls unknown function, alters global variable, etc.). | 3594 (calls unknown function, alters global variable, etc.). |
4080 | 3595 |
4081 +++ | |
4082 *** New macro `eval-at-startup' specifies expressions to | 3596 *** New macro `eval-at-startup' specifies expressions to |
4083 evaluate when Emacs starts up. If this is done after startup, | 3597 evaluate when Emacs starts up. If this is done after startup, |
4084 it evaluates those expressions immediately. | 3598 it evaluates those expressions immediately. |
4085 | 3599 |
4086 This is useful in packages that can be preloaded. | 3600 This is useful in packages that can be preloaded. |
4087 | 3601 |
4088 +++ | |
4089 *** `list-faces-display' takes an optional argument, REGEXP. | 3602 *** `list-faces-display' takes an optional argument, REGEXP. |
4090 | 3603 |
4091 If it is non-nil, the function lists only faces matching this regexp. | 3604 If it is non-nil, the function lists only faces matching this regexp. |
4092 | 3605 |
4093 +++ | |
4094 *** New functions `string-or-null-p' and `booleanp'. | 3606 *** New functions `string-or-null-p' and `booleanp'. |
4095 | 3607 |
4096 `string-or-null-p' returns non-nil iff OBJECT is a string or nil. | 3608 `string-or-null-p' returns non-nil iff OBJECT is a string or nil. |
4097 `booleanp' returns non-nil iff OBJECT is t or nil. | 3609 `booleanp' returns non-nil iff OBJECT is t or nil. |
4098 | 3610 |
4099 +++ | |
4100 *** New hook `command-error-function'. | 3611 *** New hook `command-error-function'. |
4101 | 3612 |
4102 By setting this variable to a function, you can control | 3613 By setting this variable to a function, you can control |
4103 how the editor command loop shows the user an error message. | 3614 how the editor command loop shows the user an error message. |
4104 | 3615 |
4105 +++ | |
4106 *** `debug-on-entry' accepts primitive functions that are not special forms | 3616 *** `debug-on-entry' accepts primitive functions that are not special forms |
4107 now. | 3617 now. |
4108 | 3618 |
4109 ** Lisp code indentation features: | 3619 ** Lisp code indentation features: |
4110 | 3620 |
4111 +++ | |
4112 *** The `defmacro' form can contain indentation and edebug declarations. | 3621 *** The `defmacro' form can contain indentation and edebug declarations. |
4113 | 3622 |
4114 These declarations specify how to indent the macro calls in Lisp mode | 3623 These declarations specify how to indent the macro calls in Lisp mode |
4115 and how to debug them with Edebug. You write them like this: | 3624 and how to debug them with Edebug. You write them like this: |
4116 | 3625 |
4125 (edebug DEBUG) | 3634 (edebug DEBUG) |
4126 Set NAME's `edebug-form-spec' property to DEBUG. (This is | 3635 Set NAME's `edebug-form-spec' property to DEBUG. (This is |
4127 equivalent to writing a `def-edebug-spec' for the macro, | 3636 equivalent to writing a `def-edebug-spec' for the macro, |
4128 but this is cleaner.) | 3637 but this is cleaner.) |
4129 | 3638 |
4130 --- | |
4131 *** cl-indent now allows customization of Indentation of backquoted forms. | 3639 *** cl-indent now allows customization of Indentation of backquoted forms. |
4132 | 3640 |
4133 See the new user option `lisp-backquote-indentation'. | 3641 See the new user option `lisp-backquote-indentation'. |
4134 | 3642 |
4135 --- | |
4136 *** cl-indent now handles indentation of simple and extended `loop' forms. | 3643 *** cl-indent now handles indentation of simple and extended `loop' forms. |
4137 | 3644 |
4138 The new user options `lisp-loop-keyword-indentation', | 3645 The new user options `lisp-loop-keyword-indentation', |
4139 `lisp-loop-forms-indentation', and `lisp-simple-loop-indentation' can | 3646 `lisp-loop-forms-indentation', and `lisp-simple-loop-indentation' can |
4140 be used to customize the indentation of keywords and forms in loop | 3647 be used to customize the indentation of keywords and forms in loop |
4141 forms. | 3648 forms. |
4142 | 3649 |
4143 +++ | |
4144 ** Variable aliases: | 3650 ** Variable aliases: |
4145 | 3651 |
4146 *** New function: defvaralias ALIAS-VAR BASE-VAR [DOCSTRING] | 3652 *** New function: defvaralias ALIAS-VAR BASE-VAR [DOCSTRING] |
4147 | 3653 |
4148 This function defines the symbol ALIAS-VAR as a variable alias for | 3654 This function defines the symbol ALIAS-VAR as a variable alias for |
4160 defined as an alias, the function returns VARIABLE. | 3666 defined as an alias, the function returns VARIABLE. |
4161 | 3667 |
4162 It might be noteworthy that variables aliases work for all kinds of | 3668 It might be noteworthy that variables aliases work for all kinds of |
4163 variables, including buffer-local and frame-local variables. | 3669 variables, including buffer-local and frame-local variables. |
4164 | 3670 |
4165 +++ | |
4166 *** The macro `define-obsolete-variable-alias' combines `defvaralias' and | 3671 *** The macro `define-obsolete-variable-alias' combines `defvaralias' and |
4167 `make-obsolete-variable'. | 3672 `make-obsolete-variable'. |
4168 | 3673 |
4169 ** defcustom changes: | 3674 ** defcustom changes: |
4170 | 3675 |
4171 +++ | |
4172 *** The package-version keyword has been added to provide | 3676 *** The package-version keyword has been added to provide |
4173 `customize-changed-options' functionality to packages in the future. | 3677 `customize-changed-options' functionality to packages in the future. |
4174 Developers who make use of this keyword must also update the new | 3678 Developers who make use of this keyword must also update the new |
4175 variable `customize-package-emacs-version-alist'. | 3679 variable `customize-package-emacs-version-alist'. |
4176 | 3680 |
4177 +++ | |
4178 *** The new customization type `float' requires a floating point number. | 3681 *** The new customization type `float' requires a floating point number. |
4179 | 3682 |
4180 ** String changes: | 3683 ** String changes: |
4181 | 3684 |
4182 +++ | |
4183 *** The escape sequence \s is now interpreted as a SPACE character. | 3685 *** The escape sequence \s is now interpreted as a SPACE character. |
4184 | 3686 |
4185 Exception: In a character constant, if it is followed by a `-' in a | 3687 Exception: In a character constant, if it is followed by a `-' in a |
4186 character constant (e.g. ?\s-A), it is still interpreted as the super | 3688 character constant (e.g. ?\s-A), it is still interpreted as the super |
4187 modifier. In strings, \s is always interpreted as a space. | 3689 modifier. In strings, \s is always interpreted as a space. |
4188 | 3690 |
4189 +++ | |
4190 *** A hex escape in a string constant forces the string to be multibyte. | 3691 *** A hex escape in a string constant forces the string to be multibyte. |
4191 | 3692 |
4192 +++ | |
4193 *** An octal escape in a string constant forces the string to be unibyte. | 3693 *** An octal escape in a string constant forces the string to be unibyte. |
4194 | 3694 |
4195 +++ | |
4196 *** `split-string' now includes null substrings in the returned list if | 3695 *** `split-string' now includes null substrings in the returned list if |
4197 the optional argument SEPARATORS is non-nil and there are matches for | 3696 the optional argument SEPARATORS is non-nil and there are matches for |
4198 SEPARATORS at the beginning or end of the string. If SEPARATORS is | 3697 SEPARATORS at the beginning or end of the string. If SEPARATORS is |
4199 nil, or if the new optional third argument OMIT-NULLS is non-nil, all | 3698 nil, or if the new optional third argument OMIT-NULLS is non-nil, all |
4200 empty matches are omitted from the returned list. | 3699 empty matches are omitted from the returned list. |
4201 | 3700 |
4202 +++ | |
4203 *** New function `string-to-multibyte' converts a unibyte string to a | 3701 *** New function `string-to-multibyte' converts a unibyte string to a |
4204 multibyte string with the same individual character codes. | 3702 multibyte string with the same individual character codes. |
4205 | 3703 |
4206 +++ | |
4207 *** New function `substring-no-properties' returns a substring without | 3704 *** New function `substring-no-properties' returns a substring without |
4208 text properties. | 3705 text properties. |
4209 | 3706 |
4210 +++ | |
4211 *** The new function `assoc-string' replaces `assoc-ignore-case' and | 3707 *** The new function `assoc-string' replaces `assoc-ignore-case' and |
4212 `assoc-ignore-representation', which are still available, but have | 3708 `assoc-ignore-representation', which are still available, but have |
4213 been declared obsolete. | 3709 been declared obsolete. |
4214 | 3710 |
4215 +++ | |
4216 *** New syntax: \uXXXX and \UXXXXXXXX specify Unicode code points in hex. | 3711 *** New syntax: \uXXXX and \UXXXXXXXX specify Unicode code points in hex. |
4217 Use "\u0428" to specify a string consisting of CYRILLIC CAPITAL LETTER SHA, | 3712 Use "\u0428" to specify a string consisting of CYRILLIC CAPITAL LETTER SHA, |
4218 or "\U0001D6E2" to specify one consisting of MATHEMATICAL ITALIC CAPITAL | 3713 or "\U0001D6E2" to specify one consisting of MATHEMATICAL ITALIC CAPITAL |
4219 ALPHA (the latter is greater than #xFFFF and thus needs the longer | 3714 ALPHA (the latter is greater than #xFFFF and thus needs the longer |
4220 syntax). Also available for characters. | 3715 syntax). Also available for characters. |
4221 | 3716 |
4222 +++ | |
4223 ** Displaying warnings to the user. | 3717 ** Displaying warnings to the user. |
4224 | 3718 |
4225 See the functions `warn' and `display-warning', or the Lisp Manual. | 3719 See the functions `warn' and `display-warning', or the Lisp Manual. |
4226 If you want to be sure the warning will not be overlooked, this | 3720 If you want to be sure the warning will not be overlooked, this |
4227 facility is much better than using `message', since it displays | 3721 facility is much better than using `message', since it displays |
4228 warnings in a separate window. | 3722 warnings in a separate window. |
4229 | 3723 |
4230 +++ | |
4231 ** Progress reporters. | 3724 ** Progress reporters. |
4232 | 3725 |
4233 These provide a simple and uniform way for commands to present | 3726 These provide a simple and uniform way for commands to present |
4234 progress messages for the user. | 3727 progress messages for the user. |
4235 | 3728 |
4237 `progress-reporter-update', `progress-reporter-force-update', | 3730 `progress-reporter-update', `progress-reporter-force-update', |
4238 `progress-reporter-done', and `dotimes-with-progress-reporter'. | 3731 `progress-reporter-done', and `dotimes-with-progress-reporter'. |
4239 | 3732 |
4240 ** Buffer positions: | 3733 ** Buffer positions: |
4241 | 3734 |
4242 +++ | |
4243 *** Function `compute-motion' now calculates the usable window | 3735 *** Function `compute-motion' now calculates the usable window |
4244 width if the WIDTH argument is nil. If the TOPOS argument is nil, | 3736 width if the WIDTH argument is nil. If the TOPOS argument is nil, |
4245 the usable window height and width is used. | 3737 the usable window height and width is used. |
4246 | 3738 |
4247 +++ | |
4248 *** The `line-move', `scroll-up', and `scroll-down' functions will now | 3739 *** The `line-move', `scroll-up', and `scroll-down' functions will now |
4249 modify the window vscroll to scroll through display rows that are | 3740 modify the window vscroll to scroll through display rows that are |
4250 taller that the height of the window, for example in the presence of | 3741 taller that the height of the window, for example in the presence of |
4251 large images. To disable this feature, bind the new variable | 3742 large images. To disable this feature, bind the new variable |
4252 `auto-window-vscroll' to nil. | 3743 `auto-window-vscroll' to nil. |
4253 | 3744 |
4254 +++ | |
4255 *** The argument to `forward-word', `backward-word' is optional. | 3745 *** The argument to `forward-word', `backward-word' is optional. |
4256 | 3746 |
4257 It defaults to 1. | 3747 It defaults to 1. |
4258 | 3748 |
4259 +++ | |
4260 *** Argument to `forward-to-indentation' and `backward-to-indentation' is optional. | 3749 *** Argument to `forward-to-indentation' and `backward-to-indentation' is optional. |
4261 | 3750 |
4262 It defaults to 1. | 3751 It defaults to 1. |
4263 | 3752 |
4264 +++ | |
4265 *** New function `mouse-on-link-p' tests if a position is in a clickable link. | 3753 *** New function `mouse-on-link-p' tests if a position is in a clickable link. |
4266 | 3754 |
4267 This is the function used by the new `mouse-1-click-follows-link' | 3755 This is the function used by the new `mouse-1-click-follows-link' |
4268 functionality. | 3756 functionality. |
4269 | 3757 |
4270 +++ | |
4271 *** New function `line-number-at-pos' returns the line number of a position. | 3758 *** New function `line-number-at-pos' returns the line number of a position. |
4272 | 3759 |
4273 It an optional buffer position argument that defaults to point. | 3760 It an optional buffer position argument that defaults to point. |
4274 | 3761 |
4275 +++ | |
4276 *** `field-beginning' and `field-end' take new optional argument, LIMIT. | 3762 *** `field-beginning' and `field-end' take new optional argument, LIMIT. |
4277 | 3763 |
4278 This argument tells them not to search beyond LIMIT. Instead they | 3764 This argument tells them not to search beyond LIMIT. Instead they |
4279 give up and return LIMIT. | 3765 give up and return LIMIT. |
4280 | 3766 |
4281 +++ | |
4282 *** Function `pos-visible-in-window-p' now returns the pixel coordinates | 3767 *** Function `pos-visible-in-window-p' now returns the pixel coordinates |
4283 and partial visibility state of the corresponding row, if the PARTIALLY | 3768 and partial visibility state of the corresponding row, if the PARTIALLY |
4284 arg is non-nil. | 3769 arg is non-nil. |
4285 | 3770 |
4286 +++ | |
4287 *** New function `window-line-height' is an efficient way to get | 3771 *** New function `window-line-height' is an efficient way to get |
4288 information about a specific text line in a window provided that the | 3772 information about a specific text line in a window provided that the |
4289 window's display is up-to-date. | 3773 window's display is up-to-date. |
4290 | 3774 |
4291 +++ | |
4292 *** New functions `posn-at-point' and `posn-at-x-y' return | 3775 *** New functions `posn-at-point' and `posn-at-x-y' return |
4293 click-event-style position information for a given visible buffer | 3776 click-event-style position information for a given visible buffer |
4294 position or for a given window pixel coordinate. | 3777 position or for a given window pixel coordinate. |
4295 | 3778 |
4296 ** Text modification: | 3779 ** Text modification: |
4297 | 3780 |
4298 +++ | |
4299 *** The new function `buffer-chars-modified-tick' returns a buffer's | 3781 *** The new function `buffer-chars-modified-tick' returns a buffer's |
4300 tick counter for changes to characters. Each time text in that buffer | 3782 tick counter for changes to characters. Each time text in that buffer |
4301 is inserted or deleted, the character-change counter is updated to the | 3783 is inserted or deleted, the character-change counter is updated to the |
4302 tick counter (`buffer-modified-tick'). Text property changes leave it | 3784 tick counter (`buffer-modified-tick'). Text property changes leave it |
4303 unchanged. | 3785 unchanged. |
4304 | 3786 |
4305 +++ | |
4306 *** The new function `insert-for-yank' normally works like `insert', but | 3787 *** The new function `insert-for-yank' normally works like `insert', but |
4307 removes the text properties in the `yank-excluded-properties' list | 3788 removes the text properties in the `yank-excluded-properties' list |
4308 and handles the `yank-handler' text property. | 3789 and handles the `yank-handler' text property. |
4309 | 3790 |
4310 +++ | |
4311 *** The new function `insert-buffer-substring-as-yank' is like | 3791 *** The new function `insert-buffer-substring-as-yank' is like |
4312 `insert-for-yank' except that it gets the text from another buffer as | 3792 `insert-for-yank' except that it gets the text from another buffer as |
4313 in `insert-buffer-substring'. | 3793 in `insert-buffer-substring'. |
4314 | 3794 |
4315 +++ | |
4316 *** The new function `insert-buffer-substring-no-properties' is like | 3795 *** The new function `insert-buffer-substring-no-properties' is like |
4317 `insert-buffer-substring', but removes all text properties from the | 3796 `insert-buffer-substring', but removes all text properties from the |
4318 inserted substring. | 3797 inserted substring. |
4319 | 3798 |
4320 +++ | |
4321 *** The new function `filter-buffer-substring' extracts a buffer | 3799 *** The new function `filter-buffer-substring' extracts a buffer |
4322 substring, passes it through a set of filter functions, and returns | 3800 substring, passes it through a set of filter functions, and returns |
4323 the filtered substring. Use it instead of `buffer-substring' or | 3801 the filtered substring. Use it instead of `buffer-substring' or |
4324 `delete-and-extract-region' when copying text into a user-accessible | 3802 `delete-and-extract-region' when copying text into a user-accessible |
4325 data structure, such as the kill-ring, X clipboard, or a register. | 3803 data structure, such as the kill-ring, X clipboard, or a register. |
4327 The list of filter function is specified by the new variable | 3805 The list of filter function is specified by the new variable |
4328 `buffer-substring-filters'. For example, Longlines mode adds to | 3806 `buffer-substring-filters'. For example, Longlines mode adds to |
4329 `buffer-substring-filters' to remove soft newlines from the copied | 3807 `buffer-substring-filters' to remove soft newlines from the copied |
4330 text. | 3808 text. |
4331 | 3809 |
4332 +++ | |
4333 *** Function `translate-region' accepts also a char-table as TABLE | 3810 *** Function `translate-region' accepts also a char-table as TABLE |
4334 argument. | 3811 argument. |
4335 | 3812 |
4336 +++ | |
4337 *** The new translation table `translation-table-for-input' | 3813 *** The new translation table `translation-table-for-input' |
4338 is used for customizing self-insertion. The character to | 3814 is used for customizing self-insertion. The character to |
4339 be inserted is translated through it. | 3815 be inserted is translated through it. |
4340 | 3816 |
4341 --- | |
4342 *** Text clones. | 3817 *** Text clones. |
4343 | 3818 |
4344 The new function `text-clone-create'. Text clones are chunks of text | 3819 The new function `text-clone-create'. Text clones are chunks of text |
4345 that are kept identical by transparently propagating changes from one | 3820 that are kept identical by transparently propagating changes from one |
4346 clone to the other. | 3821 clone to the other. |
4347 | 3822 |
4348 --- | |
4349 *** The function `insert-string' is now obsolete. | 3823 *** The function `insert-string' is now obsolete. |
4350 | 3824 |
4351 ** Filling changes. | 3825 ** Filling changes. |
4352 | 3826 |
4353 +++ | |
4354 *** In determining an adaptive fill prefix, Emacs now tries the function in | 3827 *** In determining an adaptive fill prefix, Emacs now tries the function in |
4355 `adaptive-fill-function' _before_ matching the buffer line against | 3828 `adaptive-fill-function' _before_ matching the buffer line against |
4356 `adaptive-fill-regexp' rather than _after_ it. | 3829 `adaptive-fill-regexp' rather than _after_ it. |
4357 | 3830 |
4358 +++ | |
4359 ** Atomic change groups. | 3831 ** Atomic change groups. |
4360 | 3832 |
4361 To perform some changes in the current buffer "atomically" so that | 3833 To perform some changes in the current buffer "atomically" so that |
4362 they either all succeed or are all undone, use `atomic-change-group' | 3834 they either all succeed or are all undone, use `atomic-change-group' |
4363 around the code that makes changes. For instance: | 3835 around the code that makes changes. For instance: |
4413 change group you start for any given buffer should be the last one | 3885 change group you start for any given buffer should be the last one |
4414 finished. | 3886 finished. |
4415 | 3887 |
4416 ** Buffer-related changes: | 3888 ** Buffer-related changes: |
4417 | 3889 |
4418 --- | |
4419 *** `list-buffers-noselect' now takes an additional argument, BUFFER-LIST. | 3890 *** `list-buffers-noselect' now takes an additional argument, BUFFER-LIST. |
4420 | 3891 |
4421 If it is non-nil, it specifies which buffers to list. | 3892 If it is non-nil, it specifies which buffers to list. |
4422 | 3893 |
4423 +++ | |
4424 *** `kill-buffer-hook' is now a permanent local. | 3894 *** `kill-buffer-hook' is now a permanent local. |
4425 | 3895 |
4426 +++ | |
4427 *** The new function `buffer-local-value' returns the buffer-local | 3896 *** The new function `buffer-local-value' returns the buffer-local |
4428 binding of VARIABLE (a symbol) in buffer BUFFER. If VARIABLE does not | 3897 binding of VARIABLE (a symbol) in buffer BUFFER. If VARIABLE does not |
4429 have a buffer-local binding in buffer BUFFER, it returns the default | 3898 have a buffer-local binding in buffer BUFFER, it returns the default |
4430 value of VARIABLE instead. | 3899 value of VARIABLE instead. |
4431 | 3900 |
4432 --- | |
4433 *** The function `frame-or-buffer-changed-p' now lets you maintain | 3901 *** The function `frame-or-buffer-changed-p' now lets you maintain |
4434 various status records in parallel. | 3902 various status records in parallel. |
4435 | 3903 |
4436 It takes a variable (a symbol) as argument. If the variable is non-nil, | 3904 It takes a variable (a symbol) as argument. If the variable is non-nil, |
4437 then its value should be a vector installed previously by | 3905 then its value should be a vector installed previously by |
4447 | 3915 |
4448 If the variable is itself nil, then `frame-or-buffer-changed-p' uses, | 3916 If the variable is itself nil, then `frame-or-buffer-changed-p' uses, |
4449 for compatibility, an internal variable which exists only for this | 3917 for compatibility, an internal variable which exists only for this |
4450 purpose. | 3918 purpose. |
4451 | 3919 |
4452 +++ | |
4453 *** The function `read-buffer' follows the convention for reading from | 3920 *** The function `read-buffer' follows the convention for reading from |
4454 the minibuffer with a default value: if DEF is non-nil, the minibuffer | 3921 the minibuffer with a default value: if DEF is non-nil, the minibuffer |
4455 prompt provided in PROMPT is edited to show the default value provided | 3922 prompt provided in PROMPT is edited to show the default value provided |
4456 in DEF before the terminal colon and space. | 3923 in DEF before the terminal colon and space. |
4457 | 3924 |
4458 ** Searching and matching changes: | 3925 ** Searching and matching changes: |
4459 | 3926 |
4460 +++ | |
4461 *** New function `looking-back' checks whether a regular expression matches | 3927 *** New function `looking-back' checks whether a regular expression matches |
4462 the text before point. Specifying the LIMIT argument bounds how far | 3928 the text before point. Specifying the LIMIT argument bounds how far |
4463 back the match can start; this is a way to keep it from taking too long. | 3929 back the match can start; this is a way to keep it from taking too long. |
4464 | 3930 |
4465 +++ | |
4466 *** The new variable `search-spaces-regexp' controls how to search | 3931 *** The new variable `search-spaces-regexp' controls how to search |
4467 for spaces in a regular expression. If it is non-nil, it should be a | 3932 for spaces in a regular expression. If it is non-nil, it should be a |
4468 regular expression, and any series of spaces stands for that regular | 3933 regular expression, and any series of spaces stands for that regular |
4469 expression. If it is nil, spaces stand for themselves. | 3934 expression. If it is nil, spaces stand for themselves. |
4470 | 3935 |
4471 Spaces inside of constructs such as `[..]' and inside loops such as | 3936 Spaces inside of constructs such as `[..]' and inside loops such as |
4472 `*', `+', and `?' are never replaced with `search-spaces-regexp'. | 3937 `*', `+', and `?' are never replaced with `search-spaces-regexp'. |
4473 | 3938 |
4474 +++ | |
4475 *** New regular expression operators, `\_<' and `\_>'. | 3939 *** New regular expression operators, `\_<' and `\_>'. |
4476 | 3940 |
4477 These match the beginning and end of a symbol. A symbol is a | 3941 These match the beginning and end of a symbol. A symbol is a |
4478 non-empty sequence of either word or symbol constituent characters, as | 3942 non-empty sequence of either word or symbol constituent characters, as |
4479 specified by the syntax table. | 3943 specified by the syntax table. |
4480 | 3944 |
4481 --- | |
4482 *** rx.el has new corresponding `symbol-start' and `symbol-end' elements. | 3945 *** rx.el has new corresponding `symbol-start' and `symbol-end' elements. |
4483 | 3946 |
4484 +++ | |
4485 *** `skip-chars-forward' and `skip-chars-backward' now handle | 3947 *** `skip-chars-forward' and `skip-chars-backward' now handle |
4486 character classes such as `[:alpha:]', along with individual | 3948 character classes such as `[:alpha:]', along with individual |
4487 characters and ranges. | 3949 characters and ranges. |
4488 | 3950 |
4489 --- | |
4490 *** In `replace-match', the replacement text no longer inherits | 3951 *** In `replace-match', the replacement text no longer inherits |
4491 properties from surrounding text. | 3952 properties from surrounding text. |
4492 | 3953 |
4493 +++ | |
4494 *** The list returned by `(match-data t)' now has the buffer as a final | 3954 *** The list returned by `(match-data t)' now has the buffer as a final |
4495 element, if the last match was on a buffer. `set-match-data' | 3955 element, if the last match was on a buffer. `set-match-data' |
4496 accepts such a list for restoring the match state. | 3956 accepts such a list for restoring the match state. |
4497 | 3957 |
4498 +++ | |
4499 *** Functions `match-data' and `set-match-data' now have an optional | 3958 *** Functions `match-data' and `set-match-data' now have an optional |
4500 argument `reseat'. When non-nil, all markers in the match data list | 3959 argument `reseat'. When non-nil, all markers in the match data list |
4501 passed to these functions will be reseated to point to nowhere. | 3960 passed to these functions will be reseated to point to nowhere. |
4502 | 3961 |
4503 +++ | |
4504 *** The default value of `sentence-end' is now defined using the new | 3962 *** The default value of `sentence-end' is now defined using the new |
4505 variable `sentence-end-without-space', which contains such characters | 3963 variable `sentence-end-without-space', which contains such characters |
4506 that end a sentence without following spaces. | 3964 that end a sentence without following spaces. |
4507 | 3965 |
4508 The function `sentence-end' should be used to obtain the value of the | 3966 The function `sentence-end' should be used to obtain the value of the |
4511 `sentence-end-without-period', `sentence-end-double-space' and | 3969 `sentence-end-without-period', `sentence-end-double-space' and |
4512 `sentence-end-without-space'. | 3970 `sentence-end-without-space'. |
4513 | 3971 |
4514 ** Undo changes: | 3972 ** Undo changes: |
4515 | 3973 |
4516 +++ | |
4517 *** `buffer-undo-list' allows programmable elements. | 3974 *** `buffer-undo-list' allows programmable elements. |
4518 | 3975 |
4519 These elements have the form (apply FUNNAME . ARGS), where FUNNAME is | 3976 These elements have the form (apply FUNNAME . ARGS), where FUNNAME is |
4520 a symbol other than t or nil. That stands for a high-level change | 3977 a symbol other than t or nil. That stands for a high-level change |
4521 that should be undone by evaluating (apply FUNNAME ARGS). | 3978 that should be undone by evaluating (apply FUNNAME ARGS). |
4522 | 3979 |
4523 These entries can also have the form (apply DELTA BEG END FUNNAME . ARGS) | 3980 These entries can also have the form (apply DELTA BEG END FUNNAME . ARGS) |
4524 which indicates that the change which took place was limited to the | 3981 which indicates that the change which took place was limited to the |
4525 range BEG...END and increased the buffer size by DELTA. | 3982 range BEG...END and increased the buffer size by DELTA. |
4526 | 3983 |
4527 +++ | |
4528 *** If the buffer's undo list for the current command gets longer than | 3984 *** If the buffer's undo list for the current command gets longer than |
4529 `undo-outer-limit', garbage collection empties it. This is to prevent | 3985 `undo-outer-limit', garbage collection empties it. This is to prevent |
4530 it from using up the available memory and choking Emacs. | 3986 it from using up the available memory and choking Emacs. |
4531 | 3987 |
4532 +++ | |
4533 ** New `yank-handler' text property can be used to control how | 3988 ** New `yank-handler' text property can be used to control how |
4534 previously killed text on the kill ring is reinserted. | 3989 previously killed text on the kill ring is reinserted. |
4535 | 3990 |
4536 The value of the `yank-handler' property must be a list with one to four | 3991 The value of the `yank-handler' property must be a list with one to four |
4537 elements with the following format: | 3992 elements with the following format: |
4572 string. The old behavior is available if you call | 4027 string. The old behavior is available if you call |
4573 `insert-for-yank-1' instead. | 4028 `insert-for-yank-1' instead. |
4574 | 4029 |
4575 ** Syntax table changes: | 4030 ** Syntax table changes: |
4576 | 4031 |
4577 +++ | |
4578 *** The macro `with-syntax-table' no longer copies the syntax table. | 4032 *** The macro `with-syntax-table' no longer copies the syntax table. |
4579 | 4033 |
4580 +++ | |
4581 *** The new function `syntax-after' returns the syntax code | 4034 *** The new function `syntax-after' returns the syntax code |
4582 of the character after a specified buffer position, taking account | 4035 of the character after a specified buffer position, taking account |
4583 of text properties as well as the character code. | 4036 of text properties as well as the character code. |
4584 | 4037 |
4585 +++ | |
4586 *** `syntax-class' extracts the class of a syntax code (as returned | 4038 *** `syntax-class' extracts the class of a syntax code (as returned |
4587 by `syntax-after'). | 4039 by `syntax-after'). |
4588 | 4040 |
4589 +++ | |
4590 *** The new function `syntax-ppss' provides an efficient way to find the | 4041 *** The new function `syntax-ppss' provides an efficient way to find the |
4591 current syntactic context at point. | 4042 current syntactic context at point. |
4592 | 4043 |
4593 ** File operation changes: | 4044 ** File operation changes: |
4594 | 4045 |
4595 +++ | |
4596 *** New vars `exec-suffixes' and `load-suffixes' used when | 4046 *** New vars `exec-suffixes' and `load-suffixes' used when |
4597 searching for an executable or an Emacs Lisp file. | 4047 searching for an executable or an Emacs Lisp file. |
4598 | 4048 |
4599 +++ | |
4600 *** The new primitive `set-file-times' sets a file's access and | 4049 *** The new primitive `set-file-times' sets a file's access and |
4601 modification times. Magic file name handlers can handle this | 4050 modification times. Magic file name handlers can handle this |
4602 operation. | 4051 operation. |
4603 | 4052 |
4604 +++ | |
4605 *** The new function `file-remote-p' tests a file name and returns | 4053 *** The new function `file-remote-p' tests a file name and returns |
4606 non-nil if it specifies a remote file (one that Emacs accesses using | 4054 non-nil if it specifies a remote file (one that Emacs accesses using |
4607 its own special methods and not directly through the file system). | 4055 its own special methods and not directly through the file system). |
4608 The value in that case is an identifier for the remote file system. | 4056 The value in that case is an identifier for the remote file system. |
4609 | 4057 |
4610 +++ | |
4611 *** `buffer-auto-save-file-format' is the new name for what was | 4058 *** `buffer-auto-save-file-format' is the new name for what was |
4612 formerly called `auto-save-file-format'. It is now a permanent local. | 4059 formerly called `auto-save-file-format'. It is now a permanent local. |
4613 | 4060 |
4614 +++ | |
4615 *** Functions `file-name-sans-extension' and `file-name-extension' now | 4061 *** Functions `file-name-sans-extension' and `file-name-extension' now |
4616 ignore the leading dots in file names, so that file names such as | 4062 ignore the leading dots in file names, so that file names such as |
4617 `.emacs' are treated as extensionless. | 4063 `.emacs' are treated as extensionless. |
4618 | 4064 |
4619 +++ | |
4620 *** `visited-file-modtime' and `calendar-time-from-absolute' now return | 4065 *** `visited-file-modtime' and `calendar-time-from-absolute' now return |
4621 a list of two integers, instead of a cons. | 4066 a list of two integers, instead of a cons. |
4622 | 4067 |
4623 +++ | |
4624 *** `file-chase-links' now takes an optional second argument LIMIT which | 4068 *** `file-chase-links' now takes an optional second argument LIMIT which |
4625 specifies the maximum number of links to chase through. If after that | 4069 specifies the maximum number of links to chase through. If after that |
4626 many iterations the file name obtained is still a symbolic link, | 4070 many iterations the file name obtained is still a symbolic link, |
4627 `file-chase-links' returns it anyway. | 4071 `file-chase-links' returns it anyway. |
4628 | 4072 |
4629 +++ | |
4630 *** The new hook `before-save-hook' is invoked by `basic-save-buffer' | 4073 *** The new hook `before-save-hook' is invoked by `basic-save-buffer' |
4631 before saving buffers. This allows packages to perform various final | 4074 before saving buffers. This allows packages to perform various final |
4632 tasks. For example, it can be used by the copyright package to make | 4075 tasks. For example, it can be used by the copyright package to make |
4633 sure saved files have the current year in any copyright headers. | 4076 sure saved files have the current year in any copyright headers. |
4634 | 4077 |
4635 +++ | |
4636 *** If `buffer-save-without-query' is non-nil in some buffer, | 4078 *** If `buffer-save-without-query' is non-nil in some buffer, |
4637 `save-some-buffers' will always save that buffer without asking (if | 4079 `save-some-buffers' will always save that buffer without asking (if |
4638 it's modified). | 4080 it's modified). |
4639 | 4081 |
4640 +++ | |
4641 *** New function `locate-file' searches for a file in a list of directories. | 4082 *** New function `locate-file' searches for a file in a list of directories. |
4642 `locate-file' accepts a name of a file to search (a string), and two | 4083 `locate-file' accepts a name of a file to search (a string), and two |
4643 lists: a list of directories to search in and a list of suffixes to | 4084 lists: a list of directories to search in and a list of suffixes to |
4644 try; typical usage might use `exec-path' and `load-path' for the list | 4085 try; typical usage might use `exec-path' and `load-path' for the list |
4645 of directories, and `exec-suffixes' and `load-suffixes' for the list | 4086 of directories, and `exec-suffixes' and `load-suffixes' for the list |
4648 | 4089 |
4649 One advantage of using this function is that the list of suffixes in | 4090 One advantage of using this function is that the list of suffixes in |
4650 `exec-suffixes' is OS-dependant, so this function will find | 4091 `exec-suffixes' is OS-dependant, so this function will find |
4651 executables without polluting Lisp code with OS dependencies. | 4092 executables without polluting Lisp code with OS dependencies. |
4652 | 4093 |
4653 --- | |
4654 *** The precedence of file name handlers has been changed. | 4094 *** The precedence of file name handlers has been changed. |
4655 | 4095 |
4656 Instead of choosing the first handler that matches, | 4096 Instead of choosing the first handler that matches, |
4657 `find-file-name-handler' now gives precedence to a file name handler | 4097 `find-file-name-handler' now gives precedence to a file name handler |
4658 that matches nearest the end of the file name. More precisely, the | 4098 that matches nearest the end of the file name. More precisely, the |
4659 handler whose (match-beginning 0) is the largest is chosen. In case | 4099 handler whose (match-beginning 0) is the largest is chosen. In case |
4660 of ties, the old "first matched" rule applies. | 4100 of ties, the old "first matched" rule applies. |
4661 | 4101 |
4662 +++ | |
4663 *** A file name handler can declare which operations it handles. | 4102 *** A file name handler can declare which operations it handles. |
4664 | 4103 |
4665 You do this by putting an `operation' property on the handler name | 4104 You do this by putting an `operation' property on the handler name |
4666 symbol. The property value should be a list of the operations that | 4105 symbol. The property value should be a list of the operations that |
4667 the handler really handles. It won't be called for any other | 4106 the handler really handles. It won't be called for any other |
4668 operations. | 4107 operations. |
4669 | 4108 |
4670 This is useful for autoloaded handlers, to prevent them from being | 4109 This is useful for autoloaded handlers, to prevent them from being |
4671 autoloaded when not really necessary. | 4110 autoloaded when not really necessary. |
4672 | 4111 |
4673 +++ | |
4674 *** The function `make-auto-save-file-name' is now handled by file | 4112 *** The function `make-auto-save-file-name' is now handled by file |
4675 name handlers. This will be exploited for remote files mainly. | 4113 name handlers. This will be exploited for remote files mainly. |
4676 | 4114 |
4677 +++ | |
4678 *** The function `file-name-completion' accepts an optional argument | 4115 *** The function `file-name-completion' accepts an optional argument |
4679 PREDICATE, and rejects completion candidates that don't satisfy PREDICATE. | 4116 PREDICATE, and rejects completion candidates that don't satisfy PREDICATE. |
4680 | 4117 |
4681 ** Input changes: | 4118 ** Input changes: |
4682 | 4119 |
4683 +++ | |
4684 *** The functions `read-event', `read-char', and `read-char-exclusive' | 4120 *** The functions `read-event', `read-char', and `read-char-exclusive' |
4685 have a new optional argument SECONDS. If non-nil, this specifies a | 4121 have a new optional argument SECONDS. If non-nil, this specifies a |
4686 maximum time to wait for input, in seconds. If no input arrives after | 4122 maximum time to wait for input, in seconds. If no input arrives after |
4687 this time elapses, the functions stop waiting and return nil. | 4123 this time elapses, the functions stop waiting and return nil. |
4688 | 4124 |
4689 +++ | |
4690 *** An interactive specification can now use the code letter `U' to get | 4125 *** An interactive specification can now use the code letter `U' to get |
4691 the up-event that was discarded in case the last key sequence read for a | 4126 the up-event that was discarded in case the last key sequence read for a |
4692 previous `k' or `K' argument was a down-event; otherwise nil is used. | 4127 previous `k' or `K' argument was a down-event; otherwise nil is used. |
4693 | 4128 |
4694 +++ | |
4695 *** The new interactive-specification `G' reads a file name | 4129 *** The new interactive-specification `G' reads a file name |
4696 much like `F', but if the input is a directory name (even defaulted), | 4130 much like `F', but if the input is a directory name (even defaulted), |
4697 it returns just the directory name. | 4131 it returns just the directory name. |
4698 | 4132 |
4699 --- | |
4700 *** Functions `y-or-n-p', `read-char', `read-key-sequence' and the like, that | 4133 *** Functions `y-or-n-p', `read-char', `read-key-sequence' and the like, that |
4701 display a prompt but don't use the minibuffer, now display the prompt | 4134 display a prompt but don't use the minibuffer, now display the prompt |
4702 using the text properties (esp. the face) of the prompt string. | 4135 using the text properties (esp. the face) of the prompt string. |
4703 | 4136 |
4704 +++ | |
4705 *** (while-no-input BODY...) runs BODY, but only so long as no input | 4137 *** (while-no-input BODY...) runs BODY, but only so long as no input |
4706 arrives. If the user types or clicks anything, BODY stops as if a | 4138 arrives. If the user types or clicks anything, BODY stops as if a |
4707 quit had occurred. `while-no-input' returns the value of BODY, if BODY | 4139 quit had occurred. `while-no-input' returns the value of BODY, if BODY |
4708 finishes. It returns nil if BODY was aborted by a quit, and t if | 4140 finishes. It returns nil if BODY was aborted by a quit, and t if |
4709 BODY was aborted by arrival of input. | 4141 BODY was aborted by arrival of input. |
4710 | 4142 |
4711 +++ | |
4712 *** `recent-keys' now returns the last 300 keys. | 4143 *** `recent-keys' now returns the last 300 keys. |
4713 | 4144 |
4714 ** Minibuffer changes: | 4145 ** Minibuffer changes: |
4715 | 4146 |
4716 +++ | |
4717 *** The new function `minibufferp' returns non-nil if its optional | 4147 *** The new function `minibufferp' returns non-nil if its optional |
4718 buffer argument is a minibuffer. If the argument is omitted, it | 4148 buffer argument is a minibuffer. If the argument is omitted, it |
4719 defaults to the current buffer. | 4149 defaults to the current buffer. |
4720 | 4150 |
4721 +++ | |
4722 *** New function `minibuffer-selected-window' returns the window which | 4151 *** New function `minibuffer-selected-window' returns the window which |
4723 was selected when entering the minibuffer. | 4152 was selected when entering the minibuffer. |
4724 | 4153 |
4725 +++ | |
4726 *** The `read-file-name' function now takes an additional argument which | 4154 *** The `read-file-name' function now takes an additional argument which |
4727 specifies a predicate which the file name read must satisfy. The | 4155 specifies a predicate which the file name read must satisfy. The |
4728 new variable `read-file-name-predicate' contains the predicate argument | 4156 new variable `read-file-name-predicate' contains the predicate argument |
4729 while reading the file name from the minibuffer; the predicate in this | 4157 while reading the file name from the minibuffer; the predicate in this |
4730 variable is used by read-file-name-internal to filter the completion list. | 4158 variable is used by read-file-name-internal to filter the completion list. |
4731 | 4159 |
4732 --- | |
4733 *** The new variable `read-file-name-function' can be used by Lisp code | 4160 *** The new variable `read-file-name-function' can be used by Lisp code |
4734 to override the built-in `read-file-name' function. | 4161 to override the built-in `read-file-name' function. |
4735 | 4162 |
4736 +++ | |
4737 *** The new variable `read-file-name-completion-ignore-case' specifies | 4163 *** The new variable `read-file-name-completion-ignore-case' specifies |
4738 whether completion ignores case when reading a file name with the | 4164 whether completion ignores case when reading a file name with the |
4739 `read-file-name' function. | 4165 `read-file-name' function. |
4740 | 4166 |
4741 +++ | |
4742 *** The new function `read-directory-name' is for reading a directory name. | 4167 *** The new function `read-directory-name' is for reading a directory name. |
4743 | 4168 |
4744 It is like `read-file-name' except that the defaulting works better | 4169 It is like `read-file-name' except that the defaulting works better |
4745 for directories, and completion inside it shows only directories. | 4170 for directories, and completion inside it shows only directories. |
4746 | 4171 |
4747 +++ | |
4748 *** The new variable `history-add-new-input' specifies whether to add new | 4172 *** The new variable `history-add-new-input' specifies whether to add new |
4749 elements in history. If set to nil, minibuffer reading functions don't | 4173 elements in history. If set to nil, minibuffer reading functions don't |
4750 add new elements to the history list, so it is possible to do this | 4174 add new elements to the history list, so it is possible to do this |
4751 afterwards by calling `add-to-history' explicitly. | 4175 afterwards by calling `add-to-history' explicitly. |
4752 | 4176 |
4753 ** Completion changes: | 4177 ** Completion changes: |
4754 | 4178 |
4755 +++ | |
4756 *** The new function `minibuffer-completion-contents' returns the contents | 4179 *** The new function `minibuffer-completion-contents' returns the contents |
4757 of the minibuffer just before point. That is what completion commands | 4180 of the minibuffer just before point. That is what completion commands |
4758 operate on. | 4181 operate on. |
4759 | 4182 |
4760 +++ | |
4761 *** The functions `all-completions' and `try-completion' now accept lists | 4183 *** The functions `all-completions' and `try-completion' now accept lists |
4762 of strings as well as hash-tables additionally to alists, obarrays | 4184 of strings as well as hash-tables additionally to alists, obarrays |
4763 and functions. Furthermore, the function `test-completion' is now | 4185 and functions. Furthermore, the function `test-completion' is now |
4764 exported to Lisp. The keys in alists and hash tables can be either | 4186 exported to Lisp. The keys in alists and hash tables can be either |
4765 strings or symbols, which are automatically converted with to strings. | 4187 strings or symbols, which are automatically converted with to strings. |
4766 | 4188 |
4767 +++ | |
4768 *** The new macro `dynamic-completion-table' supports using functions | 4189 *** The new macro `dynamic-completion-table' supports using functions |
4769 as a dynamic completion table. | 4190 as a dynamic completion table. |
4770 | 4191 |
4771 (dynamic-completion-table FUN) | 4192 (dynamic-completion-table FUN) |
4772 | 4193 |
4775 completions. This alist can be a full list of possible completions so that FUN | 4196 completions. This alist can be a full list of possible completions so that FUN |
4776 can ignore the value of its argument. If completion is performed in the | 4197 can ignore the value of its argument. If completion is performed in the |
4777 minibuffer, FUN will be called in the buffer from which the minibuffer was | 4198 minibuffer, FUN will be called in the buffer from which the minibuffer was |
4778 entered. `dynamic-completion-table' then computes the completion. | 4199 entered. `dynamic-completion-table' then computes the completion. |
4779 | 4200 |
4780 +++ | |
4781 *** The new macro `lazy-completion-table' initializes a variable | 4201 *** The new macro `lazy-completion-table' initializes a variable |
4782 as a lazy completion table. | 4202 as a lazy completion table. |
4783 | 4203 |
4784 (lazy-completion-table VAR FUN) | 4204 (lazy-completion-table VAR FUN) |
4785 | 4205 |
4788 arguments. FUN must return the completion table that will be stored in VAR. | 4208 arguments. FUN must return the completion table that will be stored in VAR. |
4789 If completion is requested in the minibuffer, FUN will be called in the buffer | 4209 If completion is requested in the minibuffer, FUN will be called in the buffer |
4790 from which the minibuffer was entered. The return value of | 4210 from which the minibuffer was entered. The return value of |
4791 `lazy-completion-table' must be used to initialize the value of VAR. | 4211 `lazy-completion-table' must be used to initialize the value of VAR. |
4792 | 4212 |
4793 +++ | |
4794 ** Enhancements to keymaps. | 4213 ** Enhancements to keymaps. |
4795 | 4214 |
4796 *** New keymaps for typing file names | 4215 *** New keymaps for typing file names |
4797 | 4216 |
4798 Two new keymaps, `minibuffer-local-filename-completion-map' and | 4217 Two new keymaps, `minibuffer-local-filename-completion-map' and |
4907 *** The definition of a key-binding passed to define-key can use XEmacs-style | 4326 *** The definition of a key-binding passed to define-key can use XEmacs-style |
4908 key-sequences, such as [(control a)]. | 4327 key-sequences, such as [(control a)]. |
4909 | 4328 |
4910 ** Abbrev changes: | 4329 ** Abbrev changes: |
4911 | 4330 |
4912 +++ | |
4913 *** The new function `copy-abbrev-table' copies an abbrev table. | 4331 *** The new function `copy-abbrev-table' copies an abbrev table. |
4914 | 4332 |
4915 It returns a new abbrev table that is a copy of a given abbrev table. | 4333 It returns a new abbrev table that is a copy of a given abbrev table. |
4916 | 4334 |
4917 +++ | |
4918 *** `define-abbrev' now accepts an optional argument SYSTEM-FLAG. | 4335 *** `define-abbrev' now accepts an optional argument SYSTEM-FLAG. |
4919 | 4336 |
4920 If non-nil, this marks the abbrev as a "system" abbrev, which means | 4337 If non-nil, this marks the abbrev as a "system" abbrev, which means |
4921 that it won't be stored in the user's abbrevs file if he saves the | 4338 that it won't be stored in the user's abbrevs file if he saves the |
4922 abbrevs. Major modes that predefine some abbrevs should always | 4339 abbrevs. Major modes that predefine some abbrevs should always |
4923 specify this flag. | 4340 specify this flag. |
4924 | 4341 |
4925 +++ | |
4926 ** Enhancements to process support | 4342 ** Enhancements to process support |
4927 | 4343 |
4928 *** Function `list-processes' now has an optional argument; if non-nil, | 4344 *** Function `list-processes' now has an optional argument; if non-nil, |
4929 it lists only the processes whose query-on-exit flag is set. | 4345 it lists only the processes whose query-on-exit flag is set. |
4930 | 4346 |
4987 buffer is multibyte, the output of the process is at first converted | 4403 buffer is multibyte, the output of the process is at first converted |
4988 to multibyte by `string-to-multibyte' then inserted in the buffer. | 4404 to multibyte by `string-to-multibyte' then inserted in the buffer. |
4989 Previously, it was converted to multibyte by `string-as-multibyte', | 4405 Previously, it was converted to multibyte by `string-as-multibyte', |
4990 which was not compatible with the behavior of file reading. | 4406 which was not compatible with the behavior of file reading. |
4991 | 4407 |
4992 +++ | |
4993 ** Enhanced networking support. | 4408 ** Enhanced networking support. |
4994 | 4409 |
4995 *** The new `make-network-process' function makes network connections. | 4410 *** The new `make-network-process' function makes network connections. |
4996 It allows opening of stream and datagram connections to a server, as well as | 4411 It allows opening of stream and datagram connections to a server, as well as |
4997 create a stream or datagram server inside Emacs. | 4412 create a stream or datagram server inside Emacs. |
5059 connection is closed by the remote peer has been changed to | 4474 connection is closed by the remote peer has been changed to |
5060 "connection broken by remote peer". | 4475 "connection broken by remote peer". |
5061 | 4476 |
5062 ** Using window objects: | 4477 ** Using window objects: |
5063 | 4478 |
5064 +++ | |
5065 *** New function `window-body-height'. | 4479 *** New function `window-body-height'. |
5066 | 4480 |
5067 This is like `window-height' but does not count the mode line or the | 4481 This is like `window-height' but does not count the mode line or the |
5068 header line. | 4482 header line. |
5069 | 4483 |
5070 +++ | |
5071 *** You can now make a window as short as one line. | 4484 *** You can now make a window as short as one line. |
5072 | 4485 |
5073 A window that is just one line tall does not display either a mode | 4486 A window that is just one line tall does not display either a mode |
5074 line or a header line, even if the variables `mode-line-format' and | 4487 line or a header line, even if the variables `mode-line-format' and |
5075 `header-line-format' call for them. A window that is two lines tall | 4488 `header-line-format' call for them. A window that is two lines tall |
5076 cannot display both a mode line and a header line at once; if the | 4489 cannot display both a mode line and a header line at once; if the |
5077 variables call for both, only the mode line actually appears. | 4490 variables call for both, only the mode line actually appears. |
5078 | 4491 |
5079 +++ | |
5080 *** The new function `window-inside-edges' returns the edges of the | 4492 *** The new function `window-inside-edges' returns the edges of the |
5081 actual text portion of the window, not including the scroll bar or | 4493 actual text portion of the window, not including the scroll bar or |
5082 divider line, the fringes, the display margins, the header line and | 4494 divider line, the fringes, the display margins, the header line and |
5083 the mode line. | 4495 the mode line. |
5084 | 4496 |
5085 +++ | |
5086 *** The new functions `window-pixel-edges' and `window-inside-pixel-edges' | 4497 *** The new functions `window-pixel-edges' and `window-inside-pixel-edges' |
5087 return window edges in units of pixels, rather than columns and lines. | 4498 return window edges in units of pixels, rather than columns and lines. |
5088 | 4499 |
5089 +++ | |
5090 *** The new macro `with-selected-window' temporarily switches the | 4500 *** The new macro `with-selected-window' temporarily switches the |
5091 selected window without impacting the order of `buffer-list'. | 4501 selected window without impacting the order of `buffer-list'. |
5092 It saves and restores the current buffer, too. | 4502 It saves and restores the current buffer, too. |
5093 | 4503 |
5094 +++ | |
5095 *** `select-window' takes an optional second argument NORECORD. | 4504 *** `select-window' takes an optional second argument NORECORD. |
5096 | 4505 |
5097 This is like `switch-to-buffer'. | 4506 This is like `switch-to-buffer'. |
5098 | 4507 |
5099 +++ | |
5100 *** `save-selected-window' now saves and restores the selected window | 4508 *** `save-selected-window' now saves and restores the selected window |
5101 of every frame. This way, it restores everything that can be changed | 4509 of every frame. This way, it restores everything that can be changed |
5102 by calling `select-window'. It also saves and restores the current | 4510 by calling `select-window'. It also saves and restores the current |
5103 buffer. | 4511 buffer. |
5104 | 4512 |
5105 +++ | |
5106 *** `set-window-buffer' has an optional argument KEEP-MARGINS. | 4513 *** `set-window-buffer' has an optional argument KEEP-MARGINS. |
5107 | 4514 |
5108 If non-nil, that says to preserve the window's current margin, fringe, | 4515 If non-nil, that says to preserve the window's current margin, fringe, |
5109 and scroll-bar settings. | 4516 and scroll-bar settings. |
5110 | 4517 |
5111 +++ | |
5112 *** The new function `window-tree' returns a frame's window tree. | 4518 *** The new function `window-tree' returns a frame's window tree. |
5113 | 4519 |
5114 +++ | |
5115 *** The functions `get-lru-window' and `get-largest-window' take an optional | 4520 *** The functions `get-lru-window' and `get-largest-window' take an optional |
5116 argument `dedicated'. If non-nil, those functions do not ignore | 4521 argument `dedicated'. If non-nil, those functions do not ignore |
5117 dedicated windows. | 4522 dedicated windows. |
5118 | 4523 |
5119 +++ | |
5120 *** The new function `adjust-window-trailing-edge' moves the right | 4524 *** The new function `adjust-window-trailing-edge' moves the right |
5121 or bottom edge of a window. It does not move other window edges. | 4525 or bottom edge of a window. It does not move other window edges. |
5122 | 4526 |
5123 +++ | |
5124 ** Customizable fringe bitmaps | 4527 ** Customizable fringe bitmaps |
5125 | 4528 |
5126 *** New buffer-local variables `fringe-indicator-alist' and | 4529 *** New buffer-local variables `fringe-indicator-alist' and |
5127 `fringe-cursor-alist' maps between logical (internal) fringe indicator | 4530 `fringe-cursor-alist' maps between logical (internal) fringe indicator |
5128 and cursor symbols and the actual fringe bitmaps to be displayed. | 4531 and cursor symbols and the actual fringe bitmaps to be displayed. |
5154 *** New function `fringe-bitmaps-at-pos' returns the current fringe | 4557 *** New function `fringe-bitmaps-at-pos' returns the current fringe |
5155 bitmaps in the display line at a given buffer position. | 4558 bitmaps in the display line at a given buffer position. |
5156 | 4559 |
5157 ** Other window fringe features: | 4560 ** Other window fringe features: |
5158 | 4561 |
5159 +++ | |
5160 *** Controlling the default left and right fringe widths. | 4562 *** Controlling the default left and right fringe widths. |
5161 | 4563 |
5162 The default left and right fringe widths for all windows of a frame | 4564 The default left and right fringe widths for all windows of a frame |
5163 can now be controlled by setting the `left-fringe' and `right-fringe' | 4565 can now be controlled by setting the `left-fringe' and `right-fringe' |
5164 frame parameters to an integer value specifying the width in pixels. | 4566 frame parameters to an integer value specifying the width in pixels. |
5174 Setting the width to nil (the default), restores the default fringe | 4576 Setting the width to nil (the default), restores the default fringe |
5175 width which is the minimum number of pixels necessary to display any | 4577 width which is the minimum number of pixels necessary to display any |
5176 of the currently defined fringe bitmaps. The width of the built-in | 4578 of the currently defined fringe bitmaps. The width of the built-in |
5177 fringe bitmaps is 8 pixels. | 4579 fringe bitmaps is 8 pixels. |
5178 | 4580 |
5179 +++ | |
5180 *** Per-window fringe and scrollbar settings | 4581 *** Per-window fringe and scrollbar settings |
5181 | 4582 |
5182 **** Windows can now have their own individual fringe widths and | 4583 **** Windows can now have their own individual fringe widths and |
5183 position settings. | 4584 position settings. |
5184 | 4585 |
5208 the buffer in a window, or use `set-window-buffer' to force an update | 4609 the buffer in a window, or use `set-window-buffer' to force an update |
5209 of the display margins. | 4610 of the display margins. |
5210 | 4611 |
5211 ** Redisplay features: | 4612 ** Redisplay features: |
5212 | 4613 |
5213 +++ | |
5214 *** `sit-for' can now be called with args (SECONDS &optional NODISP). | 4614 *** `sit-for' can now be called with args (SECONDS &optional NODISP). |
5215 | 4615 |
5216 +++ | |
5217 *** Iconifying or deiconifying a frame no longer makes sit-for return. | 4616 *** Iconifying or deiconifying a frame no longer makes sit-for return. |
5218 | 4617 |
5219 +++ | |
5220 *** New function `redisplay' causes an immediate redisplay if no input is | 4618 *** New function `redisplay' causes an immediate redisplay if no input is |
5221 available, equivalent to (sit-for 0). The call (redisplay t) forces | 4619 available, equivalent to (sit-for 0). The call (redisplay t) forces |
5222 an immediate redisplay even if input is pending. | 4620 an immediate redisplay even if input is pending. |
5223 | 4621 |
5224 +++ | |
5225 *** New function `force-window-update' can initiate a full redisplay of | 4622 *** New function `force-window-update' can initiate a full redisplay of |
5226 one or all windows. Normally, this is not needed as changes in window | 4623 one or all windows. Normally, this is not needed as changes in window |
5227 contents are detected automatically. However, certain implicit | 4624 contents are detected automatically. However, certain implicit |
5228 changes to mode lines, header lines, or display properties may require | 4625 changes to mode lines, header lines, or display properties may require |
5229 forcing an explicit window update. | 4626 forcing an explicit window update. |
5230 | 4627 |
5231 +++ | |
5232 *** (char-displayable-p CHAR) returns non-nil if Emacs ought to be able | 4628 *** (char-displayable-p CHAR) returns non-nil if Emacs ought to be able |
5233 to display CHAR. More precisely, if the selected frame's fontset has | 4629 to display CHAR. More precisely, if the selected frame's fontset has |
5234 a font to display the character set that CHAR belongs to. | 4630 a font to display the character set that CHAR belongs to. |
5235 | 4631 |
5236 Fontsets can specify a font on a per-character basis; when the fontset | 4632 Fontsets can specify a font on a per-character basis; when the fontset |
5237 does that, this value cannot be accurate. | 4633 does that, this value cannot be accurate. |
5238 | 4634 |
5239 +++ | |
5240 *** You can define multiple overlay arrows via the new | 4635 *** You can define multiple overlay arrows via the new |
5241 variable `overlay-arrow-variable-list'. | 4636 variable `overlay-arrow-variable-list'. |
5242 | 4637 |
5243 It contains a list of variables which contain overlay arrow position | 4638 It contains a list of variables which contain overlay arrow position |
5244 markers, including the original `overlay-arrow-position' variable. | 4639 markers, including the original `overlay-arrow-position' variable. |
5248 string (for non-window terminals) or fringe bitmap (for window | 4643 string (for non-window terminals) or fringe bitmap (for window |
5249 systems) to display at the corresponding overlay arrow position. | 4644 systems) to display at the corresponding overlay arrow position. |
5250 If either property is not set, the default `overlay-arrow-string' or | 4645 If either property is not set, the default `overlay-arrow-string' or |
5251 'overlay-arrow-fringe-bitmap' will be used. | 4646 'overlay-arrow-fringe-bitmap' will be used. |
5252 | 4647 |
5253 +++ | |
5254 *** New `line-height' and `line-spacing' properties for newline characters | 4648 *** New `line-height' and `line-spacing' properties for newline characters |
5255 | 4649 |
5256 A newline can now have `line-height' and `line-spacing' text or overlay | 4650 A newline can now have `line-height' and `line-spacing' text or overlay |
5257 properties that control the height of the corresponding display row. | 4651 properties that control the height of the corresponding display row. |
5258 | 4652 |
5289 the `line-spacing' variable. | 4683 the `line-spacing' variable. |
5290 | 4684 |
5291 If the `line-spacing' property is a float or cons, the line spacing | 4685 If the `line-spacing' property is a float or cons, the line spacing |
5292 is calculated as specified above for the `line-height' property. | 4686 is calculated as specified above for the `line-height' property. |
5293 | 4687 |
5294 +++ | |
5295 *** The buffer local `line-spacing' variable can now have a float value, | 4688 *** The buffer local `line-spacing' variable can now have a float value, |
5296 which is used as a height relative to the default frame line height. | 4689 which is used as a height relative to the default frame line height. |
5297 | 4690 |
5298 +++ | |
5299 *** Enhancements to stretch display properties | 4691 *** Enhancements to stretch display properties |
5300 | 4692 |
5301 The display property stretch specification form `(space PROPS)', where | 4693 The display property stretch specification form `(space PROPS)', where |
5302 PROPS is a property list, now allows pixel based width and height | 4694 PROPS is a property list, now allows pixel based width and height |
5303 specifications, as well as enhanced horizontal text alignment. | 4695 specifications, as well as enhanced horizontal text alignment. |
5350 height) of the specified image. | 4742 height) of the specified image. |
5351 | 4743 |
5352 The form `(+ EXPR ...)' adds up the value of the expressions. | 4744 The form `(+ EXPR ...)' adds up the value of the expressions. |
5353 The form `(- EXPR ...)' negates or subtracts the value of the expressions. | 4745 The form `(- EXPR ...)' negates or subtracts the value of the expressions. |
5354 | 4746 |
5355 +++ | |
5356 *** Normally, the cursor is displayed at the end of any overlay and | 4747 *** Normally, the cursor is displayed at the end of any overlay and |
5357 text property string that may be present at the current window | 4748 text property string that may be present at the current window |
5358 position. The cursor can now be placed on any character of such | 4749 position. The cursor can now be placed on any character of such |
5359 strings by giving that character a non-nil `cursor' text property. | 4750 strings by giving that character a non-nil `cursor' text property. |
5360 | 4751 |
5361 +++ | |
5362 *** The display space :width and :align-to text properties are now | 4752 *** The display space :width and :align-to text properties are now |
5363 supported on text terminals. | 4753 supported on text terminals. |
5364 | 4754 |
5365 +++ | |
5366 *** Support for displaying image slices | 4755 *** Support for displaying image slices |
5367 | 4756 |
5368 **** New display property (slice X Y WIDTH HEIGHT) can be used with | 4757 **** New display property (slice X Y WIDTH HEIGHT) can be used with |
5369 an image property to display only a specific slice of the image. | 4758 an image property to display only a specific slice of the image. |
5370 | 4759 |
5372 specify image slice (X Y WIDTH HEIGHT). | 4761 specify image slice (X Y WIDTH HEIGHT). |
5373 | 4762 |
5374 **** New function `insert-sliced-image' inserts a given image as a | 4763 **** New function `insert-sliced-image' inserts a given image as a |
5375 specified number of evenly sized slices (rows x columns). | 4764 specified number of evenly sized slices (rows x columns). |
5376 | 4765 |
5377 +++ | |
5378 *** Images can now have an associated image map via the :map property. | 4766 *** Images can now have an associated image map via the :map property. |
5379 | 4767 |
5380 An image map is an alist where each element has the format (AREA ID PLIST). | 4768 An image map is an alist where each element has the format (AREA ID PLIST). |
5381 An AREA is specified as either a rectangle, a circle, or a polygon: | 4769 An AREA is specified as either a rectangle, a circle, or a polygon: |
5382 A rectangle is a cons (rect . ((X0 . Y0) . (X1 . Y1))) specifying the | 4770 A rectangle is a cons (rect . ((X0 . Y0) . (X1 . Y1))) specifying the |
5395 | 4783 |
5396 When you click the mouse when the mouse pointer is over a hot-spot, | 4784 When you click the mouse when the mouse pointer is over a hot-spot, |
5397 an event is composed by combining the ID of the hot-spot with the | 4785 an event is composed by combining the ID of the hot-spot with the |
5398 mouse event, e.g. [area4 mouse-1] if the hot-spot's ID is `area4'. | 4786 mouse event, e.g. [area4 mouse-1] if the hot-spot's ID is `area4'. |
5399 | 4787 |
5400 +++ | |
5401 *** The function `find-image' now searches in etc/images/ and etc/. | 4788 *** The function `find-image' now searches in etc/images/ and etc/. |
5402 The new variable `image-load-path' is a list of locations in which to | 4789 The new variable `image-load-path' is a list of locations in which to |
5403 search for image files. The default is to search in etc/images, then | 4790 search for image files. The default is to search in etc/images, then |
5404 in etc/, and finally in the directories specified by `load-path'. | 4791 in etc/, and finally in the directories specified by `load-path'. |
5405 Subdirectories of etc/ and etc/images are not recursively searched; if | 4792 Subdirectories of etc/ and etc/images are not recursively searched; if |
5409 (defimage foo-image '((:type xpm :file "foo/bar.xpm"))) | 4796 (defimage foo-image '((:type xpm :file "foo/bar.xpm"))) |
5410 | 4797 |
5411 Note that all images formerly located in the lisp directory have been | 4798 Note that all images formerly located in the lisp directory have been |
5412 moved to etc/images. | 4799 moved to etc/images. |
5413 | 4800 |
5414 +++ | |
5415 *** New function `image-load-path-for-library' returns a suitable | 4801 *** New function `image-load-path-for-library' returns a suitable |
5416 search path for images relative to library. This function is useful in | 4802 search path for images relative to library. This function is useful in |
5417 external packages to save users from having to update | 4803 external packages to save users from having to update |
5418 `image-load-path'. | 4804 `image-load-path'. |
5419 | 4805 |
5420 +++ | |
5421 *** The new variable `max-image-size' defines the maximum size of | 4806 *** The new variable `max-image-size' defines the maximum size of |
5422 images that Emacs will load and display. | 4807 images that Emacs will load and display. |
5423 | 4808 |
5424 +++ | |
5425 *** The new variable `display-mm-dimensions-alist' can be used to | 4809 *** The new variable `display-mm-dimensions-alist' can be used to |
5426 override incorrect graphical display dimensions returned by functions | 4810 override incorrect graphical display dimensions returned by functions |
5427 `display-mm-height' and `display-mm-width'. | 4811 `display-mm-height' and `display-mm-width'. |
5428 | 4812 |
5429 ** Mouse pointer features: | 4813 ** Mouse pointer features: |
5430 | 4814 |
5431 +++ (lispref) | |
5432 --- (man) | |
5433 *** The mouse pointer shape in void text areas (i.e. after the end of a | 4815 *** The mouse pointer shape in void text areas (i.e. after the end of a |
5434 line or below the last line in the buffer) of the text window is now | 4816 line or below the last line in the buffer) of the text window is now |
5435 controlled by the new variable `void-text-area-pointer'. The default | 4817 controlled by the new variable `void-text-area-pointer'. The default |
5436 is to use the `arrow' (non-text) pointer. Other choices are `text' | 4818 is to use the `arrow' (non-text) pointer. Other choices are `text' |
5437 (or nil), `hand', `vdrag', `hdrag', `modeline', and `hourglass'. | 4819 (or nil), `hand', `vdrag', `hdrag', `modeline', and `hourglass'. |
5438 | 4820 |
5439 +++ | |
5440 *** The mouse pointer shape over an image can now be controlled by the | 4821 *** The mouse pointer shape over an image can now be controlled by the |
5441 :pointer image property. | 4822 :pointer image property. |
5442 | 4823 |
5443 +++ | |
5444 *** The mouse pointer shape over ordinary text or images can now be | 4824 *** The mouse pointer shape over ordinary text or images can now be |
5445 controlled/overridden via the `pointer' text property. | 4825 controlled/overridden via the `pointer' text property. |
5446 | 4826 |
5447 ** Mouse event enhancements: | 4827 ** Mouse event enhancements: |
5448 | 4828 |
5449 +++ | |
5450 *** Mouse events for clicks on window fringes now specify `left-fringe' | 4829 *** Mouse events for clicks on window fringes now specify `left-fringe' |
5451 or `right-fringe' as the area. | 4830 or `right-fringe' as the area. |
5452 | 4831 |
5453 +++ | |
5454 *** All mouse events now include a buffer position regardless of where | 4832 *** All mouse events now include a buffer position regardless of where |
5455 you clicked. For mouse clicks in window margins and fringes, this is | 4833 you clicked. For mouse clicks in window margins and fringes, this is |
5456 a sensible buffer position corresponding to the surrounding text. | 4834 a sensible buffer position corresponding to the surrounding text. |
5457 | 4835 |
5458 +++ | |
5459 *** `posn-point' now returns buffer position for non-text area events. | 4836 *** `posn-point' now returns buffer position for non-text area events. |
5460 | 4837 |
5461 +++ | |
5462 *** Function `mouse-set-point' now works for events outside text area. | 4838 *** Function `mouse-set-point' now works for events outside text area. |
5463 | 4839 |
5464 +++ | |
5465 *** New function `posn-area' returns window area clicked on (nil means | 4840 *** New function `posn-area' returns window area clicked on (nil means |
5466 text area). | 4841 text area). |
5467 | 4842 |
5468 +++ | |
5469 *** Mouse events include actual glyph column and row for all event types | 4843 *** Mouse events include actual glyph column and row for all event types |
5470 and all areas. | 4844 and all areas. |
5471 | 4845 |
5472 +++ | |
5473 *** New function `posn-actual-col-row' returns the actual glyph coordinates | 4846 *** New function `posn-actual-col-row' returns the actual glyph coordinates |
5474 of the mouse event position. | 4847 of the mouse event position. |
5475 | 4848 |
5476 +++ | |
5477 *** Mouse events can now indicate an image object clicked on. | 4849 *** Mouse events can now indicate an image object clicked on. |
5478 | 4850 |
5479 +++ | |
5480 *** Mouse events include relative X and Y pixel coordinates relative to | 4851 *** Mouse events include relative X and Y pixel coordinates relative to |
5481 the top left corner of the object (image or character) clicked on. | 4852 the top left corner of the object (image or character) clicked on. |
5482 | 4853 |
5483 +++ | |
5484 *** Mouse events include the pixel width and height of the object | 4854 *** Mouse events include the pixel width and height of the object |
5485 (image or character) clicked on. | 4855 (image or character) clicked on. |
5486 | 4856 |
5487 +++ | |
5488 *** New functions 'posn-object', 'posn-object-x-y', 'posn-object-width-height'. | 4857 *** New functions 'posn-object', 'posn-object-x-y', 'posn-object-width-height'. |
5489 | 4858 |
5490 These return the image or string object of a mouse click, the X and Y | 4859 These return the image or string object of a mouse click, the X and Y |
5491 pixel coordinates relative to the top left corner of that object, and | 4860 pixel coordinates relative to the top left corner of that object, and |
5492 the total width and height of that object. | 4861 the total width and height of that object. |
5493 | 4862 |
5494 ** Text property and overlay changes: | 4863 ** Text property and overlay changes: |
5495 | 4864 |
5496 +++ | |
5497 *** Arguments for `remove-overlays' are now optional, so that you can | 4865 *** Arguments for `remove-overlays' are now optional, so that you can |
5498 remove all overlays in the buffer with just (remove-overlays). | 4866 remove all overlays in the buffer with just (remove-overlays). |
5499 | 4867 |
5500 +++ | |
5501 *** New variable `char-property-alias-alist'. | 4868 *** New variable `char-property-alias-alist'. |
5502 | 4869 |
5503 This variable allows you to create alternative names for text | 4870 This variable allows you to create alternative names for text |
5504 properties. It works at the same level as `default-text-properties', | 4871 properties. It works at the same level as `default-text-properties', |
5505 although it applies to overlays as well. This variable was introduced | 4872 although it applies to overlays as well. This variable was introduced |
5506 to implement the `font-lock-face' property. | 4873 to implement the `font-lock-face' property. |
5507 | 4874 |
5508 +++ | |
5509 *** New function `get-char-property-and-overlay' accepts the same | 4875 *** New function `get-char-property-and-overlay' accepts the same |
5510 arguments as `get-char-property' and returns a cons whose car is the | 4876 arguments as `get-char-property' and returns a cons whose car is the |
5511 return value of `get-char-property' called with those arguments and | 4877 return value of `get-char-property' called with those arguments and |
5512 whose cdr is the overlay in which the property was found, or nil if | 4878 whose cdr is the overlay in which the property was found, or nil if |
5513 it was found as a text property or not found at all. | 4879 it was found as a text property or not found at all. |
5514 | 4880 |
5515 +++ | |
5516 *** The new function `remove-list-of-text-properties'. | 4881 *** The new function `remove-list-of-text-properties'. |
5517 | 4882 |
5518 It is like `remove-text-properties' except that it takes a list of | 4883 It is like `remove-text-properties' except that it takes a list of |
5519 property names as argument rather than a property list. | 4884 property names as argument rather than a property list. |
5520 | 4885 |
5521 ** Face changes | 4886 ** Face changes |
5522 | 4887 |
5523 +++ | |
5524 *** The variable `facemenu-unlisted-faces' has been removed. | 4888 *** The variable `facemenu-unlisted-faces' has been removed. |
5525 Emacs has a lot more faces than in the past, and nearly all of them | 4889 Emacs has a lot more faces than in the past, and nearly all of them |
5526 needed to be excluded. The new variable `facemenu-listed-faces' lists | 4890 needed to be excluded. The new variable `facemenu-listed-faces' lists |
5527 the faces to include in the face menu. | 4891 the faces to include in the face menu. |
5528 | 4892 |
5529 +++ | |
5530 *** The new face attribute condition `min-colors' can be used to tailor | 4893 *** The new face attribute condition `min-colors' can be used to tailor |
5531 the face color to the number of colors supported by a display, and | 4894 the face color to the number of colors supported by a display, and |
5532 define the foreground and background colors accordingly so that they | 4895 define the foreground and background colors accordingly so that they |
5533 look best on a terminal that supports at least this many colors. This | 4896 look best on a terminal that supports at least this many colors. This |
5534 is now the preferred method for defining default faces in a way that | 4897 is now the preferred method for defining default faces in a way that |
5535 makes a good use of the capabilities of the display. | 4898 makes a good use of the capabilities of the display. |
5536 | 4899 |
5537 +++ | |
5538 *** New function `display-supports-face-attributes-p' can be used to test | 4900 *** New function `display-supports-face-attributes-p' can be used to test |
5539 whether a given set of face attributes is actually displayable. | 4901 whether a given set of face attributes is actually displayable. |
5540 | 4902 |
5541 A new predicate `supports' has also been added to the `defface' face | 4903 A new predicate `supports' has also been added to the `defface' face |
5542 specification language, which can be used to do this test for faces | 4904 specification language, which can be used to do this test for faces |
5543 defined with `defface'. | 4905 defined with `defface'. |
5544 | 4906 |
5545 --- | |
5546 *** The special treatment of faces whose names are of the form `fg:COLOR' | 4907 *** The special treatment of faces whose names are of the form `fg:COLOR' |
5547 or `bg:COLOR' has been removed. Lisp programs should use the | 4908 or `bg:COLOR' has been removed. Lisp programs should use the |
5548 `defface' facility for defining faces with specific colors, or use | 4909 `defface' facility for defining faces with specific colors, or use |
5549 the feature of specifying the face attributes :foreground and :background | 4910 the feature of specifying the face attributes :foreground and :background |
5550 directly in the `face' property instead of using a named face. | 4911 directly in the `face' property instead of using a named face. |
5551 | 4912 |
5552 +++ | |
5553 *** The first face specification element in a defface can specify | 4913 *** The first face specification element in a defface can specify |
5554 `default' instead of frame classification. Then its attributes act as | 4914 `default' instead of frame classification. Then its attributes act as |
5555 defaults that apply to all the subsequent cases (and can be overridden | 4915 defaults that apply to all the subsequent cases (and can be overridden |
5556 by them). | 4916 by them). |
5557 | 4917 |
5558 +++ | |
5559 *** The variable `face-font-rescale-alist' specifies how much larger | 4918 *** The variable `face-font-rescale-alist' specifies how much larger |
5560 (or smaller) font we should use. For instance, if the value is | 4919 (or smaller) font we should use. For instance, if the value is |
5561 '((SOME-FONTNAME-PATTERN . 1.3)) and a face requests a font of 10 | 4920 '((SOME-FONTNAME-PATTERN . 1.3)) and a face requests a font of 10 |
5562 point, we actually use a font of 13 point if the font matches | 4921 point, we actually use a font of 13 point if the font matches |
5563 SOME-FONTNAME-PATTERN. | 4922 SOME-FONTNAME-PATTERN. |
5564 | 4923 |
5565 --- | |
5566 *** The function `face-differs-from-default-p' now truly checks | 4924 *** The function `face-differs-from-default-p' now truly checks |
5567 whether the given face displays differently from the default face or | 4925 whether the given face displays differently from the default face or |
5568 not (previously it did only a very cursory check). | 4926 not (previously it did only a very cursory check). |
5569 | 4927 |
5570 +++ | |
5571 *** `face-attribute', `face-foreground', `face-background', `face-stipple'. | 4928 *** `face-attribute', `face-foreground', `face-background', `face-stipple'. |
5572 | 4929 |
5573 These now accept a new optional argument, INHERIT, which controls how | 4930 These now accept a new optional argument, INHERIT, which controls how |
5574 face inheritance is used when determining the value of a face | 4931 face inheritance is used when determining the value of a face |
5575 attribute. | 4932 attribute. |
5576 | 4933 |
5577 +++ | |
5578 *** New functions `face-attribute-relative-p' and `merge-face-attribute' | 4934 *** New functions `face-attribute-relative-p' and `merge-face-attribute' |
5579 help with handling relative face attributes. | 4935 help with handling relative face attributes. |
5580 | 4936 |
5581 +++ | |
5582 *** The priority of faces in an :inherit attribute face list is reversed. | 4937 *** The priority of faces in an :inherit attribute face list is reversed. |
5583 | 4938 |
5584 If a face contains an :inherit attribute with a list of faces, earlier | 4939 If a face contains an :inherit attribute with a list of faces, earlier |
5585 faces in the list override later faces in the list; in previous | 4940 faces in the list override later faces in the list; in previous |
5586 releases of Emacs, the order was the opposite. This change was made | 4941 releases of Emacs, the order was the opposite. This change was made |
5587 so that :inherit face lists operate identically to face lists in text | 4942 so that :inherit face lists operate identically to face lists in text |
5588 `face' properties. | 4943 `face' properties. |
5589 | 4944 |
5590 --- | |
5591 *** On terminals, faces with the :inverse-video attribute are displayed | 4945 *** On terminals, faces with the :inverse-video attribute are displayed |
5592 with swapped foreground and background colors even when one of them is | 4946 with swapped foreground and background colors even when one of them is |
5593 not specified. In previous releases of Emacs, if either foreground | 4947 not specified. In previous releases of Emacs, if either foreground |
5594 or background color was unspecified, colors were not swapped. This | 4948 or background color was unspecified, colors were not swapped. This |
5595 was inconsistent with the face behavior under X. | 4949 was inconsistent with the face behavior under X. |
5596 | 4950 |
5597 --- | |
5598 *** `set-fontset-font', `fontset-info', `fontset-font' now operate on | 4951 *** `set-fontset-font', `fontset-info', `fontset-font' now operate on |
5599 the default fontset if the argument NAME is nil.. | 4952 the default fontset if the argument NAME is nil.. |
5600 | 4953 |
5601 ** Font-Lock changes: | 4954 ** Font-Lock changes: |
5602 | 4955 |
5603 +++ | |
5604 *** New special text property `font-lock-face'. | 4956 *** New special text property `font-lock-face'. |
5605 | 4957 |
5606 This property acts like the `face' property, but it is controlled by | 4958 This property acts like the `face' property, but it is controlled by |
5607 M-x font-lock-mode. It is not, strictly speaking, a builtin text | 4959 M-x font-lock-mode. It is not, strictly speaking, a builtin text |
5608 property. Instead, it is implemented inside font-core.el, using the | 4960 property. Instead, it is implemented inside font-core.el, using the |
5609 new variable `char-property-alias-alist'. | 4961 new variable `char-property-alias-alist'. |
5610 | 4962 |
5611 +++ | |
5612 *** font-lock can manage arbitrary text-properties beside `face'. | 4963 *** font-lock can manage arbitrary text-properties beside `face'. |
5613 | 4964 |
5614 **** the FACENAME returned in `font-lock-keywords' can be a list of the | 4965 **** the FACENAME returned in `font-lock-keywords' can be a list of the |
5615 form (face FACE PROP1 VAL1 PROP2 VAL2 ...) so you can set other | 4966 form (face FACE PROP1 VAL1 PROP2 VAL2 ...) so you can set other |
5616 properties than `face'. | 4967 properties than `face'. |
5617 | 4968 |
5618 **** `font-lock-extra-managed-props' can be set to make sure those | 4969 **** `font-lock-extra-managed-props' can be set to make sure those |
5619 extra properties are automatically cleaned up by font-lock. | 4970 extra properties are automatically cleaned up by font-lock. |
5620 | 4971 |
5621 --- | |
5622 *** jit-lock obeys a new text-property `jit-lock-defer-multiline'. | 4972 *** jit-lock obeys a new text-property `jit-lock-defer-multiline'. |
5623 | 4973 |
5624 If a piece of text with that property gets contextually refontified | 4974 If a piece of text with that property gets contextually refontified |
5625 (see `jit-lock-defer-contextually'), then all of that text will | 4975 (see `jit-lock-defer-contextually'), then all of that text will |
5626 be refontified. This is useful when the syntax of a textual element | 4976 be refontified. This is useful when the syntax of a textual element |
5643 up to whole lines, or to extend the region to include all related lines | 4993 up to whole lines, or to extend the region to include all related lines |
5644 of multiline constructs so that such constructs get properly recognized. | 4994 of multiline constructs so that such constructs get properly recognized. |
5645 | 4995 |
5646 ** Major mode mechanism changes: | 4996 ** Major mode mechanism changes: |
5647 | 4997 |
5648 +++ | |
5649 *** If new variable `auto-mode-case-fold' is set to a non-nil value, | 4998 *** If new variable `auto-mode-case-fold' is set to a non-nil value, |
5650 Emacs will perform a second case-insensitive search through | 4999 Emacs will perform a second case-insensitive search through |
5651 `auto-mode-alist' if the first case-sensitive search fails. | 5000 `auto-mode-alist' if the first case-sensitive search fails. |
5652 This means that a file FILE.TXT is opened in text-mode, and a file PROG.PY | 5001 This means that a file FILE.TXT is opened in text-mode, and a file PROG.PY |
5653 is opened in python-mode. Note however, that independent of this | 5002 is opened in python-mode. Note however, that independent of this |
5654 setting, *.C files are usually recognized as C++ files. | 5003 setting, *.C files are usually recognized as C++ files. |
5655 It also has no effect on systems with case-insensitive file names. | 5004 It also has no effect on systems with case-insensitive file names. |
5656 | 5005 |
5657 +++ | |
5658 *** New variable `magic-mode-alist' determines major mode for a file by | 5006 *** New variable `magic-mode-alist' determines major mode for a file by |
5659 looking at the file contents. It takes precedence over `auto-mode-alist'. | 5007 looking at the file contents. It takes precedence over `auto-mode-alist'. |
5660 | 5008 |
5661 +++ | |
5662 *** An interpreter magic line (if present) takes precedence over the | 5009 *** An interpreter magic line (if present) takes precedence over the |
5663 file name when setting the major mode. | 5010 file name when setting the major mode. |
5664 | 5011 |
5665 +++ | |
5666 *** XML or SGML major mode is selected when file starts with an `<?xml' | 5012 *** XML or SGML major mode is selected when file starts with an `<?xml' |
5667 or `<!DOCTYPE' declaration. | 5013 or `<!DOCTYPE' declaration. |
5668 | 5014 |
5669 +++ | |
5670 *** Use the new function `run-mode-hooks' to run the major mode's mode hook. | 5015 *** Use the new function `run-mode-hooks' to run the major mode's mode hook. |
5671 | 5016 |
5672 +++ | |
5673 *** All major mode functions should now run the new normal hook | 5017 *** All major mode functions should now run the new normal hook |
5674 `after-change-major-mode-hook', at their very end, after the mode | 5018 `after-change-major-mode-hook', at their very end, after the mode |
5675 hooks. `run-mode-hooks' does this automatically. | 5019 hooks. `run-mode-hooks' does this automatically. |
5676 | 5020 |
5677 --- | |
5678 *** If a major mode function has a non-nil `no-clone-indirect' | 5021 *** If a major mode function has a non-nil `no-clone-indirect' |
5679 property, `clone-indirect-buffer' signals an error if you use | 5022 property, `clone-indirect-buffer' signals an error if you use |
5680 it in that buffer. | 5023 it in that buffer. |
5681 | 5024 |
5682 +++ | |
5683 *** Major modes can define `eldoc-documentation-function' | 5025 *** Major modes can define `eldoc-documentation-function' |
5684 locally to provide Eldoc functionality by some method appropriate to | 5026 locally to provide Eldoc functionality by some method appropriate to |
5685 the language. | 5027 the language. |
5686 | 5028 |
5687 +++ | |
5688 *** `define-derived-mode' by default creates a new empty abbrev table. | 5029 *** `define-derived-mode' by default creates a new empty abbrev table. |
5689 It does not copy abbrevs from the parent mode's abbrev table. | 5030 It does not copy abbrevs from the parent mode's abbrev table. |
5690 | 5031 |
5691 +++ | |
5692 *** The new function `run-mode-hooks' and the new macro `delay-mode-hooks' | 5032 *** The new function `run-mode-hooks' and the new macro `delay-mode-hooks' |
5693 are used by `define-derived-mode' to make sure the mode hook for the | 5033 are used by `define-derived-mode' to make sure the mode hook for the |
5694 parent mode is run at the end of the child mode. | 5034 parent mode is run at the end of the child mode. |
5695 | 5035 |
5696 ** Minor mode changes: | 5036 ** Minor mode changes: |
5697 | 5037 |
5698 +++ | |
5699 *** `define-minor-mode' now accepts arbitrary additional keyword arguments | 5038 *** `define-minor-mode' now accepts arbitrary additional keyword arguments |
5700 and simply passes them to `defcustom', if applicable. | 5039 and simply passes them to `defcustom', if applicable. |
5701 | 5040 |
5702 +++ | |
5703 *** `minor-mode-list' now holds a list of minor mode commands. | 5041 *** `minor-mode-list' now holds a list of minor mode commands. |
5704 | 5042 |
5705 +++ | |
5706 *** `define-globalized-minor-mode'. | 5043 *** `define-globalized-minor-mode'. |
5707 | 5044 |
5708 This is a new name for what was formerly called | 5045 This is a new name for what was formerly called |
5709 `easy-mmode-define-global-mode'. The old name remains as an alias. | 5046 `easy-mmode-define-global-mode'. The old name remains as an alias. |
5710 | 5047 |
5711 ** Command loop changes: | 5048 ** Command loop changes: |
5712 | 5049 |
5713 +++ | |
5714 *** The new function `called-interactively-p' does what many people | 5050 *** The new function `called-interactively-p' does what many people |
5715 have mistakenly believed `interactive-p' to do: it returns t if the | 5051 have mistakenly believed `interactive-p' to do: it returns t if the |
5716 calling function was called through `call-interactively'. | 5052 calling function was called through `call-interactively'. |
5717 | 5053 |
5718 Only use this when you cannot solve the problem by adding a new | 5054 Only use this when you cannot solve the problem by adding a new |
5719 INTERACTIVE argument to the command. | 5055 INTERACTIVE argument to the command. |
5720 | 5056 |
5721 +++ | |
5722 *** The function `commandp' takes an additional optional argument. | 5057 *** The function `commandp' takes an additional optional argument. |
5723 | 5058 |
5724 If it is non-nil, then `commandp' checks for a function that could be | 5059 If it is non-nil, then `commandp' checks for a function that could be |
5725 called with `call-interactively', and does not return t for keyboard | 5060 called with `call-interactively', and does not return t for keyboard |
5726 macros. | 5061 macros. |
5727 | 5062 |
5728 +++ | |
5729 *** When a command returns, the command loop moves point out from | 5063 *** When a command returns, the command loop moves point out from |
5730 within invisible text, in the same way it moves out from within text | 5064 within invisible text, in the same way it moves out from within text |
5731 covered by an image or composition property. | 5065 covered by an image or composition property. |
5732 | 5066 |
5733 This makes it generally unnecessary to mark invisible text as intangible. | 5067 This makes it generally unnecessary to mark invisible text as intangible. |
5734 This is particularly good because the intangible property often has | 5068 This is particularly good because the intangible property often has |
5735 unexpected side-effects since the property applies to everything | 5069 unexpected side-effects since the property applies to everything |
5736 (including `goto-char', ...) whereas this new code is only run after | 5070 (including `goto-char', ...) whereas this new code is only run after |
5737 `post-command-hook' and thus does not care about intermediate states. | 5071 `post-command-hook' and thus does not care about intermediate states. |
5738 | 5072 |
5739 +++ | |
5740 *** If a command sets `transient-mark-mode' to `only', that | 5073 *** If a command sets `transient-mark-mode' to `only', that |
5741 enables Transient Mark mode for the following command only. | 5074 enables Transient Mark mode for the following command only. |
5742 During that following command, the value of `transient-mark-mode' | 5075 During that following command, the value of `transient-mark-mode' |
5743 is `identity'. If it is still `identity' at the end of the command, | 5076 is `identity'. If it is still `identity' at the end of the command, |
5744 the next return to the command loop changes to nil. | 5077 the next return to the command loop changes to nil. |
5745 | 5078 |
5746 +++ | |
5747 *** Both the variable and the function `disabled-command-hook' have | 5079 *** Both the variable and the function `disabled-command-hook' have |
5748 been renamed to `disabled-command-function'. The variable | 5080 been renamed to `disabled-command-function'. The variable |
5749 `disabled-command-hook' has been kept as an obsolete alias. | 5081 `disabled-command-hook' has been kept as an obsolete alias. |
5750 | 5082 |
5751 +++ | |
5752 *** `emacsserver' now runs `pre-command-hook' and `post-command-hook' | 5083 *** `emacsserver' now runs `pre-command-hook' and `post-command-hook' |
5753 when it receives a request from emacsclient. | 5084 when it receives a request from emacsclient. |
5754 | 5085 |
5755 +++ | |
5756 *** `current-idle-time' reports how long Emacs has been idle. | 5086 *** `current-idle-time' reports how long Emacs has been idle. |
5757 | 5087 |
5758 ** Lisp file loading changes: | 5088 ** Lisp file loading changes: |
5759 | 5089 |
5760 +++ | |
5761 *** `load-history' can now have elements of the form (t . FUNNAME), | 5090 *** `load-history' can now have elements of the form (t . FUNNAME), |
5762 which means FUNNAME was previously defined as an autoload (before the | 5091 which means FUNNAME was previously defined as an autoload (before the |
5763 current file redefined it). | 5092 current file redefined it). |
5764 | 5093 |
5765 +++ | |
5766 *** `load-history' now records (defun . FUNNAME) when a function is | 5094 *** `load-history' now records (defun . FUNNAME) when a function is |
5767 defined. For a variable, it records just the variable name. | 5095 defined. For a variable, it records just the variable name. |
5768 | 5096 |
5769 +++ | |
5770 *** The function `symbol-file' can now search specifically for function, | 5097 *** The function `symbol-file' can now search specifically for function, |
5771 variable or face definitions. | 5098 variable or face definitions. |
5772 | 5099 |
5773 +++ | |
5774 *** `provide' and `featurep' now accept an optional second argument | 5100 *** `provide' and `featurep' now accept an optional second argument |
5775 to test/provide subfeatures. Also `provide' now checks `after-load-alist' | 5101 to test/provide subfeatures. Also `provide' now checks `after-load-alist' |
5776 and runs any code associated with the provided feature. | 5102 and runs any code associated with the provided feature. |
5777 | 5103 |
5778 --- | |
5779 *** The variable `recursive-load-depth-limit' has been deleted. | 5104 *** The variable `recursive-load-depth-limit' has been deleted. |
5780 Emacs now signals an error if the same file is loaded with more | 5105 Emacs now signals an error if the same file is loaded with more |
5781 than 3 levels of nesting. | 5106 than 3 levels of nesting. |
5782 | 5107 |
5783 +++ | |
5784 ** Byte compiler changes: | 5108 ** Byte compiler changes: |
5785 | 5109 |
5786 *** The byte compiler now displays the actual line and character | 5110 *** The byte compiler now displays the actual line and character |
5787 position of errors, where possible. Additionally, the form of its | 5111 position of errors, where possible. Additionally, the form of its |
5788 warning and error messages have been brought into line with GNU standards | 5112 warning and error messages have been brought into line with GNU standards |
5815 generally run in Emacs and vice versa, this optimization doesn't lose | 5139 generally run in Emacs and vice versa, this optimization doesn't lose |
5816 you anything. | 5140 you anything. |
5817 | 5141 |
5818 *** The local variable `no-byte-compile' in Lisp files is now obeyed. | 5142 *** The local variable `no-byte-compile' in Lisp files is now obeyed. |
5819 | 5143 |
5820 --- | |
5821 *** When a Lisp file uses CL functions at run-time, compiling the file | 5144 *** When a Lisp file uses CL functions at run-time, compiling the file |
5822 now issues warnings about these calls, unless the file performs | 5145 now issues warnings about these calls, unless the file performs |
5823 (require 'cl) when loaded. | 5146 (require 'cl) when loaded. |
5824 | 5147 |
5825 ** Frame operations: | 5148 ** Frame operations: |
5826 | 5149 |
5827 +++ | |
5828 *** New functions `frame-current-scroll-bars' and `window-current-scroll-bars'. | 5150 *** New functions `frame-current-scroll-bars' and `window-current-scroll-bars'. |
5829 | 5151 |
5830 These functions return the current locations of the vertical and | 5152 These functions return the current locations of the vertical and |
5831 horizontal scroll bars in a frame or window. | 5153 horizontal scroll bars in a frame or window. |
5832 | 5154 |
5833 +++ | |
5834 *** The new function `modify-all-frames-parameters' modifies parameters | 5155 *** The new function `modify-all-frames-parameters' modifies parameters |
5835 for all (existing and future) frames. | 5156 for all (existing and future) frames. |
5836 | 5157 |
5837 +++ | |
5838 *** The new frame parameter `tty-color-mode' specifies the mode to use | 5158 *** The new frame parameter `tty-color-mode' specifies the mode to use |
5839 for color support on character terminal frames. Its value can be a | 5159 for color support on character terminal frames. Its value can be a |
5840 number of colors to support, or a symbol. See the Emacs Lisp | 5160 number of colors to support, or a symbol. See the Emacs Lisp |
5841 Reference manual for more detailed documentation. | 5161 Reference manual for more detailed documentation. |
5842 | 5162 |
5843 +++ | |
5844 *** When using non-toolkit scroll bars with the default width, | 5163 *** When using non-toolkit scroll bars with the default width, |
5845 the `scroll-bar-width' frame parameter value is nil. | 5164 the `scroll-bar-width' frame parameter value is nil. |
5846 | 5165 |
5847 ** Mule changes: | 5166 ** Mule changes: |
5848 | 5167 |
5849 +++ | |
5850 *** Already true in Emacs 21.1, but not emphasized clearly enough: | 5168 *** Already true in Emacs 21.1, but not emphasized clearly enough: |
5851 | 5169 |
5852 Multibyte buffers can now faithfully record all 256 character codes | 5170 Multibyte buffers can now faithfully record all 256 character codes |
5853 from 0 to 255. As a result, most of the past reasons to use unibyte | 5171 from 0 to 255. As a result, most of the past reasons to use unibyte |
5854 buffers no longer exist. We only know of three reasons to use them | 5172 buffers no longer exist. We only know of three reasons to use them |
5860 the time it takes to convert the format. | 5178 the time it takes to convert the format. |
5861 | 5179 |
5862 3. For binary files where format conversion would be pointless and | 5180 3. For binary files where format conversion would be pointless and |
5863 wasteful. | 5181 wasteful. |
5864 | 5182 |
5865 --- | |
5866 *** `set-buffer-file-coding-system' now takes an additional argument, | 5183 *** `set-buffer-file-coding-system' now takes an additional argument, |
5867 NOMODIFY. If it is non-nil, it means don't mark the buffer modified. | 5184 NOMODIFY. If it is non-nil, it means don't mark the buffer modified. |
5868 | 5185 |
5869 +++ | |
5870 *** The new variable `auto-coding-functions' lets you specify functions | 5186 *** The new variable `auto-coding-functions' lets you specify functions |
5871 to examine a file being visited and deduce the proper coding system | 5187 to examine a file being visited and deduce the proper coding system |
5872 for it. (If the coding system is detected incorrectly for a specific | 5188 for it. (If the coding system is detected incorrectly for a specific |
5873 file, you can put a `coding:' tags to override it.) | 5189 file, you can put a `coding:' tags to override it.) |
5874 | 5190 |
5875 +++ | |
5876 *** The new variable `ascii-case-table' stores the case table for the | 5191 *** The new variable `ascii-case-table' stores the case table for the |
5877 ascii character set. Language environments (such as Turkish) may | 5192 ascii character set. Language environments (such as Turkish) may |
5878 alter the case correspondences of ASCII characters. This variable | 5193 alter the case correspondences of ASCII characters. This variable |
5879 saves the original ASCII case table before any such changes. | 5194 saves the original ASCII case table before any such changes. |
5880 | 5195 |
5881 --- | |
5882 *** The new function `merge-coding-systems' fills in unspecified aspects | 5196 *** The new function `merge-coding-systems' fills in unspecified aspects |
5883 of one coding system from another coding system. | 5197 of one coding system from another coding system. |
5884 | 5198 |
5885 --- | |
5886 *** New coding system property `mime-text-unsuitable' indicates that | 5199 *** New coding system property `mime-text-unsuitable' indicates that |
5887 the coding system's `mime-charset' is not suitable for MIME text | 5200 the coding system's `mime-charset' is not suitable for MIME text |
5888 parts, e.g. utf-16. | 5201 parts, e.g. utf-16. |
5889 | 5202 |
5890 +++ | |
5891 *** New function `decode-coding-inserted-region' decodes a region as if | 5203 *** New function `decode-coding-inserted-region' decodes a region as if |
5892 it is read from a file without decoding. | 5204 it is read from a file without decoding. |
5893 | 5205 |
5894 --- | |
5895 *** New CCL functions `lookup-character' and `lookup-integer' access | 5206 *** New CCL functions `lookup-character' and `lookup-integer' access |
5896 hash tables defined by the Lisp function `define-translation-hash-table'. | 5207 hash tables defined by the Lisp function `define-translation-hash-table'. |
5897 | 5208 |
5898 --- | |
5899 *** New function `quail-find-key' returns a list of keys to type in the | 5209 *** New function `quail-find-key' returns a list of keys to type in the |
5900 current input method to input a character. | 5210 current input method to input a character. |
5901 | 5211 |
5902 ** Mode line changes: | 5212 ** Mode line changes: |
5903 | 5213 |
5904 +++ | |
5905 *** New function `format-mode-line'. | 5214 *** New function `format-mode-line'. |
5906 | 5215 |
5907 This returns the mode line or header line of the selected (or a | 5216 This returns the mode line or header line of the selected (or a |
5908 specified) window as a string with or without text properties. | 5217 specified) window as a string with or without text properties. |
5909 | 5218 |
5910 +++ | |
5911 *** The new mode-line construct `(:propertize ELT PROPS...)' can be | 5219 *** The new mode-line construct `(:propertize ELT PROPS...)' can be |
5912 used to add text properties to mode-line elements. | 5220 used to add text properties to mode-line elements. |
5913 | 5221 |
5914 +++ | |
5915 *** The new `%i' and `%I' constructs for `mode-line-format' can be used | 5222 *** The new `%i' and `%I' constructs for `mode-line-format' can be used |
5916 to display the size of the accessible part of the buffer on the mode | 5223 to display the size of the accessible part of the buffer on the mode |
5917 line. | 5224 line. |
5918 | 5225 |
5919 +++ | |
5920 *** Mouse-face on mode-line (and header-line) is now supported. | 5226 *** Mouse-face on mode-line (and header-line) is now supported. |
5921 | 5227 |
5922 ** Menu manipulation changes: | 5228 ** Menu manipulation changes: |
5923 | 5229 |
5924 --- | |
5925 *** To manipulate the File menu using easy-menu, you must specify the | 5230 *** To manipulate the File menu using easy-menu, you must specify the |
5926 proper name "file". In previous Emacs versions, you had to specify | 5231 proper name "file". In previous Emacs versions, you had to specify |
5927 "files", even though the menu item itself was changed to say "File" | 5232 "files", even though the menu item itself was changed to say "File" |
5928 several versions ago. | 5233 several versions ago. |
5929 | 5234 |
5930 --- | |
5931 *** The dummy function keys made by easy-menu are now always lower case. | 5235 *** The dummy function keys made by easy-menu are now always lower case. |
5932 If you specify the menu item name "Ada", for instance, it uses `ada' | 5236 If you specify the menu item name "Ada", for instance, it uses `ada' |
5933 as the "key" bound by that key binding. | 5237 as the "key" bound by that key binding. |
5934 | 5238 |
5935 This is relevant only if Lisp code looks for the bindings that were | 5239 This is relevant only if Lisp code looks for the bindings that were |
5936 made with easy-menu. | 5240 made with easy-menu. |
5937 | 5241 |
5938 --- | |
5939 *** `easy-menu-define' now allows you to use nil for the symbol name | 5242 *** `easy-menu-define' now allows you to use nil for the symbol name |
5940 if you don't need to give the menu a name. If you install the menu | 5243 if you don't need to give the menu a name. If you install the menu |
5941 into other keymaps right away (MAPS is non-nil), it usually doesn't | 5244 into other keymaps right away (MAPS is non-nil), it usually doesn't |
5942 need to have a name. | 5245 need to have a name. |
5943 | 5246 |
5944 ** Operating system access: | 5247 ** Operating system access: |
5945 | 5248 |
5946 +++ | |
5947 *** The new primitive `get-internal-run-time' returns the processor | 5249 *** The new primitive `get-internal-run-time' returns the processor |
5948 run time used by Emacs since start-up. | 5250 run time used by Emacs since start-up. |
5949 | 5251 |
5950 +++ | |
5951 *** Functions `user-uid' and `user-real-uid' now return floats if the | 5252 *** Functions `user-uid' and `user-real-uid' now return floats if the |
5952 user UID doesn't fit in a Lisp integer. Function `user-full-name' | 5253 user UID doesn't fit in a Lisp integer. Function `user-full-name' |
5953 accepts a float as UID parameter. | 5254 accepts a float as UID parameter. |
5954 | 5255 |
5955 +++ | |
5956 *** New function `locale-info' accesses locale information. | 5256 *** New function `locale-info' accesses locale information. |
5957 | 5257 |
5958 --- | |
5959 *** On MS Windows, locale-coding-system is used to interact with the OS. | 5258 *** On MS Windows, locale-coding-system is used to interact with the OS. |
5960 The Windows specific variable w32-system-coding-system, which was | 5259 The Windows specific variable w32-system-coding-system, which was |
5961 formerly used for that purpose is now an alias for locale-coding-system. | 5260 formerly used for that purpose is now an alias for locale-coding-system. |
5962 | 5261 |
5963 --- | |
5964 *** New function `redirect-debugging-output' can be used to redirect | 5262 *** New function `redirect-debugging-output' can be used to redirect |
5965 debugging output on the stderr file handle to a file. | 5263 debugging output on the stderr file handle to a file. |
5966 | 5264 |
5967 ** Miscellaneous: | 5265 ** Miscellaneous: |
5968 | 5266 |
5969 +++ | |
5970 *** A number of hooks have been renamed to better follow the conventions: | 5267 *** A number of hooks have been renamed to better follow the conventions: |
5971 | 5268 |
5972 `find-file-hooks' to `find-file-hook', | 5269 `find-file-hooks' to `find-file-hook', |
5973 `find-file-not-found-hooks' to `find-file-not-found-functions', | 5270 `find-file-not-found-hooks' to `find-file-not-found-functions', |
5974 `write-file-hooks' to `write-file-functions', | 5271 `write-file-hooks' to `write-file-functions', |
5977 `x-sent-selection-hooks' to `x-sent-selection-functions', | 5274 `x-sent-selection-hooks' to `x-sent-selection-functions', |
5978 `delete-frame-hook' to `delete-frame-functions'. | 5275 `delete-frame-hook' to `delete-frame-functions'. |
5979 | 5276 |
5980 In each case the old name remains as an alias for the moment. | 5277 In each case the old name remains as an alias for the moment. |
5981 | 5278 |
5982 +++ | |
5983 *** Variable `local-write-file-hooks' is marked obsolete. | 5279 *** Variable `local-write-file-hooks' is marked obsolete. |
5984 | 5280 |
5985 Use the LOCAL arg of `add-hook'. | 5281 Use the LOCAL arg of `add-hook'. |
5986 | 5282 |
5987 --- | |
5988 *** New function `x-send-client-message' sends a client message when | 5283 *** New function `x-send-client-message' sends a client message when |
5989 running under X. | 5284 running under X. |
5990 | 5285 |
5991 ** GC changes: | 5286 ** GC changes: |
5992 | 5287 |
5993 +++ | |
5994 *** New variable `gc-cons-percentage' automatically grows the GC cons threshold | 5288 *** New variable `gc-cons-percentage' automatically grows the GC cons threshold |
5995 as the heap size increases. | 5289 as the heap size increases. |
5996 | 5290 |
5997 +++ | |
5998 *** New variables `gc-elapsed' and `gcs-done' provide extra information | 5291 *** New variables `gc-elapsed' and `gcs-done' provide extra information |
5999 on garbage collection. | 5292 on garbage collection. |
6000 | 5293 |
6001 +++ | |
6002 *** The normal hook `post-gc-hook' is run at the end of garbage collection. | 5294 *** The normal hook `post-gc-hook' is run at the end of garbage collection. |
6003 | 5295 |
6004 The hook is run with GC inhibited, so use it with care. | 5296 The hook is run with GC inhibited, so use it with care. |
6005 | 5297 |
6006 * New Packages for Lisp Programming in Emacs 22.1 | 5298 * New Packages for Lisp Programming in Emacs 22.1 |
6007 | 5299 |
6008 +++ | |
6009 ** The new library button.el implements simple and fast `clickable | 5300 ** The new library button.el implements simple and fast `clickable |
6010 buttons' in Emacs buffers. Buttons are much lighter-weight than the | 5301 buttons' in Emacs buffers. Buttons are much lighter-weight than the |
6011 `widgets' implemented by widget.el, and can be used by lisp code that | 5302 `widgets' implemented by widget.el, and can be used by lisp code that |
6012 doesn't require the full power of widgets. Emacs uses buttons for | 5303 doesn't require the full power of widgets. Emacs uses buttons for |
6013 such things as help and apropos buffers. | 5304 such things as help and apropos buffers. |
6014 | 5305 |
6015 --- | |
6016 ** The new library tree-widget.el provides a widget to display a set | 5306 ** The new library tree-widget.el provides a widget to display a set |
6017 of hierarchical data as an outline. For example, the tree-widget is | 5307 of hierarchical data as an outline. For example, the tree-widget is |
6018 well suited to display a hierarchy of directories and files. | 5308 well suited to display a hierarchy of directories and files. |
6019 | 5309 |
6020 +++ | |
6021 ** The new library bindat.el provides functions to unpack and pack | 5310 ** The new library bindat.el provides functions to unpack and pack |
6022 binary data structures, such as network packets, to and from Lisp | 5311 binary data structures, such as network packets, to and from Lisp |
6023 data structures. | 5312 data structures. |
6024 | 5313 |
6025 --- | |
6026 ** master-mode.el implements a minor mode for scrolling a slave | 5314 ** master-mode.el implements a minor mode for scrolling a slave |
6027 buffer without leaving your current buffer, the master buffer. | 5315 buffer without leaving your current buffer, the master buffer. |
6028 | 5316 |
6029 It can be used by sql.el, for example: the SQL buffer is the master | 5317 It can be used by sql.el, for example: the SQL buffer is the master |
6030 and its SQLi buffer is the slave. This allows you to scroll the SQLi | 5318 and its SQLi buffer is the slave. This allows you to scroll the SQLi |
6041 (master-set-slave sql-buffer)))) | 5329 (master-set-slave sql-buffer)))) |
6042 (add-hook 'sql-set-sqli-hook | 5330 (add-hook 'sql-set-sqli-hook |
6043 (function (lambda () | 5331 (function (lambda () |
6044 (master-set-slave sql-buffer)))) | 5332 (master-set-slave sql-buffer)))) |
6045 | 5333 |
6046 +++ | |
6047 ** The new library benchmark.el does timing measurements on Lisp code. | 5334 ** The new library benchmark.el does timing measurements on Lisp code. |
6048 | 5335 |
6049 This includes measuring garbage collection time. | 5336 This includes measuring garbage collection time. |
6050 | 5337 |
6051 +++ | |
6052 ** The new library testcover.el does test coverage checking. | 5338 ** The new library testcover.el does test coverage checking. |
6053 | 5339 |
6054 This is so you can tell whether you've tested all paths in your Lisp | 5340 This is so you can tell whether you've tested all paths in your Lisp |
6055 code. It works with edebug. | 5341 code. It works with edebug. |
6056 | 5342 |