X-Git-Url: https://code.delx.au/gnu-emacs/blobdiff_plain/1399490e2bb58e1e7212d7a8469e1286ced9423a..c635a4f3d114db265e574f106710f497b2a450b6:/etc/NEWS diff --git a/etc/NEWS b/etc/NEWS index f83d82417d..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,37 +29,27 @@ 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. - -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.) - ** Directories passed to configure option `--enable-locallisppath' are no longer created during installation. +** 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 @@ -68,6 +58,10 @@ no longer created during installation. ** 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' @@ -125,6 +119,28 @@ used to conveniently prepend/append new face attributes to text. `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 @@ -156,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 @@ -177,7 +197,6 @@ You can use the new function `remember-store-in-files' within the 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: @@ -218,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. @@ -252,8 +293,10 @@ on the given date. *** `desktop-auto-save-timeout' defines the number of seconds between auto-saves of the desktop. -*** `desktop-restore-frames enables saving and restoring the window/frame -configuration. +*** `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 @@ -265,6 +308,22 @@ configuration. 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'. @@ -273,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') @@ -283,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. @@ -385,6 +451,7 @@ New features include: 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 @@ -407,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'. @@ -416,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'. @@ -447,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 @@ -462,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. @@ -509,9 +600,17 @@ 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. @@ -531,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'. @@ -583,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. @@ -626,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 @@ -745,6 +900,10 @@ 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 @@ -1034,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.