Update the URL library manual.
[bpt/emacs.git] / etc / NEWS
index 35d540a..926f3c4 100644 (file)
--- a/etc/NEWS
+++ b/etc/NEWS
@@ -23,18 +23,36 @@ so we will look at it and add it to the manual.
 \f
 * Installation Changes in Emacs 24.3
 
+---
+** The default toolkit has been changed to Gtk+ version 3.
+If you don't pass --with-x-toolkit to configure or if you pass
+--with-x-toolkit=gtk or --with-x-toolkit=yes, configure will try to build
+with Gtk+ version 3, and if that fails, try Gtk+ version 2.
+You can explicitly require a specific version by passing
+--with-x-toolkit=gtk2 or --with-x-toolkit=gtk3 to configure.
+
+---
 ** New configure option '--without-all' to disable additional features.
 This disables most of the features that are normally enabled by default.
 
+---
 ** New configure option '--enable-link-time-optimization' to utilize
 an appropriate feature provided by GCC since version 4.5.0.
 
+---
 ** New configure option '--enable-gcc-warnings', intended for developers.
 If building with GCC, this enables compile-time checks that warn about
 possibly-questionable C code.  On a recent GNU system there should be
 no warnings; on older and on non-GNU systems the generated warnings
 may be useful.
 
+---
+** The configure option '--enable-use-lisp-union-type' has been
+renamed to '--enable-check-lisp-object-type', as the resulting
+Lisp_Object type no longer uses a union to implement the compile time
+check that this option enables.
+
+---
 ** The configure option '--disable-maintainer-mode' has been removed,
 as it was confusingly-named and rarely useful.
 
@@ -43,6 +61,13 @@ as it was confusingly-named and rarely useful.
 overwriting "emacs" in the installation bin/ directory with a link
 to emacs-VERSION.
 
+---
+** The configure options `--program-prefix', `--program-suffix', and
+`--program-transform-name' apply to more than just the installed
+binaries.  Now they also affect the man pages, icons, and the
+etc/emacs.desktop file; but not the info pages, since this would break
+links between the various manuals.
+
 ---
 ** Emacs uses libtinfo in preference to libncurses, if available.
 
@@ -51,31 +76,15 @@ to emacs-VERSION.
 /usr/pkg/lib to the linker search path.  You must add them yourself if
 you want them.
 
----
-** On Mac OS X, configure no longer automatically adds the Fink /sw
-directories to the search path.  You must add them yourself if you want them.
-
 ---
 ** The standalone scripts rcs-checkin and vcdiff have been removed
 (from the bin and libexec directories, respectively).  The former is
 no longer relevant, the latter is replaced by lisp (in vc-sccs.el).
 
-** The configuration option '--enable-use-lisp-union-type' has been
-renamed to '--enable-check-lisp-object-type', as the resulting
-Lisp_Object type no longer uses a union to implement the compile time
-check that this option enables.
-
----
-** The default toolkit has been changed to Gtk+ version 3.
-If you don't pass --with-x-toolkit to configure or if you pass
---with-x-toolkit=gtk or --with-x-toolkit=yes, configure will try to build
-with Gtk+ version 3, and if that fails, try Gtk+ version 2.
-You can explicitly require a specific version by passing
---with-x-toolkit=gtk2 or --with-x-toolkit=gtk3 to configure.
-
 \f
 * Startup Changes in Emacs 24.3
 
++++
 ** Emacs no longer searches for `leim-list.el' files beneath the standard
 lisp/ directory.  There should not be any there anyway.  If you have
 been adding them there, put them somewhere else, eg site-lisp.
@@ -86,182 +95,214 @@ been adding them there, put them somewhere else, eg site-lisp.
 \f
 * Changes in Emacs 24.3
 
-** You can now scroll the selected window in most y-or-n prompts.
-Typing C-v or M-v at a prompt scrolls forward or backward
-respectively, without leaving the y-or-n prompt.
++++
+** Most y-or-n prompts now allow you to scroll the selected window.
+Typing C-v or M-v at a y-or-n prompt scrolls forward or backward
+respectively, without exiting from the prompt.
+
+** Mode line changes
+---
+*** New option `mode-line-default-help-echo' specifies the help text
+(shown in a tooltip or in the echo area) for any part of the mode line
+that does not have its own specialized help text.
++++
+*** You can now click mouse-3 in the coding system indicator to invoke
+`set-buffer-file-coding-system'.
 
 ** Help changes
 
++++
 *** `C-h f' (describe-function) can now perform autoloading.
 When this command is called for an autoloaded function whose docstring
 contains a key substitution construct, that function's library is
 automatically loaded, so that the documentation can be shown
 correctly.  To disable this, set `help-enable-auto-load' to nil.
 
+---
 *** `C-h f' now reports previously-autoloaded functions as "autoloaded",
 even after their associated libraries have been loaded (and the
 autoloads have been redefined as functions).
 
-** The function `current-time' now returns extended-format time stamps
-(HIGH LOW USEC PSEC) that use picosecond resolution; the PSEC
-component is new.  PSEC is typically a multiple of 1000 on current
-machines.  Other functions that use this format, such as
-file-attributes and format-time-string, have been changed accordingly.
-Old-format time stamps are still accepted.
-
-** The format of timers in timer-list and timer-idle-list is now
-[TRIGGERED-P HI-SECS LO-SECS USECS REPEAT-DELAY FUNCTION ARGS IDLE-DELAY PSECS].
-The PSECS slot is new, and uses picosecond resolution.  It can be
-accessed via the new timer--psecs accessor.
-
-** Emacs now generates backtraces on fatal errors.
-On encountering a fatal error, Emacs now outputs a textual description
-of the fatal signal, and a short backtrace on platforms like glibc
-that support backtraces.
-
-** New functions `system-users', `system-groups' return lists of the user
-name, group names known to the system (where possible).
-
-** If your Emacs was built from a bzr checkout, the new variable
-`emacs-bzr-version' contains information about which bzr revision was used.
+** Minibuffer changes
+---
+*** In minibuffer filename prompts, `C-M-f' and `C-M-b' now move to the
+next and previous path separator, respectively.
++++
+*** minibuffer-electric-default-mode can rewrite (default ...) to [...].
+Just set minibuffer-eldef-shorten-default to t before enabling the mode.
 
 ** ImageMagick support, if available, is automatically enabled.
 It is no longer necessary to call `imagemagick-register-types'
 explicitly to install ImageMagick image types; that function is called
-automatically at startup, or when customizing a relevant imagemagick-
-option.
-
+automatically at startup, or when customizing an imagemagick- option.
++++
 *** Setting `imagemagick-types-inhibit' to t now disables the use of
 ImageMagick to view images.  You must call imagemagick-register-types
 afterwards if you do not use customize to change this.
-
++++
 *** The new variable `imagemagick-enabled-types' also affects which
 ImageMagick types are treated as images.  The function
 `imagemagick-filter-types' returns the list of types that will be
 treated as images.
-
+---
 *** Images displayed via ImageMagick now support transparency and the
 :background image spec property.
 
-** Internationalization changes
+** Server and client changes
++++
+*** emacsclient now obeys string values for `initial-buffer-choice',
+if it is told to open a new frame without specifying any file to visit
+or expression to evaluate.
+---
+*** New option `server-auth-key' specifies a shared server key.
 
-*** New language environment: Persian.
++++
+** In the Package Menu, newly-available packages are listed as "new",
+and sorted above the other "available" packages by default.
 
-** Face underlining can now use a wave.
-See the "Face Attributes" section of the Elisp manual.
++++
+** `C-x C-q' is now bound to the new minor mode `read-only-mode'.
+This minor mode replaces `toggle-read-only', which is now obsolete.
 
-** New fringe bitmap exclamation-mark.
++++
+** Emacs now generates backtraces on fatal errors.
+On encountering a fatal error, Emacs now outputs a textual description
+of the fatal signal, and a short backtrace on platforms like glibc
+that support backtraces.
 
-** String values for `initial-buffer-choice' also apply to emacsclient
-frames, if emacsclient is only told to open a new frame without
-specifying any file to visit or expression to evaluate.
+---
+** If your Emacs was built from a bzr checkout, the new variable
+`emacs-bzr-version' contains information about the bzr revision used.
 
 +++
-** You can prevent the creation of lock files by setting `create-lockfiles'
-to nil.  Use with caution, and only if you really need to.
+** New variable `create-lockfiles' specifies usage of lockfiles.
+It defaults to t.  Changing it to nil inhibits the creation of lock
+files (use this with caution).
 
 +++
 ** Using "unibyte: t" in Lisp source files is obsolete.
 Use "coding: raw-text" instead.
 
-** Mode line changes
-
-*** New option `mode-line-default-help-echo' specifies the help text
-(shown in a tooltip or in the echo area) for any part of the mode line
-that does not have its own specialized help text.
-
-*** You can now click mouse-3 in the coding system indicator to
-invokes `set-buffer-file-coding-system'.
-
 +++
 ** Setting `enable-remote-dir-locals' to non-nil allows directory
 local variables on remote hosts.
 
-+++
-** `insert-char' is now a command, and `ucs-insert' an obsolete alias
-for it.
-
+---
 ** The entry for PCL-CVS has been removed from the Tools menu.
 The PCL-CVS commands are still available via the keyboard.
 
-\f
-* Editing Changes in Emacs 24.3
-
-** The `z' key no longer has a binding in most special modes.
-It used to be bound to `kill-this-buffer', but `z' is too easy to
-accidentally type.
+** Internationalization changes
+---
+*** New language environment: Persian.
+---
+*** New input method `vietnamese-vni'.
 
-** New option `yank-handled-properties' allows processing of text
-properties on yanked text, in more ways that are more general than
-just removing them, as done by `yank-excluded-properties'.
+** Nextstep (GNUstep / Mac OS X) port changes
+---
+*** Fullscreen and frame parameter fullscreen is supported.
+---
+*** A file dialog is used for open/save operations initiated from the
+menu/toolbar.
 
-** New option `delete-trailing-lines' specifies whether the M-x
-delete-trailing-whitespace command should delete trailing lines at the
-end of the buffer.  It defaults to t.
+\f
+* Editing Changes in Emacs 24.3
 
+** Navigation command changes
 +++
-** `C-x r +' is now overloaded to invoke `append-to-register.
-
+*** New binding `M-g c' for `goto-char'.
 +++
-** New option `register-separator' specifies the register containing
-the text to put between collected texts for use with M-x
-append-to-register and M-x prepend-to-register.
-
-** Search changes
+*** New binding `M-g TAB' for `move-to-column'.
++++
+*** `M-g TAB' (`move-to-column') prompts for a column number if called
+interactively with no prefix arg.  Previously, it moved to column 1.
 
+** Search and Replace changes
++++
+*** Non-regexp Isearch now performs "lax" space matching.
+Each sequence of spaces in the supplied search string may match any
+sequence of one or more whitespace characters, as specified by the
+variable `search-whitespace-regexp'.  (This variable is also used by a
+similar existing feature for regexp Isearch).
++++
+*** New Isearch command `M-s SPC' toggles lax space matching.
+This applies to both ordinary and regexp Isearch.
++++
+*** New option `replace-lax-whitespace'.
+If non-nil, `query-replace' uses flexible whitespace matching too.
+The default is nil.
++++
 *** Global `M-s _' starts a symbol (identifier) incremental search,
 and `M-s _' in Isearch toggles symbol search mode.
 `M-s c' in Isearch toggles search case-sensitivity.
 
-*** `M-s SPC' in Isearch toggles whitespace matching mode
-in both ordinary and regexp incremental search, so that each
-sequence of spaces in the search string matches any combination
-of one or more whitespace characters defined by the variable
-`search-whitespace-regexp'.  In ordinary incremental search,
-`isearch-toggle-lax-whitespace' toggles the value of the variable
-`isearch-lax-whitespace'.  In regexp incremental search, it toggles
-the value of the variable `isearch-regexp-lax-whitespace'.
-
-** query-replace changes
++++
+** `C-x 8 RET' is now bound to `insert-char', which is now a command.
+`ucs-insert' is now an obsolete alias for `insert-char'.
 
-*** When new option `replace-lax-whitespace' is non-nil,
-and you enter a space or spaces in the strings or regexps
-to be replaced, `query-replace' will match any sequence matched
-by the regexp `search-whitespace-regexp'.
+---
+** The `z' key no longer has a binding in most special modes.
+It used to be bound to `kill-this-buffer', but `z' is too easy to
+accidentally type.
 
-** M-x move-to-column, if called interactively with no prefix arg, now
-prompts for a column number.
++++
+** New option `delete-trailing-lines' specifies whether
+M-x delete-trailing-whitespace should delete trailing lines at the end
+of the buffer.  It defaults to t.
 
-** `mouse-avoidance-banish-position' can now be used to customize
-`mouse-avoidance-mode' further.
+** Register changes
++++
+*** `C-x r +' is now overloaded to invoke `append-to-register.
++++
+*** New option `register-separator' specifies the register containing
+the text to put between collected texts for use with M-x
+append-to-register and M-x prepend-to-register.
 
++++
 ** `C-u M-=' now counts lines/words/characters in the entire buffer.
 
-** `C-M-f' and `C-M-b' will now move to the path name separator
-character when doing minibuffer filename prompts.
-
-** `goto-char' is now bound to `M-g c'.
-
++++
 ** New command `C-x r M-w' (copy-rectangle-as-kill).
 It copies the region-rectangle as the last rectangle kill.
 
-** New input method `vietnamese-vni'.
++++
+** New option `yank-handled-properties' allows processing of text
+properties on yanked text, in more ways that are more general than
+just removing them, as done by `yank-excluded-properties'.
 
 \f
 * Changes in Specialized Modes and Packages in Emacs 24.3
 
-** Compilation has a new `compilation-always-kill' configuration variable.
+** Apropos
+---
+*** The faces used by Apropos are now directly customizable.
+These faces are named `apropos-symbol', `apropos-keybinding', and so on;
+see the `apropos' Custom group for details.
+---
+*** The old options whose values specified faces to use were removed
+(i.e. `apropos-symbol-face', `apropos-keybinding-face', etc.).
 
-** Term changes
+** Buffer Menu
+This package has been rewritten to use Tabulated List mode.
+---
+*** Option `Buffer-menu-buffer+size-width' is now obsolete.
+Use `Buffer-menu-name-width' and `Buffer-menu-size-width' instead.
 
-The variables `term-default-fg-color' and `term-default-bg-color' are
-now deprecated in favor of the `term-face' face, that you can
-customize.  Also, it is now possible to customize how are displayed the
-ANSI terminal colors and styles by customizing the corresponding
-`term-color-<COLOR>', `term-color-underline' and `term-color-bold'
-faces.
+** Calendar
+
++++
+*** You can customize the header text that appears above each calendar month.
+See the variable `calendar-month-header'.
+
++++
+*** New LaTeX calendar style, produced by `cal-tex-cursor-week2-summary'.
+
++++
+*** The calendars produced by cal-html include holidays.
+Customize `cal-html-holidays' to change this.
 
 ** CL
+
++++
 *** CL's main entry is now (require 'cl-lib).
 `cl-lib' is like the old `cl' except that it uses the namespace cleanly,
 i.e. all its definitions have the "cl-" prefix (and internal definitions use
@@ -272,26 +313,171 @@ under the name `cl-foo' instead, with the exceptions of the few definitions
 that had to use `foo*' to avoid conflicts with pre-existing Elisp entities,
 which have not been renamed to `cl-foo*' but just `cl-foo'.
 
-The old `cl' is now deprecated and is just a bunch of aliases that
-provide the old non-prefixed names.
+The old `cl' is now deprecated and is mainly just a bunch of aliases that
+provide the old non-prefixed names.  Some exceptions are listed below.
 
++++
 *** `cl-flet' is not like `flet' (which is deprecated).
 Instead it obeys the behavior of Common-Lisp's `flet'.
 
++++
 *** `cl-labels' is slightly different from `labels'.
 The difference is that it relies on the `lexical-binding' machinery (as opposed
 to the `lexical-let' machinery used previously) to capture definitions in
 closures, so such closures will only work if `lexical-binding' is in use.
 
++++
+*** `cl-letf' is not exactly like `letf'.
+The only difference is in details that relate to some deprecated usage
+of `symbol-function' in place forms.
+
++++
 *** `progv' was rewritten to use the `let' machinery.
 A side effect is that vars without corresponding value are bound to nil
 rather than making them unbound.
 
-** Desktop
++++
+*** The following methods of extending `setf' are obsolete
+(use features from gv.el instead):
+`define-modify-macro' (use `gv-letplace')
+`defsetf' (use `gv-define-simple-setter' or `gv-define-setter')
+`define-setf-expander' (use `gv-define-setter' or `gv-define-expander')
+`get-setf-method' no longer exists (see "Incompatible Lisp Changes")
 
+** Compilation mode
++++
+*** New option `compilation-always-kill'.
+
+** Customize
+---
+*** `custom-reset-button-menu' now defaults to t.
+---
+*** Non-option variables are never matched in `customize-apropos' and
+`customize-apropos-options' (i.e. the prefix argument does nothing for
+these commands now).
+
+** Desktop
+---
 *** `desktop-path' no longer includes the "." directory.  Desktop
 files are now located in ~/.emacs.d by default.
 
+** D-Bus
+
++++
+*** New variables `dbus-compiled-version' and `dbus-runtime-version'.
+
++++
+*** The D-Bus object manager interface is implemented.
+
++++
+*** Variables of type :(u)int32 and :(u)int64 accept floating points,
+if their value does not fit into Emacs's integer range.
+
++++
+*** The function `dbus-call-method' works non-blocking now, it can be
+interrupted by C-g.  `dbus-call-method-non-blocking' is obsolete.
+
++++
+*** Signals can be sent also as unicast message.
+
++++
+*** The argument list of `dbus-register-signal' has been extended,
+according to the new match rule types of D-Bus.  See the manual for
+details.
+
++++
+*** `dbus-init-bus' supports private connections.
+
++++
+*** There is a new function `dbus-setenv'.
+
+** Diff mode
+
+---
+*** Changes are now highlighted using the same color scheme as in
+modern VCSes.  Deletions are displayed in red (new faces
+`diff-refine-removed' and `smerge-refined-removed', and new definition
+of `diff-removed'), insertions in green (new faces `diff-refine-added'
+and `smerge-refined-added', and new definition of `diff-added').
+
+---
+*** The variable `diff-use-changed-face' defines whether to use the
+face `diff-changed', or `diff-removed' and `diff-added' to highlight
+changes in context diffs.
+
++++
+*** The new command `diff-delete-trailing-whitespace' removes trailing
+whitespace introduced by a diff.
+
+** Dired
++++
+*** `dired-do-async-shell-command' executes each file sequentially
+if the command ends in `;' (when operating on multiple files).
+Otherwise, it executes the command on each file in parallel.
+---
+*** Typing M-n in the minibuffer of `dired-do-chmod', `dired-do-chgrp',
+`dired-do-chown', `dired-do-touch' pulls the file attributes of the
+file at point.
++++
+*** When the region is active, `m' (`dired-mark'), `u' (`dired-unmark'),
+`DEL' (`dired-unmark-backward'), `d' (`dired-flag-file-deletion')
+mark/unmark/flag all files in the active region.
++++
+*** 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.
++++
+*** `M-=' is no longer bound to `dired-backup-diff' in Dired buffers.
+The global binding for `M-=', `count-words-region' is in effect.
+
+---
+** Ediff now uses the same color scheme as Diff mode.
+
+** erc will look up server/channel names via auth-source and use the
+channel keys found, if any.
+
+** Flymake uses fringe bitmaps to indicate errors and warnings.
+See `flymake-fringe-indicator-position', `flymake-error-bitmap' and
+`flymake-warning-bitmap'.
+
+** Follow mode
+---
+*** The obsolete variable `follow-mode-off-hook' has been removed.
+---
+*** Follow mode no longer works by using advice.
+The option `follow-intercept-processes' has been removed.
+
+** FFAP
+
+*** The option `ffap-url-unwrap-remote' can now be a list of strings,
+specifying URL types which should be converted to remote file names at
+the FFAP prompt.  The default is now '("ftp").
+
+** Generic-x
+
+---
+*** `javascript-generic-mode' is now an obsolete alias for `js-mode'.
+
+** Ibuffer
+
+*** New `derived-mode' filter, bound to `/ M'.
+The old binding for `/ M' (filter by used-mode) is now bound to `/ m'.
+
+** Mouse Avoidance mode
++++
+*** New variable `mouse-avoidance-banish-position' specifies where the
+`banish' mouse avoidance setting moves the mouse.
+
++++
+** notifications.el supports now version 1.2 of the Notifications API.
+The function `notifications-get-capabilities' returns the supported
+server properties.
+
+** In Perl mode, new option `perl-indent-parens-as-block' causes non-block
+closing brackets to be aligned with the line of the opening bracket.
+
+** In Proced mode, new command `proced-renice' renices marked processes.
+
 ** Python mode
 
 A new version of python.el, which provides several new features, including:
@@ -347,50 +533,7 @@ python-send-string        | python-shell-send-string
 python-switch-to-python   | python-shell-switch-to-shell
 python-describe-symbol    | python-eldoc-at-point
 
-** VHDL mode
-
-*** The free software compiler GHDL is supported (and now the default).
-
-*** Support for the VHDL-AMS packages has been added/updated.
-
-*** Updated to the 2002 revision of the VHDL standard.
-
-*** Accepts \r and \f as whitespace.
-
-** SQL Mode
-
-*** DB2 added `sql-db2-escape-newlines'
-
-If non-nil, newlines sent to the command interpreter will be escaped
-by a backslash.  The default does not escape the newlines and assumes
-that the sql statement will be terminated by a semicolon.
-
-** Diff mode
-
-Faces for changes now use the same diff color scheme as in modern VCSes
-where deletions are displayed in red (new faces `diff-refine-removed'
-and `smerge-refined-removed' and new definition of `diff-removed'),
-insertions in green (new faces `diff-refine-added' and
-`smerge-refined-added' and new definition of `diff-added').
-The variable `diff-use-changed-face' defines whether to use
-the face `diff-changed', or `diff-removed' and `diff-added'
-to highlight changes in context diffs.
-
-*** The new command `diff-remove-trailing-whitespace' fixes trailing
-whitespace problems introduced by the diff.
-
-** Ediff now uses the same color scheme as Diff mode
-on high color displays.
-
-** Flymake uses fringe bitmaps to indicate errors and warnings.
-See flymake-fringe-indicator-position, flymake-error-bitmap and
-flymake-warning-bitmap.
-
-** `sh-script'
-*** Pairing of parens/quotes uses electric-pair-mode instead of skeleton-pair.
-*** `sh-electric-here-document-mode' now controls auto-insertion of here-docs.
-*** `sh-use-smie' lets you choose a new indentation and navigation code.
-
+---
 ** reStructuredText mode
 
 *** Rebind nearly all keys making room for more keys and complying
@@ -419,56 +562,16 @@ the experience for Sphinx users.
 
 *** Package version in `rst-version'.
 
-** New `derived-mode' filter for Ibuffer, bound to `/ M'.
-`/ m' is now bound to filter by used-mode, which used to be bound to `/ M'.
-
-** Apropos
-
-*** The faces used by Apropos are now directly customizable.
-These faces are named `apropos-symbol', `apropos-keybinding', and so on;
-see the `apropos' Custom group for details.
-
-**** The old options whose values specified faces to use were removed
-(i.e. `apropos-symbol-face', `apropos-keybinding-face', etc.).
-
-** Buffer Menu
-This package has been rewritten to use Tabulated List mode.
-
-*** Option `Buffer-menu-buffer+size-width' is now obsolete.
-Use `Buffer-menu-name-width' and `Buffer-menu-size-width' instead.
-
-** Calendar
-
-*** The calendars produced by cal-html include holidays.
-Customize cal-html-holidays to change this.
-
-** Customize
-
-*** `custom-reset-button-menu' now defaults to t.
-
-*** Non-option variables are never matched in `customize-apropos' and
-`customize-apropos-options' (i.e. the prefix argument does nothing for
-these commands now).
-
-** erc will look up server/channel names via auth-source and use the
-channel keys found, if any.
-
-** Dired
+*** Support `imenu' and `which-func'.
 
-*** `dired-do-async-shell-command' executes each file sequentially
-if the command ends in `;' (when operating on multiple files).
-Otherwise, it executes the command on each file in parallel.
+---
+** SH Script mode
 
-*** Typing M-n in the minibuffer of `dired-do-chmod', `dired-do-chgrp',
-`dired-do-chown', `dired-do-touch' pulls the file attributes of the
-file at point.
+*** Pairing of parens/quotes uses electric-pair-mode instead of skeleton-pair.
 
-*** The minibuffer default for `=' (`dired-diff) has changed.
-It is now the backup file for the file at point, if one exists, rather
-than the file at the mark.
+*** `sh-electric-here-document-mode' now controls auto-insertion of here-docs.
 
-*** `M-=' is no longer bound to `dired-backup-diff' in Dired buffers.
-The global binding for `M-=', `count-words-region' is in effect.
+*** `sh-use-smie' lets you choose a new indentation and navigation code.
 
 ** Shell
 
@@ -476,128 +579,137 @@ The global binding for `M-=', `count-words-region' is in effect.
 for a new asynchronous shell command when the default output buffer
 `*Async Shell Command*' is already taken by another running command.
 
-** FFAP
-
-*** The option `ffap-url-unwrap-remote' can now be a list of strings,
-specifying URL types which should be converted to remote file names at
-the FFAP prompt.  The default is now '("ftp").
-
-** Follow mode
-
-*** The obsolete variable `follow-mode-off-hook' has been removed.
-
-*** Follow mode no longer works by using advice.
-The option `follow-intercept-processes' has been removed.
+---
+** SQL Mode
 
-** The `server-auth-key' variable can be used to set a permanent
-shared key for Emacs Server.
+*** DB2 added `sql-db2-escape-newlines'
 
-** In Perl mode, new option `perl-indent-parens-as-block' causes non-block
-closing brackets to be aligned with the line of the opening bracket.
+If non-nil, newlines sent to the command interpreter will be escaped
+by a backslash.  The default does not escape the newlines and assumes
+that the sql statement will be terminated by a semicolon.
 
-** FIXME something happened to ses.el, 2012-04-17.
+** Tabulated List and packages derived from it
++++
+*** New command `tabulated-list-sort', bound to `S', sorts the column
+at point, or the Nth column if a numeric prefix argument is given.
 
-** which-function-mode now applies to all applicable major modes by default.
+** Term
++++
+The variables `term-default-fg-color' and `term-default-bg-color' are
+now deprecated in favor of the `term-face' face, that you can
+customize.  Also, it is now possible to customize how are displayed the
+ANSI terminal colors and styles by customizing the corresponding
+`term-color-<COLOR>', `term-color-underline' and `term-color-bold'
+faces.
 
 ** Tramp
-
 +++
 *** The syntax has been extended in order to allow ad-hoc proxy
 definitions.  See the manual for details.
-
 +++
 *** Remote processes are now supported also on remote Windows host.
 
-** D-Bus
-
-+++
-*** New variables `dbus-compiled-version' and `dbus-runtime-version'.
-
+** URL
 +++
-*** The D-Bus object manager interface is implemented.
+*** Structs made by `url-generic-parse-url' have nil `attributes' slot.
+Previously, this slot stored semicolon-separated attribute-value pairs
+appended to some imap URLs, but this is not compatible with RFC 3986.
+So now the `filename' slot stores the entire path and query components
+and the `attributes' slot is always nil.
 
-+++
-*** Variables of type :(u)int32 and :(u)int64 accept floating points,
-if their value does not fit into Emacs's integer range.
+*** New function `url-encode-url' for encoding a URI string.
+The `url-retrieve' function now uses this to encode its URL argument,
+in case that is not properly encoded.
 
-+++
-*** The function `dbus-call-method' works non-blocking now, it can be
-interrupted by C-g.  `dbus-call-method-non-blocking' is obsolete.
+---
+** VHDL mode
 
-+++
-*** Signals can be sent also as unicast message.
+*** The free software compiler GHDL is supported (and now the default).
 
-+++
-*** The argument list of `dbus-register-signal' has been extended,
-according to the new match rule types of D-Bus.  See the manual for
-details.
+*** Support for the VHDL-AMS packages has been added/updated.
 
-+++
-*** `dbus-init-bus' supports private connections.
+*** Updated to the 2002 revision of the VHDL standard.
 
-+++
-*** There is a new function `dbus-setenv'.
+*** Accepts \r and \f as whitespace.
 
+** Which Function mode
 +++
-** notifications.el supports now version 1.2 of the Notifications API.
-The function `notifications-get-capabilities' returns the supported
-server properties.
-
-** Package Menu
+*** `which-func-modes' now defaults to t, so Which Function mode, when
+enabled, applies to all applicable major modes.
 
-*** Newly-available packages are listed in the Package Menu as "new",
-and sorted above the other "available" packages by default.
-
-** Tabulated List and packages derived from it
-
-*** New command `tabulated-list-sort', bound to `S', sorts the column
-at point, or the Nth column if a numeric prefix argument is given.
-
-** URL
+---
+** winner-mode-hook now runs when the mode is disabled, as well as when it is
+enabled.
 
-*** Structs made by `url-generic-parse-url' have nil `attributes' slot.
-Previously, this slot stored semicolon-separated attribute-value pairs
-appended to some imap URLs, but this is not compatible with RFC 3986.
-So now the `filename' slot stores the entire path and query components
-and the `attributes' slot is always nil.
+** FIXME something happened to ses.el, 2012-04-17.
 
-*** New function `url-encode-url' for encoding a URI string.
-The `url-retrieve' function now uses this to encode its URL argument,
-in case that is not properly encoded.
+** Hooks renamed to avoid obsolete "-hooks" suffix:
+*** semantic-lex-reset-hooks -> semantic-lex-reset-functions
+*** semantic-change-hooks -> semantic-change-functions
+*** semantic-edits-new-change-hooks -> semantic-edits-new-change-functions
+*** semantic-edits-delete-change-hooks -> semantic-edits-delete-change-functions
+*** semantic-edits-reparse-change-hooks -> semantic-edits-reparse-change-functions
+*** semanticdb-save-database-hooks -> semanticdb-save-database-functions
+*** c-prepare-bug-report-hooks -> c-prepare-bug-report-hook
+*** rcirc-sentinel-hooks -> rcirc-sentinel-functions
+*** rcirc-receive-message-hooks -> rcirc-receive-message-functions
+*** rcirc-activity-hooks -> rcirc-activity-functions
+*** rcirc-print-hooks -> rcirc-print-functions
+*** dbus-event-error-hooks -> dbus-event-error-functions
+*** eieio-pre-method-execution-hooks -> eieio-pre-method-execution-functions
+*** checkdoc-style-hooks -> checkdoc-style-functions
+*** checkdoc-comment-style-hooks -> checkdoc-comment-style-functions
+*** archive-extract-hooks -> archive-extract-hook
+*** filesets-cache-fill-content-hooks -> filesets-cache-fill-content-hook
+*** hfy-post-html-hooks -> hfy-post-html-hook
+*** nndiary-request-create-group-hooks -> nndiary-request-create-group-functions
+*** nndiary-request-update-info-hooks -> nndiary-request-update-info-functions
+*** nndiary-request-accept-article-hooks -> nndiary-request-accept-article-functions
+*** gnus-subscribe-newsgroup-hooks -> gnus-subscribe-newsgroup-functions
 
 ** Obsolete packages:
-
++++
 *** assoc.el
 In most cases, assoc+member+push+delq work just as well.
 And in any case it's just a terrible package: ugly semantics, terrible
 inefficiency, and not namespace-clean.
-
+---
 *** bruce.el
-
+---
 *** ledit.el
-
+---
 *** mailpost.el
-
++++
 *** mouse-sel.el
-
+---
 *** patcomp.el
-
++++
 *** cust-print.el
 
 \f
 * New Modes and Packages in Emacs 24.3
+
+FIXME? erc-desktop-notifications.el, gv.el, profiler.el,
+gnus-notifications.el, mm-archive.el
+
 \f
 * Incompatible Lisp Changes in Emacs 24.3
 
++++
+** set-buffer-multibyte now signals an error in narrowed buffers.
+
++++
 ** (random) by default now returns a different random sequence in
 every Emacs run.  Use (random S), where S is a string, to set the
 random seed to a value based on S, in order to get a repeatable
 sequence in later calls.
 
+---
 ** The function `x-select-font' can return a font spec, instead of a
 font name as a string.  Whether it returns a font spec or a font name
 depends on the graphical library.
 
++++
 ** If the NEWTEXT arg to `replace-match' contains a substring "\?",
 that substring is inserted literally even if the LITERAL arg is
 non-nil, instead of causing an error to be signaled.
@@ -614,6 +726,7 @@ and are now undefined.  For backwards compatibility, defun and
 defmacro currently return the name of the newly defined function/macro
 but this should not be relied upon.
 
+---
 ** `face-spec-set' no longer sets frame-specific attributes when the
 third argument is a frame (that usage was obsolete since Emacs 22.2).
 
@@ -622,10 +735,18 @@ third argument is a frame (that usage was obsolete since Emacs 22.2).
 but keywords or keyword-string pairs.  The old argument list will
 still be supported for Emacs 24.x.
 
++++
+** The CL package's `get-setf-method' function no longer exists.
+Generalized variables are now part of core Emacs Lisp, and implemented
+differently to the way cl.el used to do it.  It is not possible to
+define a compatible replacement for `get-setf-method'.  See the file
+gv.el for internal details of the new implementation.
+
 ** Spelling changes.
 Some Lisp symbols have been renamed to avoid problems with spelling
 that is incorrect or inconsistent with how Emacs normally spells a word.
 
+---
 *** Renamed functions
 
 **** hangul-input-method-inactivate -> hangul-input-method-deactivate
@@ -637,88 +758,109 @@ that is incorrect or inconsistent with how Emacs normally spells a word.
      viper-deactivate-input-method-action
 **** ucs-input-inactivate -> ucs-input-deactivate
 
+---
 *** Renamed hooks
 The old hooks are still supported for backward compatibility, but they
 are deprecated and will be removed eventually.
-
 **** input-method-inactivate-hook -> input-method-deactivate-hook
 **** robin-inactivate-hook -> robin-deactivate-hook
 **** quail-inactivate-hook -> quail-deactivate-hook
 
+---
 *** Renamed Lisp variables
-
 **** follow-deactive-menu -> follow-inactive-menu
 **** inactivate-current-input-method-function ->
      deactivate-current-input-method-function
 
-** The following obsolete variables and varaliases have been removed:
-
++++
+** Some obsolete functions, variables, and faces were removed:
 *** `facemenu-unlisted-faces'
 *** `rmail-decode-mime-charset'
 *** `last-input-char', `last-command-char', `unread-command-char'.
+*** `iswitchb-read-buffer'
+*** `sc-version', `sc-submit-bug-report'
+*** `set-char-table-default'
+*** `string-to-sequence' (use `string-to-list' or `string-to-vector').
+*** `compile-internal'
+*** `mode-line-inverse-video'
+*** `cvs-commit-buffer-require-final-newline'
+(use `log-edit-require-final-newline' instead)
+*** `cvs-changelog-full-paragraphs'
+(use `log-edit-changelog-full-paragraphs' instead)
+*** `cvs-diff-ignore-marks', `cvs-diff-buffer-name'
+*** `vc-ignore-vc-files' (use `vc-handled-backends' instead)
+*** `vc-master-templates' (use `vc-handled-backends' instead)
+*** `vc-checkout-carefully'
+*** `modeline'
 
 \f
 * Lisp changes in Emacs 24.3
 
-** Interpreted files get eagerly macro-expanded during load.
-This can significantly speed up execution of non-byte-compiled code, but can
-also bump into harmless and previously unnoticed cyclic dependencies.
-These should not be fatal: they will simply cause the macro-calls to be left
-for later expansion (as before), but will also result in a warning describing
-the cycle.
-
-** New minor mode `read-only-mode' to replace toggle-read-only (now obsolete).
-
-** New functions `autoloadp' and `autoload-do-load'.
-
-** New function `posnp' to test if an object is a `posn'.
-
-** `function-get' fetches the property of a function, following aliases.
-
-** `toggle-read-only' accepts a second argument specifying whether to
-print a message, if called from Lisp.
+** New sampling-based Elisp profiler.
+Try M-x profiler-start ... M-x profiler-stop; and then M-x profiler-report.
+The sampling rate can be based on CPU time (only supported on some
+systems), or based on memory allocations.
 
++++
 ** CL-style generalized variables are now in core Elisp.
-`setf' is autoloaded and `push' and `pop' accept generalized variables.
+`setf' is autoloaded; `push' and `pop' accept generalized variables.
+You can define your own generalized variables using `gv-define-simple-setter',
+`gv-define-setter', etc.
 
++++
 ** `defun' also accepts a (declare DECLS) form, like `defmacro'.
 The interpretation of the DECLS is determined by `defun-declarations-alist'.
 
-** `macro-declaration-function' is obsolete, use `macro-declarations-alist'.
+** Minibuffer
++++
+*** `read-regexp' has a new argument HISTORY; the first argument PROMPT
+of `read-regexp' accepts a string ending with a colon and space, and its
+second argument DEFAULTS can be a list of strings accessible via M-n
+in the minibuffer ahead of other hard-coded useful regexp-related values.
+More commands use `read-regexp' now to read their regexp arguments.
 
-** New function `set-temporary-overlay-map'.
+** Completion
 
-** New macros `setq-local' and `defvar-local'.
+*** New function `completion-table-with-quoting' to handle completion
+in the presence of quoting, such as file completion in shell buffers.
+
+*** New function `completion-table-subvert' to use an existing completion
+table, but with a different prefix.
 
-** New error type and new function `user-error'.  Doesn't trigger the debugger.
+** Debugger changes
+
+*** New error type and new function `user-error'.
+These do not trigger the debugger.
 
-** Debugger
 *** New option `debugger-bury-or-kill'.
 
 *** Set `debug-on-message' to enter the debugger when a certain
 message is displayed in the echo area.  This can be useful when trying
 to work out which code is doing something.
-
+---
 *** New var `inhibit-debugger', automatically set to prevent accidental
 recursive invocations.
 
-+++
-** New utility function `buffer-narrowed-p'.
-
 ** Window changes
-
++++
 *** The functions get-lru-window, get-mru-window and get-largest-window
 now accept a third argument to avoid choosing the selected window.
++++
+*** Additional values recognized for option `window-combination-limit'.
 
 *** New macro `with-temp-buffer-window'.
 
-*** New option `temp-buffer-resize-frames'.
-
-*** New function `fit-frame-to-buffer' and new option
-    `fit-frame-to-buffer-bottom-margin'.
+*** `temp-buffer-resize-mode' no longer resizes windows that have been
+reused.
 
-*** New display action functions `display-buffer-below-selected' and
-`display-buffer-in-previous-window'.
+*** New function `fit-frame-to-buffer' and new options
+`fit-frame-to-buffer' and `fit-frame-to-buffer-bottom-margin'.
++++
+*** New option switch-to-buffer-preserve-window-point to restore a
+window's point when switching buffers.
++++
+*** New display action functions `display-buffer-below-selected',
+and `display-buffer-in-previous-window'.
 
 *** New display action alist entry `inhibit-switch-frame', if non-nil,
 tells display action functions to avoid changing which frame is
@@ -726,63 +868,143 @@ selected.
 
 *** New display action alist entry `pop-up-frame-parameters', if
 non-nil, specifies frame parameters to give any newly-created frame.
-
++++
 *** New display action alist entry `previous-window', if non-nil,
 specifies window to reuse in `display-buffer-in-previous-window'.
++++
+*** New display action alist entries `window-height' and `window-width'
+to specify size of new window created by `display-buffer'.
 
 *** The following variables are obsolete, as they can be replaced by
 appropriate entries in the `display-buffer-alist' function introduced
 in Emacs 24.1:
 +++
 **** `display-buffer-reuse-frames'
++++
 **** `special-display-regexps'
++++
 **** `special-display-frame-alist'
++++
 **** `special-display-buffer-names'
++++
 **** `special-display-function'
++++
 **** `display-buffer-function'
-
-** Completion
-
-*** New function `completion-table-with-quoting' to handle completion
-in the presence of quoting, such as file completion in shell buffers.
-
-*** New function `completion-table-subvert' to use an existing completion
-table, but with a different prefix.
+---
+**** `dired-shrink-to-fit'
 
 ** Time
-
+---
 *** `current-time-string' no longer requires that its argument's year
 must be in the range 1000..9999.  It now works with any year supported
 by the underlying C implementation.
 
-** Floating point
+*** `current-time' now returns extended-format time stamps
+(HIGH LOW USEC PSEC), where the new PSEC slot specifies picoseconds.
+PSEC is typically a multiple of 1000 on current machines.  Other
+functions that use this format, such as file-attributes and
+format-time-string, have been changed accordingly.  Old-format time
+stamps are still accepted.
+---
+*** The format of timers in timer-list and timer-idle-list is now
+[TRIGGERED-P HI-SECS LO-SECS USECS REPEAT-DELAY FUNCTION ARGS IDLE-DELAY PSECS].
+The PSECS slot is new, and uses picosecond resolution.  It can be
+accessed via the new timer--psecs accessor.
+
+*** Last-modified time stamps in undo lists now are of the form
+(t HI-SECS LO-SECS USECS PSECS) instead of (t HI-SECS . LO-SECS).
+
++++
+** Floating point functions now always return special values like NaN,
+instead of signaling errors, if given invalid args, e.g. (log -1.0).
+Previously, they returned NaNs on some platforms but signaled errors
+on others.  The affected functions are acos, asin, tan, exp, expt,
+log, log10, sqrt, and mod.
+
+** Interpreted files are eagerly macro-expanded during load.
+This can significantly speed up execution of non-byte-compiled code,
+but can also bump into harmless and previously unnoticed cyclic
+dependencies.  These should not be fatal: they will simply cause the
+macro-calls to be left for later expansion (as before), but will also
+result in a warning ("Eager macro-expansion skipped due to cycle")
+describing the cycle.
+
+** Miscellaneous new functions:
++++
+*** `autoloadp'
++++
+*** `autoload-do-load'
++++
+*** `buffer-narrowed-p' tests if the buffer is narrowed.
++++
+*** `file-name-base' returns a file name sans directory and extension.
++++
+*** `function-get' fetches a function property, following aliases.
++++
+*** `posnp' tests if an object is a `posn'.
+*** `set-temporary-overlay-map' sets up a temporary overlay map.
++++
+*** `system-users' returns the user names on the system.
++++
+*** `system-groups' returns the group names on the system.
++++
+*** `tty-top-frame' returns the topmost frame of a text terminal.
+
++++
+** New macros `setq-local' and `defvar-local'.
 
-*** When floating point functions such as `log' are given invalid
-arguments, e.g., (log -1.0), they now uniformly return special values
-such as NaNs instead of signaling errors.  Previously, these functions
-returned NaNs on some platforms but signaled errors on others.  The affected
-functions are acos, asin, tan, exp, expt, log, log10, sqrt, and mod.
++++
+** New fringe bitmap `exclamation-mark'.
 
-** New function file-name-base.
+** Face underlining can now use a wave.
+See the "Face Attributes" section of the Elisp manual.
 
-** New function `tty-top-frame' returns the topmost frame of a text terminal.
+** The following functions and variables are obsolete:
+---
+*** `automount-dir-prefix'
++++
+*** `buffer-has-markers-at'
+---
+*** `macro-declaration-function' (use `macro-declarations-alist')
+---
+*** `window-system-version'
+---
+*** `dired-pop-to-buffer' (use `dired-mark-pop-up')
+---
+*** `query-replace-interactive'
+---
+*** `font-list-limit' (has had no effect since Emacs < 23)
 
-** `automount-dir-prefix' is obsolete.
-** `buffer-has-markers-at' is obsolete.
-** `window-system-version' is obsolete.
 \f
 * Changes in Emacs 24.3 on non-free operating systems
 
-** New configure.bat options on MS-Windows:
+---
+** Cygwin builds can use the native MS Windows user interface.
+Pass --with-w32 to configure.  The default remains the X11 interface.
 
-*** --without-libxml2 omits support for libxml2, even if its presence
-is detected.
+** Two new functions are available in Cygwin builds:
+`cygwin-convert-path-from-windows' and `cygwin-convert-path-to-windows'.
+These functions allow Lisp code to access the Cygwin file-name mapping
+machinery to convert between Cygwin and Windows-native file names.
 
 ** When invoked with the -nw switch to run on the Windows text-mode terminal,
 Emacs now supports mouse highlight, help-echo (in the echo area), and
-mouse-autoselect-window.
+`mouse-autoselect-window'.
+
++++
+** On MS Windows Vista and later Emacs now supports symbolic links.
+
++++
+** On MS Windows, you can pass --without-libxml2 to configure.bat to omit
+support for libxml2, even if its presence is detected.
+
+---
+** On Mac OS X, the Nextstep port requires OS X 10.4 or later.
+
+---
+** On Mac OS X, configure no longer automatically adds the Fink /sw
+directories to the search path.  You must add them yourself if you want them.
 
-** On MS-Windows Vista and later Emacs now supports symbolic links.
 \f
 * Changes in Emacs 24.2