]> code.delx.au - gnu-emacs/blobdiff - etc/NEWS
Update nt installation instructions to point to supported method
[gnu-emacs] / etc / NEWS
index 0501b4e97e229cfd24c9e7f2cc108e82d819722d..49e1e040fd304fdca7ebaa7334dfad2ff705ead2 100644 (file)
--- 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.
 
 \f
 * 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.
 
 \f
 * 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.
+
 \f
 * Editing Changes in Emacs 24.4
 
@@ -125,6 +155,13 @@ bound to <f11> and M-<f10>, 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: <left> always moves to the
+left, <right> 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'.
 \f
 * 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/<foo> additionally to ~/.<foo>.
 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,11 +214,16 @@ 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-*.
-*** `delphi-newline-always-indents' is not supported any more
-use `electric-indent-mode' instead.
+*** `delphi-newline-always-indents' is not supported any more.
+Use `electric-indent-mode' instead.
 *** `delphi-tab' is gone, replaced by `indent-for-tab-command'.
 
 ** Eldoc Mode works properly in the minibuffer.
@@ -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,14 +308,35 @@ 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'.
 
-** Icomplete is a bit more like IDO.
+** Icomplete is a bit more like Ido.
 *** key bindings to navigate through and select the completions.
 *** 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.
@@ -335,14 +430,34 @@ New features include:
 When its arg ADJACENT is non-nil (when called interactively with C-u C-u)
 it works like the utility `uniq'.  Otherwise by default it deletes
 duplicate lines everywhere in the region without regard to adjacency.
-When it arg KEEP-BLANKS is non-nil (when called interactively with C-u C-u C-u),
-duplicate blank lines are preserved.
+When its arg KEEP-BLANKS is non-nil (when called interactively with
+C-u C-u C-u), duplicate blank lines are preserved.
 
 ** New `cycle-spacing' command allows cycling between having just one
 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,8 +518,16 @@ 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.
+
 \f
 * New Modes and Packages in Emacs 24.4
+
 ** New `superword-mode' in subword.el
 `superword-mode' overrides the default word motion commands to treat
 symbol_words as a single word, similar to what `subword-mode' does and
@@ -411,9 +540,31 @@ 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.
+
 \f
 * 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.
+
+** The default file coding for Emacs Lisp files is now utf-8.
+(See file-coding-system-alist.)  In most cases, this change is transparent, but
+files that contain unusual characters without specifying an explicit coding
+system may fail to load with obscure errors.
+You should either convert them to utf-8 or add an explicit `coding:' cookie.
+
 ** overriding-terminal-local-map does not replace the local keymaps any more.
 It used to disable the minor mode, major mode, and text-property keymaps,
 whereas now it simply has higher precedence.
@@ -449,20 +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.
 \f
 * Lisp Changes in Emacs 24.4
 
 +++
-** New macro with-eval-after-load.  Like eval-after-load, but better behaved.
+** New function `define-error'.
 
-** The default file coding for Emacs Lisp files is now utf-8.
-(See file-coding-system-alist.)  In most cases, this change is
-totally transparent.  Files that contain unusual characters but do
-not specify an explicit coding system may fail to load with obscure
-errors.  You should either convert them to utf-8 or add an explicit
-coding: cookie.
+** 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'
@@ -477,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'.
 
@@ -503,7 +659,7 @@ of remote files when set to non-nil.
 
 ** Face changes
 
-*** The `face-spec-set' is now analogous to `setq' for face specs.
+*** The function `face-spec-set' is now analogous to `setq' for face specs.
 Its third arg now accepts values specifying exactly which face spec to
 set (defface, custom, or user spec), and it directly sets the relevant
 property using the supplied face spec.
@@ -529,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.
 
@@ -572,6 +762,23 @@ meant to be used by other packages.
 \f
 * Changes in Emacs 24.4 on Non-Free Operating Systems
 
+** The procedure for building Emacs on MS-Windows has changed.
+It is now built by running the same configure script as on all other
+platforms.  This requires the MSYS environment and MinGW development
+tools.  See the updated instructions in nt/INSTALL for details.
+
+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
@@ -688,6 +895,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
@@ -977,7 +1191,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.
 
@@ -1181,6 +1395,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.
@@ -2867,10 +3084,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.