may be useful.
---
-** The configuration option '--enable-use-lisp-union-type' has been
+** 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.
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.
/usr/pkg/lib to the linker search path. You must add them yourself if
you want them.
----
-** On Mac OS X, configure no longer automatically adds the Fink /sw
-directories to the search path. You must add them yourself if you want them.
-
---
** The standalone scripts rcs-checkin and vcdiff have been removed
(from the bin and libexec directories, respectively). The former is
no longer relevant, the latter is replaced by lisp (in vc-sccs.el).
----
-** The 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
\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'.
++++
+*** You can now click mouse-3 in the coding system indicator to invoke
+`set-buffer-file-coding-system'.
** Help changes
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.
+
+*** 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
---
*** 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.
---
*** New input method `vietnamese-vni'.
-** NextStep/OSX port changes.
----
-*** OSX 10.4 or newer is required to build Emacs.
+** Nextstep (GNUstep / Mac OS X) port changes
---
*** Fullscreen and frame parameter fullscreen is supported.
---
-*** A file dialog is used when open/saved is done from the menu/toolbar.
+*** A file dialog is used for open/save operations initiated from the
+menu/toolbar.
+
\f
* Editing Changes in Emacs 24.3
*** 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.
** 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 more ways that are more general than
just removing them, as done by `yank-excluded-properties'.
** 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.
-** Compilation mode
+*** 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')
+** 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.
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.
+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.
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.
++++
+*** New variable `mouse-avoidance-banish-position' specifies where the
+`banish' mouse avoidance setting moves the mouse.
+++
** notifications.el supports now version 1.2 of the Notifications API.
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.
The `url-retrieve' function now uses this to encode its URL argument,
in case that is not properly encoded.
+---
** VHDL mode
*** The free software compiler GHDL is supported (and now the default).
*** Accepts \r and \f as whitespace.
-** which-function-mode now applies to all applicable major modes by default.
+** Which Function mode
++++
+*** `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 it is
** FIXME something happened to ses.el, 2012-04-17.
+** Hooks renamed to avoid obsolete "-hooks" suffix:
+*** semantic-lex-reset-hooks -> semantic-lex-reset-functions
+*** semantic-change-hooks -> semantic-change-functions
+*** semantic-edits-new-change-hooks -> semantic-edits-new-change-functions
+*** semantic-edits-delete-change-hooks -> semantic-edits-delete-change-functions
+*** semantic-edits-reparse-change-hooks -> semantic-edits-reparse-change-functions
+*** semanticdb-save-database-hooks -> semanticdb-save-database-functions
+*** c-prepare-bug-report-hooks -> c-prepare-bug-report-hook
+*** rcirc-sentinel-hooks -> rcirc-sentinel-functions
+*** rcirc-receive-message-hooks -> rcirc-receive-message-functions
+*** rcirc-activity-hooks -> rcirc-activity-functions
+*** rcirc-print-hooks -> rcirc-print-functions
+*** dbus-event-error-hooks -> dbus-event-error-functions
+*** eieio-pre-method-execution-hooks -> eieio-pre-method-execution-functions
+*** checkdoc-style-hooks -> checkdoc-style-functions
+*** checkdoc-comment-style-hooks -> checkdoc-comment-style-functions
+*** archive-extract-hooks -> archive-extract-hook
+*** filesets-cache-fill-content-hooks -> filesets-cache-fill-content-hook
+*** hfy-post-html-hooks -> hfy-post-html-hook
+*** nndiary-request-create-group-hooks -> nndiary-request-create-group-functions
+*** nndiary-request-update-info-hooks -> nndiary-request-update-info-functions
+*** nndiary-request-accept-article-hooks -> nndiary-request-accept-article-functions
+*** gnus-subscribe-newsgroup-hooks -> gnus-subscribe-newsgroup-functions
** Obsolete packages:
+++
\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.
+++
but keywords or keyword-string pairs. The old argument list will
still be supported for Emacs 24.x.
++++
+** The CL package's `get-setf-method' function no longer exists.
+Generalized variables are now part of core Emacs Lisp, and implemented
+differently to the way cl.el used to do it. It is not possible to
+define a compatible replacement for `get-setf-method'. See the file
+gv.el for internal details of the new implementation.
+
** Spelling changes.
Some Lisp symbols have been renamed to avoid problems with spelling
that is incorrect or inconsistent with how Emacs normally spells a word.
+---
*** Renamed functions
**** hangul-input-method-inactivate -> hangul-input-method-deactivate
viper-deactivate-input-method-action
**** ucs-input-inactivate -> ucs-input-deactivate
+---
*** Renamed hooks
The old hooks are still supported for backward compatibility, but they
are deprecated and will be removed eventually.
-
**** input-method-inactivate-hook -> input-method-deactivate-hook
**** robin-inactivate-hook -> robin-deactivate-hook
**** quail-inactivate-hook -> quail-deactivate-hook
+---
*** Renamed Lisp variables
-
**** follow-deactive-menu -> follow-inactive-menu
**** inactivate-current-input-method-function ->
deactivate-current-input-method-function
++++
** Some obsolete functions, variables, and faces were removed:
-
*** `facemenu-unlisted-faces'
*** `rmail-decode-mime-charset'
*** `last-input-char', `last-command-char', `unread-command-char'.
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'.
The interpretation of the DECLS is determined by `defun-declarations-alist'.
+** Minibuffer
++++
+*** `read-regexp' has a new argument HISTORY; the first argument PROMPT
+of `read-regexp' accepts a string ending with a colon and space, and its
+second argument DEFAULTS can be a list of strings accessible via M-n
+in the minibuffer ahead of other hard-coded useful regexp-related values.
+More commands use `read-regexp' now to read their regexp arguments.
+
** Completion
*** New function `completion-table-with-quoting' to handle completion
*** 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.
-** 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.
-
++++
*** 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'.
in Emacs 24.1:
+++
**** `display-buffer-reuse-frames'
++++
**** `special-display-regexps'
++++
**** `special-display-frame-alist'
++++
**** `special-display-buffer-names'
++++
**** `special-display-function'
++++
**** `display-buffer-function'
+---
**** `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
The PSECS slot is new, and uses picosecond resolution. It can be
accessed via the new timer--psecs accessor.
+*** Last-modified time stamps in undo lists now are of the form
+(t HI-SECS LO-SECS USECS PSECS) instead of (t HI-SECS . LO-SECS).
+
+++
** Floating point functions now always return special values like NaN,
instead of signaling errors, if given invalid args, e.g. (log -1.0).
describing the cycle.
** Miscellaneous new functions:
-
++++
*** `autoloadp'
-*** `autoload-do-load'.
++++
+*** `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'.
++++
** 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').
+---
+*** `macro-declaration-function' (use `macro-declarations-alist')
+---
*** `window-system-version'
+---
*** `dired-pop-to-buffer' (use `dired-mark-pop-up')
+---
*** `query-replace-interactive'
+---
+*** `font-list-limit' (has had no effect since Emacs < 23)
\f
* Changes in Emacs 24.3 on non-free operating systems
-** New configure.bat options on MS-Windows:
+---
+** Cygwin builds can use the native MS Windows user interface.
+Pass --with-w32 to configure. The default remains the X11 interface.
-*** --without-libxml2 omits support for libxml2, even if its presence
-is detected.
+** Two new functions are available in Cygwin builds:
+`cygwin-convert-path-from-windows' and `cygwin-convert-path-to-windows'.
+These functions allow Lisp code to access the Cygwin file-name mapping
+machinery to convert between Cygwin and Windows-native file names.
** When invoked with the -nw switch to run on the Windows text-mode terminal,
Emacs now supports mouse highlight, help-echo (in the echo area), and
-mouse-autoselect-window.
+`mouse-autoselect-window'.
-** Two new functions are available in Cygwin builds of Emacs:
-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, you can pass --without-libxml2 to configure.bat to omit
+support for libxml2, even if its presence is detected.
+
+---
+** On Mac OS X, the Nextstep port requires OS X 10.4 or later.
+
+---
+** On Mac OS X, configure no longer automatically adds the Fink /sw
+directories to the search path. You must add them yourself if you want them.
-** On MS-Windows Vista and later Emacs now supports symbolic links.
\f
* Changes in Emacs 24.2