X-Git-Url: https://code.delx.au/gnu-emacs/blobdiff_plain/db3b7db5474db3fe313e7dd1b9084b70cbf8509a..c635a4f3d114db265e574f106710f497b2a450b6:/etc/NEWS diff --git a/etc/NEWS b/etc/NEWS index d92c9cdec1..8bf72ddfed 100644 --- a/etc/NEWS +++ b/etc/NEWS @@ -15,10 +15,10 @@ You can narrow news to a specific version by calling `view-emacs-news' with a prefix argument or by typing C-u C-h C-n. Temporary note: -+++ indicates that the appropriate manual has already been updated. ---- means no change in the manuals is called for. -When you add a new item, please add it without either +++ or --- -so we will look at it and add it to the manual. ++++ indicates that all necessary updates to the manuals in doc/ are complete. +--- means no change in the manuals is needed. +When you add a new item, use the appropriate mark if you know it applies, +otherwise leave it unmarked. * Installation Changes in Emacs 24.4 @@ -29,33 +29,26 @@ build time, like libacl on GNU/Linux. To prevent this, use the configure option `--disable-acl'. ** Emacs can be compiled with file notification support. -The configure option `--with-file-notification=LIB' enables file -notification support in Emacs. This option's value should be `yes', -`no', `gfile', `inotify' or `w32'. `yes' is a synonym for `w32' on -MS-Windows, and for `gfile' otherwise. The default value is `yes'. +This happens by default if a suitable system library is found at +build time. To prevent this, use the configure option +`--with-file-notification-no'. See below for file-notify features. +FIXME? This feature is not available for the Nextstep port. (?) ** The configure option --with-crt-dir has been removed. It is no longer needed, as the crt*.o files are no longer linked specially. -** Emacs for MS-Windows can now be built by running the configure script -using the MSYS environment and MinGW development tools. -This is from now on the preferred method of building Emacs on -MS-Windows. The Windows-specific configure.bat and makefile.w32-in -files are deprecated. See the file nt/INSTALL.MSYS for detailed -instructions. +** Directories passed to configure option `--enable-locallisppath' are +no longer created during installation. -Using the Posix configure script and Makefile's also means a change in -the directory structure of the Emacs installation on Windows. It is -now the same as on GNU and Unix systems. In particular, the auxiliary -programs, such as cmdproxy.exe and hexl.exe, are in -libexec/emacs/VERSION/i686-pc-mingw32 (where VERSION is the Emacs -version), version-independent site-lisp is in share/emacs/site-lisp, -version-specific Lisp files are in share/emacs/VERSION/lisp and in -share/emacs/VERSION/site-lisp, Info docs are in share/info, and data -files are in share/emacs/VERSION/etc. (Emacs knows about all these -directories and will find the files in there automatically; there's no -need to set any variables due to this change.) +** Emacs can be compiled with zlib support. If this library is present +(which it normally is on most systems), the function +`zlib-decompress-region' becomes available, which can decompress gzip- +and zlib-format compressed data. + +--- +** Emacs for NS (OSX, GNUStep) can be built with ImageMagick support. +pkg-config is required to find ImageMagick libraries. * Startup Changes in Emacs 24.4 @@ -65,6 +58,10 @@ need to set any variables due to this change.) ** Key ? also describes prefix bindings like C-h. ++++ +** `cache-long-line-scans' has been renamed to `cache-long-scans' +because it affects caching of paragraph scanning results as well. + +++ ** `apropos-variable' is now `apropos-user-option' `apropos-user-option' shows all user options while `apropos-variable' @@ -87,6 +84,14 @@ simply disabling Transient Mark mode does the same thing. ** `initial-buffer-choice' can now specify a function to set up the initial buffer. +** `remember-notes' creates a buffer whose content is saved on kill-emacs. +You may think of it as a *scratch* buffer whose content is preserved. +In fact, it was designed as a replacement for *scratch* buffer and can +be used that way by setting `initial-buffer-choice' to `remember-notes' +and `remember-notes-buffer-name' to "*scratch*". Without the second +change, *scratch* buffer will still be there for notes that do not +need to be preserved. + ** `write-region-inhibit-fsync' now defaults to t in batch mode. ** ACL support has been added. @@ -103,6 +108,9 @@ Available only on X, this option allows to control over-scrolling using the scroll bar (i.e. dragging the thumb down even when the end of the buffer is visible). +** New function `add-face-text-property' has been added, which can be +used to conveniently prepend/append new face attributes to text. + ** In compiled Lisp files, the header no longer includes a timestamp. ** Multi-monitor support has been added. @@ -111,6 +119,28 @@ of the buffer is visible). `frame-monitor-attributes' can be used to obtain information about each physical monitor on multi-monitor setups. +*** The functions `display-pixel-width' and `display-pixel-height' now +behave consistently among the platforms: they return the pixel width +or height for all physical monitors associated with the given display +as just they were on X11. To get information for each physical +monitor, use the new functions above. Similar notes also apply to +`x-display-pixel-width', `x-display-pixel-height', `display-mm-width', +`display-mm-height', `x-display-mm-width', and `x-display-mm-height'. + +** New macro `alternatives-define' can be used to define generic commands. +Generic commands are interactive functions whose implementation can be +selected among several alternatives, as a matter of user preference. + +** The blink cursor stops blinking after 10 blinks (default) on X and NS. +You can change the default by customizing the variable blink-cursor-blinks. +Also timers for blinking are stopped when no blinking is done, so Emacs does +not consume CPU cycles. + +** New command `frameset-to-register' is now bound to `C-x r f', replacing +`frame-configuration-to-register'. It offers similar functionality, plus +some enhancements, like the ability to restore deleted frames. Command +`frame-configuration-to-register' is still available, but unbound. + * Editing Changes in Emacs 24.4 @@ -125,6 +155,13 @@ bound to and M-, respectively. ** In keymaps where SPC scrolls, S-SPC now scrolls in the reverse direction. Eg View mode, etc. ++++ +** New option `visual-order-cursor-movement'. +If this is non-nil, cursor motion with arrow keys will follow the +visual order of characters on the screen: always moves to the +left, always moves to the right, disregarding the surrounding +bidirectional context. + ** New command `kmacro-to-register' to store keyboard macros in registers. ** Shell Script mode @@ -135,6 +172,10 @@ You can pick the name of the function and the variables with `C-x 4 a'. * Changes in Specialized Modes and Packages in Emacs 24.4 +** The debugger's `e' command evaluates the code in the context at point. +This includes using the lexical environment at point, which means that +`e' now lets you access lexical variables as well. + ** `eshell' now supports visual subcommands and options Eshell has been able to handle "visual" commands (interactive, non-line oriented commands such as top that require display @@ -147,20 +188,19 @@ usually line-oriented command a visual command. Typical examples are pager by default. See `eshell-visual-subcommands' and `eshell-visual-options'. +** If your Emacs is compiled with libxml2 support, you can use the new +built-in web browser `eww'. + ** `remember' can now store notes in separates files You can use the new function `remember-store-in-files' within the `remember-handler-functions' option. See `remember-data-directory' and `remember-directory-file-name-format' for new options related to this function. -** `ido-decorations' has been slightly extended to give a bit more control. ** More packages look for ~/.emacs.d/ additionally to ~/.. Affected files: ~/.emacs.d/timelog replaces ~/.timelog -~/.emacs.d/todo-do replaces ~/.todo-do -~/.emacs.d/todo-done replaces ~/.todo-done -~/.emacs.d/todo-top replaces ~/.todo-top ~/.emacs.d/vip replaces ~/.vip ~/.emacs.d/viper replaces ~/.viper ~/.emacs.d/ido.last replaces ~/.ido.last @@ -174,6 +214,11 @@ Affected files: ~/.emacs.d/strokes replaces ~/.strokes ~/.emacs.d/notes replaces ~/.notes ~/.emacs.d/type-break replaces ~/.type-break +Also the following files used by the now obsolete otodo-mode.el: +~/.emacs.d/todo-do replaces ~/.todo-do +~/.emacs.d/todo-done replaces ~/.todo-done +~/.emacs.d/todo-top replaces ~/.todo-top + ** Delphi mode is now called OPascal mode. *** All delphi-* variables and functions have been renamed to opascal-*. @@ -192,12 +237,34 @@ The default separator is changed to allow surrounding spaces around the comma. *** Battery information via the BSD `apm' utility is now supported. +** Buffer Menu + +*** `M-s a C-o' shows lines matching a regexp in marked buffers using Occur. + ** Calendar and Diary +*** New faces: `calendar-weekday-header', `calendar-weekend-header', +`calendar-month-header'. + +*** New option `calendar-day-header-array'. + +*** The variable `calendar-font-lock-keywords' is obsolete. + +++ *** New variable `diary-from-outlook-function', used by the command `diary-from-outlook'. +** VC and related modes + +*** In VC directory mode, `D' displays diffs between VC-controlled +whole tree revisions. + +*** In VC directory mode, `L' lists the change log for the current VC +controlled tree in a window. + +*** `C-x v G' (globally) and `G' (in VC directory mode) ignores a +file under current version control system. + ** cl-lib *** New macro cl-tagbody. @@ -226,6 +293,11 @@ on the given date. *** `desktop-auto-save-timeout' defines the number of seconds between auto-saves of the desktop. +*** `desktop-restore-frames', enabled by default, allows saving and +restoring the frame/window configuration (frameset). Additional options +`desktop-restore-in-current-display', `desktop-restore-reuses-frames' +and `desktop-restore-forces-onscreen' offer further customization. + ** Dired *** New minor mode `dired-hide-details-mode' hides details. @@ -236,6 +308,22 @@ auto-saves of the desktop. If set to a number, this can be used to avoid accidentally paste large amounts of data into the ERC input. +** EPA + +*** New option `epa-mail-aliases'. + +You can set this to a list of alias expansions for keys to use +in `epa-mail-encrypt'. + +If one element of the variable's value is ("foo@bar.com" "foo@hello.org"), +that means: when one of the recipients of the message being encrypted +is `foo@bar.com', encrypt the message for `foo@hello.org' instead. + +If one element of the variable's value is ("foo@bar.com"), +that means: when one of the recipients of the message being encrypted +is `foo@bar.com', ignore that name as regards encryption. +This is useful to avoid a query when you have no key for that name. + --- ** New F90 mode option `f90-smart-end-names'. @@ -244,6 +332,11 @@ amounts of data into the ERC input. *** The icomplete-separator is customizable, and its default has changed. *** Removed icomplete-show-key-bindings. +** Ido +*** Ido has a manual now. +*** `ido-use-virtual-buffers' takes a new value 'auto. +*** `ido-decorations' has been slightly extended to give a bit more control. + ** Image mode *** New commands `n' (`image-next-file') and `p' (`image-previous-file') @@ -254,6 +347,8 @@ directory, respectively. `f' (`image-next-frame') and `b' (`image-previous-frame') visit the next or previous frame. `F' (`image-goto-frame') shows a specific frame. +*** New commands to speed up, slow down, or reverse animation. + --- *** The command `image-mode-fit-frame' deletes other windows. When toggling, it restores the frame's previous window configuration. @@ -343,6 +438,26 @@ space, no spaces, or reverting to the original spacing. Like `just-one-space' command it can handle or ignore newlines and leave different number of spaces. +** Todo mode has been rewritten and enhanced. +New features include: +- support for multiple todo files and archive files of done items; +- renaming, reordering, moving, merging, and deleting categories; +- sortable tabular summaries of categories and the types of items they contain; +- cross-category lists of items filtered by specific criteria; +- more fine-grained interaction with the Emacs diary, by being able to decide + for each todo item whether it appears in the Fancy Diary display; +- highly flexible new item insertion and item editing; +- moving items between categories, storing done items in their category or in + archive files, undoing or unarchiving done items; +- reprioritizing items by inputting a numerical priority; +- extensive customizability of operation and display, including numerous faces. +The Todo mode user manual describes all commands and most user options. +To support some of these features, a new file format is used, which is +incompatible with the old format; however, you can convert old todo and done +item files to the new format on initializing the first new todo file, or at any +later time with the provided conversion command. The old version of +todo-mode.el has been made obsolete and renamed otodo-mode.el. + ** Tramp +++ @@ -359,6 +474,10 @@ when possible. *** Handlers for `file-acl' and `set-file-acl' for remote machines which support POSIX ACLs. ++++ +*** Handlers for `file-notify-add-watch' and `file-notify-rm-watch' +for remote machines which support filesystem notifications. + ** VHDL mode *** New options: `vhdl-actual-generic-name', `vhdl-beautify-options'. @@ -368,13 +487,13 @@ which support POSIX ACLs. ** Woman *** The commands `woman-default-faces' and `woman-monochrome-faces' -are obsolete. Customize the `woman-* faces instead. +are obsolete. Customize the `woman-*' faces instead. ** Eshell -*** Added Eshell-TRAMP module +*** Added Eshell-Tramp module External su and sudo commands are now the default; the internal, -TRAMP-using variants can still be used by enabling the eshell-tramp +Tramp-using variants can still be used by enabling the eshell-tramp module. ** New term.el option `term-suppress-hard-newline'. @@ -388,6 +507,8 @@ module. *** terminal.el is obsolete; use term.el instead. +*** The previous version of todo-mode.el is obsolete and renamed otodo-mode.el. + *** xesam.el. +++ @@ -397,6 +518,13 @@ module. *** The Info-edit command is obsolete. Editing Info nodes by hand has not been relevant for some time. +** Shell + +*** `explicit-bash-args' now always defaults to use --noediting. +During initialization, Emacs no longer expends a process to decide +whether it is safe to use Bash's --noediting option. These days +--noediting is ubiquitous; it was introduced in 1996 in Bash version 2. + * New Modes and Packages in Emacs 24.4 @@ -412,9 +540,22 @@ It is layered as: - advice-add/advice-remove to add/remove a piece of advice on a named function, much like `defadvice' does. +** New frameset.el package. +It provides a set of operations to save a frameset (the state of all +or a subset of the existing frames and windows, somewhat similar to a +frame configuration), both in-session and persistently, and restore it +at some point in the future. + ++++ +** The package filenotify.el provides an interface for file system +notifications. It requires, that Emacs is compiled with one of the +low-level libraries gfilenotify.c, inotify.c or w32notify.c. + * Incompatible Lisp Changes in Emacs 24.4 +** `defvar' and `defcustom' in a let-binding affect the "external" default. + ** The syntax of ?» and ?« is now punctuation instead of matched parens. Some languages match those as »...« and others as «...» so better stay neutral. @@ -459,13 +600,22 @@ alist of extended attributes as returned by the new function `file-extended-attributes'. The attributes can be applied to another file using `set-file-extended-attributes'. +** `visited-file-modtime' now returns -1 for nonexistent files. +Formerly it returned a list (-1 LOW USEC PSEC), but this was ambiguous +in the presence of files with negative time stamps. * Lisp Changes in Emacs 24.4 ++++ +** New function `define-error'. + +** New hook `tty-setup-hook'. + +++ ** New macro with-eval-after-load. Like eval-after-load, but better behaved. ** Obsoleted functions: +*** `log10' *** `dont-compile' *** `lisp-complete-symbol' *** `field-complete' @@ -480,6 +630,9 @@ The few hooks that used with-wrapper-hook are replaced as follows: *** `completion-in-region-function' obsoletes `completion-in-region-functions'. *** `filter-buffer-substring-function' obsoletes `filter-buffer-substring-functions'. +** `split-string' now takes an optional argument TRIM. +The value, if non-nil, is a regexp that specifies what to trim from +the start and end of each substring. ** `get-upcase-table' is obsoleted by the new `case-table-get-table'. @@ -532,8 +685,42 @@ Emacs uses `image-default-frame-delay'. *** New functions `image-current-frame' and `image-show-frame' for getting and setting the current frame of a multi-frame image. +*** You can change the speed of animated images. + +** Changes in encoding and decoding of text + +--- +*** New coding-system `prefer-utf-8'. +This is like `undecided' but prefers UTF-8 on decoding if the text to +be decoded does not contain any invalid UTF-8 sequences. On encoding, +any non-ASCII characters are automatically encoded as UTF-8. + +--- +*** New attributes of coding-systems whose type is `undecided'. +Two new attributes, `:inhibit-null-byte-detection' and +`:inhibit-iso-escape-detection', determine how to detect encoding of +text that includes null bytes and ISO-2022 escape sequences, +respectively. Each of these attributes can be either nil, zero, or +t. If it is t, decoding text ignores null bytes and, respectively, +ISO-2022 sequences. If it is nil, null bytes cause text to be decoded +with no-conversion and ISO-2022 sequences cause Emacs to assume the +text is encoded in one of the ISO-2022 encodings, such as +iso-2022-7bit. If the value is zero, Emacs consults the variables +inhibit-null-byte-detection and inhibit-iso-escape-detection, which +see. +The new attribute `:prefer-utf-8', if non-nil, causes Emacs to prefer +UTF-8 encoding and decoding, whenever possible. + +These attributes are only meaningful for coding-systems of type +`undecided'. (The type of a coding-system is determined by its +`:coding-type' attribute and can be accessed by calling the +`coding-system-type' function.) + +** The function `set-visited-file-modtime' now accepts a 0 or -1 argument +with the same interpretation as the returned value of `visited-file-modtime'. + ** time-to-seconds is not obsolete any more. -** New function special-form-p. +** New functions special-form-p and macrop. ** Docstrings can be made dynamic by adding a `dynamic-docstring-function' text-property on the first char. @@ -575,6 +762,25 @@ meant to be used by other packages. * Changes in Emacs 24.4 on Non-Free Operating Systems +** Emacs for MS-Windows can now be built by running the configure script +using the MSYS environment and MinGW development tools. +This is from now on the preferred method of building Emacs on +MS-Windows. The Windows-specific configure.bat and makefile.w32-in +files are deprecated. See the file nt/INSTALL.MSYS for detailed +instructions. + +Using the Posix configure script and Makefile's also means a change in +the directory structure of the Emacs installation on Windows. It is +now the same as on GNU and Unix systems. In particular, the auxiliary +programs, such as cmdproxy.exe and hexl.exe, are in +libexec/emacs/VERSION/i686-pc-mingw32 (where VERSION is the Emacs +version), version-independent site-lisp is in share/emacs/site-lisp, +version-specific Lisp files are in share/emacs/VERSION/lisp and in +share/emacs/VERSION/site-lisp, Info docs are in share/info, and data +files are in share/emacs/VERSION/etc. (Emacs knows about all these +directories and will find the files in there automatically; there's no +need to set any variables due to this change.) + +++ ** The "generate a backtrace on fatal error" feature now works on MS Windows. The backtrace is written to the 'emacs_backtrace.txt' file in the @@ -691,6 +897,13 @@ ImageMagick types are treated as images. The function `imagemagick-filter-types' returns the list of types that will be treated as images. +*** ImageMagick images now support the :max-width and :max-height +keywords. + +*** Some data types aren't auto-detected by ImageMagick. Adding +:format to `create-image' may help if the content type is in the +new variable `image-format-suffixes'. + ** Minibuffer *** In minibuffer filename prompts, `C-M-f' and `C-M-b' now move to the @@ -980,7 +1193,7 @@ file at point. `DEL' (`dired-unmark-backward'), and `d' (`dired-flag-file-deletion') mark/unmark/flag all files in the active region. -*** The minibuffer default for `=' (`dired-diff) has changed. +*** The minibuffer default for `=' (`dired-diff') has changed. It is now the backup file for the file at point, if one exists. In Transient Mark mode the default is the file at the active mark. @@ -1184,6 +1397,9 @@ and the `attributes' slot is always nil. The `url-retrieve' function now uses this to encode its URL argument, in case that is not properly encoded. +*** New command `url-cookie-list' displays all the current cookies, and +allows deleting selected cookies. + ** notifications.el supports now version 1.2 of the Notifications API. The function `notifications-get-capabilities' returns the supported server properties. @@ -2870,10 +3086,10 @@ should be derived. modes, e.g. (add-hook 'prog-mode-hook 'flyspell-prog-mode) to enable on-the-fly spell checking for comments and strings. -**** New option, `prog-prettify-symbols' lets the user control symbol -prettify (replacing a string like "lambda" with the Greek lambda -character). The mode derived from `prog-mode' must call -`prog-prettify-install' with its own custom alist, which can be empty. +**** New minor modes `prettify-symbols-mode' and +`global-prettify-symbols-mode' let the user enable symbol +prettification (replacing a string like "lambda" with the Greek lambda +character). *** New hook `change-major-mode-after-body-hook', run by `run-mode-hooks' just before any other mode hooks.