]> code.delx.au - gnu-emacs/blobdiff - etc/NEWS
Merge from emacs-24; up to 2012-12-23T17:06:58Z!eliz@gnu.org
[gnu-emacs] / etc / NEWS
index 7375e765159d10e7ba5b5b920a079e1c2a2f57c9..b344f643069f774452d8a0433048e58e37b4f9cc 100644 (file)
--- a/etc/NEWS
+++ b/etc/NEWS
@@ -1,6 +1,6 @@
 GNU Emacs NEWS -- history of user-visible changes.
 
-Copyright (C) 2010-2012 Free Software Foundation, Inc.
+Copyright (C) 2010-2013 Free Software Foundation, Inc.
 See the end of the file for license conditions.
 
 Please send Emacs bug reports to bug-gnu-emacs@gnu.org.
@@ -13,30 +13,378 @@ and NEWS.1-17 for changes in older Emacs versions.
 
 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.
+
+\f
+* Installation Changes in Emacs 24.4
+
+** Emacs can be compiled with POSIX ACL support.
+This happens by default if a suitable support library is found at
+build time, like libacl on GNU/Linux.  To prevent this, use the
+configure option `--without-acl'.
+
+** The configure option --with-crt-dir has been removed.
+It is no longer needed, as the crt*.o files are no longer linked specially.
+
+\f
+* Startup Changes in Emacs 24.4
+
+\f
+* Changes in Emacs 24.4
+
++++
+** `apropos-variable' is now `apropos-user-option'
+`apropos-user-option' shows all user options while `apropos-variable'
+shows all variables.  When called with a universal prefix argument,
+the two commands swap their behaviors.  When `apropos-do-all' is
+non-nil, they output the same results.
+
++++
+** `eval-defun' on an already defined defcustom calls the :set function,
+if there is one.
+
+** If the new variable `enable-dir-local-variables' is nil,
+directory local variables are ignored.  May be useful for some modes
+that want to ignore directory-locals while still respecting file-locals.
+
+** The option `set-mark-default-inactive' has been deleted.
+This unfinished feature was introduced by accident in Emacs 23.1;
+simply disabling Transient Mark mode does the same thing.
+
+** `initial-buffer-choice' can now specify a function to set up the
+initial buffer.
+
+** ACL support has been added.
++++
+*** Emacs preserves the ACL entries of files when backing up.
++++
+*** New functions `file-acl' and `set-file-acl' get and set the ACL
+entries of a file.  On GNU/Linux, the POSIX ACL interface is used via
+libacl.  On MS-Windows, the NT Security APIs are used to emulate the
+POSIX ACL interfaces.
+
+** New option `scroll-bar-adjust-thumb-portion'.
+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).
+
+\f
+* Editing Changes in Emacs 24.4
+
+** New commands `toggle-frame-fullscreen' and `toggle-frame-maximized',
+bound to <f11> and M-<f10>, respectively.
+
+** In keymaps where SPC scrolls, S-SPC now scrolls in the reverse direction.
+Eg View mode, etc.
+
+\f
+* Changes in Specialized Modes and Packages in Emacs 24.4
+
+** 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-tab' is gone, replaced by `indent-for-tab-command'.
+
+** jit-lock-debug-mode lets you use the debuggers on code run via jit-lock.
+
+** completing-read-multiple's separator can now be a regexp.
+The default separator is changed to allow surrounding spaces around the comma.
+
+** Battery
+
+*** Battery information via the BSD `apm' utility is now supported.
+
+** cl-lib
+
+*** New macro cl-tagbody.
+
++++
+*** letf is now just an alias for cl-letf.
+
+** Calc
+
+*** Calc by default now uses the Gregorian calendar for all dates, and
+uses January 1, 1 AD as its day number 1.  Previously Calc used the
+Julian calendar for dates before September 14, 1752, and it used
+December 31, 1 BC as its day number 1; the new scheme is more
+consistent with Calendar's calendrical system and day numbering.
+
+*** The new variable `calc-gregorian-switch' lets you configure the
+date when Calc switches from the Julian to the Gregorian calendar.
+Nil, the default value, means to always use the Gregorian calendar.
+The value (YEAR MONTH DAY) means to start using the Gregorian calendar
+on the given date.
+
+*** Support for ISO 8601 dates.
+
+** Dired
+
+*** New minor mode `dired-hide-details-mode' hides details.
+
+** ERC
+
+*** New option `erc-accidental-paste-threshold-seconds'.
+If set to a number, this can be used to avoid accidentally paste large
+amounts of data into the ERC input.
+
+** 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.
+
+** Image mode
+
+*** New commands `n' (`image-next-file') and `p' (`image-previous-file')
+visit the next image file and the previous image file in the same
+directory, respectively.
+
+*** New commands to show specific frames of multi-frame images.
+`f' (`image-next-frame') and `b' (`image-previous-frame') visit the
+next or previous frame.  `F' (`image-goto-frame') shows a specific frame.
+
+---
+*** The command `image-mode-fit-frame' deletes other windows.
+When toggling, it restores the frame's previous window configuration.
+It also has an optional frame argument, which can be used by Lisp
+callers to fit the image to a frame other than the selected frame.
+
+** Isearch
+
+*** `C-x 8 RET' in Isearch mode reads a character by its Unicode name
+and adds it to the search string.
+
+** MH-E has been updated to MH-E version 8.4.
+See MH-E-NEWS for details.
+
+---
+** The unrmail command converts from BABYL to mboxrd rather than mboxo.
+Customize `unrmail-mbox-format' to change this.
+
+---
+** Similarly, customize `rmail-mbox-format' to influence some minor aspects
+of how Rmail displays non-MIME messages.
+
++++
+** New function `ses-rename-cell' to give SES cells arbitrary names.
+
+** trace-function was largely rewritten.
+New features include:
+- no prompting for the destination buffer, unless a prefix-arg was used.
+- additionally to prompting for a destination buffer, when a prefix-arg is
+  used, the user can enter a "context", i.e. Lisp expression whose value at the
+  time the function is entered/exited will be printed along with the function
+  name and arguments.  Useful to trace the value of (current-buffer) or
+  (point) when the function is invoked.
+
+** New command `delete-duplicate-lines' has two types of operation:
+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.
+
+** 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.
+
+** Tramp
+
++++
+*** New connection method "adb", which allows to access Android
+devices by the Android Debug Bridge.  The variable `tramp-adb-program'
+can be used to adapt the path of the "adb" program, if needed.
+
+*** The connection methods "plink1", "ssh1", "ssh2", "scp1", "scp2",
+"scpc" and "rsyncc" are discontinued.  The ssh option
+"ControlMaster=auto" is set automatically in all ssh-based methods,
+when possible.
+
++++
+*** Handlers for `file-acl' and `set-file-acl' for remote machines
+which support POSIX ACLs.
+
+** Woman
+
+*** The commands `woman-default-faces' and `woman-monochrome-faces'
+are obsolete.  Customize the `woman-* faces instead.
+
+** Obsolete packages:
+
+*** longlines.el is obsolete; use visual-line-mode instead.
+
+*** terminal.el is obsolete; use term.el instead.
+
++++
+*** yow.el is obsolete; use fortune.el or cookie1.el instead.
+
+---
+*** The Info-edit command is obsolete.  Editing Info nodes by hand
+has not been relevant for some time.
+
+\f
+* New Modes and Packages in Emacs 24.4
+** New nadvice.el package offering lighter-weight advice facilities.
+It is layered as:
+- add-function/remove-function which can be used to add/remove code on any
+  function-carrying place, such as process-filters or `<foo>-function' hooks.
+- advice-add/advice-remove to add/remove a piece of advice on a named function,
+  much like `defadvice' does.
+
+\f
+* Incompatible Lisp Changes in Emacs 24.4
+
+** Removed inhibit-local-menu-bar-menus.
+
+** frame-local variables that affect redisplay do not work any more.
+More specifically, the redisplay does not bother to check for a frame-local
+value when looking up variables.
+
+** nil and "unbound" are indistinguishable in symbol-function.
+`symbol-function' never signals `void-function' any more.
+`fboundp' returns non-nil if the symbol was `fset' to nil.
+
+** `defadvice' does not honor the `freeze' flag and cannot advise
+special-forms any more.
+
+** `dolist' in lexical-binding mode does not bind VAR in RESULT any more.
+VAR was bound to nil which was not tremendously useful and just lead to
+spurious warnings about an unused var.
+
+** The return value of `backup-buffer' has changed.
+The second argument is no longer an SELinux context, instead it is an
+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'.
+
+\f
+* Lisp Changes in Emacs 24.4
+
+** Support for filesystem notifications.
+Emacs now supports notifications of filesystem changes, such as
+creation, modification, and deletion of files.  This requires the
+'inotify' API on GNU/Linux systems.  On MS-Windows systems, this is
+supported for Windows XP and newer versions.
+
+** Changes in autorevert.el
+
+---
+*** If Emacs is compiled with file notification support, notifications
+are used instead of checking the time stamp of the files.  You can
+disable this by setting the user option `auto-revert-use-notify' to
+nil.  Alternatively, a regular expression of directories to be
+excluded from file notifications can be specified by
+`auto-revert-notify-exclude-dir-regexp'.
+
+---
+*** The new user option `auto-revert-remote-files' enables reversion
+of remote files when set to non-nil.
+
+** Face changes
+
+*** The `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.
+
+*** Face specs set via Custom themes now replace the `defface' spec
+rather than inheriting from it (as do face specs set via Customize).
+
+*** New face characteristic (supports :underline (:style wave))
+specifies whether or not the terminal can display a wavy line.
+
+** Image API
+
++++
+*** `image-animated-p' is now `image-multi-frame-p'.
+It returns non-nil for any image that contains multiple frames,
+whether or not it specifies a frame delay.
+
++++
+*** When animating images that do not specify a frame delay,
+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.
+
+** time-to-seconds is not obsolete any more.
+** New function special-form-p.
+** Docstrings can be made dynamic by adding a `dynamic-docstring-function'
+text-property on the first char.
+
+** The `defalias-fset-function' property lets you catch calls to defalias
+and redirect them to your own function instead of `fset'.
+
+** The 9th element returned by `file-attributes' is now unspecified.
+Formerly, it was t if the file's gid would change if file were deleted
+and recreated.  This value has been inaccurate for years on many
+platforms, and nobody seems to have noticed or cared.
+
+** The function `file-ownership-preserved-p' now has an optional
+argument GROUP which causes it check for file group too.  This can be
+used in place of the 9th element of `file-attributes'.
+
+** New functions `group-gid' and `group-real-gid'.
+
+** The 6th argument to `copy-file' has been renamed to
+`preserve-extended-attributes' as it now handles both SELinux context
+and ACL entries.
+
+\f
+* Changes in Emacs 24.4 on Non-Free Operating Systems
+
++++
+** 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
+directory where Emacs was running.
+
++++
+** The variable `buffer-file-type' is no longer supported.
+Setting it has no effect, and %t in the mode-line format is ignored.
+Likewise, `file-name-buffer-file-type-alist' is now obsolete, and
+modifying it has no effect.
+
+---
+** Lock files now work on MS-Windows.
+This allows to avoid losing your edits if the same file is being
+edited in another Emacs session or by another user.  See the node
+"Interlocking" in the Emacs User Manual for the details.  To disable
+file locking, customize `create-lockfiles' to nil.
+
+** Improved fullscreen support on Mac OS X.
+Both native (>= OSX 10.7) and "old style" fullscreen are supported.
+Customize `ns-use-native-fullscreen' to change style.  For >= 10.7
+native is the default.
+
 \f
 * Installation Changes in Emacs 24.3
 
-** The default toolkit has been changed to Gtk+ version 3.
+** The default X toolkit is now Gtk+ version 3.
 If you don't pass `--with-x-toolkit' to configure, or if you use
 `--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
+** 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.
+** New configure option `--without-all' to disable most of the optional
+features (image support, etc.) that are normally enabled by default.
+
+** New configure option `--enable-gcc-warnings' (for developing/debugging
+Emacs).  If building with GCC, this enables compile-time checks that
+warn/give errors about possibly-questionable C code.  On a recent GNU
+system there should be no warnings; on older and on non-GNU systems
+the results may be useful to developers.
 
 ** The configure option `--enable-use-lisp-union-type' has been
-renamed to '--enable-check-lisp-object-type', as the resulting
+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.
 
@@ -51,7 +399,7 @@ links between the various manuals.
 
 ** You can use `NO_BIN_LINK=t make install' to prevent the installation
 overwriting "emacs" in the installation bin/ directory with a link
-to emacs-VERSION.
+to "emacs-VERSION".
 
 ** Emacs uses libtinfo in preference to libncurses, if available.
 
@@ -59,7 +407,7 @@ to emacs-VERSION.
 /usr/pkg/lib to the linker search path.  You must add them yourself if
 you want them.
 
-** The standalone scripts rcs-checkin and vcdiff have been removed
+** 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).
 
@@ -75,22 +423,9 @@ been adding them there, put them somewhere else; e.g., site-lisp.
 \f
 * Changes in Emacs 24.3
 
-** 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
+** Help
 
-*** `C-h f' (describe-function) can now perform autoloading.
+*** `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
@@ -100,16 +435,12 @@ correctly.  To disable this, set `help-enable-auto-load' to nil.
 even after their associated libraries have been loaded (and the
 autoloads have been redefined as functions).
 
-** Minibuffer changes
-
-*** In minibuffer filename prompts, `C-M-f' and `C-M-b' now move to the
-next and previous path separator, respectively.
+** ImageMagick
 
-*** `minibuffer-electric-default-mode' can shorten "(default ...)" to "[...]"
-in minibuffer prompts.  Just set `minibuffer-eldef-shorten-default'
-non-nil before enabling the mode.
+*** Images displayed via ImageMagick now support transparency and the
+:background image specification property.
 
-** ImageMagick support, if available, is automatically enabled.
+*** When available, ImageMagick support 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 an imagemagick- option.
@@ -123,10 +454,25 @@ 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 specification property.
+** Minibuffer
 
-** Server and client 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 shorten "(default ...)" to "[...]"
+in minibuffer prompts.  Just set `minibuffer-eldef-shorten-default'
+non-nil before enabling the mode.
+
+** Mode line
+
+*** 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'.
+
+** Server and client
 
 *** emacsclient now obeys string values for `initial-buffer-choice',
 if it is told to open a new frame without specifying any file to visit
@@ -134,40 +480,49 @@ or expression to evaluate.
 
 *** New option `server-auth-key' specifies a shared server key.
 
-** In the Package Menu, newly-available packages are listed as "new",
-and sorted above the other "available" packages by default.
-
-** `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.
-
 ** 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.
 
+** `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.
+
+** 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 the Package Menu, newly-available packages are listed as "new",
+and sorted above the other "available" packages by default.
+
 ** If your Emacs was built from a bzr checkout, the new variable
 `emacs-bzr-version' contains information about the bzr revision used.
 
-** New variable `create-lockfiles' specifies usage of lockfiles.
+** New option `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.
-
-** Setting `enable-remote-dir-locals' to non-nil allows directory
-local variables on remote hosts.
+** New option `enable-remote-dir-locals', if non-nil, allows directory-local
+variables on remote hosts.
 
 ** The entry for PCL-CVS has been removed from the Tools menu.
 The PCL-CVS commands are still available via the keyboard.
 
-** Internationalization changes
+** Using "unibyte: t" in Lisp source files is obsolete.
+Use "coding: raw-text" instead.
+
+** In the buffer made by `M-x report-emacs-bug', the `C-c m' binding
+has been changed to `C-c M-i' (`report-emacs-bug-insert-to-mailer').
+The previous binding, introduced in Emacs 24.1, was a mistake, because
+`C-c LETTER' bindings are reserved for user customizations.
+
+** Internationalization
 
 *** New language environment: Persian.
 
 *** New input method `vietnamese-vni'.
 
-** Nextstep (GNUstep / Mac OS X) port changes
+** Nextstep (GNUstep / Mac OS X) port
 
 *** Support for fullscreen and the frame parameter fullscreen.
 
@@ -177,16 +532,7 @@ menu/toolbar.
 \f
 * Editing Changes in Emacs 24.3
 
-** 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 and Replace changes
+** Search and Replace
 
 *** Non-regexp Isearch now performs "lax" space matching.
 Each sequence of spaces in the supplied search string may match any
@@ -205,6 +551,25 @@ The default is nil.
 and `M-s _' in Isearch toggles symbol search mode.
 `M-s c' in Isearch toggles search case-sensitivity.
 
+** Navigation commands
+
+*** 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.
+
+** New option `yank-handled-properties' allows processing of text
+properties on yanked text, in ways that are more general than just
+removing them (as is done by `yank-excluded-properties').
+
+** 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-u M-=' now counts lines/words/characters in the entire buffer.
+
 ** `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'.
 
@@ -212,11 +577,10 @@ and `M-s _' in Isearch toggles symbol search mode.
 It used to be bound to `kill-this-buffer', but `z' is too easy to
 accidentally type.
 
-** 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.
+** New command `C-x r M-w' (`copy-rectangle-as-kill').
+It copies the region-rectangle as the last rectangle kill.
 
-** Register changes
+** Registers
 
 *** `C-x r +' is now overloaded to invoke `append-to-register'.
 
@@ -224,45 +588,10 @@ of the buffer.  It defaults to t.
 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.
-
-** New command `C-x r M-w' (`copy-rectangle-as-kill').
-It copies the region-rectangle as the last rectangle kill.
-
-** New option `yank-handled-properties' allows processing of text
-properties on yanked text, in 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
 
-** 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 have been 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
-
-*** 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
+** Common Lisp emulation (CL)
 
 *** CL's main entry is now (require 'cl-lib).
 `cl-lib' is like the old `cl' except that it uses the namespace cleanly;
@@ -304,18 +633,77 @@ to nil rather than being made unbound.
 `define-setf-expander' (use `gv-define-setter' or `gv-define-expander')
 `get-setf-method' no longer exists (see "Incompatible Lisp Changes")
 
-** New compilation option `compilation-always-kill'.
+** Diff mode
 
-** Customize
+*** 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').
 
-*** `custom-reset-button-menu' now defaults to t.
+*** 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.
 
-*** Non-option variables are never matched in `customize-apropos' and
-`customize-apropos-options' (i.e., the prefix argument does nothing for
-these commands now).
+*** The new command `diff-delete-trailing-whitespace' removes trailing
+whitespace introduced by a diff.
 
-** `desktop-path' no longer includes the "." directory.
-Desktop files are now located in ~/.emacs.d by default.
+** Ediff now uses the same color scheme as Diff mode.
+
+** Python mode
+
+A new version of python.el, which provides several new features, including:
+per-buffer shells, better indentation, Python 3 support, and improved
+shell-interaction compatible with iPython (and virtually any other
+text based shell).
+
+*** Some user options have been replaced/renamed, including (old -> new):
+**** python-indent -> python-indent-offset
+**** python-guess-indent -> python-indent-guess-indent-offset
+**** python-pdbtrack-do-tracking-p -> python-pdbtrack-activate
+**** python-use-skeletons -> python-skeleton-autoinsert
+
+*** Some user options have been removed, including:
+
+**** `python-indent-string-contents': Strings are never indented.
+
+**** `python-honour-comment-indentation':
+Comments are always considered as indentation markers.
+
+**** `python-continuation-offset': Indentation is automatically
+calculated in a pep8 compliant way depending on the context.
+
+**** `python-shell-prompt-alist', `python-shell-continuation-prompt-alist':
+Have no direct mapping as the shell interaction is completely different.
+
+**** `python-python-command', `python-jython-command':
+Replaced by `python-shell-interpreter'.
+
+**** `inferior-python-filter-regexp', `python-remove-cwd-from-path',
+`python-pdbtrack-minor-mode-string', `python-source-modes':
+No longer relevant.
+
+*** Some commands have been replaced (old -> new):
+**** python-insert-class -> python-skeleton-class
+**** python-insert-def -> python-skeleton-def
+**** python-insert-for -> python-skeleton-for
+**** python-insert-if -> python-skeleton-if
+**** python-insert-try/except -> python-skeleton-try
+**** python-insert-try/finally -> python-skeleton-try
+**** python-insert-while -> python-skeleton-while
+**** python-find-function -> python-nav-jump-to-defun
+**** python-next-statement -> python-nav-forward-sentence
+**** python-previous-statement -> python-nav-backward-sentence
+**** python-beginning-of-defun-function -> python-nav-beginning-of-defun
+**** python-end-of-defun-function -> python-nav-end-of-defun
+**** python-send-buffer -> python-shell-send-buffer
+**** python-send-defun -> python-shell-send-defun
+**** python-send-region -> python-shell-send-region
+**** python-send-region-and-go -> emulate with python-shell-send-region
+and python-shell-switch-to-shell
+**** python-send-string -> python-shell-send-string
+**** python-switch-to-python -> python-shell-switch-to-shell
+**** python-describe-symbol -> python-eldoc-at-point
 
 ** D-Bus
 
@@ -332,26 +720,14 @@ It can be interrupted by `C-g'.  `dbus-call-method-non-blocking' is obsolete.
 *** Signals can also be sent as unicast messages.
 
 *** 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.
+according to the new match rule types of D-Bus.
 
 *** `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.
+** `desktop-path' no longer includes the "." directory.
+Desktop files are now located in ~/.emacs.d by default.
 
 ** Dired
 
@@ -374,8 +750,6 @@ 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
 
 *** New module "notifications", which can send a notification when you
@@ -387,130 +761,164 @@ channel keys found.
 *** New option `erc-lurker-hide-list', similar to `erc-hide-list', but
 only applies to messages sent by lurkers.
 
-** Flymake uses fringe bitmaps to indicate errors and warnings.
-See `flymake-fringe-indicator-position', `flymake-error-bitmap' and
-`flymake-warning-bitmap'.
+** reStructuredText mode
+
+*** Keybindings (see `C-c C-h'), TAB indentation, filling and auto-filling,
+fontification, comment handling, and customization have all been revised
+and improved.
+
+*** Support for `imenu' and `which-function-mode'.
+
+*** The reStructuredText syntax is more closely covered.
+Sphinx support has been improved.
+
+*** `rst-insert-list' inserts new list or continues existing lists.
+
+*** A negative prefix argument always works for `rst-adjust'.
+
+*** The window configuration is reset after displaying a TOC.
+
+*** The constant `rst-version' describes the rst.el package version.
+
+** Ruby mode
+
+*** Support for percent literals and recognition of regular expressions
+in method calls without parentheses with more methods, including Cucumber
+steps definitions.
+
+*** Improved syntax highlighting and indentation.
+
+*** New command `ruby-toggle-block', bound to `C-c {'.
+
+*** Some non-standard keybindings/commands have been removed:
+
+**** `ruby-electric-brace'; use `electric-indent-mode' instead.
+
+**** `ruby-mark-defun'; use `mark-defun'.
+
+**** `ruby-beginning-of-defun' and `ruby-end-of-defun' are replaced by
+appropriate settings for the variables `beginning-of-defun-function'
+and `end-of-defun-function'.
+
+**** Non-standard keybindings for `backward-kill-word', `comment-region',
+`reindent-then-newline-and-indent' and `newline' have been removed.
+
+** Shell Script mode
+
+*** 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.
+
+** 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.
+
+** 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 have been 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.
 
-** Follow mode no longer works by using advice.
-The option `follow-intercept-processes' has been removed.
+** Calc
 
-** The FFAP option `ffap-url-unwrap-remote' can now be a list of strings,
-specifying URL types that should be converted to remote file names at
-the FFAP prompt.  The default is now '("ftp").
+*** Algebraic simplification mode is now the default.
+To restrict to the limited simplifications given by the former
+default simplification mode, use `m I'.
 
-** New Ibuffer `derived-mode' filter, bound to `/ M'.
-The old binding for `/ M' (filter by used-mode) is now bound to `/ m'.
+** Calendar
 
-** `javascript-generic-mode' is now an obsolete alias for `js-mode'.
+*** You can customize the header text that appears above each calendar month.
+See the variable `calendar-month-header'.
 
-** New option `mouse-avoidance-banish-position' specifies where the
-`banish' mouse avoidance setting moves the mouse.
+*** New LaTeX calendar style, produced by `cal-tex-cursor-week2-summary'.
 
-** notifications.el supports now version 1.2 of the Notifications API.
-The function `notifications-get-capabilities' returns the supported
-server properties.
+*** The calendars produced by cal-html include holidays.
+Customize `cal-html-holidays' to change this.
 
-** 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.
+** CEDET
 
-** In Proced mode, new command `proced-renice' renices marked processes.
+*** The major modes from the parser generators "Bovine" and "Wisent"
+are now properly integrated in Emacs.  The file suffixes ".by" and ".wy"
+are in `auto-mode-alist', and the corresponding manuals are included.
 
-** Python mode
+*** EDE
 
-A new version of python.el, which provides several new features, including:
-per-buffer shells, better indentation, Python 3 support, and improved
-shell-interaction compatible with iPython (and virtually any other
-text based shell).
+**** Menu support for the "Configuration" feature.  This allows users to
+choose the active configuration (such as debug or install) from the menu.
 
-*** Some user options have been replaced/renamed, including:
-Old defcustom:                | New defcustom:
-python-indent                 | python-indent-offset
-python-guess-indent           | python-indent-guess-indent-offset
-python-pdbtrack-do-tracking-p | python-pdbtrack-activate
-python-use-skeletons          | python-skeleton-autoinsert
+**** New command `ede-set' to interactively set project-local variables.
 
-*** Some user options have been removed, including:
+**** Support for compiling, debugging, and running in "generic" projects.
 
-**** `python-indent-string-contents': Strings are never indented.
+**** Autoconf editing support for M4 macros with complex arguments.
 
-**** `python-honour-comment-indentation':
-Comments are never considered as indentation markers themselves.
+**** Compilation support for the "linux" project type.
 
-**** `python-continuation-offset': Indentation is automatically
-calculated in a pep8 compliant way depending on the context.
+**** "simple" projects have been removed; use "generic" projects instead.
 
-**** `python-shell-prompt-alist', `python-shell-continuation-prompt-alist':
-Have no direct mapping as the shell interaction is completely different.
+*** Semantic
 
-**** `python-python-command', `python-jython-command':
-Replaced by `python-shell-interpreter'.
+**** Support for parsing #include statements inside a namespace in C/C++.
 
-**** `inferior-python-filter-regexp', `python-remove-cwd-from-path',
-`python-pdbtrack-minor-mode-string', `python-source-modes':
-No longer relevant.
+**** Improved support for 'extern "C"' declarations in C/C++.
 
-*** Some commands have been replaced:
-Old command               | New command
-python-insert-class       | python-skeleton-class
-python-insert-def         | python-skeleton-def
-python-insert-for         | python-skeleton-for
-python-insert-if          | python-skeleton-if
-python-insert-try/except  | python-skeleton-try
-python-insert-try/finally | python-skeleton-try
-python-insert-while       | python-skeleton-while
-python-find-function      | python-nav-jump-to-defun
-python-next-statement     | python-nav-forward-sentence
-python-previous-statement | python-nav-backward-sentence
-python-beginning-of-defun-function  | python-nav-beginning-of-defun
-python-end-of-defun-function        | python-nav-end-of-defun
-python-send-buffer        | python-shell-send-buffer
-python-send-defun         | python-shell-send-defun
-python-send-region        | python-shell-send-region
-python-send-region-and-go | Emulate with python-shell-send-region and
-                            python-shell-switch-to-shell
-python-send-string        | python-shell-send-string
-python-switch-to-python   | python-shell-switch-to-shell
-python-describe-symbol    | python-eldoc-at-point
+**** The ability to ignore more common special C/C++ preprocessor symbols,
+such as '__nonnull' and '__asm'.  Add '__cplusplus' macro when parsing C++.
+If available, include cdefs.h as an additional source of preprocessor symbols.
 
-** reStructuredText mode
+**** Improved C/C++ function pointer parsing.
 
-*** Keybindings (see `C-c C-h'), TAB indentation, filling and auto-filling,
-fontification, comment handling, and customization have all been revised
-and improved.
+**** In Python, support for converting imports to include file names.
 
-*** Support for `imenu' and `which-function-mode'.
+**** Ability to dynamically determine the Python load path.
 
-*** The reStructuredText syntax is more closely covered.
-Sphinx support has been improved.
+**** Support for the Python 'WITH' and 'AT' keywords.
 
-*** `rst-insert-list' inserts new list or continues existing lists.
+**** Improved tooltip completion.
 
-*** A negative prefix argument always works for `rst-adjust'.
+*** SRecode
 
-*** The window configuration is reset after displaying a TOC.
+**** The SRecode manual is now included.
 
-*** The constant `rst-version' describes the rst.el package version.
+**** Tag generation supports constructor/destructor settings and system
+include differentiation.
 
-** Shell Script mode
+**** Addition of 'Framework' support: Frameworks are specified when a
+particular kind of library (such as Android) is needed in a common language
+mode (like Java).
 
-*** Pairing of parens/quotes uses `electric-pair-mode' instead of skeleton-pair.
+**** Support for nested templates and let variables override based on priority.
 
-*** `sh-electric-here-document-mode' now controls auto-insertion of here-docs.
+**** Support for merging tables from multiple related modes, such as
+default -> c++ -> arduino.
 
-*** `sh-use-smie' lets you choose a new indentation and navigation code.
+** Compile has a new option `compilation-always-kill'.
 
-** New option `async-shell-command-buffer' specifies the buffer to use
-for a new asynchronous `shell-command' when the default output buffer
-`*Async Shell Command*' is already in use.
+** Customize
 
-** SQL mode has a new option `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.
+*** `custom-reset-button-menu' now defaults to t.
 
-** New command `tabulated-list-sort', bound to `S' in Tabulated List mode
-(and modes that derive from it), sorts the column at point, or the Nth
-column if a numeric prefix argument is given.
+*** Non-option variables are never matched in `customize-apropos' and
+`customize-apropos-options' (i.e., the prefix argument does nothing for
+these commands now).
 
 ** Term
 
@@ -524,7 +932,6 @@ by customizing the corresponding `term-color-<COLOR>',
 ** Tramp
 
 *** The syntax has been extended in order to allow ad-hoc proxy definitions.
-See the manual for details.
 
 *** Remote processes are now also supported on remote MS-Windows hosts.
 
@@ -540,22 +947,53 @@ 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.
 
-** VHDL mode
+** notifications.el supports now version 1.2 of the Notifications API.
+The function `notifications-get-capabilities' returns the supported
+server properties.
 
-*** The free software compiler GHDL is supported (and now the default).
+** Flymake uses fringe bitmaps to indicate errors and warnings.
+See `flymake-fringe-indicator-position', `flymake-error-bitmap' and
+`flymake-warning-bitmap'.
 
-*** Support for the VHDL-AMS packages has been added/updated.
+** The FFAP option `ffap-url-unwrap-remote' can now be a list of strings,
+specifying URL types that should be converted to remote file names at
+the FFAP prompt.  The default is now '("ftp").
 
-*** Updated to the 2002 revision of the VHDL standard.
+** New Ibuffer `derived-mode' filter, bound to `/ M'.
+The old binding for `/ M' (filter by used-mode) is now bound to `/ m'.
 
-*** Accepts \r and \f as whitespace.
+** New option `mouse-avoidance-banish-position' specifies where the
+`banish' mouse avoidance setting moves the mouse.
+
+** 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.
+
+** New option `async-shell-command-buffer' specifies the buffer to use
+for a new asynchronous `shell-command' when the default output buffer
+`*Async Shell Command*' is already in use.
+
+** SQL mode has a new option `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.
+
+** New command `tabulated-list-sort', bound to `S' in Tabulated List mode
+(and modes that derive from it), sorts the column at point, or the Nth
+column if a numeric prefix argument is given.
 
 ** `which-func-modes' now defaults to t, so Which Function mode, when
 enabled, applies to all applicable major modes.
 
-** winner-mode-hook now runs when the mode is disabled, as well as when
+** `winner-mode-hook' now runs when the mode is disabled, as well as when
 it is enabled.
 
+** Follow mode no longer works by using advice.
+The option `follow-intercept-processes' has been removed.
+
+** `javascript-generic-mode' is now an obsolete alias for `js-mode'.
+
 ** Hooks renamed to avoid obsolete "-hooks" suffix:
 *** semantic-lex-reset-hooks -> semantic-lex-reset-functions
 *** semantic-change-hooks -> semantic-change-functions
@@ -580,39 +1018,37 @@ it is enabled.
 *** nndiary-request-accept-article-hooks -> nndiary-request-accept-article-functions
 *** gnus-subscribe-newsgroup-hooks -> gnus-subscribe-newsgroup-functions
 
-** Obsolete packages:
+** 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
-
 *** cust-print.el
-
 *** ledit.el
-
 *** mailpost.el
-
 *** mouse-sel.el
-
 *** patcomp.el
 
 \f
 * Incompatible Lisp Changes in Emacs 24.3
 
-** set-buffer-multibyte now signals an error in narrowed buffers.
+** Docstrings starting with `*' no longer indicate user options.
+Only variables defined using `defcustom' are considered user options.
+The function `user-variable-p' is now an obsolete alias for
+`custom-variable-p'.
+
+** The return values of `defalias', `defun' and `defmacro' have changed,
+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.
 
 ** `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.
@@ -620,22 +1056,14 @@ non-nil, instead of causing an error to be signaled.
 ** `select-window' now always makes the window's buffer current.
 It does so even if the window was selected before.
 
-** Docstrings starting with `*' no longer indicate user options.
-Only variables defined using `defcustom' are considered user options.
-The function `user-variable-p' is now an obsolete alias for
-`custom-variable-p'.
-
-** The return values of `defalias', `defun' and `defmacro' have changed,
-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.
+** 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.
 
 ** `face-spec-set' no longer sets frame-specific attributes when the
 third argument is a frame (that usage was obsolete since Emacs 22.2).
 
-** The arguments of `dbus-register-signal' are no longer just strings,
-but keywords or keyword-string pairs.  The old argument list will
-still be supported for Emacs 24.x.
+** `set-buffer-multibyte' now signals an error in narrowed buffers.
 
 ** The CL package's `get-setf-method' function no longer exists.
 Generalized variables are now part of core Emacs Lisp, and implemented
@@ -643,7 +1071,11 @@ 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.
+** The arguments of `dbus-register-signal' are no longer just strings,
+but keywords or keyword-string pairs.  The old argument list will
+still be supported for Emacs 24.x.
+
+** Miscellaneous name changes
 Some Lisp symbols have been renamed to correct their spelling,
 or to be more consistent with standard Emacs terminology.
 
@@ -664,7 +1096,7 @@ are deprecated and will be removed eventually.
 **** robin-inactivate-hook -> robin-deactivate-hook
 **** quail-inactivate-hook -> quail-deactivate-hook
 
-*** Renamed Lisp variables
+*** Renamed variables
 **** follow-deactive-menu -> follow-inactive-menu
 **** inactivate-current-input-method-function ->
      deactivate-current-input-method-function
@@ -691,24 +1123,34 @@ are deprecated and will be removed eventually.
 *** `vc-checkout-carefully'
 
 \f
-* Lisp changes in Emacs 24.3
-
-** New sampling-based Elisp profiler.
-Try M-x profiler-start, do some work, and then call M-x profiler-report.
-When finished, use M-x profiler-stop.  The sampling rate can be based on
-CPU time or memory allocations.
+* Lisp Changes in Emacs 24.3
 
 ** CL-style generalized variables are now in core Elisp.
 `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.
 
+** Emacs tries to macroexpand interpreted (non-compiled) files during load.
+This can significantly speed up execution of non-byte-compiled code,
+but can also bump into previously unnoticed cyclic dependencies.
+These are generally harmless: they will simply cause the macro calls
+to be left for later expansion (as before), but will result in a
+warning ("Eager macro-expansion skipped due to cycle") describing the cycle.
+You may wish to restructure your code so this does not happen.
+
+** New sampling-based Elisp profiler.
+Try M-x profiler-start, do some work, and then call M-x profiler-report.
+When finished, use M-x profiler-stop.  The sampling rate can be based on
+CPU time or memory allocations.
+
 ** `defun' also accepts a (declare DECLS) form, like `defmacro'.
 The interpretation of the DECLS is determined by `defun-declarations-alist'.
 
-** Minibuffer
+** New macros `setq-local' and `defvar-local'.
+
+** Face underlining can now use a wave.
 
-*** `read-regexp' has a new argument HISTORY; the first argument PROMPT
+** `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.
@@ -722,7 +1164,7 @@ 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.
 
-** Debugger changes
+** Debugger
 
 *** New error type and new function `user-error'.
 These do not trigger the debugger.
@@ -737,12 +1179,13 @@ to work out which code is doing something.
 *** New var `inhibit-debugger', automatically set to prevent accidental
 recursive invocations.
 
-** Window changes
+** Window handling
 
-*** The functions `get-lru-window', `get-mru-window' and `get-largest-window'
-now accept a third argument to avoid choosing the selected window.
+*** New command `fit-frame-to-buffer' adjusts the frame height to
+fit the contents.
 
-*** Additional values recognized for option `window-combination-limit'.
+*** The command `fit-window-to-buffer' can adjust the frame height
+if the new option `fit-frame-to-buffer' is non-nil.
 
 *** New macro `with-temp-buffer-window', similar to
 `with-output-to-temp-buffer'.
@@ -750,30 +1193,29 @@ now accept a third argument to avoid choosing the selected window.
 *** `temp-buffer-resize-mode' no longer resizes windows that have been
 reused.
 
-*** New command `fit-frame-to-buffer' adjusts the frame height to
-fit the contents.
-
-*** The command `fit-window-to-buffer' can adjust the frame height
-if the new option `fit-frame-to-buffer' is non-nil.
-
 *** 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 entries `window-height' and `window-width'
+specify the size of new windows created by `display-buffer'.
+
+*** 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 `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 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'
-specify the size of new windows created by `display-buffer'.
+*** New display action functions `display-buffer-below-selected',
+and `display-buffer-in-previous-window'.
+
+*** 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'.
 
 *** The following variables are obsolete, as they can be replaced by
 appropriate entries in the `display-buffer-alist' function introduced
@@ -807,21 +1249,43 @@ 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).
 
+** EIEIO
+
+*** Improved security when handling persistent objects:
+
+**** `eieio-persistent-read' now features optional arguments for specifying
+the class to load, as well as a flag stating whether subclasses are allowed;
+if provided, other classes will be rejected by the reader.  For
+compatibility with existing code, if the class is omitted only a
+warning is issued.
+
+**** New specialized reader for pulling in classes and signaling errors
+without evaluation of suspicious code.
+
+**** All slots that contain objects must have a :type.  Slots with lists
+of objects must use a new type predicate for a list of an object type.
+
+*** Support for `find-function' and similar utilities, through the addition
+of filename support to generated symbols.
+
 ** 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.
 
-** Emacs tries to macroexpand interpreted (non-compiled) files during load.
-This can significantly speed up execution of non-byte-compiled code,
-but can also bump into previously unnoticed cyclic dependencies.
-These are generally harmless: they will simply cause the macro calls
-to be left for later expansion (as before), but will result in a
-warning ("Eager macro-expansion skipped due to cycle") describing the cycle.
-You may wish to restructure your code so this does not happen.
+** New fringe bitmap `exclamation-mark'.
+
+** Miscellaneous changes to special forms and macros
+
+*** `defun' and `defmacro' are now macros rather than special forms.
+
+*** `kbd' is now a function rather than a macro.
 
-** Miscellaneous new functions:
+** Miscellaneous new functions
+
+*** `set-temporary-overlay-map' sets up a temporary keymap that
+takes precedence over most other maps for a short while (normally one key).
 
 *** `autoloadp' tests if its argument is an autoloaded object.
 
@@ -835,45 +1299,23 @@ You may wish to restructure your code so this does not happen.
 
 *** `posnp' tests if an object is a `posn'.
 
-*** `set-temporary-overlay-map' sets up a temporary keymap that
-takes precedence over most other maps for a short while (normally one key).
-
 *** `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'.
-
-** Changes to special forms and macros
-
-*** `defun' and `defmacro' are now macros rather than special forms.
-
-*** `kbd' is now a function rather than a macro.
-
-** New fringe bitmap `exclamation-mark'.
-
-** Face underlining can now use a wave.
-
 ** The following functions and variables are obsolete:
-
 *** `automount-dir-prefix' (use `directory-abbrev-alist')
-
 *** `buffer-has-markers-at'
-
 *** `macro-declaration-function' (use `macro-declarations-alist')
-
 *** `window-system-version' (provides no useful information)
-
 *** `dired-pop-to-buffer' (use `dired-mark-pop-up')
-
 *** `query-replace-interactive'
-
 *** `font-list-limit' (has had no effect since Emacs < 23)
 
 \f
-* Changes in Emacs 24.3 on non-free operating systems
+* Changes in Emacs 24.3 on Non-Free Operating Systems
 
 ** Cygwin builds can use the native MS Windows user interface.
 Pass `--with-w32' to configure.  The default remains the X11 interface.
@@ -999,9 +1441,10 @@ to use the old defaults relying on external mail facilities
 (`sendmail-send-it' on GNU/Linux and other Unix-like systems, and
 `mailclient-send-it' on Windows).
 
-*** Typing C-c m in the buffer made by M-x report-emacs-bug transfers
-the report to your desktop's preferred mail client, if there is one.
-This uses either the "xdg-email" utility, or Mac OS's "open" command.
+*** Typing `C-c m' in the buffer made by `M-x report-emacs-bug'
+transfers the report to your desktop's preferred mail client, if there
+is one.  This uses either the "xdg-email" utility, or Mac OS's "open"
+command.
 
 *** See Changes in Specialized Modes and Packages for SMTPmail changes
 and Mail mode changes
@@ -1406,6 +1849,23 @@ Use the variable `bibtex-dialect' to select different BibTeX dialects.
 *** The default browser used by the package is now the "xdg-open" program,
 on platforms that support it.  This calls your desktop's preferred browser.
 
+** Calc
+
+*** Support for musical notes.
+
+*** Support for logarithmic units.
+
+*** No longer uses the tex prefix for TeX specific unit names when
+using TeX or LaTeX mode.
+
+*** New option to highlight selections using faces.
+
+*** `calc-histogram' has the option of using a vector to determine the bins.
+
+*** New "O" option prefix.
+
+*** Use the "O" prefix to "d r" (`calc-radix') to turn on twos-complement mode.
+
 ** Calendar, Diary, and Appt
 
 *** Diary entries can contain non-printing "comments".
@@ -1927,7 +2387,7 @@ assumes every inspected file is in your `load-path'.  It instead
 generates relative names according to the current `load-path'.
 
 \f
-* Lisp changes in Emacs 24.1
+* Lisp Changes in Emacs 24.1
 
 ** Code can now use lexical scoping by default instead of dynamic scoping.
 The `lexical-binding' variable enables lexical scoping for local
@@ -2314,7 +2774,7 @@ Use `post-command-hook' instead.
 *** `font-lock-maximum-size' is obsolete.
 
 \f
-* Changes in Emacs 24.1 on non-free operating systems
+* Changes in Emacs 24.1 on Non-Free Operating Systems
 
 ** On MS Windows, Emacs warns when using the obsolete init file _emacs,
 and also when HOME is set to C:\ by default.