aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRichard M. Stallman2005-05-02 21:35:52 +0000
committerRichard M. Stallman2005-05-02 21:35:52 +0000
commit406c0f1219d0bd8dc32a8dcae1690281482fca0d (patch)
treeb74c98289bfcee7f1b528523c572ee8c4a4282ed
parent30b0da81df830271b6e5ce3902d28917e396fe59 (diff)
downloademacs-406c0f1219d0bd8dc32a8dcae1690281482fca0d.tar.gz
emacs-406c0f1219d0bd8dc32a8dcae1690281482fca0d.zip
More rearrangements.
-rw-r--r--etc/ChangeLog4
-rw-r--r--etc/NEWS1553
2 files changed, 801 insertions, 756 deletions
diff --git a/etc/ChangeLog b/etc/ChangeLog
index 07a3c4d8297..fc34fe993bd 100644
--- a/etc/ChangeLog
+++ b/etc/ChangeLog
@@ -1,3 +1,7 @@
12005-05-02 Richard M. Stallman <rms@gnu.org>
2
3 * NEWS: More rearrangements.
4
12005-05-02 Chong Yidong <cyd@stupidchicken.com> 52005-05-02 Chong Yidong <cyd@stupidchicken.com>
2 6
3 * NEWS: Items rearranged in logical order. 7 * NEWS: Items rearranged in logical order.
diff --git a/etc/NEWS b/etc/NEWS
index 82b23e90f88..e433a369f67 100644
--- a/etc/NEWS
+++ b/etc/NEWS
@@ -50,7 +50,7 @@ Emacs with Leim.
50+++ 50+++
51** The Emacs Lisp Reference Manual is now part of the distribution. 51** The Emacs Lisp Reference Manual is now part of the distribution.
52 52
53The ELisp reference manual in Info format is built as part of the 53The Emacs Lisp Reference Manual in Info format is built as part of the
54Emacs build procedure and installed together with the Emacs User 54Emacs build procedure and installed together with the Emacs User
55Manual. A menu item was added to the menu bar that makes it easy 55Manual. A menu item was added to the menu bar that makes it easy
56accessible (Help->More Manuals->Emacs Lisp Reference). 56accessible (Help->More Manuals->Emacs Lisp Reference).
@@ -65,11 +65,11 @@ item was added to the menu bar that makes it easy accessible
65(Help->More Manuals->Introduction to Emacs Lisp). 65(Help->More Manuals->Introduction to Emacs Lisp).
66 66
67--- 67---
68** New translations of the Emacs Tutorial are available in the following 68** New translations of the Emacs Tutorial are available in the
69 languages: Brasilian, Bulgarian, Chinese (both with simplified and 69 following languages: Brasilian Portuguese, Bulgarian, Chinese (both
70 traditional characters), French, and Italian. Type `C-u C-h t' to 70 with simplified and traditional characters), French, and Italian.
71 choose one of them in case your language setup doesn't automatically 71 Type `C-u C-h t' to choose one of them in case your language setup
72 select the right one. 72 doesn't automatically select the right one.
73 73
74--- 74---
75** A French translation of the `Emacs Survival Guide' is available. 75** A French translation of the `Emacs Survival Guide' is available.
@@ -104,9 +104,8 @@ the files mac/README and mac/INSTALL for build instructions.
104--- 104---
105** Building with -DENABLE_CHECKING does not automatically build with union 105** Building with -DENABLE_CHECKING does not automatically build with union
106types any more. Add -DUSE_LISP_UNION_TYPE if you want union types. 106types any more. Add -DUSE_LISP_UNION_TYPE if you want union types.
107
108 107
109* Changes in Emacs 22.1 108* Startup Changes in Emacs 22.1
110 109
111** New command line option -Q or --quick. 110** New command line option -Q or --quick.
112This is like using -q --no-site-file, but in addition it also disables 111This is like using -q --no-site-file, but in addition it also disables
@@ -161,6 +160,9 @@ modified buffers, it saves the abbrevs too if they have changed. It
161can do this either silently or asking for confirmation first, 160can do this either silently or asking for confirmation first,
162according to the value of `save-abbrevs'. 161according to the value of `save-abbrevs'.
163 162
163
164* Editing Changes in Emacs 22.1
165
164+++ 166+++
165** The mode line position information now comes before the major mode. 167** The mode line position information now comes before the major mode.
166When the file is maintained under version control, that information 168When the file is maintained under version control, that information
@@ -189,34 +191,6 @@ point then it acts as the default argument for the minibuffer.
189can be used as well. 191can be used as well.
190 192
191+++ 193+++
192** New command `Buffer-menu-toggle-files-only' toggles display of file
193buffers only in the Buffer Menu. It is bound to `T' in Buffer Menu
194mode.
195
196+++
197** `buffer-menu' and `list-buffers' now list buffers whose names begin
198with a space, when those buffers are visiting files. Normally buffers
199whose names begin with space are omitted.
200
201---
202** The new options `buffers-menu-show-directories' and
203`buffers-menu-show-status' let you control how buffers are displayed
204in the menu dropped down when you click "Buffers" from the menu bar.
205
206`buffers-menu-show-directories' controls whether the menu displays
207leading directories as part of the file name visited by the buffer.
208If its value is `unless-uniquify', the default, directories are
209shown unless uniquify-buffer-name-style' is non-nil. The value of nil
210and t turn the display of directories off and on, respectively.
211
212`buffers-menu-show-status' controls whether the Buffers menu includes
213the modified and read-only status of the buffers. By default it is
214t, and the status is shown.
215
216Setting these variables directly does not take effect until next time
217the Buffers menu is regenerated.
218
219+++
220** The old bindings C-M-delete and C-M-backspace have been deleted, 194** The old bindings C-M-delete and C-M-backspace have been deleted,
221since there are situations where one or the other will shut down 195since there are situations where one or the other will shut down
222the operating system or your X server. 196the operating system or your X server.
@@ -233,6 +207,13 @@ you about it.
233** M-SPC (just-one-space) when given a numeric argument N 207** M-SPC (just-one-space) when given a numeric argument N
234converts whitespace around point to N spaces. 208converts whitespace around point to N spaces.
235 209
210+++
211** line-move-ignore-invisible now defaults to t.
212
213---
214** New commands to operate on pairs of open and close characters:
215`insert-pair', `delete-pair', `raise-sexp'.
216
236--- 217---
237** New command `kill-whole-line' kills an entire line at once. 218** New command `kill-whole-line' kills an entire line at once.
238By default, it is bound to C-S-<backspace>. 219By default, it is bound to C-S-<backspace>.
@@ -253,29 +234,15 @@ in Indented-Text mode.
253`beginning-of-defun', `end-of-defun' do not set the mark if the mark 234`beginning-of-defun', `end-of-defun' do not set the mark if the mark
254is already active in Transient Mark mode. 235is already active in Transient Mark mode.
255 236
256+++ 237** Mark Changes:
257** The parameters of automatic hscrolling can now be customized.
258The variable `hscroll-margin' determines how many columns away from
259the window edge point is allowed to get before automatic hscrolling
260will horizontally scroll the window. The default value is 5.
261
262The variable `hscroll-step' determines how many columns automatic
263hscrolling scrolls the window when point gets too close to the
264window edge. If its value is zero, the default, Emacs scrolls the
265window so as to center point. If its value is an integer, it says how
266many columns to scroll. If the value is a floating-point number, it
267gives the fraction of the window's width to scroll the window.
268
269The variable `automatic-hscrolling' was renamed to
270`auto-hscroll-mode'. The old name is still available as an alias.
271 238
272+++ 239+++
273** A prefix argument is no longer required to repeat a jump to a 240*** A prefix argument is no longer required to repeat a jump to a
274previous mark, i.e. C-u C-SPC C-SPC C-SPC ... cycles through the 241previous mark, i.e. C-u C-SPC C-SPC C-SPC ... cycles through the
275mark ring. Use C-u C-u C-SPC to set the mark immediately after a jump. 242mark ring. Use C-u C-u C-SPC to set the mark immediately after a jump.
276 243
277+++ 244+++
278** Marking commands extend the region when invoked multiple times. If 245*** Marking commands extend the region when invoked multiple times. If
279you hit M-C-SPC (mark-sexp), M-@ (mark-word), M-h (mark-paragraph), or 246you hit M-C-SPC (mark-sexp), M-@ (mark-word), M-h (mark-paragraph), or
280C-M-h (mark-defun) repeatedly, the marked region extends each time, so 247C-M-h (mark-defun) repeatedly, the marked region extends each time, so
281you can mark the next two sexps with M-C-SPC M-C-SPC, for example. 248you can mark the next two sexps with M-C-SPC M-C-SPC, for example.
@@ -286,13 +253,13 @@ one of marking commands in Transient Mark mode, you can deactivate the
286active region with C-g, or set the new mark with C-SPC. 253active region with C-g, or set the new mark with C-SPC.
287 254
288+++ 255+++
289** M-h (mark-paragraph) now accepts a prefix arg. 256*** M-h (mark-paragraph) now accepts a prefix arg.
290With positive arg, M-h marks the current and the following paragraphs; 257With positive arg, M-h marks the current and the following paragraphs;
291if the arg is negative, it marks the current and the preceding 258if the arg is negative, it marks the current and the preceding
292paragraphs. 259paragraphs.
293 260
294+++ 261+++
295** Some commands do something special in Transient Mark mode when the 262*** Some commands do something special in Transient Mark mode when the
296mark is active--for instance, they limit their operation to the 263mark is active--for instance, they limit their operation to the
297region. Even if you don't normally use Transient Mark mode, you might 264region. Even if you don't normally use Transient Mark mode, you might
298want to get this behavior from a particular command. There are two 265want to get this behavior from a particular command. There are two
@@ -309,36 +276,145 @@ deactivate the mark. That typically happens when you type a command
309that alters the buffer, but you can also deactivate the mark by typing 276that alters the buffer, but you can also deactivate the mark by typing
310C-g. 277C-g.
311 278
279** Help command changes:
280
281+++
282*** Changes in C-h bindings:
283
284C-h e displays the *Messages* buffer.
285
286C-h followed by a control character is used for displaying files
287 that do not change:
288
289C-h C-f displays the FAQ.
290C-h C-e displays the PROBLEMS file.
291
292The info-search bindings on C-h C-f, C-h C-k and C-h C-i
293have been moved to C-h F, C-h K and C-h S.
294
295C-h c, C-h k, C-h w, and C-h f now handle remapped interactive commands.
296
297- C-h c and C-h k report the actual command (after possible remapping)
298 run by the key sequence.
299
300- C-h w and C-h f on a command which has been remapped now report the
301 command it is remapped to, and the keys which can be used to run
302 that command.
303
304For example, if C-k is bound to kill-line, and kill-line is remapped
305to new-kill-line, these commands now report:
306
307- C-h c and C-h k C-k reports:
308 C-k runs the command new-kill-line
309
310- C-h w and C-h f kill-line reports:
311 kill-line is remapped to new-kill-line which is on C-k, <deleteline>
312
313- C-h w and C-h f new-kill-line reports:
314 new-kill-line is on C-k
315
316---
317*** Help commands `describe-function' and `describe-key' now show function
318arguments in lowercase italics on displays that support it. To change the
319default, customize face `help-argument-name' or redefine the function
320`help-default-arg-highlight'.
321
322+++
323*** C-h v and C-h f commands now include a hyperlink to the C source for
324variables and functions defined in C (if the C source is available).
325
326+++
327*** Help mode now only makes hyperlinks for faces when the face name is
328preceded or followed by the word `face'. It no longer makes
329hyperlinks for variables without variable documentation, unless
330preceded by one of the words `variable' or `option'. It now makes
331hyperlinks to Info anchors (or nodes) if the anchor (or node) name is
332enclosed in single quotes and preceded by `info anchor' or `Info
333anchor' (in addition to earlier `info node' and `Info node').
334
335+++
336*** The new command `describe-char' (C-u C-x =) pops up a buffer with
337description various information about a character, including its
338encodings and syntax, its text properties, how to input, overlays, and
339widgets at point. You can get more information about some of them, by
340clicking on mouse-sensitive areas or moving there and pressing RET.
341
342+++
343*** New command `display-local-help' displays any local help at point
344in the echo area. It is bound to `C-h .'. It normally displays the
345same string that would be displayed on mouse-over using the
346`help-echo' property, but, in certain cases, it can display a more
347keyboard oriented alternative.
348
349+++
350*** New user option `help-at-pt-display-when-idle' allows to
351automatically show the help provided by `display-local-help' on
352point-over, after suitable idle time. The amount of idle time is
353determined by the user option `help-at-pt-timer-delay' and defaults
354to one second. This feature is turned off by default.
355
356** Buffer Menu changes
357
358+++
359*** New command `Buffer-menu-toggle-files-only' toggles display of file
360buffers only in the Buffer Menu. It is bound to `T' in Buffer Menu
361mode.
362
363+++
364*** `buffer-menu' and `list-buffers' now list buffers whose names begin
365with a space, when those buffers are visiting files. Normally buffers
366whose names begin with space are omitted.
367
368---
369*** The new options `buffers-menu-show-directories' and
370`buffers-menu-show-status' let you control how buffers are displayed
371in the menu dropped down when you click "Buffers" from the menu bar.
372
373`buffers-menu-show-directories' controls whether the menu displays
374leading directories as part of the file name visited by the buffer.
375If its value is `unless-uniquify', the default, directories are
376shown unless uniquify-buffer-name-style' is non-nil. The value of nil
377and t turn the display of directories off and on, respectively.
378
379`buffers-menu-show-status' controls whether the Buffers menu includes
380the modified and read-only status of the buffers. By default it is
381t, and the status is shown.
382
383Setting these variables directly does not take effect until next time
384the Buffers menu is regenerated.
385
386** File Operation Changes:
387
312+++ 388+++
313** find-file-read-only visits multiple files in read-only mode, 389*** find-file-read-only visits multiple files in read-only mode,
314when the file name contains wildcard characters. 390when the file name contains wildcard characters.
315 391
316+++ 392+++
317** find-alternate-file replaces the current file with multiple files, 393*** find-alternate-file replaces the current file with multiple files,
318when the file name contains wildcard characters. 394when the file name contains wildcard characters.
319 395
320+++ 396+++
321** Auto Compression mode is now enabled by default. 397*** Auto Compression mode is now enabled by default.
322 398
323--- 399---
324** C-x C-f RET, typing nothing in the minibuffer, is no longer a special case. 400*** C-x C-f RET, typing nothing in the minibuffer, is no longer a special case.
325 401
326Since the default input is the current directory, this has the effect 402Since the default input is the current directory, this has the effect
327of specifying the current directory. Normally that means to visit the 403of specifying the current directory. Normally that means to visit the
328directory with Dired. 404directory with Dired.
329 405
330+++ 406+++
331** When you are root, and you visit a file whose modes specify 407*** When you are root, and you visit a file whose modes specify
332read-only, the Emacs buffer is now read-only too. Type C-x C-q if you 408read-only, the Emacs buffer is now read-only too. Type C-x C-q if you
333want to make the buffer writable. (As root, you can in fact alter the 409want to make the buffer writable. (As root, you can in fact alter the
334file.) 410file.)
335 411
336+++ 412+++
337** C-x s (save-some-buffers) now offers an option `d' to diff a buffer 413*** C-x s (save-some-buffers) now offers an option `d' to diff a buffer
338against its file, so you can see what changes you would be saving. 414against its file, so you can see what changes you would be saving.
339 415
340+++ 416+++
341** The commands copy-file, rename-file, make-symbolic-link and 417*** The commands copy-file, rename-file, make-symbolic-link and
342add-name-to-file, when given a directory as the "new name" argument, 418add-name-to-file, when given a directory as the "new name" argument,
343convert it to a file name by merging in the within-directory part of 419convert it to a file name by merging in the within-directory part of
344the existing file's name. (This is the same convention that shell 420the existing file's name. (This is the same convention that shell
@@ -346,31 +422,51 @@ commands cp, mv, and ln follow.) Thus, M-x copy-file RET ~/foo RET
346/tmp RET copies ~/foo to /tmp/foo. 422/tmp RET copies ~/foo to /tmp/foo.
347 423
348--- 424---
349** When used interactively, `format-write-file' now asks for confirmation 425*** When used interactively, `format-write-file' now asks for confirmation
350before overwriting an existing file, unless a prefix argument is 426before overwriting an existing file, unless a prefix argument is
351supplied. This behavior is analogous to `write-file'. 427supplied. This behavior is analogous to `write-file'.
352 428
353--- 429---
354** The variable `auto-save-file-name-transforms' now has a third element that 430*** The variable `auto-save-file-name-transforms' now has a third element that
355controls whether or not the function `make-auto-save-file-name' will 431controls whether or not the function `make-auto-save-file-name' will
356attempt to construct a unique auto-save name (e.g. for remote files). 432attempt to construct a unique auto-save name (e.g. for remote files).
357 433
358+++ 434+++
435*** If the user visits a file larger than `large-file-warning-threshold',
436Emacs prompts her for confirmation.
437
438+++
439*** require-final-newline now has two new possible values:
440
441`visit' means add a newline (as an undoable change) if it's needed
442when visiting the file.
443
444`visit-save' means add a newline (as an undoable change) if it's
445needed when visiting the file, and also add a newline if it's needed
446when saving the file.
447
448+++
449*** The new option mode-require-final-newline controls how certain
450major modes enable require-final-newline. Any major mode that's
451designed for a kind of file that should normally end in a newline
452sets require-final-newline based on mode-require-final-newline.
453So you can customize mode-require-final-newline to control what these
454modes do.
455
456+++
359** The max size of buffers and integers has been doubled. 457** The max size of buffers and integers has been doubled.
360On 32bit machines, it is now 256M (i.e. 268435455). 458On 32bit machines, it is now 256M (i.e. 268435455).
361 459
362+++ 460** Minibuffer changes:
363** If the user visits a file larger than `large-file-warning-threshold',
364Emacs prompts her for confirmation.
365 461
366+++ 462+++
367** There's a new face `minibuffer-prompt'. 463*** There's a new face `minibuffer-prompt'.
368Emacs adds this face to the list of text properties stored in the 464Emacs adds this face to the list of text properties stored in the
369variable `minibuffer-prompt-properties', which is used to display the 465variable `minibuffer-prompt-properties', which is used to display the
370prompt string. 466prompt string.
371 467
372--- 468---
373** Enhanced visual feedback in *Completions* buffer. 469*** Enhanced visual feedback in *Completions* buffer.
374 470
375Completions lists use faces to highlight what all completions 471Completions lists use faces to highlight what all completions
376have in common and where they begin to differ. 472have in common and where they begin to differ.
@@ -385,7 +481,7 @@ parts less visible than normal, so that the rest of the differing
385parts is, by contrast, slightly highlighted. 481parts is, by contrast, slightly highlighted.
386 482
387+++ 483+++
388** File-name completion can now ignore directories. 484*** File-name completion can now ignore directories.
389If an element of the list in `completion-ignored-extensions' ends in a 485If an element of the list in `completion-ignored-extensions' ends in a
390slash `/', it indicates a subdirectory that should be ignored when 486slash `/', it indicates a subdirectory that should be ignored when
391completing file names. Elements of `completion-ignored-extensions' 487completing file names. Elements of `completion-ignored-extensions'
@@ -393,126 +489,53 @@ which do not end in a slash are never considered when a completion
393candidate is a directory. 489candidate is a directory.
394 490
395+++ 491+++
396** The completion commands TAB, SPC and ? in the minibuffer apply only 492*** The completion commands TAB, SPC and ? in the minibuffer apply only
397to the text before point. If there is text in the buffer after point, 493to the text before point. If there is text in the buffer after point,
398it remains unchanged. 494it remains unchanged.
399 495
400+++ 496+++
401** New user option `history-delete-duplicates'. 497*** New user option `history-delete-duplicates'.
402If set to t when adding a new history element, all previous identical 498If set to t when adding a new history element, all previous identical
403elements are deleted. 499elements are deleted.
404 500
405+++ 501** Redisplay Changes
406** You can now customize fill-nobreak-predicate to control where
407filling can break lines. The value is now normally a list of
408functions, but it can also be a single function, for compatibility.
409
410We provide two sample predicates, fill-single-word-nobreak-p and
411fill-french-nobreak-p, for use in the value of fill-nobreak-predicate.
412
413+++
414** require-final-newline now has two new possible values:
415
416`visit' means add a newline (as an undoable change) if it's needed
417when visiting the file.
418
419`visit-save' means add a newline (as an undoable change) if it's
420needed when visiting the file, and also add a newline if it's needed
421when saving the file.
422
423+++
424** The new option mode-require-final-newline controls how certain
425major modes enable require-final-newline. Any major mode that's
426designed for a kind of file that should normally end in a newline
427sets require-final-newline based on mode-require-final-newline.
428So you can customize mode-require-final-newline to control what these
429modes do.
430 502
431+++ 503+++
432** Control characters and escape glyphs are now shown in the new 504*** Control characters and escape glyphs are now shown in the new
433escape-glyph face. 505escape-glyph face.
434 506
435+++ 507+++
436** Non-breaking space and hyphens are now prefixed with an escape 508*** Non-breaking space and hyphens are now prefixed with an escape
437character, unless the new user variable `show-nonbreak-escape' is set 509character, unless the new user variable `show-nonbreak-escape' is set
438to nil. 510to nil.
439 511
440+++ 512+++
441** In graphical mode, with a C program, GUD Tooltips have been extended to 513*** The parameters of automatic hscrolling can now be customized.
442display the #define directive associated with an identifier when program is 514The variable `hscroll-margin' determines how many columns away from
443not executing. 515the window edge point is allowed to get before automatic hscrolling
516will horizontally scroll the window. The default value is 5.
517
518The variable `hscroll-step' determines how many columns automatic
519hscrolling scrolls the window when point gets too close to the
520window edge. If its value is zero, the default, Emacs scrolls the
521window so as to center point. If its value is an integer, it says how
522many columns to scroll. If the value is a floating-point number, it
523gives the fraction of the window's width to scroll the window.
524
525The variable `automatic-hscrolling' was renamed to
526`auto-hscroll-mode'. The old name is still available as an alias.
444 527
445** Moving or scrolling through images (and other lines) taller that 528*** Moving or scrolling through images (and other lines) taller that
446the window now works sensible, by automatically adjusting the window's 529the window now works sensible, by automatically adjusting the window's
447vscroll property. 530vscroll property.
448 531
449+++ 532+++
450** font-lock-lines-before specifies a number of lines before the 533*** In graphical mode, with a C program, GUD Tooltips have been extended to
451current line that should be refontified when you change the buffer. 534display the #define directive associated with an identifier when program is
452The default value is 1. 535not executing.
453
454---
455** JIT-lock changes
456
457*** The default settings for JIT stealth lock parameters are changed.
458The default value for the user option jit-lock-stealth-time is now 16
459instead of 3, and the default value of jit-lock-stealth-nice is now
4600.5 instead of 0.125. The new defaults should lower the CPU usage
461when Emacs is fontifying in the background.
462
463
464*** jit-lock can now be delayed with `jit-lock-defer-time'.
465
466If this variable is non-nil, its value should be the amount of Emacs
467idle time in seconds to wait before starting fontification. For
468example, if you set `jit-lock-defer-time' to 0.25, fontification will
469only happen after 0.25s of idle time.
470
471*** contextual refontification is now separate from stealth fontification.
472
473jit-lock-defer-contextually is renamed jit-lock-contextually and
474jit-lock-context-time determines the delay after which contextual
475refontification takes place.
476
477+++
478** line-move-ignore-invisible now defaults to t.
479
480---
481** A menu item "Show/Hide" was added to the top-level menu "Options".
482This menu allows you to turn various display features on and off (such
483as the fringes, the tool bar, the speedbar, and the menu bar itself).
484You can also move the vertical scroll bar to either side here or turn
485it off completely. There is also a menu-item to toggle displaying of
486current date and time, current line and column number in the
487mode-line.
488
489---
490** Speedbar has moved from the "Tools" top level menu to "Show/Hide".
491
492+++
493** On X, MS Windows, and Mac OS, the blinking cursor's "off" state is
494now controlled by the variable `blink-cursor-alist'.
495
496+++
497** The X resource cursorBlink can be used to turn off cursor blinking.
498
499+++
500** Emacs can produce an underscore-like (horizontal bar) cursor.
501The underscore cursor is set by putting `(cursor-type . hbar)' in
502default-frame-alist. It supports variable heights, like the `bar'
503cursor does.
504
505+++
506** Display of hollow cursors now obeys the buffer-local value (if any)
507of `cursor-in-non-selected-windows' in the buffer that the cursor
508appears in.
509
510+++
511** The variable `cursor-in-non-selected-windows' can now be set to any
512of the recognized cursor types.
513 536
514+++ 537+++
515** The new face `mode-line-inactive' is used to display the mode line 538*** The new face `mode-line-inactive' is used to display the mode line
516of non-selected windows. The `mode-line' face is now used to display 539of non-selected windows. The `mode-line' face is now used to display
517the mode line of the currently selected window. 540the mode line of the currently selected window.
518 541
@@ -520,35 +543,14 @@ The new variable `mode-line-in-non-selected-windows' controls whether
520the `mode-line-inactive' face is used. 543the `mode-line-inactive' face is used.
521 544
522+++ 545+++
523** New display feature: focus follows the mouse from one Emacs window 546*** You can now customize the use of window fringes. To control this
524to another, even within a frame. If you set the variable
525mouse-autoselect-window to non-nil value, moving the mouse to a
526different Emacs window will select that window (minibuffer window can
527be selected only when it is active). The default is nil, so that this
528feature is not enabled.
529
530+++
531** On X, when the window manager requires that you click on a frame to
532select it (give it focus), the selected window and cursor position
533normally changes according to the mouse click position. If you set
534the variable x-mouse-click-focus-ignore-position to t, the selected
535window and cursor position do not change when you click on a frame
536to give it focus.
537
538+++
539** When you specify a frame size with --geometry, the size applies to
540all frames you create. A position specified with --geometry only
541affects the initial frame.
542
543+++
544** You can now customize the use of window fringes. To control this
545for all frames, use M-x fringe-mode or the Show/Hide submenu of the 547for all frames, use M-x fringe-mode or the Show/Hide submenu of the
546top-level Options menu, or customize the `fringe-mode' variable. To 548top-level Options menu, or customize the `fringe-mode' variable. To
547control this for a specific frame, use the command M-x 549control this for a specific frame, use the command M-x
548set-fringe-style. 550set-fringe-style.
549 551
550+++ 552+++
551** The buffer boundaries (i.e. first and last line in the buffer) may 553*** The buffer boundaries (i.e. first and last line in the buffer) may
552now be marked with angle bitmaps in the fringes. In addition, up and 554now be marked with angle bitmaps in the fringes. In addition, up and
553down arrow bitmaps may be shown at the top and bottom of the left or 555down arrow bitmaps may be shown at the top and bottom of the left or
554right fringe if the window can be scrolled in either direction. 556right fringe if the window can be scrolled in either direction.
@@ -569,7 +571,7 @@ arrow bitmaps in right fringe. To show just the angle bitmaps in the
569left fringe, but no arrow bitmaps, use ((top . left) (bottom . left)). 571left fringe, but no arrow bitmaps, use ((top . left) (bottom . left)).
570 572
571+++ 573+++
572** On window systems, lines which are exactly as wide as the window 574*** On window systems, lines which are exactly as wide as the window
573(not counting the final newline character) are no longer broken into 575(not counting the final newline character) are no longer broken into
574two lines on the display (with just the newline on the second line). 576two lines on the display (with just the newline on the second line).
575Instead, the newline now "overflows" into the right fringe, and the 577Instead, the newline now "overflows" into the right fringe, and the
@@ -579,90 +581,117 @@ The new user option 'overflow-newline-into-fringe' may be set to nil to
579revert to the old behavior of continuing such lines. 581revert to the old behavior of continuing such lines.
580 582
581+++ 583+++
582** When display margins are present in a window, the fringes are now 584*** When display margins are present in a window, the fringes are now
583displayed between the margins and the buffer's text area, rather than 585displayed between the margins and the buffer's text area, rather than
584at the edges of the window. 586at the edges of the window.
585 587
586+++ 588+++
587** A window may now have individual fringe and scroll-bar settings, 589*** A window may now have individual fringe and scroll-bar settings,
588in addition to the individual display margin settings. 590in addition to the individual display margin settings.
589 591
590Such individual settings are now preserved when windows are split 592Such individual settings are now preserved when windows are split
591horizontally or vertically, a saved window configuration is restored, 593horizontally or vertically, a saved window configuration is restored,
592or when the frame is resized. 594or when the frame is resized.
593 595
596** Cursor Display Changes
597
594+++ 598+++
595** `special-display-buffer-names' and `special-display-regexps' now 599*** On X, MS Windows, and Mac OS, the blinking cursor's "off" state is
596understand two new boolean pseudo-frame-parameters `same-frame' and 600now controlled by the variable `blink-cursor-alist'.
597`same-window'.
598 601
599+++ 602+++
600** Changes in C-h bindings: 603*** The X resource cursorBlink can be used to turn off cursor blinking.
601 604
602C-h e displays the *Messages* buffer. 605+++
606*** Emacs can produce an underscore-like (horizontal bar) cursor.
607The underscore cursor is set by putting `(cursor-type . hbar)' in
608default-frame-alist. It supports variable heights, like the `bar'
609cursor does.
603 610
604C-h followed by a control character is used for displaying files 611+++
605 that do not change: 612*** Display of hollow cursors now obeys the buffer-local value (if any)
613of `cursor-in-non-selected-windows' in the buffer that the cursor
614appears in.
606 615
607C-h C-f displays the FAQ. 616+++
608C-h C-e displays the PROBLEMS file. 617*** The variable `cursor-in-non-selected-windows' can now be set to any
618of the recognized cursor types.
609 619
610The info-search bindings on C-h C-f, C-h C-k and C-h C-i 620+++
611have been moved to C-h F, C-h K and C-h S. 621** font-lock-lines-before specifies a number of lines before the
622current line that should be refontified when you change the buffer.
623The default value is 1.
612 624
613C-h c, C-h k, C-h w, and C-h f now handle remapped interactive commands. 625---
626** JIT-lock changes
614 627
615- C-h c and C-h k report the actual command (after possible remapping) 628*** The default settings for JIT stealth lock parameters are changed.
616 run by the key sequence. 629The default value for the user option jit-lock-stealth-time is now 16
630instead of 3, and the default value of jit-lock-stealth-nice is now
6310.5 instead of 0.125. The new defaults should lower the CPU usage
632when Emacs is fontifying in the background.
617 633
618- C-h w and C-h f on a command which has been remapped now report the
619 command it is remapped to, and the keys which can be used to run
620 that command.
621 634
622For example, if C-k is bound to kill-line, and kill-line is remapped 635*** jit-lock can now be delayed with `jit-lock-defer-time'.
623to new-kill-line, these commands now report:
624 636
625- C-h c and C-h k C-k reports: 637If this variable is non-nil, its value should be the amount of Emacs
626 C-k runs the command new-kill-line 638idle time in seconds to wait before starting fontification. For
639example, if you set `jit-lock-defer-time' to 0.25, fontification will
640only happen after 0.25s of idle time.
627 641
628- C-h w and C-h f kill-line reports: 642*** contextual refontification is now separate from stealth fontification.
629 kill-line is remapped to new-kill-line which is on C-k, <deleteline>
630 643
631- C-h w and C-h f new-kill-line reports: 644jit-lock-defer-contextually is renamed jit-lock-contextually and
632 new-kill-line is on C-k 645jit-lock-context-time determines the delay after which contextual
646refontification takes place.
647
648** Menu Bar changes
633 649
634--- 650---
635** Help commands `describe-function' and `describe-key' now show function 651*** A menu item "Show/Hide" was added to the top-level menu "Options".
636arguments in lowercase italics on displays that support it. To change the 652This menu allows you to turn various display features on and off (such
637default, customize face `help-argument-name' or redefine the function 653as the fringes, the tool bar, the speedbar, and the menu bar itself).
638`help-default-arg-highlight'. 654You can also move the vertical scroll bar to either side here or turn
655it off completely. There is also a menu-item to toggle displaying of
656current date and time, current line and column number in the
657mode-line.
658
659---
660*** Speedbar has moved from the "Tools" top level menu to "Show/Hide".
639 661
640+++ 662+++
641** C-h v and C-h f commands now include a hyperlink to the C source for 663** You can now customize fill-nobreak-predicate to control where
642variables and functions defined in C (if the C source is available). 664filling can break lines. The value is now normally a list of
665functions, but it can also be a single function, for compatibility.
666
667We provide two sample predicates, fill-single-word-nobreak-p and
668fill-french-nobreak-p, for use in the value of fill-nobreak-predicate.
643 669
644+++ 670+++
645** Help mode now only makes hyperlinks for faces when the face name is 671** New display feature: focus follows the mouse from one Emacs window
646preceded or followed by the word `face'. It no longer makes 672to another, even within a frame. If you set the variable
647hyperlinks for variables without variable documentation, unless 673mouse-autoselect-window to non-nil value, moving the mouse to a
648preceded by one of the words `variable' or `option'. It now makes 674different Emacs window will select that window (minibuffer window can
649hyperlinks to Info anchors (or nodes) if the anchor (or node) name is 675be selected only when it is active). The default is nil, so that this
650enclosed in single quotes and preceded by `info anchor' or `Info 676feature is not enabled.
651anchor' (in addition to earlier `info node' and `Info node').
652 677
653+++ 678+++
654** The new command `describe-char' (C-u C-x =) pops up a buffer with 679** On X, when the window manager requires that you click on a frame to
655description various information about a character, including its 680select it (give it focus), the selected window and cursor position
656encodings and syntax, its text properties, how to input, overlays, and 681normally changes according to the mouse click position. If you set
657widgets at point. You can get more information about some of them, by 682the variable x-mouse-click-focus-ignore-position to t, the selected
658clicking on mouse-sensitive areas or moving there and pressing RET. 683window and cursor position do not change when you click on a frame
684to give it focus.
659 685
660+++ 686+++
661** New command `display-local-help' displays any local help at point 687** When you specify a frame size with --geometry, the size applies to
662in the echo area. It is bound to `C-h .'. It normally displays the 688all frames you create. A position specified with --geometry only
663same string that would be displayed on mouse-over using the 689affects the initial frame.
664`help-echo' property, but, in certain cases, it can display a more 690
665keyboard oriented alternative. 691+++
692** `special-display-buffer-names' and `special-display-regexps' now
693understand two new boolean pseudo-frame-parameters `same-frame' and
694`same-window'.
666 695
667--- 696---
668** New commands `scan-buf-next-region' and `scan-buf-previous-region' 697** New commands `scan-buf-next-region' and `scan-buf-previous-region'
@@ -671,17 +700,6 @@ non-nil help-echo property and display any help found there in the
671echo area, using `display-local-help'. 700echo area, using `display-local-help'.
672 701
673+++ 702+++
674** New user option `help-at-pt-display-when-idle' allows to
675automatically show the help provided by `display-local-help' on
676point-over, after suitable idle time. The amount of idle time is
677determined by the user option `help-at-pt-timer-delay' and defaults
678to one second. This feature is turned off by default.
679
680---
681** New commands to operate on pairs of open and close characters:
682`insert-pair', `delete-pair', `raise-sexp'.
683
684+++
685** In processing a local variables list, Emacs strips the prefix and 703** In processing a local variables list, Emacs strips the prefix and
686suffix are from every line before processing all the lines. 704suffix are from every line before processing all the lines.
687 705
@@ -1230,6 +1248,438 @@ expression and to use the given display when visiting files.
1230When this option is enabled, M-x add-change-log-entry always 1248When this option is enabled, M-x add-change-log-entry always
1231starts a new record regardless of when the last record is. 1249starts a new record regardless of when the last record is.
1232 1250
1251** Menu support:
1252
1253---
1254*** Dialogs and menus pop down if you type C-g.
1255
1256---
1257*** The menu item "Open File..." has been split into two items, "New File..."
1258and "Open File...". "Open File..." now opens only existing files. This is
1259to support existing GUI file selection dialogs better.
1260
1261+++
1262*** The file selection dialog for Gtk+, Mac, W32 and Motif/Lesstif can be
1263disabled by customizing the variable `use-file-dialog'.
1264
1265** X Windows Support:
1266
1267+++
1268*** Emacs now supports drag and drop for X. Dropping a file on a window
1269 opens it, dropping text inserts the text. Dropping a file on a dired
1270 buffer copies or moves the file to that directory.
1271
1272+++
1273*** Under X11, it is possible to swap Alt and Meta (and Super and Hyper).
1274The new variables `x-alt-keysym', `x-hyper-keysym', `x-meta-keysym',
1275and `x-super-keysym' can be used to choose which keysyms Emacs should
1276use for the modifiers. For example, the following two lines swap
1277Meta and Alt:
1278 (setq x-alt-keysym 'meta)
1279 (setq x-meta-keysym 'alt)
1280
1281+++
1282*** The X resource useXIM can be used to turn off use of XIM, which may
1283speed up Emacs with slow networking to the X server.
1284
1285If the configure option `--without-xim' was used to turn off use of
1286XIM by default, the X resource useXIM can be used to turn it on.
1287
1288---
1289*** The new variable `x-select-request-type' controls how Emacs
1290requests X selection. The default value is nil, which means that
1291Emacs requests X selection with types COMPOUND_TEXT and UTF8_STRING,
1292and use the more appropriately result.
1293
1294---
1295*** The scrollbar under LessTif or Motif has a smoother drag-scrolling.
1296On the other hand, the size of the thumb does not represent the actual
1297amount of text shown any more (only a crude approximation of it).
1298
1299---
1300*** The pop up menus for Lucid now stay up if you do a fast click and can
1301be navigated with the arrow keys (like Gtk+, Mac and W32).
1302
1303+++
1304*** The Lucid menus can display multilingual text in your locale. You have
1305to explicitly specify a fontSet resource for this to work, for example
1306`-xrm "Emacs*fontSet: -*-helvetica-medium-r-*--*-120-*-*-*-*-*-*,*"'.
1307
1308---
1309*** Dialogs for Lucid/Athena and Lesstif/Motif now pops down when pressing
1310ESC, like they do for Gtk+, Mac and W32.
1311
1312+++
1313** For Gtk+ version 2.4, you can make Emacs use the old file dialog
1314by setting the variable `x-use-old-gtk-file-dialog' to t. Default is to use
1315the new dialog.
1316
1317** Xterm support:
1318
1319---
1320*** Emacs now responds to mouse-clicks on the mode-line, header-line and
1321display margin, when run in an xterm.
1322
1323---
1324*** Improved key bindings support when running in an xterm.
1325When emacs is running in an xterm more key bindings are available. The
1326following should work:
1327{C,S,C-S,A}-{right,left,up,down,prior,next,delete,insert,F1-12}.
1328These key bindings work on xterm from X.org 6.8, they might not work on
1329some older versions of xterm, or on some proprietary versions.
1330
1331** Changes in support of colors on character terminals
1332
1333+++
1334*** The new command-line option --color=MODE lets you specify a standard
1335mode for a tty color support. It is meant to be used on character
1336terminals whose capabilities are not set correctly in the terminal
1337database, or with terminal emulators which support colors, but don't
1338set the TERM environment variable to a name of a color-capable
1339terminal. "emacs --color" uses the same color commands as GNU `ls'
1340when invoked with "ls --color", so if your terminal can support colors
1341in "ls --color", it will support "emacs --color" as well. See the
1342user manual for the possible values of the MODE parameter.
1343
1344---
1345*** Emacs now supports several character terminals which provide more
1346than 8 colors. For example, for `xterm', 16-color, 88-color, and
1347256-color modes are supported. Emacs automatically notes at startup
1348the extended number of colors, and defines the appropriate entries for
1349all of these colors.
1350
1351+++
1352*** Emacs now uses the full range of available colors for the default
1353faces when running on a color terminal, including 16-, 88-, and
1354256-color xterms. This means that when you run "emacs -nw" on an
135588-color or 256-color xterm, you will see essentially the same face
1356colors as on X.
1357
1358---
1359*** There's a new support for colors on `rxvt' terminal emulator.
1360
1361---
1362** M-x view-file and commands that use it now avoid interfering
1363with special modes such as Tar mode.
1364
1365+++
1366** Filesets are collections of files. You can define a fileset in
1367various ways, such as based on a directory tree or based on
1368program files that include other program files.
1369
1370Once you have defined a fileset, you can perform various operations on
1371all the files in it, such as visiting them or searching and replacing
1372in them.
1373
1374---
1375** Commands winner-redo and winner-undo, from winner.el, are now bound to
1376C-c <left> and C-c <right>, respectively. This is an incompatible change.
1377
1378---
1379** global-whitespace-mode is a new alias for whitespace-global-mode.
1380
1381+++
1382** The command `list-text-properties-at' has been deleted because
1383C-u C-x = gives the same information and more.
1384
1385* New modes and packages in Emacs 22.1
1386
1387+++
1388** New package benchmark.el contains simple support for convenient
1389timing measurements of code (including the garbage collection component).
1390
1391+++
1392** Calc is now part of the Emacs distribution.
1393
1394Calc is an advanced desk calculator and mathematical tool written in
1395Emacs Lisp. Its documentation is in a separate manual; within Emacs,
1396type "C-h i m calc RET" to read that manual. A reference card is
1397available in `etc/calccard.tex' and `etc/calccard.ps'.
1398
1399---
1400** `cfengine-mode' is a major mode for editing GNU Cfengine
1401configuration files.
1402
1403+++
1404** The new package conf-mode.el handles thousands of configuration files, with
1405varying syntaxes for comments (;, #, //, /* */ or !), assignment (var = value,
1406var : value, var value or keyword var value) and sections ([section] or
1407section { }). Many files under /etc/, or with suffixes like .cf through
1408.config, .properties (Java), .desktop (KDE/Gnome), .ini and many others are
1409recognized.
1410
1411---
1412** CUA mode is now part of the Emacs distribution.
1413
1414The new cua package provides CUA-like keybindings using C-x for
1415cut (kill), C-c for copy, C-v for paste (yank), and C-z for undo.
1416With cua, the region can be set and extended using shifted movement
1417keys (like pc-selection-mode) and typed text replaces the active
1418region (like delete-selection-mode). Do not enable these modes with
1419cua-mode. Customize the variable `cua-mode' to enable cua.
1420
1421In addition, cua provides unified rectangle support with visible
1422rectangle highlighting: Use S-return to start a rectangle, extend it
1423using the movement commands (or mouse-3), and cut or copy it using C-x
1424or C-c (using C-w and M-w also works).
1425
1426Use M-o and M-c to `open' or `close' the rectangle, use M-b or M-f, to
1427fill it with blanks or another character, use M-u or M-l to upcase or
1428downcase the rectangle, use M-i to increment the numbers in the
1429rectangle, use M-n to fill the rectangle with a numeric sequence (such
1430as 10 20 30...), use M-r to replace a regexp in the rectangle, and use
1431M-' or M-/ to restrict command on the rectangle to a subset of the
1432rows. See the commentary in cua-base.el for more rectangle commands.
1433
1434Cua also provides unified support for registers: Use a numeric
1435prefix argument between 0 and 9, i.e. M-0 .. M-9, for C-x, C-c, and
1436C-v to cut or copy into register 0-9, or paste from register 0-9.
1437
1438The last text deleted (not killed) is automatically stored in
1439register 0. This includes text deleted by typing text.
1440
1441Finally, cua provides a global mark which is set using S-C-space.
1442When the global mark is active, any text which is cut or copied is
1443automatically inserted at the global mark position. See the
1444commentary in cua-base.el for more global mark related commands.
1445
1446The features of cua also works with the standard emacs bindings for
1447kill, copy, yank, and undo. If you want to use cua mode, but don't
1448want the C-x, C-c, C-v, and C-z bindings, you may customize the
1449`cua-enable-cua-keys' variable.
1450
1451Note: This version of cua mode is not backwards compatible with older
1452versions of cua.el and cua-mode.el. To ensure proper operation, you
1453must remove older versions of cua.el or cua-mode.el as well as the
1454loading and customization of those packages from the .emacs file.
1455
1456+++
1457** The new package dns-mode.el add syntax highlight of DNS master files.
1458The key binding C-c C-s (`dns-mode-soa-increment-serial') can be used
1459to increment the SOA serial.
1460
1461---
1462** The new global minor mode `file-name-shadow-mode' modifies the way
1463filenames being entered by the user in the minibuffer are displayed, so
1464that it's clear when part of the entered filename will be ignored due to
1465emacs' filename parsing rules. The ignored portion can be made dim,
1466invisible, or otherwise less visually noticable. The display method may
1467be displayed by customizing the variable `file-name-shadow-properties'.
1468
1469+++
1470** The new package flymake.el does on-the-fly syntax checking of program
1471source files. See the Flymake's Info manual for more details.
1472
1473---
1474** The new Lisp library fringe.el controls the appearance of fringes.
1475
1476---
1477** GDB-Script-mode is used for files like .gdbinit.
1478
1479+++
1480** The new package gdb-ui.el provides an enhanced graphical interface to
1481GDB. You can interact with GDB through the GUD buffer in the usual way, but
1482there are also further buffers which control the execution and describe the
1483state of your program. It separates the input/output of your program from
1484that of GDB and watches expressions in the speedbar. It also uses features of
1485Emacs 21 such as the display margin for breakpoints, and the toolbar.
1486
1487Use M-x gdba to start GDB-UI.
1488
1489---
1490** The new package ibuffer provides a powerful, completely
1491customizable replacement for buff-menu.el.
1492
1493---
1494** Ido mode is now part of the Emacs distribution.
1495
1496The ido (interactively do) package is an extension of the iswitchb
1497package to do interactive opening of files and directories in addition
1498to interactive buffer switching. Ido is a superset of iswitchb (with
1499a few exceptions), so don't enable both packages.
1500
1501+++
1502** Image files are normally visited in Image mode, which lets you toggle
1503between viewing the image and viewing the text using C-c C-c.
1504
1505+++
1506** The new keypad setup package provides several common bindings for
1507the numeric keypad which is available on most keyboards. The numeric
1508keypad typically has the digits 0 to 9, a decimal point, keys marked
1509+, -, /, and *, an Enter key, and a NumLock toggle key. The keypad
1510package only controls the use of the digit and decimal keys.
1511
1512By customizing the variables `keypad-setup', `keypad-shifted-setup',
1513`keypad-numlock-setup', and `keypad-numlock-shifted-setup', or by
1514using the function `keypad-setup', you can rebind all digit keys and
1515the decimal key of the keypad in one step for each of the four
1516possible combinations of the Shift key state (not pressed/pressed) and
1517the NumLock toggle state (off/on).
1518
1519The choices for the keypad keys in each of the above states are:
1520`Plain numeric keypad' where the keys generates plain digits,
1521`Numeric keypad with decimal key' where the character produced by the
1522decimal key can be customized individually (for internationalization),
1523`Numeric Prefix Arg' where the keypad keys produce numeric prefix args
1524for emacs editing commands, `Cursor keys' and `Shifted Cursor keys'
1525where the keys work like (shifted) arrow keys, home/end, etc., and
1526`Unspecified/User-defined' where the keypad keys (kp-0, kp-1, etc.)
1527are left unspecified and can be bound individually through the global
1528or local keymaps.
1529
1530+++
1531** The new kmacro package provides a simpler user interface to
1532emacs' keyboard macro facilities.
1533
1534Basically, it uses two function keys (default F3 and F4) like this:
1535F3 starts a macro, F4 ends the macro, and pressing F4 again executes
1536the last macro. While defining the macro, F3 inserts a counter value
1537which automatically increments every time the macro is executed.
1538
1539There is now a keyboard macro ring which stores the most recently
1540defined macros.
1541
1542The C-x C-k sequence is now a prefix for the kmacro keymap which
1543defines bindings for moving through the keyboard macro ring,
1544C-x C-k C-p and C-x C-k C-n, editing the last macro C-x C-k C-e,
1545manipulating the macro counter and format via C-x C-k C-c,
1546C-x C-k C-a, and C-x C-k C-f. See the commentary in kmacro.el
1547for more commands.
1548
1549The normal macro bindings C-x (, C-x ), and C-x e now interfaces to
1550the keyboard macro ring.
1551
1552The C-x e command now automatically terminates the current macro
1553before calling it, if used while defining a macro.
1554
1555In addition, when ending or calling a macro with C-x e, the macro can
1556be repeated immediately by typing just the `e'. You can customize
1557this behavior via the variable kmacro-call-repeat-key and
1558kmacro-call-repeat-with-arg.
1559
1560Keyboard macros can now be debugged and edited interactively.
1561C-x C-k SPC steps through the last keyboard macro one key sequence
1562at a time, prompting for the actions to take.
1563
1564+++
1565** The new package longlines.el provides a minor mode for editing text
1566files composed of long lines, based on the `use-hard-newlines'
1567mechanism. The long lines are broken up by inserting soft newlines,
1568which are automatically removed when saving the file to disk or
1569copying into the kill ring, clipboard, etc. By default, Longlines
1570mode inserts soft newlines automatically during editing, a behavior
1571referred to as "soft word wrap" in other text editors. This is
1572similar to Refill mode, but more reliable. To turn the word wrap
1573feature off, set `longlines-auto-wrap' to nil.
1574
1575---
1576** The old Octave mode bindings C-c f and C-c i have been changed
1577to C-c C-f and C-c C-i. The C-c C-i subcommands now have duplicate
1578bindings on control characters--thus, C-c C-i C-b is the same as
1579C-c C-i b, and so on.
1580
1581** The printing package is now part of the Emacs distribution.
1582
1583If you enable the printing package by including (require 'printing) in
1584the .emacs file, the normal Print item on the File menu is replaced
1585with a Print sub-menu which allows you to preview output through
1586ghostview, use ghostscript to print (if you don't have a PostScript
1587printer) or send directly to printer a PostScript code generated by
1588`ps-print' package. Use M-x pr-help for more information.
1589
1590+++
1591** The new python.el package is used to edit Python and Jython programs.
1592
1593---
1594** The minor mode Reveal mode makes text visible on the fly as you
1595move your cursor into hidden regions of the buffer.
1596It should work with any package that uses overlays to hide parts
1597of a buffer, such as outline-minor-mode, hs-minor-mode, hide-ifdef-mode, ...
1598
1599There is also Global Reveal mode which affects all buffers.
1600
1601---
1602** The ruler-mode.el library provides a minor mode for displaying an
1603"active" ruler in the header line. You can use the mouse to visually
1604change the `fill-column', `window-margins' and `tab-stop-list'
1605settings.
1606
1607+++
1608** SES mode (ses-mode) is a new major mode for creating and editing
1609spreadsheet files. Besides the usual Emacs features (intuitive command
1610letters, undo, cell formulas in Lisp, plaintext files, etc.) it also offers
1611viral immunity and import/export of tab-separated values.
1612
1613+++
1614** The new global minor mode `size-indication-mode' (off by default)
1615shows the size of accessible part of the buffer on the mode line.
1616
1617+++
1618** The new package table.el implements editable, WYSIWYG, embedded
1619`text tables' in Emacs buffers. It simulates the effect of putting
1620these tables in a special major mode. The package emulates WYSIWYG
1621table editing available in modern word processors. The package also
1622can generate a table source in typesetting and markup languages such
1623as latex and html from the visually laid out text table.
1624
1625+++
1626** The thumbs.el package allows you to preview image files as thumbnails
1627and can be invoked from a Dired buffer.
1628
1629+++
1630** Tramp is now part of the distribution.
1631
1632This package is similar to Ange-FTP: it allows you to edit remote
1633files. But whereas Ange-FTP uses FTP to access the remote host,
1634Tramp uses a shell connection. The shell connection is always used
1635for filename completion and directory listings and suchlike, but for
1636the actual file transfer, you can choose between the so-called
1637`inline' methods (which transfer the files through the shell
1638connection using base64 or uu encoding) and the `out-of-band' methods
1639(which invoke an external copying program such as `rcp' or `scp' or
1640`rsync' to do the copying).
1641
1642Shell connections can be acquired via `rsh', `ssh', `telnet' and also
1643`su' and `sudo'. Ange-FTP is still supported via the `ftp' method.
1644
1645If you want to disable Tramp you should set
1646
1647 (setq tramp-default-method "ftp")
1648
1649---
1650** The library tree-widget.el provides a new widget to display a set
1651of hierarchical data as an outline. For example, the tree-widget is
1652well suited to display a hierarchy of directories and files.
1653
1654---
1655** The URL package (which had been part of W3) is now part of Emacs.
1656
1657---
1658** New minor mode, Visible mode, toggles invisibility in the current buffer.
1659When enabled, it makes all invisible text visible. When disabled, it
1660restores the previous value of `buffer-invisibility-spec'.
1661
1662+++
1663** The wdired.el package allows you to use normal editing commands on Dired
1664buffers to change filenames, permissions, etc...
1665
1666* Changes in specialized modes and packages:
1667
1668+++
1669** There is a new user option `mail-default-directory' that allows you
1670to specify the value of `default-directory' for mail buffers. This
1671directory is used for auto-save files of mail buffers. It defaults to
1672"~/".
1673
1674+++
1675** Emacs can now indicate in the mode-line the presence of new e-mail
1676in a directory or in a file. See the documentation of the user option
1677`display-time-mail-directory'.
1678
1679---
1680** PO translation files are decoded according to their MIME headers
1681when Emacs visits them.
1682
1233** Info mode: 1683** Info mode:
1234 1684
1235+++ 1685+++
@@ -1291,14 +1741,16 @@ version 4.7 or newer, compiles to Info pages with embedded images.
1291--- 1741---
1292*** Info-index offers completion. 1742*** Info-index offers completion.
1293 1743
1744** Lisp mode changes:
1745
1294--- 1746---
1295** Lisp mode now uses font-lock-doc-face for the docstrings. 1747*** Lisp mode now uses font-lock-doc-face for the docstrings.
1296 1748
1297+++ 1749+++
1298** A prefix argument of C-M-q in Emacs Lisp mode pretty-printifies the 1750*** A prefix argument of C-M-q in Emacs Lisp mode pretty-printifies the
1299list starting after point. 1751list starting after point.
1300 1752
1301** New features in evaluation commands 1753*** New features in evaluation commands
1302 1754
1303+++ 1755+++
1304*** The function `eval-defun' (C-M-x) called on defface reinitializes 1756*** The function `eval-defun' (C-M-x) called on defface reinitializes
@@ -1603,40 +2055,44 @@ syntactic indentation.
1603--- 2055---
1604** Perl mode has a new variable `perl-indent-continued-arguments'. 2056** Perl mode has a new variable `perl-indent-continued-arguments'.
1605 2057
2058** Fortran mode changes:
2059
1606--- 2060---
1607** Fortran mode does more font-locking by default. Use level 3 2061*** Fortran mode does more font-locking by default. Use level 3
1608highlighting for the old default. 2062highlighting for the old default.
1609 2063
1610+++ 2064+++
1611** Fortran mode has a new variable `fortran-directive-re'. 2065*** Fortran mode has a new variable `fortran-directive-re'.
1612Adapt this to match the format of any compiler directives you use. 2066Adapt this to match the format of any compiler directives you use.
1613Lines that match are never indented, and are given distinctive font-locking. 2067Lines that match are never indented, and are given distinctive font-locking.
1614 2068
1615+++ 2069+++
1616** F90 mode and Fortran mode have new navigation commands 2070*** F90 mode and Fortran mode have new navigation commands
1617`f90-end-of-block', `f90-beginning-of-block', `f90-next-block', 2071`f90-end-of-block', `f90-beginning-of-block', `f90-next-block',
1618`f90-previous-block', `fortran-end-of-block', 2072`f90-previous-block', `fortran-end-of-block',
1619`fortran-beginning-of-block'. 2073`fortran-beginning-of-block'.
1620 2074
1621--- 2075---
1622** F90 mode and Fortran mode have support for hs-minor-mode (hideshow). 2076*** F90 mode and Fortran mode have support for hs-minor-mode (hideshow).
1623It cannot deal with every code format, but ought to handle a sizeable 2077It cannot deal with every code format, but ought to handle a sizeable
1624majority. 2078majority.
1625 2079
1626--- 2080---
1627** The new function `f90-backslash-not-special' can be used to change 2081*** The new function `f90-backslash-not-special' can be used to change
1628the syntax of backslashes in F90 buffers. 2082the syntax of backslashes in F90 buffers.
1629 2083
1630--- 2084---
1631** Prolog mode has a new variable `prolog-font-lock-keywords' 2085** Prolog mode has a new variable `prolog-font-lock-keywords'
1632to support use of font-lock. 2086to support use of font-lock.
1633 2087
2088** HTML/SGML changes:
2089
1634--- 2090---
1635** Emacs now tries to set up buffer coding systems for HTML/XML files 2091*** Emacs now tries to set up buffer coding systems for HTML/XML files
1636automatically. 2092automatically.
1637 2093
1638+++ 2094+++
1639** SGML mode has indentation and supports XML syntax. 2095*** SGML mode has indentation and supports XML syntax.
1640The new variable `sgml-xml-mode' tells SGML mode to use XML syntax. 2096The new variable `sgml-xml-mode' tells SGML mode to use XML syntax.
1641When this option is enabled, SGML tags are inserted in XML style, 2097When this option is enabled, SGML tags are inserted in XML style,
1642i.e., there is always a closing tag. 2098i.e., there is always a closing tag.
@@ -1644,7 +2100,7 @@ By default, its setting is inferred on a buffer-by-buffer basis
1644from the file name or buffer contents. 2100from the file name or buffer contents.
1645 2101
1646+++ 2102+++
1647** `xml-mode' is now an alias for `sgml-mode', which has XML support. 2103*** `xml-mode' is now an alias for `sgml-mode', which has XML support.
1648 2104
1649** TeX modes: 2105** TeX modes:
1650 2106
@@ -1713,12 +2169,14 @@ of BibTeX entry to kill ring (bound to C-c C-t).
1713by default bound to `C-c [' and `C-c ]' instead of the former `C-c C-l' 2169by default bound to `C-c [' and `C-c ]' instead of the former `C-c C-l'
1714and `C-c C-r'. 2170and `C-c C-r'.
1715 2171
2172** GUD changes:
2173
1716+++ 2174+++
1717** In GUD mode, when talking to GDB, C-x C-a C-j "jumps" the program 2175*** In GUD mode, when talking to GDB, C-x C-a C-j "jumps" the program
1718counter to the specified source line (the one where point is). 2176counter to the specified source line (the one where point is).
1719 2177
1720--- 2178---
1721** GUD mode has its own tool bar for controlling execution of the inferior 2179*** GUD mode has its own tool bar for controlling execution of the inferior
1722and other common debugger commands. 2180and other common debugger commands.
1723 2181
1724--- 2182---
@@ -1764,8 +2222,10 @@ compatibility, it prefers "starttls", but you can toggle
1764 2222
1765*** Do not allow debugger output history variable to grow without bounds. 2223*** Do not allow debugger output history variable to grow without bounds.
1766 2224
2225** Auto-Revert changes:
2226
1767+++ 2227+++
1768** You can now use Auto Revert mode to `tail' a file. 2228*** You can now use Auto Revert mode to `tail' a file.
1769If point is at the end of a file buffer before reverting, Auto Revert 2229If point is at the end of a file buffer before reverting, Auto Revert
1770mode keeps it at the end after reverting. Similarly if point is 2230mode keeps it at the end after reverting. Similarly if point is
1771displayed at the end of a file buffer in any window, it stays at 2231displayed at the end of a file buffer in any window, it stays at
@@ -1780,7 +2240,7 @@ mode Auto Revert Tail mode. The function `auto-revert-tail-mode'
1780toggles this mode. 2240toggles this mode.
1781 2241
1782+++ 2242+++
1783** Auto Revert mode is now more careful to avoid excessive reverts and 2243*** Auto Revert mode is now more careful to avoid excessive reverts and
1784other potential problems when deciding which non-file buffers to 2244other potential problems when deciding which non-file buffers to
1785revert. This matters especially if Global Auto Revert mode is enabled 2245revert. This matters especially if Global Auto Revert mode is enabled
1786and `global-auto-revert-non-file-buffers' is non-nil. Auto Revert 2246and `global-auto-revert-non-file-buffers' is non-nil. Auto Revert
@@ -1791,7 +2251,7 @@ that auto reverting works for Dired buffers (although this may not
1791work properly on all operating systems) and for the Buffer Menu. 2251work properly on all operating systems) and for the Buffer Menu.
1792 2252
1793+++ 2253+++
1794** If the new user option `auto-revert-check-vc-info' is non-nil, Auto 2254*** If the new user option `auto-revert-check-vc-info' is non-nil, Auto
1795Revert mode reliably updates version control info (such as the version 2255Revert mode reliably updates version control info (such as the version
1796control number in the mode line), in all version controlled buffers in 2256control number in the mode line), in all version controlled buffers in
1797which it is active. If the option is nil, the default, then this info 2257which it is active. If the option is nil, the default, then this info
@@ -1995,7 +2455,7 @@ CVS.
1995*** New backends for Subversion and Meta-CVS. 2455*** New backends for Subversion and Meta-CVS.
1996 2456
1997+++ 2457+++
1998** vc-annotate-mode enhancements 2458*** vc-annotate-mode enhancements
1999 2459
2000In vc-annotate mode, you can now use the following key bindings for 2460In vc-annotate mode, you can now use the following key bindings for
2001enhanced functionality to browse the annotations of past revisions, or 2461enhanced functionality to browse the annotations of past revisions, or
@@ -2009,32 +2469,19 @@ to view diffs or log entries directly from vc-annotate-mode:
2009 L: shows the log of the revision at line 2469 L: shows the log of the revision at line
2010 W: annotates the workfile (most up to date) version 2470 W: annotates the workfile (most up to date) version
2011 2471
2472** pcl-cvs changes:
2473
2012+++ 2474+++
2013** In pcl-cvs mode, there is a new `d y' command to view the diffs 2475*** In pcl-cvs mode, there is a new `d y' command to view the diffs
2014between the local version of the file and yesterday's head revision 2476between the local version of the file and yesterday's head revision
2015in the repository. 2477in the repository.
2016 2478
2017+++ 2479+++
2018** In pcl-cvs mode, there is a new `d r' command to view the changes 2480*** In pcl-cvs mode, there is a new `d r' command to view the changes
2019anyone has committed to the repository since you last executed 2481anyone has committed to the repository since you last executed
2020"checkout", "update" or "commit". That means using cvs diff options 2482"checkout", "update" or "commit". That means using cvs diff options
2021-rBASE -rHEAD. 2483-rBASE -rHEAD.
2022 2484
2023+++
2024** There is a new user option `mail-default-directory' that allows you
2025to specify the value of `default-directory' for mail buffers. This
2026directory is used for auto-save files of mail buffers. It defaults to
2027"~/".
2028
2029+++
2030** Emacs can now indicate in the mode-line the presence of new e-mail
2031in a directory or in a file. See the documentation of the user option
2032`display-time-mail-directory'.
2033
2034---
2035** PO translation files are decoded according to their MIME headers
2036when Emacs visits them.
2037
2038** Gnus package 2485** Gnus package
2039 2486
2040--- 2487---
@@ -2063,12 +2510,14 @@ used instead of the native one.
2063Upgraded to MH-E version 7.82. There have been major changes since 2510Upgraded to MH-E version 7.82. There have been major changes since
2064version 5.0.2; see MH-E-NEWS for details. 2511version 5.0.2; see MH-E-NEWS for details.
2065 2512
2513** Calendar changes:
2514
2066+++ 2515+++
2067** There is a new calendar package, icalendar.el, that can be used to 2516*** There is a new calendar package, icalendar.el, that can be used to
2068convert Emacs diary entries to/from the iCalendar format. 2517convert Emacs diary entries to/from the iCalendar format.
2069 2518
2070+++ 2519+++
2071** Diary sexp entries can have custom marking in the calendar. 2520*** Diary sexp entries can have custom marking in the calendar.
2072Diary sexp functions which only apply to certain days (such as 2521Diary sexp functions which only apply to certain days (such as
2073`diary-block' or `diary-cyclic') now take an optional parameter MARK, 2522`diary-block' or `diary-cyclic') now take an optional parameter MARK,
2074which is the name of a face or a single-character string indicating 2523which is the name of a face or a single-character string indicating
@@ -2079,216 +2528,43 @@ face. This lets you have different colors or markings for vacations,
2079appointments, paydays or anything else using a sexp. 2528appointments, paydays or anything else using a sexp.
2080 2529
2081+++ 2530+++
2082** The new function `calendar-goto-day-of-year' (g D) prompts for a 2531*** The new function `calendar-goto-day-of-year' (g D) prompts for a
2083year and day number, and moves to that date. Negative day numbers 2532year and day number, and moves to that date. Negative day numbers
2084count backward from the end of the year. 2533count backward from the end of the year.
2085 2534
2086+++ 2535+++
2087** The new Calendar function `calendar-goto-iso-week' (g w) 2536*** The new Calendar function `calendar-goto-iso-week' (g w)
2088prompts for a year and a week number, and moves to the first 2537prompts for a year and a week number, and moves to the first
2089day of that ISO week. 2538day of that ISO week.
2090 2539
2091--- 2540---
2092** The new variable `calendar-minimum-window-height' affects the 2541*** The new variable `calendar-minimum-window-height' affects the
2093window generated by the function `generate-calendar-window'. 2542window generated by the function `generate-calendar-window'.
2094 2543
2095--- 2544---
2096** The functions `holiday-easter-etc' and `holiday-advent' now take 2545*** The functions `holiday-easter-etc' and `holiday-advent' now take
2097optional arguments, in order to only report on the specified holiday 2546optional arguments, in order to only report on the specified holiday
2098rather than all. This makes customization of variables such as 2547rather than all. This makes customization of variables such as
2099`christian-holidays' simpler. 2548`christian-holidays' simpler.
2100 2549
2101--- 2550---
2102** The function `simple-diary-display' now by default sets a header line. 2551*** The function `simple-diary-display' now by default sets a header line.
2103This can be controlled through the variables `diary-header-line-flag' 2552This can be controlled through the variables `diary-header-line-flag'
2104and `diary-header-line-format'. 2553and `diary-header-line-format'.
2105 2554
2106+++ 2555+++
2107** The procedure for activating appointment reminders has changed: use 2556*** The procedure for activating appointment reminders has changed: use
2108the new function `appt-activate'. The new variable 2557the new function `appt-activate'. The new variable
2109`appt-display-format' controls how reminders are displayed, replacing 2558`appt-display-format' controls how reminders are displayed, replacing
2110appt-issue-message, appt-visible, and appt-msg-window. 2559appt-issue-message, appt-visible, and appt-msg-window.
2111 2560
2112+++ 2561+++
2113** The new functions `diary-from-outlook', `diary-from-outlook-gnus', 2562*** The new functions `diary-from-outlook', `diary-from-outlook-gnus',
2114and `diary-from-outlook-rmail' can be used to import diary entries 2563and `diary-from-outlook-rmail' can be used to import diary entries
2115from Outlook-format appointments in mail messages. The variable 2564from Outlook-format appointments in mail messages. The variable
2116`diary-outlook-formats' can be customized to recognize additional 2565`diary-outlook-formats' can be customized to recognize additional
2117formats. 2566formats.
2118 2567
2119+++
2120** Emacs now supports drag and drop for X. Dropping a file on a window
2121 opens it, dropping text inserts the text. Dropping a file on a dired
2122 buffer copies or moves the file to that directory.
2123
2124+++
2125** Under X11, it is possible to swap Alt and Meta (and Super and Hyper).
2126The new variables `x-alt-keysym', `x-hyper-keysym', `x-meta-keysym',
2127and `x-super-keysym' can be used to choose which keysyms Emacs should
2128use for the modifiers. For example, the following two lines swap
2129Meta and Alt:
2130 (setq x-alt-keysym 'meta)
2131 (setq x-meta-keysym 'alt)
2132
2133+++
2134** The X resource useXIM can be used to turn off use of XIM, which may
2135speed up Emacs with slow networking to the X server.
2136
2137If the configure option `--without-xim' was used to turn off use of
2138XIM by default, the X resource useXIM can be used to turn it on.
2139
2140---
2141** The new variable `x-select-request-type' controls how Emacs
2142requests X selection. The default value is nil, which means that
2143Emacs requests X selection with types COMPOUND_TEXT and UTF8_STRING,
2144and use the more appropriately result.
2145
2146---
2147** The scrollbar under LessTif or Motif has a smoother drag-scrolling.
2148On the other hand, the size of the thumb does not represent the actual
2149amount of text shown any more (only a crude approximation of it).
2150
2151---
2152** The pop up menus for Lucid now stay up if you do a fast click and can
2153be navigated with the arrow keys (like Gtk+, Mac and W32).
2154
2155+++
2156** The Lucid menus can display multilingual text in your locale. You have
2157to explicitly specify a fontSet resource for this to work, for example
2158`-xrm "Emacs*fontSet: -*-helvetica-medium-r-*--*-120-*-*-*-*-*-*,*"'.
2159
2160---
2161** Dialogs for Lucid/Athena and Lesstif/Motif now pops down when pressing
2162ESC, like they do for Gtk+, Mac and W32.
2163
2164---
2165** Dialogs and menus pop down if you type C-g.
2166
2167---
2168** The menu item "Open File..." has been split into two items, "New File..."
2169and "Open File...". "Open File..." now opens only existing files. This is
2170to support existing GUI file selection dialogs better.
2171
2172+++
2173** The file selection dialog for Gtk+, Mac, W32 and Motif/Lesstif can be
2174disabled by customizing the variable `use-file-dialog'.
2175
2176+++
2177** For Gtk+ version 2.4, you can make Emacs use the old file dialog
2178by setting the variable `x-use-old-gtk-file-dialog' to t. Default is to use
2179the new dialog.
2180
2181---
2182** Emacs now responds to mouse-clicks on the mode-line, header-line and
2183display margin, when run in an xterm.
2184
2185** Improved key bindings support when running in an xterm.
2186When emacs is running in an xterm more key bindings are available. The
2187following should work:
2188{C,S,C-S,A}-{right,left,up,down,prior,next,delete,insert,F1-12}.
2189These key bindings work on xterm from X.org 6.8, they might not work on
2190some older versions of xterm, or on some proprietary versions.
2191
2192** Changes in support of colors on character terminals
2193
2194+++
2195*** The new command-line option --color=MODE lets you specify a standard
2196mode for a tty color support. It is meant to be used on character
2197terminals whose capabilities are not set correctly in the terminal
2198database, or with terminal emulators which support colors, but don't
2199set the TERM environment variable to a name of a color-capable
2200terminal. "emacs --color" uses the same color commands as GNU `ls'
2201when invoked with "ls --color", so if your terminal can support colors
2202in "ls --color", it will support "emacs --color" as well. See the
2203user manual for the possible values of the MODE parameter.
2204
2205---
2206*** Emacs now supports several character terminals which provide more
2207than 8 colors. For example, for `xterm', 16-color, 88-color, and
2208256-color modes are supported. Emacs automatically notes at startup
2209the extended number of colors, and defines the appropriate entries for
2210all of these colors.
2211
2212+++
2213*** Emacs now uses the full range of available colors for the default
2214faces when running on a color terminal, including 16-, 88-, and
2215256-color xterms. This means that when you run "emacs -nw" on an
221688-color or 256-color xterm, you will see essentially the same face
2217colors as on X.
2218
2219---
2220*** There's a new support for colors on `rxvt' terminal emulator.
2221
2222+++
2223** Passing resources on the command line now works on MS Windows.
2224You can use --xrm to pass resource settings to Emacs, overriding any
2225existing values. For example:
2226
2227 emacs --xrm "Emacs.Background:red" --xrm "Emacs.Geometry:100x20"
2228
2229will start up Emacs on an initial frame of 100x20 with red background,
2230irrespective of geometry or background setting on the Windows registry.
2231
2232---
2233** On MS Windows, the "system caret" now follows the cursor.
2234This enables Emacs to work better with programs that need to track
2235the cursor, for example screen magnifiers and text to speech programs.
2236
2237---
2238** Tooltips now work on MS Windows.
2239See the Emacs 21.1 NEWS entry for tooltips for details.
2240
2241---
2242** Images are now supported on MS Windows.
2243PBM and XBM images are supported out of the box. Other image formats
2244depend on external libraries. All of these libraries have been ported
2245to Windows, and can be found in both source and binary form at
2246http://gnuwin32.sourceforge.net/. Note that libpng also depends on
2247zlib, and tiff depends on the version of jpeg that it was compiled
2248against. For additional information, see nt/INSTALL.
2249
2250---
2251** Sound is now supported on MS Windows.
2252WAV format is supported on all versions of Windows, other formats such
2253as AU, AIFF and MP3 may be supported in the more recent versions of
2254Windows, or when other software provides hooks into the system level
2255sound support for those formats.
2256
2257---
2258** Different shaped mouse pointers are supported on MS Windows.
2259The mouse pointer changes shape depending on what is under the pointer.
2260
2261---
2262** Pointing devices with more than 3 buttons are now supported on MS Windows.
2263The new variable `w32-pass-extra-mouse-buttons-to-system' controls
2264whether Emacs should handle the extra buttons itself (the default), or
2265pass them to Windows to be handled with system-wide functions.
2266
2267---
2268** Emacs takes note of colors defined in Control Panel on MS-Windows.
2269The Control Panel defines some default colors for applications in much
2270the same way as wildcard X Resources do on X. Emacs now adds these
2271colors to the colormap prefixed by System (eg SystemMenu for the
2272default Menu background, SystemMenuText for the foreground), and uses
2273some of them to initialize some of the default faces.
2274`list-colors-display' shows the list of System color names, in case
2275you wish to use them in other faces.
2276
2277---
2278** On MS Windows NT/W2K/XP, Emacs uses Unicode for clipboard operations.
2279Those systems use Unicode internally, so this allows Emacs to share
2280multilingual text with other applications. On other versions of
2281MS Windows, Emacs now uses the appropriate locale coding-system, so
2282the clipboard should work correctly for your local language without
2283any customizations.
2284
2285---
2286** On Mac OS, the value of the variable `keyboard-coding-system' is
2287now dynamically changed according to the current keyboard script. The
2288variable `mac-keyboard-text-encoding' and the constants
2289`kTextEncodingMacRoman', `kTextEncodingISOLatin1', and
2290`kTextEncodingISOLatin2' are obsolete.
2291
2292--- 2568---
2293** sql changes. 2569** sql changes.
2294 2570
@@ -2365,24 +2641,7 @@ appropriate sql-interactive-mode wrapper for the current setting of
2365*** Support for the SQLite interpreter has been added to sql.el by calling 2641*** Support for the SQLite interpreter has been added to sql.el by calling
2366'sql-sqlite'. 2642'sql-sqlite'.
2367 2643
2368--- 2644** FFAP changes:
2369** M-x view-file and commands that use it now avoid interfering
2370with special modes such as Tar mode.
2371
2372+++
2373** Filesets are collections of files. You can define a fileset in
2374various ways, such as based on a directory tree or based on
2375program files that include other program files.
2376
2377Once you have defined a fileset, you can perform various operations on
2378all the files in it, such as visiting them or searching and replacing
2379in them.
2380
2381---
2382** Commands winner-redo and winner-undo, from winner.el, are now bound to
2383C-c <left> and C-c <right>, respectively. This is an incompatible change.
2384
2385** FFAP
2386 2645
2387+++ 2646+++
2388*** New ffap commands and keybindings: C-x C-r (`ffap-read-only'), 2647*** New ffap commands and keybindings: C-x C-r (`ffap-read-only'),
@@ -2452,9 +2711,6 @@ that were replaced by turning on the mode.
2452`file|dir1' and `file|dir2' to `file|dir1/subdir' and `file|dir2/subdir'. 2711`file|dir1' and `file|dir2' to `file|dir1/subdir' and `file|dir2/subdir'.
2453 2712
2454--- 2713---
2455** rx.el has new corresponding `symbol-end' and `symbol-start' elements.
2456
2457---
2458** Support for `magic cookie' standout modes has been removed. 2714** Support for `magic cookie' standout modes has been removed.
2459Emacs will still work on terminals that require magic cookies in order 2715Emacs will still work on terminals that require magic cookies in order
2460to use standout mode, however they will not be able to display 2716to use standout mode, however they will not be able to display
@@ -2478,13 +2734,6 @@ boundries etc. For more info, see the documentation of the variable
2478`calculator-radix-grouping-mode'. 2734`calculator-radix-grouping-mode'.
2479 2735
2480--- 2736---
2481** global-whitespace-mode is a new alias for whitespace-global-mode.
2482
2483+++
2484** The command `list-text-properties-at' has been deleted because
2485C-u C-x = gives the same information and more.
2486
2487---
2488** fast-lock.el and lazy-lock.el are obsolete. Use jit-lock.el instead. 2737** fast-lock.el and lazy-lock.el are obsolete. Use jit-lock.el instead.
2489 2738
2490--- 2739---
@@ -2492,289 +2741,78 @@ C-u C-x = gives the same information and more.
2492 2741
2493--- 2742---
2494** cplus-md.el has been removed to avoid problems with Custom. 2743** cplus-md.el has been removed to avoid problems with Custom.
2495
2496 2744
2497* New modes and packages in Emacs 22.1 2745* Changes for non-free operating systems
2498 2746
2499+++ 2747+++
2500** New package benchmark.el contains simple support for convenient 2748** Passing resources on the command line now works on MS Windows.
2501timing measurements of code (including the garbage collection component). 2749You can use --xrm to pass resource settings to Emacs, overriding any
2502 2750existing values. For example:
2503+++
2504** Calc is now part of the Emacs distribution.
2505
2506Calc is an advanced desk calculator and mathematical tool written in
2507Emacs Lisp. Its documentation is in a separate manual; within Emacs,
2508type "C-h i m calc RET" to read that manual. A reference card is
2509available in `etc/calccard.tex' and `etc/calccard.ps'.
2510
2511---
2512** `cfengine-mode' is a major mode for editing GNU Cfengine
2513configuration files.
2514
2515+++
2516** The new package conf-mode.el handles thousands of configuration files, with
2517varying syntaxes for comments (;, #, //, /* */ or !), assignment (var = value,
2518var : value, var value or keyword var value) and sections ([section] or
2519section { }). Many files under /etc/, or with suffixes like .cf through
2520.config, .properties (Java), .desktop (KDE/Gnome), .ini and many others are
2521recognized.
2522
2523---
2524** CUA mode is now part of the Emacs distribution.
2525
2526The new cua package provides CUA-like keybindings using C-x for
2527cut (kill), C-c for copy, C-v for paste (yank), and C-z for undo.
2528With cua, the region can be set and extended using shifted movement
2529keys (like pc-selection-mode) and typed text replaces the active
2530region (like delete-selection-mode). Do not enable these modes with
2531cua-mode. Customize the variable `cua-mode' to enable cua.
2532
2533In addition, cua provides unified rectangle support with visible
2534rectangle highlighting: Use S-return to start a rectangle, extend it
2535using the movement commands (or mouse-3), and cut or copy it using C-x
2536or C-c (using C-w and M-w also works).
2537
2538Use M-o and M-c to `open' or `close' the rectangle, use M-b or M-f, to
2539fill it with blanks or another character, use M-u or M-l to upcase or
2540downcase the rectangle, use M-i to increment the numbers in the
2541rectangle, use M-n to fill the rectangle with a numeric sequence (such
2542as 10 20 30...), use M-r to replace a regexp in the rectangle, and use
2543M-' or M-/ to restrict command on the rectangle to a subset of the
2544rows. See the commentary in cua-base.el for more rectangle commands.
2545
2546Cua also provides unified support for registers: Use a numeric
2547prefix argument between 0 and 9, i.e. M-0 .. M-9, for C-x, C-c, and
2548C-v to cut or copy into register 0-9, or paste from register 0-9.
2549
2550The last text deleted (not killed) is automatically stored in
2551register 0. This includes text deleted by typing text.
2552
2553Finally, cua provides a global mark which is set using S-C-space.
2554When the global mark is active, any text which is cut or copied is
2555automatically inserted at the global mark position. See the
2556commentary in cua-base.el for more global mark related commands.
2557
2558The features of cua also works with the standard emacs bindings for
2559kill, copy, yank, and undo. If you want to use cua mode, but don't
2560want the C-x, C-c, C-v, and C-z bindings, you may customize the
2561`cua-enable-cua-keys' variable.
2562
2563Note: This version of cua mode is not backwards compatible with older
2564versions of cua.el and cua-mode.el. To ensure proper operation, you
2565must remove older versions of cua.el or cua-mode.el as well as the
2566loading and customization of those packages from the .emacs file.
2567
2568+++
2569** The new package dns-mode.el add syntax highlight of DNS master files.
2570The key binding C-c C-s (`dns-mode-soa-increment-serial') can be used
2571to increment the SOA serial.
2572
2573---
2574** The new global minor mode `file-name-shadow-mode' modifies the way
2575filenames being entered by the user in the minibuffer are displayed, so
2576that it's clear when part of the entered filename will be ignored due to
2577emacs' filename parsing rules. The ignored portion can be made dim,
2578invisible, or otherwise less visually noticable. The display method may
2579be displayed by customizing the variable `file-name-shadow-properties'.
2580 2751
2581+++ 2752 emacs --xrm "Emacs.Background:red" --xrm "Emacs.Geometry:100x20"
2582** The new package flymake.el does on-the-fly syntax checking of program
2583source files. See the Flymake's Info manual for more details.
2584 2753
2585--- 2754will start up Emacs on an initial frame of 100x20 with red background,
2586** The new Lisp library fringe.el controls the appearance of fringes. 2755irrespective of geometry or background setting on the Windows registry.
2587 2756
2588--- 2757---
2589** GDB-Script-mode is used for files like .gdbinit. 2758** On MS Windows, the "system caret" now follows the cursor.
2590 2759This enables Emacs to work better with programs that need to track
2591+++ 2760the cursor, for example screen magnifiers and text to speech programs.
2592** The new package gdb-ui.el provides an enhanced graphical interface to
2593GDB. You can interact with GDB through the GUD buffer in the usual way, but
2594there are also further buffers which control the execution and describe the
2595state of your program. It separates the input/output of your program from
2596that of GDB and watches expressions in the speedbar. It also uses features of
2597Emacs 21 such as the display margin for breakpoints, and the toolbar.
2598
2599Use M-x gdba to start GDB-UI.
2600 2761
2601--- 2762---
2602** The new package ibuffer provides a powerful, completely 2763** Tooltips now work on MS Windows.
2603customizable replacement for buff-menu.el. 2764See the Emacs 21.1 NEWS entry for tooltips for details.
2604 2765
2605--- 2766---
2606** Ido mode is now part of the Emacs distribution. 2767** Images are now supported on MS Windows.
2607 2768PBM and XBM images are supported out of the box. Other image formats
2608The ido (interactively do) package is an extension of the iswitchb 2769depend on external libraries. All of these libraries have been ported
2609package to do interactive opening of files and directories in addition 2770to Windows, and can be found in both source and binary form at
2610to interactive buffer switching. Ido is a superset of iswitchb (with 2771http://gnuwin32.sourceforge.net/. Note that libpng also depends on
2611a few exceptions), so don't enable both packages. 2772zlib, and tiff depends on the version of jpeg that it was compiled
2612 2773against. For additional information, see nt/INSTALL.
2613+++
2614** Image files are normally visited in Image mode, which lets you toggle
2615between viewing the image and viewing the text using C-c C-c.
2616
2617+++
2618** The new keypad setup package provides several common bindings for
2619the numeric keypad which is available on most keyboards. The numeric
2620keypad typically has the digits 0 to 9, a decimal point, keys marked
2621+, -, /, and *, an Enter key, and a NumLock toggle key. The keypad
2622package only controls the use of the digit and decimal keys.
2623
2624By customizing the variables `keypad-setup', `keypad-shifted-setup',
2625`keypad-numlock-setup', and `keypad-numlock-shifted-setup', or by
2626using the function `keypad-setup', you can rebind all digit keys and
2627the decimal key of the keypad in one step for each of the four
2628possible combinations of the Shift key state (not pressed/pressed) and
2629the NumLock toggle state (off/on).
2630
2631The choices for the keypad keys in each of the above states are:
2632`Plain numeric keypad' where the keys generates plain digits,
2633`Numeric keypad with decimal key' where the character produced by the
2634decimal key can be customized individually (for internationalization),
2635`Numeric Prefix Arg' where the keypad keys produce numeric prefix args
2636for emacs editing commands, `Cursor keys' and `Shifted Cursor keys'
2637where the keys work like (shifted) arrow keys, home/end, etc., and
2638`Unspecified/User-defined' where the keypad keys (kp-0, kp-1, etc.)
2639are left unspecified and can be bound individually through the global
2640or local keymaps.
2641
2642+++
2643** The new kmacro package provides a simpler user interface to
2644emacs' keyboard macro facilities.
2645
2646Basically, it uses two function keys (default F3 and F4) like this:
2647F3 starts a macro, F4 ends the macro, and pressing F4 again executes
2648the last macro. While defining the macro, F3 inserts a counter value
2649which automatically increments every time the macro is executed.
2650
2651There is now a keyboard macro ring which stores the most recently
2652defined macros.
2653
2654The C-x C-k sequence is now a prefix for the kmacro keymap which
2655defines bindings for moving through the keyboard macro ring,
2656C-x C-k C-p and C-x C-k C-n, editing the last macro C-x C-k C-e,
2657manipulating the macro counter and format via C-x C-k C-c,
2658C-x C-k C-a, and C-x C-k C-f. See the commentary in kmacro.el
2659for more commands.
2660
2661The normal macro bindings C-x (, C-x ), and C-x e now interfaces to
2662the keyboard macro ring.
2663
2664The C-x e command now automatically terminates the current macro
2665before calling it, if used while defining a macro.
2666
2667In addition, when ending or calling a macro with C-x e, the macro can
2668be repeated immediately by typing just the `e'. You can customize
2669this behavior via the variable kmacro-call-repeat-key and
2670kmacro-call-repeat-with-arg.
2671
2672Keyboard macros can now be debugged and edited interactively.
2673C-x C-k SPC steps through the last keyboard macro one key sequence
2674at a time, prompting for the actions to take.
2675
2676+++
2677** The new package longlines.el provides a minor mode for editing text
2678files composed of long lines, based on the `use-hard-newlines'
2679mechanism. The long lines are broken up by inserting soft newlines,
2680which are automatically removed when saving the file to disk or
2681copying into the kill ring, clipboard, etc. By default, Longlines
2682mode inserts soft newlines automatically during editing, a behavior
2683referred to as "soft word wrap" in other text editors. This is
2684similar to Refill mode, but more reliable. To turn the word wrap
2685feature off, set `longlines-auto-wrap' to nil.
2686 2774
2687--- 2775---
2688** The old Octave mode bindings C-c f and C-c i have been changed 2776** Sound is now supported on MS Windows.
2689to C-c C-f and C-c C-i. The C-c C-i subcommands now have duplicate 2777WAV format is supported on all versions of Windows, other formats such
2690bindings on control characters--thus, C-c C-i C-b is the same as 2778as AU, AIFF and MP3 may be supported in the more recent versions of
2691C-c C-i b, and so on. 2779Windows, or when other software provides hooks into the system level
2692 2780sound support for those formats.
2693** The printing package is now part of the Emacs distribution.
2694
2695If you enable the printing package by including (require 'printing) in
2696the .emacs file, the normal Print item on the File menu is replaced
2697with a Print sub-menu which allows you to preview output through
2698ghostview, use ghostscript to print (if you don't have a PostScript
2699printer) or send directly to printer a PostScript code generated by
2700`ps-print' package. Use M-x pr-help for more information.
2701
2702+++
2703** The new python.el package is used to edit Python and Jython programs.
2704 2781
2705--- 2782---
2706** The minor mode Reveal mode makes text visible on the fly as you 2783** Different shaped mouse pointers are supported on MS Windows.
2707move your cursor into hidden regions of the buffer. 2784The mouse pointer changes shape depending on what is under the pointer.
2708It should work with any package that uses overlays to hide parts
2709of a buffer, such as outline-minor-mode, hs-minor-mode, hide-ifdef-mode, ...
2710
2711There is also Global Reveal mode which affects all buffers.
2712 2785
2713--- 2786---
2714** The ruler-mode.el library provides a minor mode for displaying an 2787** Pointing devices with more than 3 buttons are now supported on MS Windows.
2715"active" ruler in the header line. You can use the mouse to visually 2788The new variable `w32-pass-extra-mouse-buttons-to-system' controls
2716change the `fill-column', `window-margins' and `tab-stop-list' 2789whether Emacs should handle the extra buttons itself (the default), or
2717settings. 2790pass them to Windows to be handled with system-wide functions.
2718
2719+++
2720** SES mode (ses-mode) is a new major mode for creating and editing
2721spreadsheet files. Besides the usual Emacs features (intuitive command
2722letters, undo, cell formulas in Lisp, plaintext files, etc.) it also offers
2723viral immunity and import/export of tab-separated values.
2724
2725+++
2726** The new global minor mode `size-indication-mode' (off by default)
2727shows the size of accessible part of the buffer on the mode line.
2728
2729+++
2730** The new package table.el implements editable, WYSIWYG, embedded
2731`text tables' in Emacs buffers. It simulates the effect of putting
2732these tables in a special major mode. The package emulates WYSIWYG
2733table editing available in modern word processors. The package also
2734can generate a table source in typesetting and markup languages such
2735as latex and html from the visually laid out text table.
2736
2737+++
2738** The thumbs.el package allows you to preview image files as thumbnails
2739and can be invoked from a Dired buffer.
2740
2741+++
2742** Tramp is now part of the distribution.
2743
2744This package is similar to Ange-FTP: it allows you to edit remote
2745files. But whereas Ange-FTP uses FTP to access the remote host,
2746Tramp uses a shell connection. The shell connection is always used
2747for filename completion and directory listings and suchlike, but for
2748the actual file transfer, you can choose between the so-called
2749`inline' methods (which transfer the files through the shell
2750connection using base64 or uu encoding) and the `out-of-band' methods
2751(which invoke an external copying program such as `rcp' or `scp' or
2752`rsync' to do the copying).
2753
2754Shell connections can be acquired via `rsh', `ssh', `telnet' and also
2755`su' and `sudo'. Ange-FTP is still supported via the `ftp' method.
2756
2757If you want to disable Tramp you should set
2758
2759 (setq tramp-default-method "ftp")
2760 2791
2761--- 2792---
2762** The library tree-widget.el provides a new widget to display a set 2793** Emacs takes note of colors defined in Control Panel on MS-Windows.
2763of hierarchical data as an outline. For example, the tree-widget is 2794The Control Panel defines some default colors for applications in much
2764well suited to display a hierarchy of directories and files. 2795the same way as wildcard X Resources do on X. Emacs now adds these
2796colors to the colormap prefixed by System (eg SystemMenu for the
2797default Menu background, SystemMenuText for the foreground), and uses
2798some of them to initialize some of the default faces.
2799`list-colors-display' shows the list of System color names, in case
2800you wish to use them in other faces.
2765 2801
2766--- 2802---
2767** The URL package (which had been part of W3) is now part of Emacs. 2803** On MS Windows NT/W2K/XP, Emacs uses Unicode for clipboard operations.
2804Those systems use Unicode internally, so this allows Emacs to share
2805multilingual text with other applications. On other versions of
2806MS Windows, Emacs now uses the appropriate locale coding-system, so
2807the clipboard should work correctly for your local language without
2808any customizations.
2768 2809
2769--- 2810---
2770** New minor mode, Visible mode, toggles invisibility in the current buffer. 2811** On Mac OS, the value of the variable `keyboard-coding-system' is
2771When enabled, it makes all invisible text visible. When disabled, it 2812now dynamically changed according to the current keyboard script. The
2772restores the previous value of `buffer-invisibility-spec'. 2813variable `mac-keyboard-text-encoding' and the constants
2773 2814`kTextEncodingMacRoman', `kTextEncodingISOLatin1', and
2774+++ 2815`kTextEncodingISOLatin2' are obsolete.
2775** The wdired.el package allows you to use normal editing commands on Dired
2776buffers to change filenames, permissions, etc...
2777
2778 2816
2779* Incompatible Lisp Changes in Emacs 22.1 2817* Incompatible Lisp Changes in Emacs 22.1
2780 2818
@@ -4353,6 +4391,9 @@ if you don't need to give the menu a name. If you install the menu
4353into other keymaps right away (MAPS is non-nil), it usually doesn't 4391into other keymaps right away (MAPS is non-nil), it usually doesn't
4354need to have a name. 4392need to have a name.
4355 4393
4394---
4395** rx.el has new corresponding `symbol-end' and `symbol-start' elements.
4396
4356** New functions, macros, and commands: 4397** New functions, macros, and commands:
4357 4398
4358+++ 4399+++