Suggest to use --color if the terminal capabilities lie.
[bpt/emacs.git] / etc / NEWS
index db9a91d..e246f33 100644 (file)
--- a/etc/NEWS
+++ b/etc/NEWS
@@ -1,13 +1,16 @@
 GNU Emacs NEWS -- history of user-visible changes.  2001-03-15
-Copyright (C) 1999, 2000, 2001 Free Software Foundation, Inc.
+Copyright (C) 1999, 2000, 2001, 2002 Free Software Foundation, Inc.
 See the end for copying conditions.
 
 Please send Emacs bug reports to bug-gnu-emacs@gnu.org.
 For older news, see the file ONEWS
 
-Temporary note: +++ indicates that the appropriate manual
-has already been updated.  --- means no change in the manuals
-is called for.
+Temporary note:
+ +++ indicates that the appropriate manual has already been updated.
+ --- means no change in the manuals is called for.
+When you add a new item, please add it without either +++ or ---
+so we will look at it
+
 \f
 * Installation Changes in Emacs 21.3
 
@@ -15,28 +18,78 @@ is called for.
 `--program-suffix' and `--program-transform-name' that affect the names of
 installed programs.
 
+---
+** Leim is now part of the Emacs distribution.
+You no longer need to download a separate tarball in order to build
+Emacs with Leim.
+
 ** Support for FreeBSD/Alpha has been added.
 
 \f
 * Changes in Emacs 21.3
 
++++
+** Emacs can now be invoked in full-screen mode on a windowed display.
+
+When Emacs is invoked on a window system, the new command-line options
+`--fullwidth', `--fullheight', and `--fullscreen' produce a frame
+whose width, height, or both width and height take up the entire
+screen size.  (For now, this works only on GNU and Unix systems, and
+not with every window manager.)
+
+** Info-index finally offers completion.
+
 ** Controlling the left and right fringe widths.
 
 The left and right fringe widths can now be controlled by setting the
 `left-fringe' and `right-fringe' frame parameters to an integer value
-specifying the width in pixels.  The default is 8 pixels.  Setting the
-width to 0 effectively removes the corresponding fringe.
+specifying the width in pixels.  Setting the width to 0 effectively
+removes the corresponding fringe.
+
 The actual fringe widths may deviate from the specified widths, since
 the combined fringe widths must match an integral number of columns.
 The extra width is distributed evenly between the left and right fringe.
 For force a specific fringe width, specify the width as a negative
 integer (if both widths are negative, only the left fringe gets the
-specified width). 
+specified width).
+
+Setting the width to nil (the default), restores the default fringe
+width which is the minimum number of pixels necessary to display any
+of the currently defined fringe bitmaps.  The width of the built-in
+fringe bitmaps is 8 pixels.
+
+** Changes in C-h bindings:
+
+C-h e displays the *Messages* buffer.
+
+C-h followed by a control character is used for displaying files
+    that do not change:
+
+C-h C-f displays the FAQ.
+C-h C-e displays the PROBLEMS file.
+
+The info-search bindings on C-h C-f, C-h C-k and C-h C-i
+have been moved to C-h F, C-h K and C-h S.
+
+** C-w in incremental search now grabs either a character or a word,
+making the decision in a heuristic way.  This new job is done by the
+command `isearch-yank-word-or-char'.  To restore the old behavior,
+bind C-w to `isearch-yank-word' in `isearch-mode-map'.
+
+** In GUD mode when talking to GDB, C-x C-a C-j "jumps" the program
+counter to the specified source line (the one where point is).
 
 ** hide-ifdef-mode now uses overlays rather than selective-display
 to hide its text.  This should be mostly transparent but slightly
 changes the behavior of motion commands line C-e and C-p.
 
+** In Dired's ! command (dired-do-shell-command), `*' and `?' now
+control substitution of the file names only when they are surrounded
+by whitespace.  This means you can now use them as shell wildcards
+too.  If you want to use just plain `*' as a wildcard, type `*""'; the
+doublequotes make no difference in the shell, but they prevent
+special treatment in `dired-do-shell-command'.
+
 ** Unquoted `$' in file names do not signal an error any more when
 the corresponding environment variable does not exist.
 Instead, the `$ENVVAR' text is left as is, so that `$$' quoting
@@ -45,7 +98,7 @@ is only rarely needed.
 ** jit-lock can now be delayed with `jit-lock-defer-time'.
 
 If this variable is non-nil, its value should be the amount of Emacs
-idle time inseconds to wait before starting fontification.  For
+idle time in seconds to wait before starting fontification.  For
 example, if you set `jit-lock-defer-time' to 0.25, fontification will
 only happen after 0.25s of idle time.
 
@@ -53,6 +106,28 @@ only happen after 0.25s of idle time.
 will now be extended each time, so you can mark the next two sexps with
 M-C-SPC M-C-SPC, for example.
 
+** In the *Occur* buffer, `o' switches to it in another window, and
+C-o displays the current line's occurrence in another window without
+switching to it.
+
+** When you specify a frame size with --geometry, the size applies to
+all frames you create.  A position specified with --geometry only
+affects the initial frame.
+
++++
+** M-h (mark-paragraph) now accepts a prefix arg.
+With positive arg, M-h marks the current and the following paragraphs;
+if the arg is negative, it marks the current and the preceding
+paragraphs.
+
+** In Dired, the w command now copies the current line's file name
+into the kill ring.
+
+** The variables dired-free-space-program and dired-free-space-args
+have been renamed to directory-free-space-program and
+directory-free-space-args, and they now apply whenever Emacs puts a
+directory listing into a buffer.
+
 ** mouse-wheels can now scroll a specific fraction of the window
 (rather than a fixed number of lines) and the scrolling is `progressive'.
 
@@ -65,11 +140,16 @@ it inserts non-ASCII chars if you hit M-i), you will need to add
 
 to your .emacs to revert to the old behavior.
 
+** A new coding system `euc-tw' has been added for traditional Chinese
+in CNS encoding; it accepts both Big 5 and CNS as input; on saving,
+Big 5 is then converted to CNS.
+
 +++
 ** Emacs now reads the standard abbrevs file ~/.abbrev_defs
-automatically at startup, if it exists.  And it always offers to save
-abbrevs (if you have changed them) when if offers to save modified
-buffers.
+automatically at startup, if it exists.  When Emacs offers to save
+modified buffers, it saves the abbrevs too if they have changed.  It
+can do this either silently or asking for confirmation first,
+according to the value of `save-abbrevs'.
 
 ** Display of hollow cursors now obeys the buffer-local value (if any)
 of `cursor-in-non-selected-windows' in the buffer that the cursor
@@ -81,6 +161,17 @@ were changed.
 ** On terminals whose erase-char is ^H (Backspace), Emacs
 now uses normal-erase-is-backspace-mode.
 
+** Etags changes.
+
+*** In Prolog, etags creates tags for rules in addition to predicates.
+
+*** In Perl, packages are tags.  Subroutine tags are named from their
+package.  You can jump to sub tags as you did before, by the sub name, or
+additionally by looking for package::sub.
+
+*** New language PHP: tags are functions, classes and defines.  If
+the --members option is specified to etags, tags are vars also.
+
 +++
 ** The command line option --no-windows has been changed to
 --no-window-system.  The old one still works, but is deprecated.
@@ -102,6 +193,10 @@ i.e., there is always a closing tag.
 When not customized, it becomes buffer-local when it can be inferred
 from the file name or buffer contents.
 
+** New user option `isearch-resume-enabled'.
+This option can be disabled, to avoid the normal behaviour of isearch
+which puts calls to `isearch-resume' in the command history.
+
 ** When the *scratch* buffer is recreated, its mode is set from
 initial-major-mode, which normally is lisp-interaction-mode,
 instead of using default-major-mode.
@@ -149,6 +244,11 @@ the cursor, for example screen magnifiers and text to speech programs.
 ** Tooltips now work on MS Windows.
 See the Emacs 21.1 NEWS entry for tooltips for details.
 
+** Pointing devices with more than 3 buttons are now supported on MS Windows.
+The new variable `w32-pass-extra-mouse-buttons-to-system' controls
+whether Emacs should handle the extra buttons itself (the default), or
+pass them to Windows to be handled with system-wide functions.
+
 ---
 ** A French translation of the `Emacs Survival Guide' is available.
 
@@ -215,6 +315,47 @@ SQL buffer.
 \f
 * Lisp Changes in Emacs 21.3
 
+** Already true in Emacs 21.1, but not emphasized clearly enough:
+
+Multibyte buffers can now faithfully record all 256 character codes
+from 0 to 255.  As a result, most of the past reasons to use unibyte
+buffers no longer exist.  We only know of three reasons to use them
+now:
+
+1. If you prefer to use unibyte text all of the time.
+
+2. For reading files into temporary buffers, when you want to avoid
+the time it takes to convert the format.
+
+3. For binary files where format conversion would be pointless and
+wasteful.
+
+** If text has a `keymap' property, that keymap takes precedence
+over minor mode keymaps.
+
+** A hex escape in a string forces the string to be multibyte.
+An octal escape makes it unibyte.
+
+** The position after an invisible, intangible character
+is considered an unacceptable value for point;
+intangibility processing effectively treats the following character
+as part of the intangible region even if it is not itself intangible.
+
+Thus, point can go before an invisible, intangible region, but not
+after it.  This prevents C-f and C-b from appearing to stand still on
+the screen.
+
++++
+** define-abbrev now accepts an optional argument SYSTEM-FLAG.  If
+non-nil, this marks the abbrev as a "system" abbrev, which means that
+it won't be stored in the user's abbrevs file if he saves the abbrevs.
+Major modes that predefine some abbrevs should always specify this
+flag.
+
+** Support for Mocklisp has been removed.
+
+** The function insert-string is now obsolete.
+
 ** The precedence of file-name-handlers has been changed.
 Instead of blindly choosing the first handler that matches,
 find-file-name-handler now gives precedence to a file-name handler
@@ -223,9 +364,8 @@ handler whose (match-beginning 0) is the largest is chosen.
 In case of ties, the old "first matched" rule applies.
 
 ** Dense keymaps now handle inheritance correctly.
-To that end, binding a key to t now behaves the same as binding it to
-nil (it shadows parent bindings but not bindings in keymaps of lower
-precedence).
+Previously a dense keymap would hide all of the simple-char key
+bindings of the parent keymap.
 
 ** jit-lock obeys a new text-property `jit-lock-defer-multiline'.
 If a piece of text with that property gets contextually refontified
@@ -246,7 +386,7 @@ property over the second half of the command to force (deferred)
 refontification of `bar' whenever the `e' is added/removed.
 
 ** describe-vector now takes a second argument `describer' which is
-called to print the entries' values.  It default to `princ'.
+called to print the entries' values.  It defaults to `princ'.
 
 ** defcustom and other custom declarations now use a default group
 (the last group defined in the same file) when no :group was given.
@@ -366,8 +506,11 @@ formerly used for that purpose is now an alias for locale-coding-system.
 current syntactic context (as returned by parse-partial-sexp).
 
 *** The TCL package tcl-mode.el was replaced by tcl.el.
-This was actually done in Emacs-21.1 was not documented.
-       
+This was actually done in Emacs-21.1, and was not documented.
+
+*** The new package Ibuffer provides a powerful, completely
+customizable replacement for buff-menu.el.
+
 \f
 * Installation Changes in Emacs 21.1
 
@@ -2820,11 +2963,6 @@ patterns are checked against file contents instead of file names.
 \f
 * Lisp changes in Emacs 21.1 (see following page for display-related features)
 
-Note that +++ before an item means the Lisp manual has been updated.
---- means that I have decided it does not need to be in the Lisp manual.
-When you add a new item, please add it without either +++ or ---
-so I will know I still need to look at it -- rms.
-
 ** The new package rx.el provides an alternative sexp notation for
 regular expressions.
 
@@ -3828,11 +3966,6 @@ below).
 \f
 * New Lisp-level Display features in Emacs 21.1
 
-Note that +++ before an item means the Lisp manual has been updated.
---- means that I have decided it does not need to be in the Lisp manual.
-When you add a new item, please add it without either +++ or ---
-so I will know I still need to look at it -- rms.
-
 ** The function tty-suppress-bold-inverse-default-colors can be used
 to make Emacs avoid displaying text with bold black foreground on TTYs.