*** empty log message ***
[bpt/emacs.git] / etc / NEWS
index d30e6fe..4e32963 100644 (file)
--- a/etc/NEWS
+++ b/etc/NEWS
@@ -1,13 +1,15 @@
-GNU Emacs NEWS -- history of user-visible changes.  5 Jan 2000
+GNU Emacs NEWS -- history of user-visible changes.  2000-08-14
 Copyright (C) 1996, 1997, 1998, 1999, 2000 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.
+For older news, see the file ONEWS
 
 \f
 * Installation Changes in Emacs 21.1
 
+** Support for GNU/Linux on IA64 machines has been added.
+
 ** `movemail' defaults to supporting POP.  You can turn this off using
 the --without-pop configure option, should that be necessary.
 
@@ -16,10 +18,37 @@ images and toolkit scrollbars.  Use the --help option in `configure'
 to list them.
 
 ** There is a new configure option `--without-xim' that instructs
-Emacs to not use X Input Methods (XIM), if they these are available.
+Emacs to not use X Input Methods (XIM), if these are available.
+
+** There is a new configure option `--disable-largefile' to omit
+Unix-98-style support for large files if that is available.
+
+** You can build a 64-bit Emacs for SPARC/Solaris systems which
+support 64-bit executables.  See etc/MACHINES for instructions.
+
 \f
 * Changes in Emacs 21.1
 
+* When an error is signaled during the loading of the user's init
+file, Emacs now pops up the *Messages* buffer.
+
+** Polish and German translations of Emacs' reference card have been
+added.  They are named `pl-refcard.tex' and `de-refcard.tex'.
+Postscript files are included.
+
+** A reference card for Dired has been added.  Its name is
+`dired-ref.tex'.
+
+** The new variable `auto-mode-interpreter-regexp' contains a regular
+expression matching interpreters, for file mode determination.
+
+This regular expression is matched against the first line of a file to
+determine the file's mode in `set-auto-mode' when Emacs can't deduce a
+mode from the file's name.  If it matches, the file is assumed to be
+interpreted by the interpreter matched by the second group of the
+regular expression.  The mode is then determined as the mode
+associated with that interpreter in `interpreter-mode-alist'.
+
 ** C-down-mouse-3 is bound differently.  Now if the menu bar is not
 displayed it pops up a menu containing the items which would be on the
 menu bar.  If the menu bar is displayed, it pops up the major mode
@@ -185,8 +214,12 @@ all frames except the selected one.
 to the source name (.emacs.el), if that exists, after loading it.
 
 ** The help string specified for a menu-item whose definition contains
-the property `:help HELP' is now displayed under X either in the echo
-area or with tooltips.
+the property `:help HELP' is now displayed under X, on MS-Windows, and
+MS-DOS, either in the echo area or with tooltips.  Many standard menus
+displayed by Emacs now have help strings.
+
+** Highlighting of mouse-sensitive regions is now supported in the
+MS-DOS version of Emacs.
 
 ** New user option `read-mail-command' specifies a command to use to
 read mail from the menu etc.
@@ -213,6 +246,12 @@ There is now support for Imenu to index headings.  A new command
 `outline-headers-as-kill' copies the visible headings in the region to
 the kill ring, e.g. to produce a table of contents.
 
+** Changes to Show Paren mode.
+
+*** Overlays used by Show Paren mode now use a priority property.
+The new user option show-paren-priority specifies the priority to
+use.  Default is 1000.
+
 ** New command M-x check-parens can be used to find unbalanced paren
 groups and strings in buffers in Lisp mode (or other modes).
 
@@ -583,6 +622,15 @@ mode.
 
 ** Comint (subshell) changes
 
+By default, comint no longer uses the variable `comint-prompt-regexp' to
+distiguish prompts from user-input.  Instead, it notices which parts of
+the text were output by the process, and which entered by the user, and
+attaches `field' properties to allow emacs commands to use this information.
+Common movement commands, notably beginning-of-line, respect field
+boundaries in a fairly natural manner.
+To disable this feature, and use the old behavior, set the variable
+`comint-use-prompt-regexp-instead-of-fields' to a non-nil value.
+
 Comint now includes new features to send commands to running processes
 and redirect the output to a designated buffer or buffers.
 
@@ -594,10 +642,10 @@ The command M-x comint-redirect-send-command-to-process acts like
 M-x comint-redirect-send-command but additionally reads the name of
 the buffer whose process should be used from the mini-buffer.
 
-Packages based on comint.el like shell-mode, and
-scheme-interaction-mode now highlight user input, and support choosing
-previous input with mouse-2.  To control this feature, see the
-user-option `comint-highlight-input'.
+Packages based on comint.el like shell-mode, and scheme-interaction-mode
+now highlight user input and program prompts, and support choosing
+previous input with mouse-2.  To control these feature, see the
+user-options `comint-highlight-input' and `comint-highlight-prompt'.
 
 ** Changes to Rmail mode
 
@@ -674,7 +722,7 @@ compiled binary.  The same time-stamp will be written at each matching
 pattern.  The variable time-stamp-count enables this new feature; it
 defaults to 1.
 
-** Partial Completion mode now completes environment variables in 
+** Partial Completion mode now completes environment variables in
 file names.
 
 ** Tooltips.
@@ -724,6 +772,29 @@ eval-expression-print-length, and eval-expression-debug-on-error.
 *** The function `eval-defun' (M-C-x) now loads Edebug and instruments
 code when called with a prefix argument.
 
+** Ispell changes
+
+*** The command `ispell' now spell-checks a region if
+transient-mark-mode is on, and the mark is active.  Otherwise it
+spell-checks the current buffer.
+
+*** Support for synchronous subprocesses - DOS/Windoze - has been
+added.
+
+*** An "alignment error" bug was fixed when a manual spelling
+correction is made and re-checked.
+
+*** An Italian and a Portuguese dictionary definition has been added.
+
+*** Region skipping performance has been vastly improved in some
+cases.
+
+*** Spell checking HTML buffers has been improved and isn't so strict
+on syntax errors.
+
+*** The buffer-local words are now always placed on a new line at the
+end of the buffer.
+
 ** Dired changes
 
 *** New variable `dired-recursive-deletes' determines if the delete
@@ -773,7 +844,7 @@ have to bother.
 
 Defaulting c-style-variables-are-local-p to t avoids the confusing
 situation that occurs when a user sets some style variables globally
-and edit both a Java and a non-Java file in the same Emacs session.
+and edits both a Java and a non-Java file in the same Emacs session.
 If the style variables aren't buffer local in this case, loading of
 the second file will cause the default style (either "gnu" or "java"
 by default) to override the global settings made by the user.
@@ -914,12 +985,15 @@ Provan).
 
 *** The mode now uses the abbrev table `makefile-mode-abbrev-table'.
 
-*** Conditionals and include statements are now highlighted when 
+*** Conditionals and include statements are now highlighted when
 Fontlock mode is active.
 
 ** Isearch changes
 
-** In Isearch mode, M-C-s and M-C-r are now bound like C-s and C-r,
+*** Isearch now puts a call to `isearch-resume' in the command history,
+so that searches can be resumed.
+
+*** In Isearch mode, M-C-s and M-C-r are now bound like C-s and C-r,
 respectively, i.e. you can repeat a regexp isearch with the same keys
 that started the search.
 
@@ -933,7 +1007,7 @@ Lazy highlighting is switched on/off by customizing variable
 search string are highlighted.  The current match is highlighted as
 before using face `isearch' or `region'.  All other matches are
 highlighted using face `isearch-lazy-highlight-face' which defaults to
-`secondary-selection'.  
+`secondary-selection'.
 
 The extra highlighting makes it easier to anticipate where the cursor
 will end up each time you press C-s or C-r to repeat a pending search.
@@ -962,6 +1036,9 @@ sign, e.g. `/foo@bar.org#666:mumble'.  (This syntax comes from EFS.)
 *** If the new user-option `ange-ftp-try-passive-mode' is set, passive
 ftp mode will be used if the ftp client supports that.
 
+*** Ange-ftp handles the output of the w32-style clients which
+output ^M at the end of lines.
+
 ** Shell script mode changes.
 
 Shell script mode (sh-script) can now indent scripts for shells
@@ -1054,8 +1131,36 @@ appropriate for C-style escape sequences in strings.
 containing a list of regular expressions.  Buffers matching a regular
 expression from that list, are not checked.
 
+** Emacs can now figure out modification times of remote files.
+When you do C-x C-f /user@host:/path/file RET and edit the file,
+and someone else modifies the file, you will be prompted to revert
+the buffer, just like for the local files.
+
+** The buffer menu (C-x C-b) no longer lists the *Buffer List* buffer.
+
 ** New modes and packages
 
+*** The new package timeclock.el is a mode is for keeping track of time
+intervals.  You can use it for whatever purpose you like, but the
+typical scenario is to keep track of how much time you spend working
+on certain projects.
+
+*** The new package hi-lock.el, text matching interactively entered
+regexp's can be highlighted.  For example,
+
+  M-x highlight-regexp RET clearly RET RET
+
+will highlight all occurrences of `clearly' using a yellow background
+face.  New occurrences of `clearly' will be highlighted as they are
+typed.  `M-x unhighlight-regexp RET' will remove the highlighting.
+Any existing face can be used for highlighting and a set of
+appropriate faces is provided.  The regexps can be written into the
+current buffer in a form that will be recognized the next time the
+corresponding file is read.
+
+*** The new package zone.el plays games with Emacs' display when
+Emacs is idle.
+
 *** The new package xml.el provides a simple but generic XML
 parser. It doesn't parse the DTDs however.
 
@@ -1279,7 +1384,7 @@ for Autoconf, selected automatically.
 
 *** windmove.el provides moving between windows.
 
-*** crm.el provides a facility to read multiple strings from the 
+*** crm.el provides a facility to read multiple strings from the
 minibuffer with completion.
 
 *** todo-mode.el provides management of TODO lists and integration
@@ -1304,6 +1409,28 @@ functionality with aliases for the mldrag functions.
 * Lisp changes made after edition 2.6 of the Emacs Lisp Manual,
 (Display-related features are described in a page of their own below.)
 
+** If `display-buffer-reuse-frames' is set, function `display-buffer'
+will raise frames displaying a buffer, instead of creating a new
+frame or window.
+
+** Two new functions for removing elements from lists/sequences
+were added
+
+- Function: remove ELT SEQ
+
+Return a copy of SEQ with all occurences of ELT removed.  SEQ must be
+a list, vector, or string.  The comparison is done with `equal'.
+
+- Function: remq ELT LIST
+
+Return a copy of LIST with all occurences of ELT removed.  The
+comparison is done with `eq'.
+
+** The function `delete' now also works with vectors and strings.
+
+** The meaning of the `:weakness WEAK' argument of make-hash-table
+has been changed.
+
 ** Function `aset' stores any multibyte character in any string
 without signaling "Attempt to change char length of a string".  It may
 convert a unibyte string to multibyte if necessary.
@@ -1314,7 +1441,7 @@ or evaluated, if it is not a string already, to obtain a help string.
 ** Function `make-obsolete' now has an optional arg to say when the
 function was declared obsolete.
 
-** Function plist-member is renamed from widget-plist-member (which is
+** Function `plist-member' is renamed from `widget-plist-member' (which is
 retained as an alias).
 
 ** Easy-menu's :filter now works as in XEmacs.
@@ -1360,18 +1487,19 @@ ALL-FRAMES = t means include windows on all frames including invisible frames.
 If ALL-FRAMES is a frame, it means include windows on that frame.
 Anything else means restrict to the selected frame.
 
-** The function `single-key-description' now encloses function key
-and event names in angle brackets.
+** The function `single-key-description' now encloses function key and
+event names in angle brackets.  When called with a second optional
+argument non-nil, angle brackets won't be printed.
 
 ** If the variable `message-truncate-lines' is bound to t around a
 call to `message', the echo area will not be resized to display that
 message; it will be truncated instead, as it was done in 20.x.
 Default value is nil.
 
-** The user option line-number-display-limit can now be set to nil,
+** The user option `line-number-display-limit' can now be set to nil,
 meaning no limit.
 
-** select-safe-coding-system now also checks the most preferred
+** `select-safe-coding-system' now also checks the most preferred
 coding-system if buffer-file-coding-system is `undecided' and
 DEFAULT-CODING-SYSTEM is not specified,
 
@@ -1391,6 +1519,7 @@ after-change-function are no longer acted upon and have been removed.
 ** `concat' no longer accepts individual integer arguments, as
 promised long ago.
 
+** The new function `float-time' returns the current time as a float.
 \f
 * Lisp changes in Emacs 21.1 (see following page for display-related features)
 
@@ -1399,6 +1528,11 @@ Note that +++ before an item means the Lisp manual has been updated.
 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 special form `save-restriction' now works correctly even if the
+buffer is widened inside the save-restriction and changes made outside
+the original restriction.  Previously, doing this would cause the saved
+restriction to be restored incorrectly.
+
 *** The functions `find-charset-region' and `find-charset-string' include
 `eight-bit-control' and/or `eight-bit-graphic' in the returned list
 when it finds 8-bit characters.  Previously, it included `ascii' in a
@@ -1575,26 +1709,26 @@ other than 10.
 *** `#BINTEGER' or `#bINTEGER' reads INTEGER in binary (radix 2).
 INTEGER optionally contains a sign.
 
-  #b1111 
+  #b1111
     => 15
-  #b-1111 
+  #b-1111
     => -15
 
 *** `#OINTEGER' or `#oINTEGER' reads INTEGER in octal (radix 8).
 
-  #o666 
+  #o666
     => 438
 
 *** `#XINTEGER' or `#xINTEGER' reads INTEGER in hexadecimal (radix 16).
 
-  #xbeef 
+  #xbeef
     => 48815
 
 *** `#RADIXrINTEGER' reads INTEGER in radix RADIX, 2 <= RADIX <= 36.
 
-  #2R-111 
+  #2R-111
     => -7
-  #25rah 
+  #25rah
     => 267
 
 ** The function `documentation-property' now evaluates the value of
@@ -1817,10 +1951,11 @@ hash table.  It is resized when the ratio of (number of entries) /
 
 :weakness WEAK
 
-WEAK must be either nil, one of the symbols `key, `value', or t.
-Entries are removed from weak tables during garbage collection if
-their key and/or value are not referenced elsewhere outside of the
-hash table.  Default are non-weak hash tables.
+WEAK must be either nil, one of the symbols `key, `value',
+`key-or-value', `key-and-value', or t, meaning the same as
+`key-and-value'.  Entries are removed from weak tables during garbage
+collection if their key and/or value are not referenced elsewhere
+outside of the hash table.  Default are non-weak hash tables.
 
 - Function: makehash &optional TEST
 
@@ -1851,7 +1986,7 @@ Returns the rehash threshold of TABLE.
 
 Returns the size of TABLE.
 
-- Function: hash-table-rehash-test TABLE
+- Function: hash-table-test TABLE
 
 Returns the test TABLE uses to compare keys.
 
@@ -2532,7 +2667,7 @@ Otherwise, it returns zero.
 
 There is now code to support an abstraction called `fields' in emacs
 buffers.  A field is a contiguous region of text with the same `field'
-text-property.
+property (which can be a text property or an overlay).
 
 Many emacs functions, such as forward-word, forward-sentence,
 forward-paragraph, beginning-of-line, etc., stop moving when they come
@@ -2549,9 +2684,10 @@ editing commands treat the user's text separately from the prompt.
 
 The following functions are defined for operating on fields:
 
-- Function: constrain-to-field NEW-POS OLD-POS &optional ESCAPE-FROM-EDGE ONLY-IN-LINE
+- Function: constrain-to-field NEW-POS OLD-POS &optional ESCAPE-FROM-EDGE ONLY-IN-LINE INHIBIT-CAPTURE-PROPERTY
 
 Return the position closest to NEW-POS that is in the same field as OLD-POS.
+
 A field is a region of text with the same `field' property.
 If NEW-POS is nil, then the current point is used instead, and set to the
 constrained position if that is is different.
@@ -2559,10 +2695,12 @@ constrained position if that is is different.
 If OLD-POS is at the boundary of two fields, then the allowable
 positions for NEW-POS depends on the value of the optional argument
 ESCAPE-FROM-EDGE: If ESCAPE-FROM-EDGE is nil, then NEW-POS is
-constrained to the field that has the same `field' text-property
+constrained to the field that has the same `field' char-property
 as any new characters inserted at OLD-POS, whereas if ESCAPE-FROM-EDGE
 is non-nil, NEW-POS is constrained to the union of the two adjacent
-fields.
+fields.  Additionally, if two fields are separated by another field with
+the special value `boundary', then any point within this special field is
+also considered to be `on the boundary'.
 
 If the optional argument ONLY-IN-LINE is non-nil and constraining
 NEW-POS would move it to a different line, NEW-POS is returned
@@ -2570,39 +2708,44 @@ unconstrained.  This useful for commands that move by line, like
 C-n or C-a, which should generally respect field boundaries
 only in the case where they can still move to the right line.
 
-- Function: erase-field &optional POS
+If the optional argument INHIBIT-CAPTURE-PROPERTY is non-nil, and OLD-POS has
+a non-nil property of that name, then any field boundaries are ignored.
+
+Field boundaries are not noticed if `inhibit-field-text-motion' is non-nil.
 
-Erases the field surrounding POS.
+- Function: delete-field &optional POS
+
+Delete the field surrounding POS.
 A field is a region of text with the same `field' property.
-If POS is nil, the position of the current buffer's point is used.
+If POS is nil, the value of point is used for POS.
 
 - Function: field-beginning &optional POS ESCAPE-FROM-EDGE
 
 Return the beginning of the field surrounding POS.
 A field is a region of text with the same `field' property.
-If POS is nil, the position of the current buffer's point is used.
-If ESCAPE-FROM-EDGE is non-nil and POS is already at beginning of an
+If POS is nil, the value of point is used for POS.
+If ESCAPE-FROM-EDGE is non-nil and POS is at the beginning of its
 field, then the beginning of the *previous* field is returned.
 
 - Function: field-end &optional POS ESCAPE-FROM-EDGE
 
 Return the end of the field surrounding POS.
 A field is a region of text with the same `field' property.
-If POS is nil, the position of the current buffer's point is used.
-If ESCAPE-FROM-EDGE is non-nil and POS is already at end of a field,
+If POS is nil, the value of point is used for POS.
+If ESCAPE-FROM-EDGE is non-nil and POS is at the end of its field,
 then the end of the *following* field is returned.
 
 - Function: field-string &optional POS
 
 Return the contents of the field surrounding POS as a string.
 A field is a region of text with the same `field' property.
-If POS is nil, the position of the current buffer's point is used.
+If POS is nil, the value of point is used for POS.
 
 - Function: field-string-no-properties &optional POS
 
 Return the contents of the field around POS, without text-properties.
 A field is a region of text with the same `field' property.
-If POS is nil, the position of the current buffer's point is used.
+If POS is nil, the value of point is used for POS.
 
 +++
 ** Image support.
@@ -2634,12 +2777,12 @@ The following is a list of properties all image types share.
 
 ASCENT must be a number in the range 0..100, or the symbol `center'.
 If it is a number, it specifies the percentage of the image's height
-to use for its ascent.  
+to use for its ascent.
 
 If not specified, ASCENT defaults to the value 50 which means that the
 image will be centered with the base line of the row it appears in.
 
-If ASCENT is `center' the image is vertically centered around a 
+If ASCENT is `center' the image is vertically centered around a
 centerline which is the vertical center of text drawn at the position
 of the image, in the manner specified by the text properties and
 overlays that apply to the image.
@@ -2889,7 +3032,7 @@ If OBJECT is an overlay, that overlay has a `help-echo' property, and
 POS is the position in the overlay's buffer under the mouse.
 
 If OBJECT is a string (an overlay string or a string displayed with
-the `display' property) POS is the position in that string under the
+the `display' property), POS is the position in that string under the
 mouse.
 
 If the value of the `help-echo' property is neither a function nor a
@@ -3337,6 +3480,8 @@ to a solid box, as it does on Unix.  The `cursor-type' frame parameter
 overrides this as it does on Unix, except that the bar cursor is
 horizontal rather than vertical (since the MS-DOS display doesn't
 support a vertical-bar cursor).
+
+
 ^L
 * Emacs 20.7 is a bug-fix release with few user-visible changes
 
@@ -8314,8 +8459,10 @@ in addition to the normal
 *** The commands lm-verify and lm-synopsis are now interactive.  lm-verify
 checks that the library file has proper sections and headers, and
 lm-synopsis extracts first line "synopsis'"information.
+
+
 \f
-* For older news, see the file ONEWS.
+* For older news, see the file ONEWS
 
 ----------------------------------------------------------------------
 Copyright information: