international/mule.el (set-keyboard-coding-system): Recover input meta mode when...
[bpt/emacs.git] / etc / NEWS
index fb8722a..00d5109 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.
 
@@ -60,14 +85,15 @@ directories to the search path.  You must add them yourself if you want them.
 (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 native Windows user interface is available for Cygwin.  Passing
+--with-w32 will configure a Cygwin emacs to use the Windows user
+interface instead of the default, X11.
 
 \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.
@@ -78,145 +104,212 @@ been adding them there, put them somewhere else, eg site-lisp.
 \f
 * Changes in Emacs 24.3
 
+** minibuffer-electric-default-mode can rewrite (default ...) to [...].
+Just set minibuffer-eldef-shorten-default to t before enabling the mode.
+
++++
+** 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.
+
+---
+** In minibuffer filename prompts, `C-M-f' and `C-M-b' now move to the
+next and previous path separator, respectively.
+
+** 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'.
+
 ** 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.
-
-** 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.
-
 ** 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.
-
++++
 *** 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.
 
+** Internationalization changes
+---
+*** New language environment: Persian.
+---
+*** New input method `vietnamese-vni'.
+
+** NextStep/OSX port changes.
+---
+*** OSX 10.4 or newer is required to build Emacs.
+---
+*** Fullscreen and frame parameter fullscreen is supported.
+---
+*** A file dialog is used for open/save operations initiated from the
+menu/toolbar.
+
 \f
 * Editing Changes in Emacs 24.3
 
-** 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'.
-
-** 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.
+** Navigation command changes
++++
+*** New binding `M-g c' for `goto-char'.
++++
+*** 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 changes
+** 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.
 
-*** `search-whitespace-regexp' now acts on ordinary incremental search
-as well, so that each sequence of spaces in the search string matches
-any combination of one or more whitespace characters.  To change this
-behavior, you can give `search-whitespace-regexp' a cons cell value,
-where the car and cdr specify values for ordinary and regular
-expression incremental search respectively.
-
-** M-x move-to-column, if called interactively with no prefix arg, now
-prompts for a column number.
++++
+** `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'.
 
-** `mouse-avoidance-banish-position' can now be used to customize
-`mouse-avoidance-mode' further.
+---
+** 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.
 
-** `C-u M-=' now counts lines/words/characters in the entire buffer.
++++
+** 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.
 
-** `C-M-f' and `C-M-b' will now move to the path name separator
-character when doing minibuffer filename prompts.
+** 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.
 
-** `goto-char' is now bound to `M-g c'.
++++
+** `C-u M-=' now counts lines/words/characters in the entire buffer.
 
++++
 ** 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
 
-** Term changes
+** 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.).
 
-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.
+** 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
+
++++
+*** 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
@@ -242,11 +335,134 @@ closures, so such closures will only work if `lexical-binding' is in use.
 A side effect is that vars without corresponding value are bound to nil
 rather than making them unbound.
 
+** 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-remove-trailing-whitespace' fixes trailing
+whitespace problems introduced by the 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
+
+The new variable `mouse-avoidance-banish-position' can now be used to
+customize Mouse Avoidance mode further.
+
++++
+** 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:
@@ -302,39 +518,6 @@ 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.
-
-** 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.
-
-** 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
@@ -363,45 +546,15 @@ 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
+*** Support `imenu' and `which-func'.
 
-*** The calendars produced by cal-html include holidays.
-Customize cal-html-holidays to change this.
+** SH Script mode
 
-** 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.
+*** Pairing of parens/quotes uses electric-pair-mode instead of skeleton-pair.
 
-** Dired
+*** `sh-electric-here-document-mode' now controls auto-insertion of here-docs.
 
-*** `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-use-smie' lets you choose a new indentation and navigation code.
 
 ** Shell
 
@@ -409,83 +562,35 @@ Otherwise, it executes the command on each file in parallel.
 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
+** SQL Mode
 
-*** The obsolete variable `follow-mode-off-hook' has been removed.
+*** DB2 added `sql-db2-escape-newlines'
 
-*** Follow mode no longer works by using advice.
-The option `follow-intercept-processes' has been removed.
+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.
 
-** The `server-auth-key' variable can be used to set a permanent
-shared key for Emacs Server.
+** Tabulated List and packages derived from it
 
-** 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.
+*** New command `tabulated-list-sort', bound to `S', sorts the column
+at point, or the Nth column if a numeric prefix argument is given.
 
-** FIXME something happened to ses.el, 2012-04-17.
+** Term
 
-** which-function-mode now applies to all applicable major modes by default.
+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'.
-
-+++
-*** 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'.
-
-+++
-** notifications.el supports now version 1.2 of the Notifications API.
-The function `notifications-get-capabilities' returns the supported
-server properties.
-
-** Package Menu
-
-*** 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
 
 *** Structs made by `url-generic-parse-url' have nil `attributes' slot.
@@ -498,30 +603,62 @@ 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.
 
-** Obsolete packages:
+** 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.
+
+** which-function-mode now applies to all applicable major modes by default.
 
+---
+** winner-mode-hook now runs when the mode is disabled, as well as when it is
+enabled.
+
+** FIXME something happened to ses.el, 2012-04-17.
+
+
+** 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.
@@ -542,6 +679,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).
 
@@ -579,92 +717,197 @@ are deprecated and will be removed eventually.
 **** 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' and `last-command-char'
+*** `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
 
-** 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.
 
 ** `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'.
+** Completion
 
-** New function `set-temporary-overlay-map'.
+*** New function `completion-table-with-quoting' to handle completion
+in the presence of quoting, such as file completion in shell buffers.
 
-** New macros `setq-local' and `defvar-local'.
+*** New function `completion-table-subvert' to use an existing completion
+table, but with a different prefix.
+
+** Debugger changes
+
+*** New error type and new function `user-error'.
+These do not trigger the 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 error type and new function `user-error'.  Doesn't trigger the debugger.
+** 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.
 
 ** 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.
 
-*** New display action alist `inhibit-switch-frame', if non-nil, tells
-display action functions to avoid changing which frame is selected.
+*** Additional values recognized for option `window-combination-limit'.
+
+*** New macro `with-temp-buffer-window'.
+
+*** `temp-buffer-resize-mode' no longer resizes windows that have been
+reused.
+
+*** New function `fit-frame-to-buffer' and new options
+`fit-frame-to-buffer' and `fit-frame-to-buffer-bottom-margin'.
+
+*** New display action functions `display-buffer-below-selected',
+`display-buffer-at-bottom' 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
+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 `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'
-
-** 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.
+**** `display-buffer-function'
+**** `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.
+---
+*** `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.
+
++++
+** 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 function file-name-base.
+** New macros `setq-local' and `defvar-local'.
 
-** New function `tty-top-frame' returns the topmost frame of a text terminal.
+** New fringe bitmap `exclamation-mark'.
+
+** Face underlining can now use a wave.
+See the "Face Attributes" section of the Elisp manual.
+
+** 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'
 
-** `automount-dir-prefix' is obsolete.
-** `buffer-has-markers-at' is obsolete.
 \f
 * Changes in Emacs 24.3 on non-free operating systems
 
-** New configure.bat options on MS-Windows:
-
-*** --without-libxml2 omits support for libxml2, even if its presence
-is detected.
++++
+** On MS Windows, you can pass --without-libxml2 to configure.bat to omit
+support for libxml2, even if its presence is detected.
 
 ** 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'.
+
+** 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.
 
-** On MS-Windows Vista and later Emacs now supports symbolic links.
+** On MS Windows Vista and later Emacs now supports symbolic links.
 \f
 * Changes in Emacs 24.2
 
@@ -1384,6 +1627,10 @@ If you had that set, you need to put
 
 in your ~/.authinfo file instead.
 
+*** SMTPmail defaults to using the address in the From: header as the
+SMTP MAIL FROM envelope.  To override this, set `mail-envelope-from'
+to the address you wish to use instead.
+
 ** SQL mode
 
 *** New options `sql-port', `sql-connection-alist', `sql-send-terminator',