X-Git-Url: https://code.delx.au/gnu-emacs/blobdiff_plain/7b18d88fe2382d1fbc5f3a1d202c3d3efb7a93fe..87acbfdabad3c3761075f88fa9388c4fe35e0f5c:/etc/NEWS diff --git a/etc/NEWS b/etc/NEWS index 5e1db31f8b..a8092923ea 100644 --- a/etc/NEWS +++ b/etc/NEWS @@ -1,5 +1,5 @@ GNU Emacs NEWS -- history of user-visible changes. 2003-05-21 -Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005 +Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc. See the end for copying conditions. @@ -27,7 +27,7 @@ installed programs. --- ** You can build Emacs with Gtk+ widgets by specifying `--with-x-toolkit=gtk' -when you run configure. This requires Gtk+ 2.0 or newer. This port +when you run configure. This requires Gtk+ 2.4 or newer. This port provides a way to display multilingual text in menus (with some caveats). --- @@ -159,6 +159,10 @@ in the other directories in `load-path'. (-L is short for --directory.) ** The command line option --no-windows has been changed to --no-window-system. The old one still works, but is deprecated. +--- +** If the environment variable DISPLAY specifies an unreachable X display, +Emacs will now startup as if invoked with the --no-window-system option. + +++ ** The -f option, used from the command line to call a function, now reads arguments for the function interactively if it is @@ -184,7 +188,7 @@ disables the splash screen; see also the variable `inhibit-splash-screen'). +++ -** The default is now to use an bitmap as the icon, so the command-line options +** The default is now to use a bitmap as the icon, so the command-line options --icon-type, -i has been replaced with options --no-bitmap-icon, -nbi to turn the bitmap icon off. @@ -268,6 +272,7 @@ the actual file name into the minibuffer. to the text before point. If there is text in the buffer after point, it remains unchanged. ++++ ** When Emacs prompts for file names, SPC no longer completes the file name. This is so filenames with embedded spaces could be input without the need to quote the space with a C-q. The underlying changes in the @@ -306,9 +311,10 @@ a new Emacs. On 32bit machines, it is now 256M (i.e. 268435455). +++ -** You can now switch buffers in a cyclic order with C-x C-left and -(prev-buffer) and C-x C-right (next-buffer). C-x left and C-x right -can be used as well. +** You can now switch buffers in a cyclic order with C-x C-left +(previous-buffer) and C-x C-right (next-buffer). C-x left and +C-x right can be used as well. The functions keep a different buffer +cycle for each frame, using the frame-local buffer list. +++ ** `undo-only' does an undo which does not redo any previous undo. @@ -317,11 +323,16 @@ can be used as well. ** M-SPC (just-one-space) when given a numeric argument N converts whitespace around point to N spaces. +--- +** C-x 5 C-o displays a specified buffer in another frame +but does not switch to that frame. It's the multi-frame +analogue of C-x 4 C-o. + --- ** New commands to operate on pairs of open and close characters: `insert-pair', `delete-pair', `raise-sexp'. ---- ++++ ** New command `kill-whole-line' kills an entire line at once. By default, it is bound to C-S-. @@ -570,7 +581,22 @@ is only rarely needed. +++ *** In processing a local variables list, Emacs strips the prefix and -suffix are from every line before processing all the lines. +suffix from every line before processing all the lines. + ++++ +*** If the local variables list contains any variable-value pairs that +are not known to be safe, Emacs shows a prompt asking whether to apply +the local variables list as a whole. In earlier versions, a prompt +was only issued for variables explicitly marked as risky (for the +definition of risky variables, see `risky-local-variable-p'). + +At the prompt, the user can choose to save the contents of this local +variables list to `safe-local-variable-values'. This new customizable +option is a list of variable-value pairs that are known to be safe. +Variables can also be marked as safe with the existing +`safe-local-variable' property (see `safe-local-variable-p'). +However, risky variables will not be added to +`safe-local-variable-values' in this way. +++ *** find-file-read-only visits multiple files in read-only mode, @@ -729,7 +755,7 @@ The variable `automatic-hscrolling' was renamed to `auto-hscroll-mode'. The old name is still available as an alias. --- -*** Moving or scrolling through images (and other lines) taller that +*** Moving or scrolling through images (and other lines) taller than the window now works sensibly, by automatically adjusting the window's vscroll property. @@ -815,6 +841,10 @@ appears in. *** The variable `cursor-in-non-selected-windows' can now be set to any of the recognized cursor types. ++++ +*** On text terminals, the variable `visible-cursor' controls whether Emacs +uses the "very visible" cursor (the default) or the normal cursor. + ** New faces: +++ @@ -822,6 +852,9 @@ of the recognized cursor types. elements on mode-line (and header-line) like `highlight' face on text areas. +*** `mode-line-buffer-id' is the standard face for buffer identification +parts of the mode line. + +++ *** `shadow' face defines the appearance of the "shadowed" text, i.e. the text which should be less noticeable than the surrounding text. @@ -848,11 +881,6 @@ The variable `Info-fontify' is no longer applicable; to disable fontification in Info, remove `turn-on-font-lock' from `Info-mode-hook'. -+++ -*** font-lock-lines-before specifies a number of lines before the -current line that should be refontified when you change the buffer. -The default value is 1. - +++ *** font-lock: in modes like C and Lisp where the fontification assumes that an open-paren in column 0 is always outside of any string or comment, @@ -933,7 +961,7 @@ to explicitly specify a fontSet resource for this to work, for example ESC, like they do for Gtk+, Mac and W32. +++ -*** For Gtk+ version 2.4, you can make Emacs use the old file dialog +*** For the Gtk+ version, 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. @@ -1164,7 +1192,7 @@ fontset appropriately. *** Custom themes are collections of customize options. Create a custom theme with M-x customize-create-theme. Use M-x load-theme to load and enable a theme, and M-x disable-theme to disable it. Use M-x -enable-theme to renable a disabled theme. +enable-theme to enable a disabled theme. +++ *** The commands M-x customize-face and M-x customize-face-other-window @@ -1191,7 +1219,7 @@ under the "[State]" button. +++ *** New command `Buffer-menu-toggle-files-only' toggles display of file -buffers only in the Buffer Menu. It is bound to `T' in Buffer Menu +buffers only in the Buffer Menu. It is bound to T in Buffer Menu mode. +++ @@ -1237,7 +1265,7 @@ of marked files with the value entered in the minibuffer. 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 +double quotes make no difference in the shell, but they prevent special treatment in `dired-do-shell-command'. +++ @@ -1284,7 +1312,7 @@ to the kill-ring, but does not delete it. +++ *** The new command `comint-insert-previous-argument' in comint-derived -modes (shell-mode etc) inserts arguments from previous command lines, +modes (shell-mode, etc.) inserts arguments from previous command lines, like bash's `ESC .' binding. It is bound by default to `C-c .', but otherwise behaves quite similarly to the bash version. @@ -1363,9 +1391,10 @@ the next/previous matching line found by M-x occur. +++ *** The new command `multi-occur' is just like `occur', except it can search multiple buffers. There is also a new command -`multi-occur-by-filename-regexp' which allows you to specify the -buffers to search by their filename. Internally, Occur mode has been -rewritten, and now uses font-lock, among other changes. +`multi-occur-in-matching-buffers' which allows you to specify the +buffers to search by their filenames or buffer names. Internally, +Occur mode has been rewritten, and now uses font-lock, among other +changes. ** Grep changes: @@ -1391,7 +1420,7 @@ people knowing `find-grep-dired' would probably expect it. settings, for grep commands only. +++ -*** New option `grep-highlight-matches' highlightes matches in *grep* +*** New option `grep-highlight-matches' highlights matches in *grep* buffer. It uses a special feature of some grep programs which accept --color option to output markers around matches. When going to the next match with `next-error' the exact match is highlighted in the source @@ -1452,8 +1481,8 @@ amount of text shown any more (only a crude approximation of it). ** Xterm support: --- -*** Emacs now responds to mouse-clicks on the mode-line, header-line and -display margin, when run in an xterm. +*** If you enable Xterm Mouse mode, Emacs will respond to mouse clicks +on the mode line, header line and display margin, when run in an xterm. --- *** Improved key bindings support when running in an xterm. @@ -1495,6 +1524,17 @@ colors as on X. * New Modes and Packages in Emacs 22.1 +** ERC is now part of the Emacs distribution. + +ERC is a powerful, modular, and extensible IRC client for Emacs. + +To see what modules are available, type +M-x customize-option erc-modules RET. + +To start an IRC session, type M-x erc-select, and follow the prompts +for server, port, and nick. + +--- ** Rcirc is now part of the Emacs distribution. Rcirc is an Internet relay chat (IRC) client. It supports @@ -1624,7 +1664,7 @@ to increment the SOA serial. filenames being entered by the user in the minibuffer are displayed, so that it's clear when part of the entered filename will be ignored due to emacs' filename parsing rules. The ignored portion can be made dim, -invisible, or otherwise less visually noticable. The display method can +invisible, or otherwise less visually noticeable. The display method can be displayed by customizing the variable `file-name-shadow-properties'. +++ @@ -1752,9 +1792,9 @@ table editing available in modern word processors. The package also can generate a table source in typesetting and markup languages such as latex and html from the visually laid out text table. -+++ -** The thumbs.el package allows you to preview image files as thumbnails -and can be invoked from a Dired buffer. +** The tumme.el package allows you to easily view, tag and in other ways +manipulate image files and their thumbnails, using dired as the main interface. +Tumme provides functionality to generate simple image galleries. +++ ** Tramp is now part of the distribution. @@ -1776,6 +1816,9 @@ If you want to disable Tramp you should set (setq tramp-default-method "ftp") +Removing Tramp, and re-enabling Ange-FTP, can be achieved by M-x +tramp-unload-tramp. + --- ** The URL package (which had been part of W3) is now part of Emacs. @@ -1809,28 +1852,57 @@ boundaries during scrolling. * Changes in Specialized Modes and Packages in Emacs 22.1: +** Changes in Dired + ++++ +*** Bindings for Tumme added +Several new keybindings, all starting with the C-t prefix, have been +added to Dired. They are all bound to commands in Tumme. As a starting +point, mark some image files in a dired buffer and do C-t d to display +thumbnails of them in a separate buffer. + +** Changes in Hi Lock + ++++ +*** hi-lock-mode now only affects a single buffer, and a new function +`global-hi-lock-mode' enables Hi Lock in all buffers. By default, if +hi-lock-mode is used in what appears to be the initialization file, a +warning message suggests to use global-hi-lock-mode instead. However, +if the new variable `hi-lock-archaic-interface-deduce' is non-nil, +using hi-lock-mode in an initialization file will turn on Hi Lock in all +buffers and no warning will be issued (for compatibility with the +behavior in older versions of Emacs). + ** Changes in Allout *** Topic cryptography added, enabling easy gpg topic encryption and decryption. Per-topic basis enables interspersing encrypted-text and -clear-text within a single file to your hearts content, using symmetric +clear-text within a single file to your heart's content, using symmetric and/or public key modes. Time-limited key caching, user-provided symmetric key hinting and consistency verification, auto-encryption of pending topics on save, and more, make it easy to use encryption in powerful ways. -*** many substantial fixes and refinements, including: +*** Default command prefix changed to "\C-c " (control-c space), to avoid +intruding on user's keybinding space. Customize the +`allout-command-prefix' variable to your preference. + +*** Allout now uses text overlay's `invisible' property (and others) for +concealed text, instead of selective-display. This simplifies the code, in +particularly avoiding the need for kludges for isearch dynamic-display, +discretionary handling of edits of concealed text, undo concerns, etc. + +*** Many substantial fixes and refinements, including: - repaired inhibition of inadvertent edits to concealed text - repaired retention of topic body hanging indent upon topic depth shifts - - prevent "containment discontinuities" where a topic is shifted deeper - than the offspring-depth of its container - - easy to adopt the distinctive bullet of a topic in a topic created - relative to it, or select a new one, or use the common topic bullet - - plain bullets, by default, now alternate between only two characters - ('.' and ','), yielding less cluttered outlines - - many internal fixes - - version number incremented to 2.1 + - refuse to create "containment discontinuities", where a + topic is shifted deeper than the offspring-depth of its' container + - bulleting variation is simpler and more accommodating, both in the + default behavior and in ability to vary when creating new topics + - many internal fixes and refinements + - many module and function docstring clarifications + - version number incremented to 2.2 ** The variable `woman-topic-at-point' was renamed to `woman-use-topic-at-point' and behaves differently: if this @@ -1855,9 +1927,9 @@ subprocess are controlled by the user options `scheme-trace-command', `scheme-untrace-command' and `scheme-expand-current-form'. --- -** Makefile mode has submodes for automake, gmake, makepp and BSD make. +** Makefile mode has submodes for automake, gmake, makepp, BSD make and imake. -The former two couldn't be differentiated before, and the latter two +The former two couldn't be differentiated before, and the latter three are new. Font-locking is robust now and offers new customizable faces. @@ -1922,7 +1994,7 @@ with the number appended to the `*info*' buffer name (e.g. "*info*<2>"). Before leaving the initial Info node isearch fails once with the error message [initial node], and with subsequent C-s/C-r continues through other nodes. When isearch fails for the rest of the manual, it wraps -aroung the whole manual to the top/final node. The user option +around the whole manual to the top/final node. The user option `Info-isearch-search' controls whether to use Info-search for isearch, or the default isearch search function that wraps around the current Info node. @@ -2370,6 +2442,7 @@ the syntax of backslashes in F90 buffers. --- ** Reftex mode changes + +++ *** Changes to RefTeX's table of contents @@ -2487,7 +2560,8 @@ and super/sub-scripts are made into super/sub-scripts. 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. +an existing BibTeX entry by inserting fields that may occur but are not +present. *** New `bibtex-entry-format' option `required-fields', enabled by default. @@ -2526,6 +2600,16 @@ 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). +*** The new variables bibtex-expand-strings and +bibtex-autokey-expand-strings control the expansion of strings when +extracting the content of a BibTeX field. + +*** The variables `bibtex-autokey-name-case-convert' and +`bibtex-autokey-titleword-case-convert' have been renamed to +`bibtex-autokey-name-case-convert-function' and +`bibtex-autokey-titleword-case-convert-function'. The old names are +still available as aliases. + +++ ** 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' @@ -2564,45 +2648,45 @@ not executing. --- ** GUD mode improvements for jdb: -*** Search for source files using jdb classpath and class - information. Fast startup since there is no need to scan all - source files up front. There is also no need to create and maintain - lists of source directories to scan. Look at `gud-jdb-use-classpath' - and `gud-jdb-classpath' customization variables documentation. +*** Search for source files using jdb classpath and class information. +Fast startup since there is no need to scan all source files up front. +There is also no need to create and maintain lists of source +directories to scan. Look at `gud-jdb-use-classpath' and +`gud-jdb-classpath' customization variables documentation. *** Supports the standard breakpoint (gud-break, gud-clear) - set/clear operations from java source files under the classpath, stack - traversal (gud-up, gud-down), and run until current stack finish - (gud-finish). +set/clear operations from Java source files under the classpath, stack +traversal (gud-up, gud-down), and run until current stack finish +(gud-finish). *** Supports new jdb (Java 1.2 and later) in addition to oldjdb - (Java 1.1 jdb). +(Java 1.1 jdb). *** The previous method of searching for source files has been - preserved in case someone still wants/needs to use it. - Set `gud-jdb-use-classpath' to nil. +preserved in case someone still wants/needs to use it. +Set `gud-jdb-use-classpath' to nil. - Added Customization Variables +*** Added Customization Variables -*** `gud-jdb-command-name'. What command line to use to invoke jdb. +**** `gud-jdb-command-name'. What command line to use to invoke jdb. -*** `gud-jdb-use-classpath'. Allows selection of java source file searching - method: set to t for new method, nil to scan `gud-jdb-directories' for - java sources (previous method). +**** `gud-jdb-use-classpath'. Allows selection of java source file searching +method: set to t for new method, nil to scan `gud-jdb-directories' for +java sources (previous method). -*** `gud-jdb-directories'. List of directories to scan and search for java - classes using the original gud-jdb method (if `gud-jdb-use-classpath' - is nil). +**** `gud-jdb-directories'. List of directories to scan and search for Java +classes using the original gud-jdb method (if `gud-jdb-use-classpath' +is nil). - Minor Improvements +*** Minor Improvements -*** The STARTTLS wrapper (starttls.el) can now use GNUTLS +**** The STARTTLS wrapper (starttls.el) can now use GNUTLS instead of the OpenSSL based `starttls' tool. For backwards compatibility, it prefers `starttls', but you can toggle `starttls-use-gnutls' to switch to GNUTLS (or simply remove the `starttls' tool). -*** Do not allow debugger output history variable to grow without bounds. +**** Do not allow debugger output history variable to grow without bounds. ** Auto-Revert changes: @@ -2643,7 +2727,7 @@ only gets updated whenever the buffer gets reverted. --- ** recentf changes. -The recent file list is now automatically cleanup when recentf mode is +The recent file list is now automatically cleaned up when recentf mode is enabled. The new option `recentf-auto-cleanup' controls when to do automatic cleanup. @@ -2696,7 +2780,7 @@ idle). --- *** New customizable variables: - - desktop-save. Determins whether the desktop should be saved when it is + - desktop-save. Determines whether the desktop should be saved when it is killed. - 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. @@ -2769,7 +2853,7 @@ and rapid prototyping for tagging new languages. The escaped character sequence \a, \b, \d, \e, \f, \n, \r, \t, \v, respectively, stand for the ASCII characters BEL, BS, DEL, ESC, FF, NL, -CR, TAB, VT, +CR, TAB, VT. **** Regular expressions can be bound to a given language. @@ -2822,7 +2906,7 @@ specified to etags, variables are tags also. The new keywords are def, newcommand, renewcommand, newenvironment and renewenvironment. -*** Honour #line directives. +*** Honor #line directives. When Etags parses an input file that contains C preprocessor's #line directives, it creates tags using the file name and line number @@ -2936,7 +3020,7 @@ See the file GNUS-NEWS or the node "Oort Gnus" in the Gnus manual for details. --- ** MH-E changes. -Upgraded to MH-E version 7.85. There have been major changes since +Upgraded to MH-E version 7.93. There have been major changes since version 5.0.2; see MH-E-NEWS for details. ** Calendar changes: @@ -3045,7 +3129,7 @@ obsolete; use `dframe-update-speed' instead. --- ** sql changes. -*** The variable `sql-product' controls the highlightng of different +*** The variable `sql-product' controls the highlighting of different SQL dialects. This variable can be set globally via Customize, on a buffer-specific basis via local variable settings, or for the current session using the new SQL->Product submenu. (This menu replaces the @@ -3106,7 +3190,7 @@ Keyword highlighting of Postgres 7.3 is implemented. Prompting for the username and the pgsql `-U' option is added. *** MySQL support is enhanced. -Keyword higlighting of MySql 4.0 is implemented. +Keyword highlighting of MySql 4.0 is implemented. *** Imenu support has been enhanced to locate tables, views, indexes, packages, procedures, functions, triggers, sequences, rules, and @@ -3242,7 +3326,7 @@ automatically. The game uses faces for better visual feedback. To enable this, set `calculator-output-radix' non-nil. In this mode a separator character is used every few digits, making it easier to see -byte boundries etc. For more info, see the documentation of the +byte boundaries etc. For more info, see the documentation of the variable `calculator-radix-grouping-mode'. --- @@ -3349,7 +3433,7 @@ any customizations. Previous versions of Emacs erred on the side of having a usable Emacs through telnet, even though that was inconvenient if you use Emacs in a local console window with a scrollback buffer. The default value of -w32-use-full-screen-buffer is now nil, which favours local console +w32-use-full-screen-buffer is now nil, which favors local console windows. Recent versions of Windows telnet also work well with this setting. If you are using an older telnet server then Emacs detects that the console window dimensions that are reported are not sane, and @@ -3385,6 +3469,15 @@ the command `undefined'. (In earlier Emacs versions, it used :propertize and :eval forms in the value of a variable whose `risky-local-variable' property is nil. +--- +The function `comint-send-input' now accepts 3 optional arguments: + + (comint-send-input &optional no-newline artificial) + +Callers sending input not from the user should use bind the 3rd +argument `artificial' to a non-nil value, to prevent Emacs from +deleting the part of subprocess output that matches the input. + --- ** Support for Mocklisp has been removed. @@ -3420,7 +3513,7 @@ associates a numeric ordering of each element added to the list. +++ *** New function `copy-tree' makes a copy of a tree. -It recursively copyies through both CARs and CDRs. +It recursively copies through both CARs and CDRs. +++ *** New function `delete-dups' deletes `equal' duplicate elements from a list. @@ -3503,7 +3596,7 @@ names. Usually that default is right, but not always. A quit inside the body of `with-local-quit' is caught by the `with-local-quit' form itself, but another quit will happen later once -the code that has inhibitted quitting exits. +the code that has inhibited quitting exits. This is for use around potentially blocking or long-running code inside timer functions and `post-command-hook' functions. @@ -3518,7 +3611,7 @@ This combines `defalias' and `make-obsolete'. It returns nil if the given Lisp form can't possibly do anything dangerous; otherwise it returns a reason why the form might be unsafe -(calls unknown function, alters global variable, etc). +(calls unknown function, alters global variable, etc.). +++ *** New macro `eval-at-startup' specifies expressions to @@ -3531,6 +3624,11 @@ This is useful in packages that can be preloaded. If it is non-nil, the function lists only faces matching this regexp. ++++ +*** New function `string-or-null-p'. + +Return t if OBJECT is a string or nil. Otherwise, return nil. + ** Lisp code indentation features: +++ @@ -3593,6 +3691,12 @@ variables, including buffer-local and frame-local variables. ** defcustom changes: ++++ +*** The package-version keyword has been added to provide +`customize-changed-options' functionality to packages in the future. +Developers who make use of this keyword must also update the new +variable `customize-package-emacs-version-alist'. + +++ *** The new customization type `float' requires a floating point number. @@ -3674,7 +3778,7 @@ It defaults to 1. It defaults to 1. +++ -*** New function `mouse-on-link-p' test if a position is in a clickable link. +*** New function `mouse-on-link-p' tests if a position is in a clickable link. This is the function used by the new `mouse-1-click-follows-link' functionality. @@ -3692,7 +3796,7 @@ give up and return LIMIT. +++ *** Function `pos-visible-in-window-p' now returns the pixel coordinates -and partial visiblity state of the corresponding row, if the PARTIALLY +and partial visibility state of the corresponding row, if the PARTIALLY arg is non-nil. +++ @@ -3832,7 +3936,7 @@ value of VARIABLE instead. *** The function `frame-or-buffer-changed-p' now lets you maintain various status records in parallel. -It take a variable (a symbol) as argument. If the variable is non-nil, +It takes a variable (a symbol) as argument. If the variable is non-nil, then its value should be a vector installed previously by `frame-or-buffer-changed-p'. If the frame names, buffer names, buffer order, or their read-only or modified flags have changed, since the @@ -3862,6 +3966,12 @@ in DEF before the terminal colon and space. A file local variables list cannot specify a string with text properties--any specified text properties are discarded. ++++ +*** The variable `enable-local-variables' controls how local variable +lists are handled. t, the default, specifies the standard querying +behavior. :safe means use only safe values, and ignore the rest. +nil means ignore them all. Anything else means always query. + +++ *** The variable `safe-local-eval-forms' specifies a list of forms that are ok to evaluate when they appear in an `eval' local variables @@ -3923,7 +4033,7 @@ accepts such a list for restoring the match state. +++ *** Functions `match-data' and `set-match-data' now have an optional argument `reseat'. When non-nil, all markers in the match data list -passed to these function will be reseated to point to nowhere. +passed to these functions will be reseated to point to nowhere. +++ *** The default value of `sentence-end' is now defined using the new @@ -4012,7 +4122,7 @@ of text properties as well as the character code. by `syntax-after'). +++ -*** The new function `syntax-ppss' rovides an efficient way to find the +*** The new function `syntax-ppss' provides an efficient way to find the current syntactic context at point. ** File operation changes: @@ -4059,7 +4169,7 @@ many iterations the file name obtained is still a symbolic link, +++ *** The new hook `before-save-hook' is invoked by `basic-save-buffer' before saving buffers. This allows packages to perform various final -tasks, for example; it can be used by the copyright package to make +tasks. For example, it can be used by the copyright package to make sure saved files have the current year in any copyright headers. +++ @@ -4078,7 +4188,7 @@ further filter candidate files. One advantage of using this function is that the list of suffixes in `exec-suffixes' is OS-dependant, so this function will find -executables without polluting Lisp code with OS dependancies. +executables without polluting Lisp code with OS dependencies. --- *** The precedence of file name handlers has been changed. @@ -4145,7 +4255,7 @@ saying to put all inputs in the history list, even empty ones. +++ *** The `read-file-name' function now takes an additional argument which -specifies a predicate which the file name read must satify. The +specifies a predicate which the file name read must satisfy. The new variable `read-file-name-predicate' contains the predicate argument while reading the file name from the minibuffer; the predicate in this variable is used by read-file-name-internal to filter the completion list. @@ -4160,13 +4270,18 @@ whether completion ignores case when reading a file name with the `read-file-name' function. +++ -*** The new function `read-directory-name' for reading a directory name. +*** The new function `read-directory-name' is for reading a directory name. It is like `read-file-name' except that the defaulting works better for directories, and completion inside it shows only directories. ** Completion changes: ++++ +*** The new function `minibuffer-completion-contents' returns the contents +of the minibuffer just before point. That is what completion commands +operate on. + +++ *** The functions `all-completions' and `try-completion' now accept lists of strings as well as hash-tables additionally to alists, obarrays @@ -4191,13 +4306,13 @@ entered. `dynamic-completion-table' then computes the completion. *** The new macro `lazy-completion-table' initializes a variable as a lazy completion table. - (lazy-completion-table VAR FUN &rest ARGS) + (lazy-completion-table VAR FUN) If the completion table VAR is used for the first time (e.g., by passing VAR -as an argument to `try-completion'), the function FUN is called with arguments -ARGS. FUN must return the completion table that will be stored in VAR. If -completion is requested in the minibuffer, FUN will be called in the buffer -from which the minibuffer was entered. The return value of +as an argument to `try-completion'), the function FUN is called with no +arguments. FUN must return the completion table that will be stored in VAR. +If completion is requested in the minibuffer, FUN will be called in the buffer +from which the minibuffer was entered. The return value of `lazy-completion-table' must be used to initialize the value of VAR. +++ @@ -4358,7 +4473,7 @@ output data is read in very small blocks, potentially resulting in 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 +from such processes, allowing them to produce more output before emacs tries to read it. *** The new function `call-process-shell-command'. @@ -4399,6 +4514,8 @@ create a stream or datagram server inside emacs. - Datagram connection is selected using :type 'datagram arg. - A server can open on a random port using :service t arg. - Local sockets are supported using :family 'local arg. +- IPv6 is supported (when available). You may explicitly select IPv6 + using :family 'ipv6 arg. - Non-blocking connect is supported using :nowait t arg. - The process' property list can be initialized using :plist PLIST arg; a copy of the server process' property list is automatically inherited @@ -4406,6 +4523,7 @@ create a stream or datagram server inside emacs. To test for the availability of a given feature, use featurep like this: (featurep 'make-network-process '(:type datagram)) + (featurep 'make-network-process '(:family ipv6)) *** The old `open-network-stream' now uses `make-network-process'. @@ -4525,11 +4643,18 @@ or bottom edge of a window. It does not move other window edges. +++ ** Customizable fringe bitmaps +*** New buffer-local variables `fringe-indicator-alist' and +`fringe-cursor-alist' maps between logical (internal) fringe indicator +and cursor symbols and the actual fringe bitmaps to be displayed. +This decouples the logical meaning of the fringe indicators from the +physical appearance, as well as allowing different fringe bitmaps to +be used in different windows showing different buffers. + *** New function `define-fringe-bitmap' can now be used to create new fringe bitmaps, as well as change the built-in fringe bitmaps. To change a built-in bitmap, do (require 'fringe) and use the symbol -identifing the bitmap such as `left-truncation or `continued-line'. +identifying the bitmap such as `left-truncation' or `continued-line'. *** New function `destroy-fringe-bitmap' deletes a fringe bitmap or restores a built-in one to its default value. @@ -4565,7 +4690,7 @@ Setting the width to 0 effectively removes the corresponding fringe. The actual default fringe widths for the frame 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, +between the left and right fringe. To 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). @@ -4630,7 +4755,7 @@ does that, this value cannot be accurate. *** You can define multiple overlay arrows via the new variable `overlay-arrow-variable-list'. -It contains a list of varibles which contain overlay arrow position +It contains a list of variables which contain overlay arrow position markers, including the original `overlay-arrow-position' variable. Each variable on this list can have individual `overlay-arrow-string' @@ -4689,7 +4814,7 @@ 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 -PROPS is a property list now allows pixel based width and height +PROPS is a property list, now allows pixel based width and height specifications, as well as enhanced horizontal text alignment. The value of these properties can now be a (primitive) expression @@ -4724,7 +4849,7 @@ of the text area. One of the above window elements (except `text') can also be used with :align-to to specify that the position is relative to the left edge of the given area. Once the base offset for a relative position has been set (by the first occurrence of one of -these symbols), further occurences of these symbols are interpreted as +these symbols), further occurrences of these symbols are interpreted as the width of the area. For example, to align to the center of the left-margin, use @@ -4798,6 +4923,15 @@ explicitly; for example, if an image is put in etc/images/foo/bar.xpm: (defimage foo-image '((:type xpm :file "foo/bar.xpm"))) +Note that all images formerly located in the lisp directory have been +moved to etc/images. + ++++ +*** New function `image-load-path-for-library' returns a suitable +search path for images relative to library. This function is useful in +external packages to save users from having to update +`image-load-path'. + +++ *** The new variable `max-image-size' defines the maximum size of images that Emacs will load and display. @@ -4818,7 +4952,7 @@ is to use the `arrow' (non-text) pointer. Other choices are `text' +++ *** The mouse pointer shape over ordinary text or images can now be -controlled/overriden via the `pointer' text property. +controlled/overridden via the `pointer' text property. ** Mouse event enhancements: @@ -5014,7 +5148,7 @@ refontification of `bar' whenever the `e' is added/removed. *** `set-auto-mode' now gives the interpreter magic line (if present) precedence over the file name. Likewise an `