]> code.delx.au - gnu-emacs/blobdiff - etc/NEWS
(bibtex-sort-entry-class)
[gnu-emacs] / etc / NEWS
index e5dfa809d5b3a919483e5d014891a9e875516838..d6a2943205b56597c495eb21f27043500c34f890 100644 (file)
--- a/etc/NEWS
+++ b/etc/NEWS
@@ -98,6 +98,32 @@ types any more.  Add -DUSE_LISP_UNION_TYPE if you want union types.
 \f
 * Changes in Emacs 21.4
 
+** line-move-ignore-invisible now defaults to t.
+
+** In Outline mode, hide-body no longer hides lines at the top
+of the file that precede the first header line.
+
++++
+** `set-auto-mode' now gives the interpreter magic line (if present)
+precedence over the file name.  Likewise an <?xml or <!DOCTYPE declaration
+will give the buffer XML or SGML mode, based on the new var
+`magic-mode-alist'.
+
++++
+** New function `looking-back' checks whether a regular expression matches
+the text before point.  Specifying the LIMIT argument bounds how far
+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 of printing progress messages to the user.
+
++++
+** In Enriched mode, `set-left-margin' and `set-right-margin' are now
+by default bound to `C-c [' and `C-c ]' instead of the former `C-c C-l'
+and `C-c C-r'.
+
 +++
 ** In processing a local variables list, Emacs strips the prefix and
 suffix are from every line before processing all the lines.
@@ -361,6 +387,7 @@ feature.
        % emacsclient -s foo file1
        % emacsclient -s bar file2
 
++++
 ** On window systems, lines which are exactly as wide as the window
 (not counting the final newline character) are no longer broken into
 two lines on the display (with just the newline on the second line).
@@ -370,6 +397,7 @@ 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.
 
++++
 ** The buffer boundaries (i.e. first and last line in the buffer) may
 now be marked with angle bitmaps in the fringes.  In addition, up and
 down arrow bitmaps may be shown at the top and bottom of the left or
@@ -380,18 +408,15 @@ This behavior is activated by setting the buffer-local variable
 this variable is found in `default-indicate-buffer-boundaries'.
 
 If value is `left' or `right', both angle and arrow bitmaps are
-displayed in the left or right fringe, resp.  Any other non-nil value
-causes the bitmap on the top line to be displayed in the left fringe,
-and the bitmap on the bottom line in the right fringe.
+displayed in the left or right fringe, resp.
 
-If value is a cons (ANGLES . ARROWS), the car specifies the position
-of the angle bitmaps, and the cdr specifies the position of the arrow
-bitmaps.
+Value may also be an alist which specifies the presense and position
+of each bitmap individually.
 
-For example, (t .  right) places the top angle bitmap in left fringe,
-the bottom angle bitmap in right fringe, and both arrow bitmaps in
-right fringe.  To show just the angle bitmaps in the left fringe, but
-no arrow bitmaps, use (left . nil).
+For example, ((top . left) (t .  right)) places the top angle bitmap
+in left fringe, the bottom angle bitmap in right fringe, and both
+arrow bitmaps in right fringe.  To show just the angle bitmaps in the
+left fringe, but no arrow bitmaps, use ((top . left) (bottom . left)).
 
 ** New command `display-local-help' displays any local help at point
 in the echo area.  It is bound to `C-h .'.  It normally displays the
@@ -623,14 +648,17 @@ version 4.7 or newer, compiles to Info pages with embedded images.
 
 ** BibTeX mode:
 *** The new command bibtex-url browses a URL for the BibTeX entry at
-point (bound to C-c C-l and mouse-2 on clickable fields).
+point (bound to C-c C-l and mouse-2, RET on clickable fields).
+
 *** The new command bibtex-entry-update (bound to C-c C-u) updates
 an existing BibTeX entry.
+
 *** New `bibtex-entry-format' option `required-fields', enabled by default.
+
 *** bibtex-maintain-sorted-entries can take values `plain',
 `crossref', and `entry-class' which control the sorting scheme used
-for BibTeX entries. `bibtex-sort-entry-class' controls the sorting
-scheme `entry-class'. TAB completion for reference keys and
+for BibTeX entries.  `bibtex-sort-entry-class' controls the sorting
+scheme `entry-class'.  TAB completion for reference keys and
 automatic detection of duplicates does not require anymore that
 bibtex-maintain-sorted-entries is non-nil.
 
@@ -647,11 +675,21 @@ types for which fields are filled automatically (if possible).
 point according to context (bound to M-tab).
 
 *** The new commands bibtex-find-entry and bibtex-find-crossref
-locate entries and crossref'd entries.
+locate entries and crossref'd entries (bound to C-c C-s and C-c C-x).
+Crossref fields are clickable (bound to mouse-2, RET).
 
 *** In BibTeX mode the command fill-paragraph (bound to M-q) fills
 individual fields of a BibTeX entry.
 
+*** The new variables bibtex-files and bibtex-file-path define a set
+of BibTeX files that are searched for entry keys.
+
+*** The new command bibtex-validate-globally checks for duplicate keys
+in multiple BibTeX files.
+
+*** The new command bibtex-copy-summary-as-kill pushes summary
+of BibTeX entry to kill ring (bound to C-c C-t).
+
 ** When display margins are present in a window, the fringes are now
 displayed between the margins and the buffer's text area, rather than
 at the edges of the window.
@@ -850,6 +888,9 @@ coding system now also encodes characters from most of Emacs's
 one-dimensional internal charsets, specifically the ISO-8859 ones.
 The utf-16 coding system is affected similarly.
 
+** New variable `utf-translate-cjk-unicode-range' controls which
+Unicode characters to translate in `utf-translate-cjk-mode'.
+
 ** iso-10646-1 (`Unicode') fonts can be used to display any range of
 characters encodable by the utf-8 coding system.  Just specify the
 fontset appropriately.
@@ -894,15 +935,26 @@ amount of text shown any more (only a crude approximation of it).
 
 ---
 ** The pop up menus for Lucid now stay up if you do a fast click and can
-be navigated with the arrow keys (like Gtk+ and W32).
+be navigated with the arrow keys (like Gtk+, Mac and W32).
 
 ---
-** Dialogs for Lucid/Athena and Lesstif/Motif pops down when pressing ESC.
+** Dialogs for Lucid/Athena and Lesstif/Motif now pops down when pressing
+ESC, like they do for Gtk+, Mac and W32.
+
+---
+** The menu item "Open File..." has been split into two items, "New File..."
+and "Open File...".  "Open File..." now opens only existing files.  This is
+to support existing GUI file selection dialogs better.
 
 +++
-** The file selection dialog for Gtk+, W32 and Motif/Lesstif can be
+** The file selection dialog for Gtk+, Mac, W32 and Motif/Lesstif can be
 disabled by customizing the variable `use-file-dialog'.
 
++++
+** For Gtk+ version 2.4, you can make Emacs use the old file dialog
+by setting the variable `x-use-old-gtk-file-dialog' to t.  Default is to use
+the new dialog.
+
 +++
 ** Emacs can produce an underscore-like (horizontal bar) cursor.
 The underscore cursor is set by putting `(cursor-type . hbar)' in
@@ -1162,12 +1214,23 @@ to new-kill-line, these commands now report:
 - C-h w and C-h f new-kill-line reports:
   new-kill-line is on C-k
 
++++
+** Vertical scrolling is now possible within incremental search.
+To enable this feature, customize the new user option
+`isearch-allow-scroll'.  User written commands which satisfy stringent
+constraints can be marked as "scrolling commands".  See the Emacs manual
+for details.
+
 +++
 ** 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'.
 
++++
+** C-y in incremental search now grabs the next line if point is already
+at the end of a line.
+
 +++
 ** C-M-w deletes and C-M-y grabs a character in isearch mode.
 Another method to grab a character is to enter the minibuffer by `M-e'
@@ -1391,6 +1454,10 @@ of the recognized cursor types.
 controls whether or not the function `make-auto-save-file-name' will
 attempt to construct a unique auto-save name (e.g. for remote files).
 
++++
+** There is a new calendar package, icalendar.el, that can be used to
+convert Emacs diary entries to/from the iCalendar format.
+
 +++
 ** Diary sexp entries can have custom marking in the calendar.
 Diary sexp functions which only apply to certain days (such as
@@ -1407,6 +1474,17 @@ appointments, paydays or anything else using a sexp.
 year and day number, and moves to that date. Negative day numbers
 count backward from the end of the year.
 
++++
+** The new Calendar function `calendar-goto-iso-week' (g w)
+prompts for a year and a week number, and moves to the first
+day of that ISO week.
+
+---
+** The functions `holiday-easter-etc' and `holiday-advent' now take
+arguments, and only report on the specified holiday rather than all.
+This makes customization of the variable `christian-holidays' simpler,
+but existing customizations may need to be updated.
+
 ** The function `simple-diary-display' now by default sets a header line.
 This can be controlled through the variables `diary-header-line-flag'
 and `diary-header-line-format'.
@@ -1880,6 +1958,10 @@ Lines that match are never indented, and are given distinctive font-locking.
 It cannot deal with every code format, but ought to handle a sizeable
 majority.
 
+---
+** The new function `f90-backslash-not-special' can be used to change
+the syntax of backslashes in F90 buffers.
+
 ---
 ** Prolog mode has a new variable `prolog-font-lock-keywords'
 to support use of font-lock.
@@ -2012,6 +2094,15 @@ anyone has committed to the repository since you last executed
 \f
 * New modes and packages in Emacs 21.4
 
+** The new package conf-mode.el handles thousands of configuration files, with
+varying syntaxes for comments (;, #, //, /* */ or !), assignment (var = value,
+var : value, var value or keyword var value) and sections ([section] or
+section { }).  Many files under /etc/, or with suffixes like .cf through
+.config, .properties (Java), .desktop (KDE/Gnome), .ini and many others are
+recognized.
+
+** The new package password.el provide a password cache and expiring mechanism.
+
 ** The new package dns-mode.el add syntax highlight of DNS master files.
 The key binding C-c C-s (`dns-mode-soa-increment-serial') can be used
 to increment the SOA serial.
@@ -2247,6 +2338,57 @@ configuration files.
 \f
 * Lisp Changes in Emacs 21.4
 
++++
+** read-from-minibuffer now accepts an additional argument KEEP-ALL
+saying to put all inputs in the history list, even empty ones.
+
++++
+** The new variable search-spaces-regexp controls how to search
+for spaces in a regular expression.  If it is non-nil, it should be a
+regular expression, and any series of spaces stands for that regular
+expression.  If it is nil, spaces stand for themselves.
+
+Spaces inside of constructs such as [..] and *, +, ? are never
+replaced with search-spaces-regexp.
+
+---
+** list-buffers-noselect now takes an additional argument, BUFFER-LIST.
+If it is non-nil, it specifies which buffers to list.
+
+---
+** set-buffer-file-coding-system now takes an additional argument,
+NOMODIFY.  If it is non-nil, it means don't mark the buffer modified.
+
++++
+** The new function syntax-after returns the syntax code
+of the character after a specified buffer position, taking account
+of text properties as well as the character code.
+
++++
+** The new primitive `get-internal-run-time' returns the processor
+run time used by Emacs since start-up.
+
++++
+** The new function `called-interactively-p' does what many people
+have mistakenly believed `interactive-p' did: it returns t if the
+calling function was called through `call-interactively'.  This should
+only be used when you cannot add a new "interactive" argument to the
+command.
+
++++
+** The new function `assoc-string' replaces `assoc-ignore-case' and
+`assoc-ignore-representation', which are still available, but have
+been declared obsolete.
+
++++
+** An interactive specification may now use the code letter 'U' to get
+the up-event that was discarded in case the last key sequence read for a
+previous 'k' or 'K' argument was a down-event; otherwise nil is used.
+
+** Function `translate-region' accepts also a char-table as TABLE
+argument.
+
++++
 ** Major mode functions now run the new normal hook
 `after-change-major-mode-hook', at their very end, after the mode hooks.
 
@@ -2316,13 +2458,11 @@ arg is non-nil.
 modification times.  Magic file name handlers can handle this
 operation.
 
-** file-remote-p now returns an identifier for the remote system,
-if the file is indeed remote.  (Before, the return value was t in
-this case.)
-
++++
 ** The display space :width and :align-to text properties are now
 supported on text terminals.
 
++++
 ** Support for displaying image slices
 
 *** New display property (slice X Y WIDTH HEIGHT) may be used with
@@ -2334,6 +2474,7 @@ specify image slice (X Y WIDTH HEIGHT).
 *** New function insert-sliced-image inserts a given image as a
 specified number of evenly sized slices (rows x columns).
 
++++
 ** New line-height and line-spacing properties for newline characters
 
 A newline may now have line-height and line-spacing text or overlay
@@ -2370,10 +2511,10 @@ 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.
 
++++
 ** Enhancements to stretch display properties
 
 The display property stretch specification form `(space PROPS)', where
@@ -2430,6 +2571,7 @@ height) of the specified image.
 The form `(+ EXPR ...)' adds up the value of the expressions.
 The form `(- EXPR ...)' negates or subtracts the value of the expressions.
 
++++
 ** Normally, the cursor is displayed at the end of any overlay and
 text property string that may be present at the current window
 position.  The cursor may now be placed on any character of such
@@ -2447,34 +2589,34 @@ a terminal that supports at least this many colors.  This is now the
 preferred method for defining default faces in a way that makes a good
 use of the capabilities of the display.
 
-** New function 'define-fringe-bitmap' can now be used to change the
-built-in fringe bitmaps, as well as create new fringe bitmaps.
-The return value is a number identifying the new fringe bitmap.
++++
+** Customizable fringe bitmaps
 
-To change a built-in bitmap, do (require 'fringe) and identify the
-bitmap to change with the value of the corresponding symbol, like
-`left-truncation-fringe-bitmap' or `continued-line-fringe-bitmap'.
+*** New function 'define-fringe-bitmap' can now be used to create new
+fringe bitmaps, as well as change the built-in fringe bitmaps.
 
-** New function 'destroy-fringe-bitmap' may be used to destroy a
+To change a built-in bitmap, do (require 'fringe) and use the symbol
+identifing the bitmap such as `left-truncation or `continued-line'.
+
+*** New function 'destroy-fringe-bitmap' may be used to destroy a
 previously created bitmap, or restore a built-in bitmap.
 
-** New function 'set-fringe-bitmap-face' can now be used to set a
+*** New function 'set-fringe-bitmap-face' can now be used to set a
 specific face to be used for a specific fringe bitmap.  Normally,
 this should be a face derived from the `fringe' face, specifying
 the foreground color as the desired color of the bitmap.
 
-** There are new display properties, left-fringe and right-fringe,
+*** There are new display properties, left-fringe and right-fringe,
 that can be used to show a specific bitmap in the left or right fringe
 bitmap of the display line.
 
 Format is 'display '(left-fringe BITMAP [FACE]), where BITMAP is a
-number identifying a fringe bitmap, either built-in or as returned by
+symbol identifying a fringe bitmap, either built-in or defined with
 `define-fringe-bitmap', and FACE is an optional face name to be used
 for displaying the bitmap.
 
-** New function `fringe-bitmaps-at-pos' returns a cons (LEFT . RIGHT)
-identifying the current fringe bitmaps in the display line at a given
-buffer position.  A nil value means no bitmap.
+*** New function `fringe-bitmaps-at-pos' returns the current fringe
+bitmaps in the display line at a given buffer position.
 
 ** Multiple overlay arrows can now be defined and managed via the new
 variable `overlay-arrow-variable-list'.  It contains a list of
@@ -2493,10 +2635,12 @@ If either property is not set, the default `overlay-arrow-string' or
 line in current buffer, or if optional buffer position is given, line
 number of corresponding line in current buffer.
 
++++
 ** The default value of `sentence-end' is now defined using the new
 variable `sentence-end-without-space' which contains such characters
 that end a sentence without following spaces.
 
++++
 ** The function `sentence-end' should be used to obtain the value of
 the variable `sentence-end'.  If the variable `sentence-end' is nil,
 then this function returns the regexp constructed from the variables
@@ -2539,18 +2683,23 @@ return value of `get-char-property' called with those arguments and
 whose cdr is the overlay in which the property was found, or nil if
 it was found as a text property or not found at all.
 
++++ (lispref)
+??? (man)
 ** The mouse pointer shape in void text areas (i.e. after the end of a
 line or below the last line in the buffer) of the text window is now
 controlled by the new variable `void-text-area-pointer'.  The default
 is to use the `arrow' (non-text) pointer.  Other choices are `text'
 (or nil), `hand', `vdrag', `hdrag', `modeline', and `hourglass'.
 
++++
 ** The mouse pointer shape over an image can now be controlled by the
 :pointer image property.
 
++++
 ** The mouse pointer shape over ordinary text or images may now be
 controlled/overriden via the `pointer' text property.
 
++++
 ** Images may now have an associated image map via the :map property.
 
 An image map is an alist where each element has the format (AREA ID PLIST).
@@ -3035,11 +3184,13 @@ KEEP-MARGINS which will preserve the window's current margin, fringe,
 and scroll-bar settings if non-nil.
 
 +++
-** Renamed file hooks to follow the convention:
+** Renamed hooks to better follow the naming convention:
 find-file-hooks to find-file-hook,
 find-file-not-found-hooks to find-file-not-found-functions,
 write-file-hooks to write-file-functions,
-write-contents-hooks to write-contents-functions.
+write-contents-hooks to write-contents-functions,
+x-lost-selection-hooks to x-lost-selection-functions,
+x-sent-selection-hooks to x-sent-selection-functions.
 Marked local-write-file-hooks as obsolete (use the LOCAL arg of `add-hook').
 
 +++
@@ -3072,6 +3223,7 @@ will only show directories.
 ** The new function `file-remote-p' tests a file name and returns
 non-nil if it specifies a remote file (one that Emacs accesses using
 its own special methods and not directly through the file system).
+The value in that case is an identifier for the remote file system.
 
 ---
 ** When a Lisp file uses CL functions at run-time, compiling the file
@@ -3451,6 +3603,11 @@ status, and other information about a specific network interface.
 +++
 ** New function `call-process-shell-command'.
 
+** New function `process-file'.
+
+This is similar to `call-process', but obeys file handlers.  The file
+handler is chosen based on default-directory.
+
 ---
 ** The dummy function keys made by easymenu
 are now always lower case.  If you specify the
@@ -3505,6 +3662,12 @@ or the header line.
 This returns the mode-line or header-line of the selected (or a
 specified) window as a string with or without text properties.
 
++++
+** New function safe-plist-get.
+
+This function is like plist-get, but never signals an error for
+a malformed property list.
+
 +++
 ** New functions `lax-plist-get' and `lax-plist-put'.