---
*** In minibuffer filename prompts, `C-M-f' and `C-M-b' now move to the
next and previous path separator, respectively.
-
++++
*** minibuffer-electric-default-mode can rewrite (default ...) to [...].
Just set minibuffer-eldef-shorten-default to t before enabling the mode.
** ImageMagick support, if available, is automatically enabled.
It is no longer necessary to call `imagemagick-register-types'
explicitly to install ImageMagick image types; that function is called
-automatically at startup, or when customizing a relevant imagemagick-
-option.
+automatically at startup, or when customizing an imagemagick- option.
+++
*** Setting `imagemagick-types-inhibit' to t now disables the use of
ImageMagick to view images. You must call imagemagick-register-types
** `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
** 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
that had to use `foo*' to avoid conflicts with pre-existing Elisp entities,
which have not been renamed to `cl-foo*' but just `cl-foo'.
-The old `cl' is now deprecated and is just a bunch of aliases that
-provide the old non-prefixed names.
+The old `cl' is now deprecated and is mainly just a bunch of aliases that
+provide the old non-prefixed names. Some exceptions are listed below.
++++
*** `cl-flet' is not like `flet' (which is deprecated).
Instead it obeys the behavior of Common-Lisp's `flet'.
++++
*** `cl-labels' is slightly different from `labels'.
The difference is that it relies on the `lexical-binding' machinery (as opposed
to the `lexical-let' machinery used previously) to capture definitions in
closures, so such closures will only work if `lexical-binding' is in use.
++++
*** `cl-letf' is not exactly like `letf'.
+The only difference is in details that relate to some deprecated usage
+of `symbol-function' in place forms.
+++
*** `progv' was rewritten to use the `let' machinery.
A side effect is that vars without corresponding value are bound to nil
rather than making them unbound.
-*** The following methods of extending `setf' are obsolete.
-Use gv.el instead (FIXME; details).
-`define-setf-expander', `defsetf', `define-modify-macro'
++++
+*** The following methods of extending `setf' are obsolete
+(use features from gv.el instead):
+`define-modify-macro' (use `gv-letplace')
+`defsetf' (use `gv-define-simple-setter' or `gv-define-setter')
+`define-setf-expander' (use `gv-define-setter' or `gv-define-expander')
+`get-setf-method' no longer exists (see "Incompatible Lisp Changes")
** Compilation mode
+++
** 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
+`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').
+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.
++++
+*** The new command `diff-delete-trailing-whitespace' removes trailing
+whitespace introduced by a diff.
** Dired
+++
the FFAP prompt. The default is now '("ftp").
** Generic-x
-`javascript-generic-mode' is now an obsolete alias for `js-mode'.
+
+---
+*** `javascript-generic-mode' is now an obsolete alias for `js-mode'.
** Ibuffer
python-switch-to-python | python-shell-switch-to-shell
python-describe-symbol | python-eldoc-at-point
+---
** reStructuredText mode
*** Rebind nearly all keys making room for more keys and complying
*** Support `imenu' and `which-func'.
+---
** SH Script mode
*** Pairing of parens/quotes uses electric-pair-mode instead of skeleton-pair.
for a new asynchronous shell command when the default output buffer
`*Async Shell Command*' is already taken by another running command.
+---
** SQL Mode
*** DB2 added `sql-db2-escape-newlines'
that the sql statement will be terminated by a semicolon.
** 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.
** Term
-
++++
The variables `term-default-fg-color' and `term-default-bg-color' are
now deprecated in favor of the `term-face' face, that you can
customize. Also, it is now possible to customize how are displayed the
*** Remote processes are now supported also on remote Windows host.
** URL
-
++++
*** Structs made by `url-generic-parse-url' have nil `attributes' slot.
Previously, this slot stored semicolon-separated attribute-value pairs
appended to some imap URLs, but this is not compatible with RFC 3986.
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.
but keywords or keyword-string pairs. The old argument list will
still be supported for Emacs 24.x.
++++
+** The CL package's `get-setf-method' function no longer exists.
+Generalized variables are now part of core Emacs Lisp, and implemented
+differently to the way cl.el used to do it. It is not possible to
+define a compatible replacement for `get-setf-method'. See the file
+gv.el for internal details of the new implementation.
+
** Spelling changes.
Some Lisp symbols have been renamed to avoid problems with spelling
that is incorrect or inconsistent with how Emacs normally spells a word.
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; `push' and `pop' accept generalized variables.
+You can define your own generalized variables using `gv-define-simple-setter',
+`gv-define-setter', etc.
+++
** `defun' also accepts a (declare DECLS) form, like `defmacro'.
*** 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.
** Window changes
-
++++
*** The functions get-lru-window, get-mru-window and get-largest-window
now accept a third argument to avoid choosing the selected window.
-
++++
*** Additional values recognized for option `window-combination-limit'.
*** New macro `with-temp-buffer-window'.
*** New function `fit-frame-to-buffer' and new options
`fit-frame-to-buffer' and `fit-frame-to-buffer-bottom-margin'.
-
++++
+*** New option switch-to-buffer-preserve-window-point to restore a
+window's point when switching buffers.
++++
*** New display action functions `display-buffer-below-selected',
-`display-buffer-at-bottom' and `display-buffer-in-previous-window'.
+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
*** New display action alist entry `pop-up-frame-parameters', if
non-nil, specifies frame parameters to give any newly-created frame.
-
++++
*** New display action alist entry `previous-window', if non-nil,
specifies window to reuse in `display-buffer-in-previous-window'.
-
++++
*** New display action alist entries `window-height' and `window-width'
to specify size of new window created by `display-buffer'.
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'.
*** `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'.
+++