X-Git-Url: https://code.delx.au/gnu-emacs/blobdiff_plain/e6a01e4e2986244b18856bd04e9ac56fa2f9f53b..74a84de2318d60224fb24cc443420445b810d506:/etc/NEWS diff --git a/etc/NEWS b/etc/NEWS index 256bcbad70..ae97bb2741 100644 --- a/etc/NEWS +++ b/etc/NEWS @@ -33,9 +33,17 @@ a GIF library. ** Support for systems without alloca has been removed. +** The `emacstool' utility has been removed. + * Changes in Emacs 23.1 +** Emacs now supports using both X displays and ttys in one session. +You can also use any number of different ttys. + +You can test for the presence of this feature in your Lisp code by +testing for the `multi-tty' feature. + ** Emacs comes with a new set of icons for Mac OS X. OS-X-style icons (an application icon and a relevant document icon) were contributed by Kentaro Ohkouchi. @@ -51,10 +59,6 @@ symbolic notation thanks to auxiliary functions. ** split-window-preferred-function specifies whether display-buffer should split windows vertically or horizontally. -** Support for multiple terminal devices and simultaneous graphical -and tty frames has been added. You can test for the presence of this -feature in your Lisp code by testing for the `multi-tty' feature. - ** Emacsclient has been extended to support opening a new terminal frame. Its behavior has been changed to open a new Emacs frame by default. Use the -c option to get the old behavior of opening files in @@ -64,9 +68,6 @@ the currently selected Emacs frame. ** Emacs now supports the SVG image format through librsvg2. -** The Gtk+ build now uses stock tool bar icons, so that a theme change -is visible in Emacs tool bar. - ** If you set find-file-confirm-nonexistent-file to t, then C-x C-f requires confirmation before opening a non-existent file. @@ -79,10 +80,13 @@ highlighting, and help echoing in the minibuffer. recenter the visited source file. Its value can be a number (for example, 0 for top line, -1 for bottom line), or nil for no recentering. -** The mode-line display a `@' if the default-directory for the current buffer +** The mode-line displays a `@' if the default-directory for the current buffer is on a remote machine, or a hyphen otherwise. -** The new command balance-window-area balances windows both vertically +** The mode-line displays a mode menu when mouse-1 is clicked on a minor mode, +in the same way as it already did for major modes. + +** The new command balance-windows-area balances windows both vertically and horizontally. ** The new command close-display-connection can be used to close a connection @@ -90,7 +94,7 @@ to a remote display, e.g. because the display is about to become unreachable. ** The command shell prompts for the default directory, when it is called with a prefix, and the default directory is a remote file name. -This is because some file name handler (like ange-ftp) are not able to +This is because some file name handlers (like ange-ftp) are not able to run processes remotely. ** The new command `display-time-world' starts an updating time display @@ -102,17 +106,40 @@ using several time zones, in a buffer. after starting Emacs: startup screen, *scratch* buffer, visiting a file or directory. +** New alias `argv' for `command-line-args-left' +This is a convenience alias, so that one can write `(pop argv)' +inside of --eval command line arguments in order to access +following arguments. + +** The abbrev file is no longer read at startup in batch mode. * Incompatible Editing Changes in Emacs 23.1 * Editing Changes in Emacs 23.1 ++++ +** M-q now fills the region if the region is active and +`transient-mark-mode' is turned on. Otherwise, it fills the current +paragraph. + ++++ +** M-$ now checks spelling of the region if the region is active and +`transient-mark-mode' is turned on. Otherwise, it checks spelling of the +word at point. + +** TAB now indents the region if the region is active and +`transient-mark-mode' is turned on. + ** C-z now invokes `suspend-frame', C-x C-c now invokes `save-buffers-kill-terminal'. ** New command kill-matching-buffers kills buffers whose name matches a regexp. +** `interprogram-paste-function' can now return one string or a list +of strings. In the latter case, Emacs puts the second and following +strings on the kill ring. + ** Minibuffer changes: *** isearch started in the minibuffer searches in the minibuffer history. @@ -139,19 +166,56 @@ its usage. * Changes in Specialized Modes and Packages in Emacs 23.1 +** abbrev was rewritten in Elisp and extended with more flexibility. +*** New functions: abbrev-get, abbrev-put, abbrev-table-get, abbrev-table-put, + abbrev-table-p. +*** Special hook `abbrev-expand-functions' obsoletes `pre-abbrev-expand-hook'. +*** `make-abbrev-table', `define-abbrev', `define-abbrev-table' all take + extra arguments for arbitrary properties. +*** New variable `abbrev-minor-mode-table-alist'. +*** `local-abbrev-table' can hold a list of abbrev-tables. +*** Abbrevs have now the following special properties: + `count', `system-flag', `:enable-function', `:case-fixed'. +*** Abbrev-tables have now the following special properties: + `:parents', `:case-fixed', `:enable-function', `:regexp', + `abbrev-table-modiff'. + +** isearch can now search through multiple ChangeLog files. +When running isearch in a ChangeLog file, if the search fails, +then another C-s tries searching the previous ChangeLog, +if there is one (e.g. go from ChangeLog to ChangeLog.12). + +This is enabled if isearch-buffers-multi is non-nil. + ++++ +** In Dired-x, all command guesses for ! are now added to the default +list accessible by M-n instead of pushing all guesses temporarily into +the history list. + +** smerge-refine highlights word-level details of changes in conflict. +It's used automatically as you move through conflicts, see smerge-auto-refine. + +** diff-refine-hunk highlights word-level details of changes in a diff hunk. +It's used automatically as you move through hunks, see diff-auto-refine. + ** archive-mode has basic support to browse Rar archives. + ** talk.el has been extended for multiple tty support. ** compilation-auto-jump-to-first-error tells `compile' to jump to the first error encountered during compilations. -** In the `copyright' package, you can specify your copyright holders's names. +** In the `copyright' package, you can specify your copyright holders' names. Only copyright lines with holders matching copyright-names-regexp will be considered for update. ** eldoc highlights the function argument under point with the face `eldoc-highlight-function-argument'. ++++ +** defcustom accepts new keyword arguments, `:safe' and `:risky', which +set a variable's `safe-local-variable' and `risky-local-variable' property. + ** VC *** Clicking on the VC mode-line entry now pops the VC menu. @@ -159,15 +223,25 @@ with the face `eldoc-highlight-function-argument'. *** VC now supports applying VC operations to a set of files at a time. +This enables VC to work much more effectively with changeset-oriented +version-control systems such as Subversion, GNU Arch, Mercurial, and +Bzr. VC will now pass a multiple-file commit to these systems +as a single changeset. + ** sgml-electric-tag-pair-mode lets you simultaneously edit matched tag pairs. +** The appearance of superscript and subscript in TeX is more customizable. +See the documentation of the variables: tex-fontify-script, +tex-font-script-display, tex-suscript-height-ratio, and +tex-suscript-height-minimum. + ** BibTeX mode: *** New `bibtex-entry-format' options `whitespace', `braces', and `string', disabled by default. *** New variable `bibtex-cite-matcher-alist' contains rules to -identify cited keys in BibTeX entries, used by `bibtex-find-crossref. +identify cited keys in BibTeX entries, used by `bibtex-find-crossref'. *** Command `bibtex-url' now allows multiple URLs per entry. @@ -202,8 +276,14 @@ file copy is checked via the file's checksum. ** Miscellaneous programming mode changes +*** The file etc/emacs.py now supports both Python 2 and 3, meaning +that either version can be used as inferior Python by python.el. + *** The variable `fortran-line-length' can change the fixed-form line-length. ++++ +*** (The increasingly misnamed) F90 mode supports Fortran 2003 syntax. + ** Miscellaneous *** comint-mode uses `start-file-process' now (see Lisp Changes). @@ -232,14 +312,47 @@ supported on other platforms, but not on Windows due to using the winsock +++ ** The function `dired-call-process' has been removed. +** The variable `byte-compile-warnings' can now be a list starting with `not', +meaning to disable the specified warnings. The meaning of this list +may therefore be the reverse of what you expect (of course, this is +only an issue if you make use of the new `not' syntax). Rather than +checking/manipulating elements directly, use the new functions +`byte-compile-warning-enabled-p', `byte-compile-disable-warning', and +`byte-compile-enable-warning.' + +** shell.el no longer defines the aliases `dirtrack-toggle' and +`dirtrack-mode' for `shell-dirtrack-mode'. These names were removed +because they clash with command provided by dirtrack.el. Use +`shell-dirtrack-mode' instead. + * Lisp Changes in Emacs 23.1 ++++ +** A list of default values can be specified for the DEFAULT argument of +functions `read-from-minibuffer', `read-string', `read-command', +`read-variable', `read-buffer', `completing-read'. Elements of this list +are available for inserting into the minibuffer by typing `M-n'. +For empty input these functions return the first element of this list. + +** `custom-note-var-changed' tells Custom to treat the change in a certain +variable as having been made within Custom. + +** `frame-inherited-parameters' lets new frames inherit parameters from +the selected frame. + +** New keymap `input-decode-map' overrides like key-translation-map, but +applies before function-key-map. Also it is terminal-local contrary to +key-translation-map. Terminal-specific key-sequences are generally added to +this map rather than to function-key-map now. + ** Changes related to multiple tty support. *** $TERM is now set to `dumb' for subprocesses. If you want to know the $TERM inherited by Emacs you will have to look inside initial-environment. +*** $DISPLAY is now dynamically inherited from the frame's `display'. + *** The `window-system' variable has been made frame-local. The new `initial-window-system' variable contains the `window-system' value for the first frame. @@ -255,33 +368,29 @@ session, and `make-frame-on-tty' works during a graphical session. *** New functions: `delete-tty', `suspend-tty', `resume-tty'. -*** New functions: `terminal-id', `terminal-parameters', -`terminal-parameter', `set-terminal-parameter', -`modify-terminal-parameters'. +*** A new data type for terminals with functions: `get-device-terminal', +`terminal-parameters', `terminal-parameter', `set-terminal-parameter'. *** New hooks: `suspend-tty-functions' and `resume-tty-functions' are called after a tty frame has been suspended or resumed, -respectively. The functions are called with the terminal id of the frame +respectively. The functions are called with the terminal id of the frame being suspended/resumed as a parameter. -*** New functions: `environment', `let-environment'. - -*** New variables: `local-key-translation-map', `local-function-key-map'. -These are in addition to the global key-translation-map and -function-key-map variables that already existed. +*** New function: `environment'. -??? How do the new variables relate to the old ones? +*** New variable: `local-function-key-map'. +This in addition to the global function-key-map variable that +already existed. The global variable is not used directly any more; +instead, the local-function-key-map is initialized so as to inherit from +function-key-map. *** `initial-environment' holds the environment inherited from Emacs's parent. -*** New frame parameter `display-environment-variable'. - *** The `keyboard-translate-table' variable and the terminal and keyboard coding systems have been made terminal-local. -*** In addition to the global key-translation-map and -function-key-map, Emacs has terminal-local local-key-translation-map -and local-function-key-map variables, and uses them instead of the +*** In addition to the global function-key-map, Emacs has terminal-local +local-function-key-map variables, and uses them instead of the global keymaps to set up translations and function key sequences relevant to a specific terminal device. @@ -324,11 +433,11 @@ with a given image specification. Use this instead of "~/.emacs.d". +++ -** The new function `start-file-process is similar to `start-process', +** The new function `start-file-process' is similar to `start-process', but obeys file handlers. The file handler is chosen based on `default-directory'. The functions `start-file-process-shell-command' and `process-file-shell-command' are also new; they call internally -`start-file-process and `process-file', respectively. +`start-file-process' and `process-file', respectively. +++ ** `file-remote-p' has new optional parameters IDENTIFICATION and CONNECTED. @@ -346,6 +455,12 @@ forms to subroutines. * New Packages for Lisp Programming in Emacs 23.1 +** The package isearch-multi.el has been added. It implements a new mode +`isearch-buffers-minor-mode' that allows isearch to search through +multiple buffers. In this mode a new variable +`isearch-buffers-next-buffer-function' defines the function to call +to get the next buffer to search in the series of multiple buffers. + ** The new package avl-tree.el deals with the AVL tree data structure.