]> code.delx.au - gnu-emacs/blobdiff - etc/NEWS
*** empty log message ***
[gnu-emacs] / etc / NEWS
index e100cf8caacb4e90fbca3795e0838e2ef5ae469c..039cf316ff4557a742ccc3c1014cc28db5e3ba9c 100644 (file)
--- a/etc/NEWS
+++ b/etc/NEWS
@@ -1,5 +1,6 @@
 GNU Emacs NEWS -- history of user-visible changes.  2003-05-21
-Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004 Free Software Foundation, Inc.
+Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005
+          Free Software Foundation, Inc.
 See the end for copying conditions.
 
 Please send Emacs bug reports to bug-gnu-emacs@gnu.org.
@@ -14,7 +15,7 @@ When you add a new item, please add it without either +++ or ---
 so we will look at it and add it to the manual.
 
 \f
-* Installation Changes in Emacs 21.4
+* Installation Changes in Emacs 22.1
 
 ** Emacs includes now support for loading image libraries on demand.
 (Currently this feature is only used on MS Windows.)  You can configure
@@ -88,6 +89,10 @@ See the files mac/README and mac/INSTALL for build instructions.
 ---
 ** Support for GNU/Linux systems on X86-64 machines was added.
 
+** Mac OS 9 port now uses the Carbon API by default.  You can also
+create non-Carbon build by specifying `NonCarbon' as a target.  See
+the files mac/README and mac/INSTALL for build instructions.
+
 ---
 ** A French translation of the `Emacs Survival Guide' is available.
 
@@ -96,7 +101,34 @@ See the files mac/README and mac/INSTALL for build instructions.
 types any more.  Add -DUSE_LISP_UNION_TYPE if you want union types.
 
 \f
-* Changes in Emacs 21.4
+* Changes in Emacs 22.1
+
+** C-u M-x goto-line now switches to the most recent previous buffer,
+and goes to the specified line in that buffer.
+
+When goto-line starts to execute, if there's a number in the buffer at
+point then it acts as the default argument for the minibuffer.
+
+** Emacs now responds to mouse-clicks on the mode-line, header-line and
+display margin, when run in an xterm.
+
+** M-SPC (just-one-space) when given a numeric argument N
+converts whitespace around point to N spaces.
+
+** Control characters and escape glyphs are now shown in the new
+escape-glyph face.
+
+** Non-breaking space and hyphens are now prefixed with an escape
+character, unless the new user variable `show-nonbreak-escape' is set
+to nil.
+
+---
+** The type-break package now allows `type-break-file-name' to be nil
+and if so, doesn't store any data across sessions.  This is handy if
+you don't want the .type-break file in your home directory or are
+annoyed by the need for interaction when you kill Emacs.
+
+** display-battery has been replaced by display-battery-mode.
 
 ** calculator.el now has radix grouping mode, which is available when
 `calculator-output-radix' is non-nil.  In this mode a separator
@@ -104,22 +136,23 @@ character is used every few digits, making it easier to see byte
 boundries etc.  For more info, see the documentation of the variable
 `calculator-radix-grouping-mode'.
 
++++
 ** You can now follow links by clicking Mouse-1 on the link.
 
 Traditionally, Emacs uses a Mouse-1 click to set point and a Mouse-2
 click to follow a link, whereas most other applications use a Mouse-1
 click for both purposes, depending on whether you click outside or
-inside a link.  With release 21.4, the behaviour of a Mouse-1 click
-has been changed to match this context-sentitive dual behaviour.
+inside a link.  Now the behavior of a Mouse-1 click has been changed
+to match this context-sentitive dual behavior.
 
 Depending on the current mode, a Mouse-2 click in Emacs may do much
-more than just follow a link, so the new Mouse-1 behaviour is only
+more than just follow a link, so the new Mouse-1 behavior is only
 activated for modes which explicitly mark a clickable text as a "link"
-(see the new function `mouse-on-link-p' for details).  The lisp
-packages that are included in release 21.4 have been adapted to do
+(see the new function `mouse-on-link-p' for details).  The Lisp
+packages that are included in release 22.1 have been adapted to do
 this, but external packages may not yet support this.  However, there
 is no risk in using such packages, as the worst thing that could
-happen is that you get the original Mouse-1 behaviour when you click
+happen is that you get the original Mouse-1 behavior when you click
 on a link, which typically means that you set point where you click.
 
 If you want to get the original Mouse-1 action also inside a link, you
@@ -130,8 +163,8 @@ you release it).
 Dragging the Mouse-1 inside a link still performs the original
 drag-mouse-1 action, typically copy the text.
 
-You can customize the new Mouse-1 behaviour via the new user option
-`mouse-1-click-follows-link'.
+You can customize the new Mouse-1 behavior via the new user options
+`mouse-1-click-follows-link' and `mouse-1-click-in-non-selected-windows'.
 
 +++
 ** require-final-newline now has two new possible values:
@@ -153,8 +186,8 @@ modes do.
 
 +++
 ** When the undo information of the current command gets really large
-(beyond the value of `undo-outer-limit'), Emacs asks you whether to
-discard it or keep it.
+(beyond the value of `undo-outer-limit'), Emacs discards it and warns
+you about it.
 
 ** line-move-ignore-invisible now defaults to t.
 
@@ -257,6 +290,10 @@ This is like using -q --no-site-file, but in addition it also disables
 the menu-bar, the tool-bar, the scroll-bars, tool tips, the blinking
 cursor, and the fancy startup screen.
 
++++
+** New command line option -nbc or --no-blinking-cursor disables
+the blinking cursor on graphical terminals.
+
 ** C-h v and C-h f commands now include a hyperlink to the C source for
 variables and functions defined in C (if the C source is available).
 
@@ -336,6 +373,10 @@ can be saved and automatically revisited with the new Grep mode.
 
 *** Grep commands now have their own submenu and customization group.
 
++++
+*** `grep-find' is now also available under the name `find-grep' where
+people knowing `find-grep-dired' would probably expect it.
+
 *** The new variables `grep-window-height', `grep-auto-highlight', and
 `grep-scroll-output' can be used to override the corresponding
 compilation mode settings for grep commands.
@@ -395,20 +436,30 @@ saving.
 *** Buffers are saved in the desktop file in the same order as that in the
 buffer list.
 
+*** The desktop package can be customized to restore only some buffers immediately,
+remaining buffers are restored lazily (when Emacs is idle).
+
 *** New commands:
   - desktop-revert reverts to the last loaded desktop.
   - desktop-change-dir kills current desktop and loads a new.
   - desktop-save-in-desktop-dir saves desktop in the directory from which
     it was loaded.
+  - desktop-lazy-complete runs the desktop load to completion.
+  - desktop-lazy-abort aborts lazy loading of the desktop.
 
 *** New customizable variables:
   - desktop-save. Determins whether the desktop should be saved when it is
     killed.
-  - desktop-file-name-format.
+  - desktop-file-name-format. Format in which desktop file names should be saved.
   - desktop-path. List of directories in which to lookup the desktop file.
-  - desktop-locals-to-save.
-  - desktop-globals-to-clear.
-  - desktop-clear-preserve-buffers-regexp.
+  - desktop-locals-to-save. List of local variables to save.
+  - desktop-globals-to-clear. List of global variables that `desktop-clear' will clear.
+  - desktop-clear-preserve-buffers-regexp. Regexp identifying buffers that `desktop-clear'
+    should not delete.
+  - desktop-restore-eager. Number of buffers to restore immediately. Remaining buffers are
+    restored lazily (when Emacs is idle).
+  - desktop-lazy-verbose. Verbose reporting of lazily created buffers.
+  - desktop-lazy-idle-delay. Idle delay before starting to create buffers.
 
 *** New command line option --no-desktop
 
@@ -440,7 +491,7 @@ Instead, the newline now "overflows" into the right fringe, and the
 cursor will be displayed in the fringe when positioned on that newline.
 
 The new user option 'overflow-newline-into-fringe' may be set to nil to
-revert to the old behaviour of continuing such lines.
+revert to the old behavior of continuing such lines.
 
 +++
 ** The buffer boundaries (i.e. first and last line in the buffer) may
@@ -660,15 +711,21 @@ multiple files, and C-x d passes it to `dired'.
 ** Info mode:
 
 *** A numeric prefix argument of `info' selects an Info buffer
-with the number appended to the *info* buffer name.
+with the number appended to the *info* buffer name (e.g. "*info*<2>").
 
-*** Regexp isearch (C-M-s and C-M-r) can search through multiple nodes.
-Failed isearch wraps to the top/final node.
+*** isearch in Info uses Info-search and searches through multiple nodes.
+Failed isearch wraps to the top/final node.  The user option
+`Info-isearch-search' controls whether to use Info-search or the
+default isearch search function.
 
 *** New search commands: `Info-search-case-sensitively' (bound to S),
 `Info-search-backward', and `Info-search-next' which repeats the last
 search without prompting for a new search string.
 
+*** New command `Info-history-forward' (bound to r and new toolbar icon)
+moves forward in history to the node you returned from after using
+`Info-history-back' (renamed from `Info-last').
+
 *** New command `Info-history' (bound to L) displays a menu of visited nodes.
 
 *** New command `Info-toc' (bound to T) creates a node with table of contents
@@ -1498,7 +1555,7 @@ directory listing into a buffer.
 
 ** Unexpected yanking of text due to accidental clicking on the mouse
 wheel button (typically mouse-2) during wheel scrolling is now avoided.
-This behaviour can be customized via the mouse-wheel-click-event and
+This behavior can be customized via the mouse-wheel-click-event and
 mouse-wheel-inhibit-click-time variables.
 
 +++
@@ -1556,6 +1613,9 @@ count backward from the end of the year.
 prompts for a year and a week number, and moves to the first
 day of that ISO week.
 
+** The new variable `calendar-minimum-window-height' affects the
+window generated by the function `generate-calendar-window'.
+
 ---
 ** The functions `holiday-easter-etc' and `holiday-advent' now take
 optional arguments, in order to only report on the specified holiday
@@ -1828,7 +1888,7 @@ c-require-final-newline.  That is a list of modes, and only those
 modes set require-final-newline.  By default that's C, C++ and
 Objective-C.
 
-The specified modes set require-final-newline based on 
+The specified modes set require-final-newline based on
 mode-require-final-newline, as usual.
 
 *** Format change for syntactic context elements.
@@ -2000,8 +2060,11 @@ whose names begin with space are omitted.
 
 +++
 ** You can now customize fill-nobreak-predicate to control where
-filling can break lines.  We provide two sample predicates,
-fill-single-word-nobreak-p and fill-french-nobreak-p.
+filling can break lines.  The value is now normally a list of
+functions, but it can also be a single function, for compatibility.
+
+We provide two sample predicates, fill-single-word-nobreak-p and
+fill-french-nobreak-p, for use in the value of fill-nobreak-predicate.
 
 +++
 ** New user option `add-log-always-start-new-record'.
@@ -2091,6 +2154,14 @@ displays a buffer menu.  This option turns the buffer menu off.
 ---
 ** Rmail now displays 5-digit message ids in its summary buffer.
 
++++
+** Support for `movemail' from GNU mailutils was added to Rmail.
+This version of `movemail' allows to read mail from a wide range of
+mailbox formats, including remote POP3 and IMAP4 mailboxes with or
+without TLS encryption.  If GNU mailutils is installed on the system
+and its version of `movemail' can be found in exec-path, it will be
+used instead of the native one.
+
 ---
 ** On MS Windows, the "system caret" now follows the cursor.
 This enables Emacs to work better with programs that need to track
@@ -2136,6 +2207,14 @@ some of them to initialize some of the default faces.
 `list-colors-display' shows the list of System color names, in case
 you wish to use them in other faces.
 
+---
+** On MS Windows NT/W2K/XP, Emacs uses Unicode for clipboard operations.
+Those systems use Unicode internally, so this allows Emacs to share
+multilingual text with other applications. On other versions of
+MS Windows, Emacs now uses the appropriate locale coding-system, so
+the clipboard should work correctly for your local language without
+any customizations.
+
 +++
 ** Under X11, it is possible to swap Alt and Meta (and Super and Hyper).
 The new variables `x-alt-keysym', `x-hyper-keysym', `x-meta-keysym',
@@ -2180,7 +2259,7 @@ temporary overlay showing in the course of an isearch operation.
 coding system.
 
 \f
-* New modes and packages in Emacs 21.4
+* New modes and packages in Emacs 22.1
 
 ** The new package conf-mode.el handles thousands of configuration files, with
 varying syntaxes for comments (;, #, //, /* */ or !), assignment (var = value,
@@ -2322,7 +2401,7 @@ before calling it, if used while defining a macro.
 
 In addition, when ending or calling a macro with C-x e, the macro can
 be repeated immediately by typing just the `e'.  You can customize
-this behaviour via the variable kmacro-call-repeat-key and
+this behavior via the variable kmacro-call-repeat-key and
 kmacro-call-repeat-with-arg.
 
 Keyboard macros can now be debugged and edited interactively.
@@ -2424,14 +2503,32 @@ timing measurements of code (including the garbage collection component).
 ** `cfengine-mode' is a major mode for editing GNU Cfengine
 configuration files.
 \f
-* Incompatible Lisp Changes in Emacs 21.4
+* Incompatible Lisp Changes in Emacs 22.1
+
++++
+** `suppress-keymap' now works by remapping `self-insert-command' to
+the command `undefined'.  (In earlier Emacs versions, it used
+`substitute-key-definition' to rebind self inserting characters to
+`undefined'.)
 
 +++
 ** Mode line display ignores text properties as well as the
 :propertize and :eval forms in the value of a variable whose
 `risky-local-variable' property is nil.
 \f
-* Lisp Changes in Emacs 21.4
+* Lisp Changes in Emacs 22.1
+
+** An element of buffer-undo-list can now have the form (FUNNAME .
+ARGS), where FUNNAME is a symbol other than t or nil.  That stands for
+a high-level change that should be undone by evaluating (apply FUNNAME
+ARGS).
+
++++
+** The line-move, scroll-up, and scroll-down functions will now
+modify the window vscroll to scroll through display rows that are
+taller that the height of the window, for example in the presense of
+large images.  To disable this feature, Lisp code may bind the new
+variable `auto-window-vscroll' to nil.
 
 +++
 ** If a buffer sets buffer-save-without-query to non-nil,
@@ -2465,9 +2562,9 @@ back the match can start; this is a way to keep it from taking too long.
 
 +++
 ** New functions `make-progress-reporter', `progress-reporter-update',
-`progress-reporter-force-update' and `progress-reporter-done' provide
-a simple and efficient way for a command to present progress messages
-for the user.
+`progress-reporter-force-update', `progress-reporter-done', and
+`dotimes-with-progress-reporter' provide a simple and efficient way for
+a command to present progress messages for the user.
 
 ---
 ** To manipulate the File menu using easy-menu, you must specify the
@@ -2617,7 +2714,7 @@ specified number of evenly sized slices (rows x columns).
 A newline may now have line-height and line-spacing text or overlay
 properties that control the height of the corresponding display row.
 
-If the line-height property value is 0, the newline does not
+If the line-height property value is t, the newline does not
 contribute to the height of the display row; instead the height of the
 newline glyph is reduced.  Also, a line-spacing property on this
 newline is ignored.  This can be used to tile small images or image
@@ -2631,10 +2728,19 @@ If the line-height property value is a float, the minimum line height
 is calculated by multiplying the default frame line height by the
 given value.
 
-If the line-height property value is a cons (RATIO . FACE), the
+If the line-height property value is a cons (FACE . RATIO), the
 minimum line height is calculated as RATIO * height of named FACE.
 RATIO is int or float.  If FACE is t, it specifies the current face.
 
+If the line-height property value is a cons (nil . RATIO), the line
+height is calculated as RATIO * actual height of the line's contents.
+
+If the line-height value is a cons (HEIGHT . TOTAL), HEIGHT specifies
+the line height as described above, while TOTAL is any of the forms
+described above and specifies the total height of the line, causing a
+varying number of pixels to be inserted after the line to make it line
+exactly that many pixels high.
+
 If the line-spacing property value is an positive integer, the value
 is used as additional pixels to insert after the display line; this
 overrides the default frame line-spacing and any buffer local value of
@@ -2643,11 +2749,6 @@ the line-spacing variable.
 If the line-spacing property may be a float or cons, the line spacing
 is calculated as specified above for the line-height property.
 
-If the line-spacing value is a cons (total . SPACING) where SPACING is
-any of the forms described above, the value of SPACING is used as the
-total height of the line, i.e. a varying number of pixels are inserted
-after each line to make each line exactly that many pixels high.
-
 ** The buffer local line-spacing variable may now have a float value,
 which is used as a height relative to the default frame line height.
 
@@ -3082,7 +3183,7 @@ created and can be changed later by `set-process-filter-multibyte'.
 buffer is multibyte, the output of the process is at first converted
 to multibyte by `string-to-multibyte' then inserted in the buffer.
 Previously, it was converted to multibyte by `string-as-multibyte',
-which was not compatible with the behaviour of file reading.
+which was not compatible with the behavior of file reading.
 
 +++
 ** New function `string-to-multibyte' converts a unibyte string to a
@@ -3235,7 +3336,8 @@ and `display-warning'.
 ** The functions all-completions and try-completion now accept lists
 of strings as well as hash-tables additionally to alists, obarrays
 and functions.  Furthermore, the function `test-completion' is now
-exported to Lisp.
+exported to Lisp.  The keys in alists and hash tables may be either
+strings or symbols, which are automatically converted with to strings.
 
 ---
 ** When pure storage overflows while dumping, Emacs now prints how
@@ -3570,7 +3672,7 @@ elements with the following format:
 The `insert-for-yank' function looks for a yank-handler property on
 the first character on its string argument (typically the first
 element on the kill-ring).  If a yank-handler property is found,
-the normal behaviour of `insert-for-yank' is modified in various ways:
+the normal behavior of `insert-for-yank' is modified in various ways:
 
   When FUNCTION is present and non-nil, it is called instead of `insert'
 to insert the string.  FUNCTION takes one argument--the object to insert.
@@ -3658,7 +3760,7 @@ speech synthesis.
 
 On some systems, when emacs reads the output from a subprocess, the
 output data is read in very small blocks, potentially resulting in
-very poor performance.  This behaviour can be remedied to some extent
+very poor performance.  This behavior can be remedied to some extent
 by setting the new variable process-adaptive-read-buffering to a
 non-nil value (the default), as it will automatically delay reading
 from such processes, to allowing them to produce more output before
@@ -4172,7 +4274,7 @@ By default `unify-8859-on-encoding-mode' is turned on.
 If you want the old behavior, set selection-coding-system to
 compound-text, which may be significantly more efficient.  Using
 compound-text-with-extensions seems to be necessary only for decoding
-text from applications under XFree86 4.2, whose behaviour is actually
+text from applications under XFree86 4.2, whose behavior is actually
 contrary to the compound text specification.
 
 \f