so we will look at it and add it to the manual.
\f
+* Installation Changes in Emacs 24.4
+* Startup Changes in Emacs 24.4
+* Changes in Emacs 24.4
+* Editing Changes in Emacs 24.4
+
+\f
+* Changes in Specialized Modes and Packages in Emacs 24.4
+
++++
+** New function `ses-rename-cell' to give SES cells arbitrary names.
+
+\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.
+
+* Incompatible Lisp Changes in Emacs 24.4
+
+** `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.
+
+* Lisp changes in Emacs 24.4
+
+** 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'.
+
+* 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.
+
+\f
* Installation 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.
++++
** 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
+++
*** `cl-flet' is not like `flet' (which is deprecated).
Instead it obeys the behavior of Common-Lisp's `flet'.
+In particular, in cl-flet function definitions are lexically scoped,
+whereas in flet the scoping is dynamic.
+++
*** `cl-labels' is slightly different from `labels'.
** ERC
-*** New package `erc-desktop-notifications.el', which can send a notification
-when you receive a private message or your nickname is mentioned.
++++
+*** New module "notifications", which can send a notification when you
+receive a private message or your nickname is mentioned.
++++
*** ERC will look up server/channel names via auth-source and use any
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'.
** Follow mode no longer works by using advice.
The option `follow-intercept-processes' has been removed.
+---
** The FFAP option `ffap-url-unwrap-remote' can now be a list of strings,
-specifying URL types which should be converted to remote file names at
+specifying URL types that should be converted to remote file names at
the FFAP prompt. The default is now '("ftp").
+---
** New Ibuffer `derived-mode' filter, bound to `/ M'.
The old binding for `/ M' (filter by used-mode) is now bound to `/ m'.
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:
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
*** `sh-use-smie' lets you choose a new indentation and navigation code.
++++
** New option `async-shell-command-buffer' specifies the buffer to use
-for a new asynchronous shell command when the default output buffer
+for a new asynchronous `shell-command' when the default output buffer
`*Async Shell Command*' is already in use.
---
** 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.
-
++++
** Hooks renamed to avoid obsolete "-hooks" suffix:
*** semantic-lex-reset-hooks -> semantic-lex-reset-functions
*** semantic-change-hooks -> semantic-change-functions
*** 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.
** Debugger changes
++++
*** New error type and new function `user-error'.
These do not trigger the debugger.
-*** New option `debugger-bury-or-kill'.
++++
+*** New option `debugger-bury-or-kill', saying what to do with the
+debugger buffer when exiting debug.
++++
*** 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.
+++
*** Additional values recognized for option `window-combination-limit'.
-*** New macro `with-temp-buffer-window'.
++++
+*** New macro `with-temp-buffer-window', similar to
+`with-output-to-temp-buffer'.
+---
*** `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 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 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.
+++
*** `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
[TRIGGERED-P HI-SECS LO-SECS USECS REPEAT-DELAY FUNCTION ARGS IDLE-DELAY PSECS].
The PSECS slot is new, and uses picosecond resolution. It can be
accessed via the new timer--psecs accessor.
-
++++
*** Last-modified time stamps in undo lists now are of the form
(t HI-SECS LO-SECS USECS PSECS) instead of (t HI-SECS . LO-SECS).
on others. The affected functions are acos, asin, tan, exp, expt,
log, log10, sqrt, and mod.
-** Interpreted files are eagerly macro-expanded during load.
++++
+** 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 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.
+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.
** Miscellaneous new functions:
+++
*** `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.
++++
+*** `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.
+++
+++
** 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:
---