This is only useful for Emacs developers to debug certain types of bugs.
This is not a new feature; only the configure flag is new.
+** There is a new configure option --with-wide-int.
+With it, Emacs integers typically have 62 bits, even on 32-bit machines.
+
---
** New translation of the Emacs Tutorial in Hebrew is available.
Type `C-u C-h t' to choose it in case your language setup doesn't
\f
* Changes in Emacs 24.1
-** Completion in a non-minibuffer now tries to detect the end of completion
-and pops down the *Completions* buffer accordingly.
+** The inactive minibuffer has its own major mode `minibuffer-inactive-mode'.
+This is handy for minibuffer-only frames, and is also used for the "mouse-1
+pops up *Messages*" feature, which can now easily be changed.
** emacsclient changes
+++
*** New emacsclient argument -q/--quiet suppresses some status messages.
++++
+*** New emacsclient argument --frame-parameters can be used to set the
+frame parameters of a newly-created graphical frame.
+
*** If emacsclient shuts down as a result of Emacs signalling an
error, its exit status is 1.
-** Completion can cycle, depending on completion-cycle-threshold.
+** Completion
+*** shell-mode uses pcomplete rules, with the standard completion UI.
+
+*** Many packages have been changed to use completion-at-point rather than
+their own completion code.
+
+*** Completion in a non-minibuffer now tries to detect the end of completion
+and pops down the *Completions* buffer accordingly.
+
+*** Completion can cycle, depending on completion-cycle-threshold.
+
+*** New completion style `substring'.
+
+*** Completion style can be set per-category `completion-category-overrides'.
+
+*** Completion of buffers now uses substring completion by default.
-** `completing-read' can be customized using the new variable
+*** `completing-read' can be customized using the new variable
`completing-read-function'.
+*** minibuffer-local-filename-must-match-map is not used any more.
+Instead, the bindings in minibuffer-local-filename-completion-map are combined
+with minibuffer-local-must-match-map.
+
** auto-mode-case-fold is now enabled by default.
+** Mail changes
+
+The default of `send-mail-function' has changed from
+`sendmail-send-it' (on GNU/Linux and other Unix-like systems) or
+`mailclient-send-it' (on Windows) to `sendmail-query-once'. This new
+default will ask the user (once) whether to use the internal smtpmail
+package to send email, or to use the old, external defaults.
+
+** smtpmail changes
+
+*** smtpmail has been largely rewritten to upgrade to STARTTLS if
+possible, and uses the auth-source framework for getting credentials.
+The rewrite should be largely compatible with previous versions of
+smtpmail, but there are two major incompatibilities:
+
+*** `smtpmail-auth-credentials' no longer exists. That variable used
+to be be either ~/.authinfo (in which case you won't see any
+difference), but if it were a direct list of user names and passwords,
+it will be ignored, and you will be prompted for the user name and the
+password instead. They will then be saved to ~/.authinfo.
+
+If you wish to copy over all the credentials from
+`smtpmail-auth-credentials' to your ~/.authinfo file manually, instead
+of letting smtpmail prompt you for these values, that's also possible.
+
+If you had, for instance,
+
+(setq smtpmail-auth-credentials
+ '(("mail.example.org" 25 "jim" "s!cret")))
+
+then the equivalent line in ~/.authinfo would be
+
+machine mail.example.org port 25 login jim password s!cret
+
+*** Similarly, `smtpmail-starttls-credentials' no longer exists. If
+you had that set, then then you need to put
+
+machine smtp.whatever.foo port 25 key "~/.my_smtp_tls.key" cert
+"~/.my_smtp_tls.cert"
+
+in your ~/.authinfo file instead.
+
+** Internationalization changes
+
+++
-** Emacs now supports display and editing of bidirectional text.
+*** Emacs now supports display and editing of bidirectional text.
See the node "Bidirectional Editing" in the Emacs Manual for some
initial documentation.
`display' text properties, do not yet work correctly when
bidirectional text is reordered for display.
++++
+*** Enhanced support for characters that have no glyphs in available fonts.
+If a character has no glyphs in any of the available fonts, Emacs by
+default will display it either as a hexadecimal code in a box or as a
+thin 1-pixel space. In addition to these two methods, Emacs can
+display these characters as empty box, as an acronym, or not display
+them at all. To change how these characters are displayed, customize
+the variable `glyphless-char-display-control'.
+
+On character terminals these methods are used for characters that
+cannot be encoded by the `terminal-coding-system'.
+
+*** There are two new input methods for Persian/Farsi: farsi and farsi-translit.
+
** GTK scroll-bars are now placed on the right by default.
Use `set-scroll-bar-mode' to change this.
with Xft. To change font, use the X resource font, for example:
Emacs.pane.menubar.font: Courier-12
-+++
-** Enhanced support for characters that have no glyphs in available fonts.
-If a character has no glyphs in any of the available fonts, Emacs by
-default will display it either as a hexadecimal code in a box or as a
-thin 1-pixel space. In addition to these two methods, Emacs can
-display these characters as empty box, as an acronym, or not display
-them at all. To change how these characters are displayed, customize
-the variable `glyphless-char-display-control'.
-
-On character terminals these methods are used for characters that
-cannot be encoded by the `terminal-coding-system'.
-
** On graphical displays, the mode-line no longer ends in dashes.
+Also, the first dash (which does not indicate anything) is just
+displayed as a space.
** On Nextstep/OSX, the menu bar can be hidden by customizing
ns-auto-hide-menu-bar.
** The user option `remote-file-name-inhibit-cache' controls whether
the remote file-name cache is used for read access.
++++
+** The use of a "mode: minor" specification in a file local variables section
+to enable a minor-mode is deprecated. Instead, use "eval: (minor-mode 1)".
+
** The standalone programs lib-src/digest-doc and sorted-doc have been
replaced with Lisp commands `doc-file-to-man' and `doc-file-to-info'.
+---
+** The standalone program `fakemail' has been removed.
+If you need it, feedmail.el ought to provide a superset of the functionality.
+
** The variable `focus-follows-mouse' now always defaults to nil.
+** New primitive `secure-hash' that supports many secure hash algorithms
+including md5, sha-1 and sha-2 (sha-224, sha-256, sha-384 and sha-512).
+The elisp implementation sha1.el is removed. Feature sha1 is provided
+by default.
+
+** Menu-bar changes
+
+*** `menu-bar-select-buffer-function' lets you choose another operation
+instead of `switch-to-buffer' when selecting an item in the Buffers menu.
+
\f
* Editing Changes in Emacs 24.1
*** C-y in Isearch is now bound to isearch-yank-kill, instead of
isearch-yank-line.
+---
+*** M-y in Isearch is now bound to isearch-yank-pop, instead of
+isearch-yank-kill.
+
+++
*** M-s C-e in Isearch is now bound to isearch-yank-line.
*** Support for X cut buffers has been removed.
+*** Support for X clipboard managers has been added.
+
+**** To inhibit use of the clipboard manager, set
+`x-select-enable-clipboard-manager' to nil.
+
** New command `rectangle-number-lines', bound to `C-x r N', numbers
the lines in the current rectangle. With an prefix argument, this
prompts for a number to count from and for a format string.
** comint and modes derived from it use the generic completion code.
-** The compile.el mode can be used without font-lock-mode.
+** Compilation mode
+
+*** Compilation mode can be used without font-lock-mode.
`compilation-parse-errors-function' is now obsolete.
+*** `compilation-filter-start' is let-bound to the start of the text
+inserted by the compilation filter function, when calling
+compilation-filter-hook.
+
** The Landmark game is now invoked with `landmark', not `lm'.
** Prolog mode has been completely revamped, with lots of additional
** Modula-2 mode provides auto-indentation.
+** BibTeX mode
+
+*** BibTeX mode now supports biblatex.
+Use the variable bibtex-dialect to select support for different BibTeX dialects.
+bibtex-entry-field-alist is now an obsolete alias for
+bibtex-BibTeX-entry-alist.
+
+*** New command `bibtex-search-entries' bound to C-c C-a.
+
+*** New `bibtex-entry-format' option `sort-fields', disabled by default.
+
+*** New variable `bibtex-search-entry-globally'.
+
** latex-electric-env-pair-mode keeps \begin..\end matched on the fly.
** FIXME: xdg-open for browse-url and reportbug, 2010/08.
-** Archive Mode has basic support to browse 7z archives.
+** Archive Mode has basic support to browse and update 7z archives.
** browse-url has gotten a new variable that is used for mailto: URLs,
`browse-url-mailto-function', which defaults to `browse-url-mail'.
+** `url-queue-retrieve' downloads web pages asynchronously, but allow
+controlling the degree of parallelism.
+
** Directory local variables can apply to file-less buffers, in certain modes
(eg dired, vc-dir, log-edit). For example, adding
"(diff-mode . ((mode . whitespace)))" to your .dir-locals.el file,
** Calendar, Diary, and Appt
++++
+*** Diary entries can contain non-printing `comments'.
+See the variable `diary-comment-start'.
+
++++
+*** Appointments can specify their individual warning times.
+See the variable `appt-warning-time-regexp'.
+
+---
+*** The function specified by `appt-disp-window-function' may be passed
+lists of arguments if multiple appointments are due at similar times.
+If you are using a custom function for this, you should update it.
+
++++
*** New function `diary-hebrew-birthday'.
+---
+*** Elements of `calendar-day-abbrev-array' and `calendar-month-abbrev-array'
+may no longer be nil, but must all be strings.
+
---
*** The obsolete (since Emacs 22.1) method of enabling the appt package
by adding appt-make-list to diary-hook has been removed. Use appt-activate.
*** An API for manipulating SQL product definitions has been added.
+** Image mode
+
+*** RET (`image-toggle-animation') toggles animation, if the displayed
+image can be animated.
+
+*** Option `image-animate-loop', if non-nil, loops the animation.
+If nil, `image-toggle-animation' plays the animation once.
+
** sregex.el is now obsolete, since rx.el is a strict superset.
** s-region.el and pc-select are now declared obsolete,
*** The following access methods are discontinued: "ssh1_old",
"ssh2_old", "scp1_old", "scp2_old", "imap", "imaps" and "fish".
+*** The option `ange-ftp-binary-file-name-regexp' has changed its
+default value to "".
+
** VC and related modes
*** Support for pulling on distributed version control systems.
**** Currently supported for Bzr, Git, and Mercurial.
+*** New option `vc-revert-show-diff' controls whether `vc-revert'
+shows a diff while querying the user. It defaults to t.
+
*** Log entries in some Log View buffers can be toggled to display a
longer description by typing RET (log-view-toggle-entry-display).
In the Log View buffers made by `C-x v L' (vc-print-root-log), you can
*** New command `vc-ediff' allows visual comparison of two revisions
of a file similar to `vc-diff', but using ediff backend.
+** CC Mode (C, C++, etc.)
+
+*** New feature to "guess" the style in an existing buffer.
+
** Miscellaneous
++++
+*** f90.el has some support for Fortran 2008 syntax.
+
---
*** `copyright-fix-years' can optionally convert consecutive years to ranges.
\f
* New Modes and Packages in Emacs 24.1
+** Occur Edit mode applies edits made in *Occur* buffers to the
+original buffers. It is bound to C-x C-q in Occur mode.
+
** New global minor modes electric-pair-mode, electric-indent-mode,
and electric-layout-mode.
** xmodmap-generic-mode for xmodmap files.
+** New emacs-lock.el package.
+(The pre-existing one has been renamed to old-emacs-lock.el and moved
+to obsolete/.) Now, Emacs Lock is a proper minor mode
+`emacs-lock-mode'. Protection against exiting Emacs and killing the
+buffer can be set separately. The mechanism for auto turning off
+protection for buffers with inferior processes has been generalized.
+
\f
* Incompatible Lisp Changes in Emacs 24.1
\f
* Lisp changes in Emacs 24.1
+** Completion
+*** New variable completion-extra-properties used to specify extra properties
+of the current completion:
+- :annotate-function, same as the old completion-annotate-function.
+- :exit-function, function to call after completion took place.
+
+*** Functions on completion-at-point-functions can return any of the properties
+valid for completion-extra-properties.
+
+*** completion-annotate-function is obsolete.
+
+*** New `metadata' method for completion tables. The metadata thus returned
+can specify various details of the data returned by `all-completions':
+- `category' is the kind of objects returned (e.g., `buffer', `file', ...),
+ used to select a style in completion-category-overrides.
+- `annotation-function' to add annotations in *Completions*.
+- `display-sort-function' to specify how to sort entries in *Completions*.
+- `cycle-sort-function' to specify how to sort entries when cycling.
+
** `glyphless-char-display' can now distinguish between graphical and
text terminal display, via a char-table entry that is a cons cell.
** New low-level function run-hook-wrapped.
+** `server-eval-at' is provided to allow evaluating forms on different
+Emacs server instances.
+
+** `call-process' allows a `(:file "file")' spec to redirect STDOUT to
+a file.
+
** byte-compile-disable-print-circle is obsolete.
** deferred-action-list and deferred-action-function are obsolete.
** Removed the stack-trace-on-error variable.
** buffer-substring-filters is obsoleted by filter-buffer-substring-functions.
-** New completion style `substring'.
-
** `facemenu-read-color' is now an alias for `read-color'.
The command `read-color' now requires a match for a color name or RGB
triplet, instead of signalling an error if the user provides a invalid
** Image API
-*** When the image type is one of listed in `image-animated-types'
-and the number of sub-images in the image is more than one, then the
-new function `create-animated-image' creates an animated image where
-sub-images are displayed successively with the duration defined by
-`image-animate-max-time' and the delay between sub-images defined
-by the Graphic Control Extension of the image.
+*** Animated images support (currently animated gifs only).
+
+**** `image-animated-p' returns non-nil if an image can be animated.
+
+**** `image-animate' animates a supplied image spec.
+
+**** `image-animate-timer' returns the timer object for an image that
+is being animated.
*** `image-extension-data' is renamed to `image-metadata'.
FIXME: These should be front-ended by xml.el.
-** FIXME GnuTLS
+** GnuTLS
+
+*** Emacs can be compiled with libgnutls support
+This is the default. You will then be able to use the functionality
+in gnutls.el, namely the `open-gnutls-stream' and `gnutls-negotiate'
+functions. It's easiest to use these functions through
+`open-network-stream' because it can upgrade connections through
+STARTTLS opportunistically or use plain SSL, depending on your needs.
+
+Only versions 2.8.x and higher or GnuTLS have been tested.
+
+*** gnutls-log-level
+Set `gnutls-log-level' higher than 0 to get debug output. 1 is for
+important messages, 2 is for debug data, and higher numbers are as per
+the GnuTLS logging conventions. The output is in *Messages*.
** Isearch
** New variables `delayed-warnings-list' and `delayed-warnings-hook' allow
deferring warnings until the main command loop is executed.
++++
+** `set-auto-mode' now respects mode: local variables at the end of files,
+as well as those in the -*- line.
+
+---
+** rx.el has a new `group-n' construct for explicitly numbered groups.
+
+** keymaps can inherit from multiple parents.
\f
* Changes in Emacs 24.1 on non-free operating systems
** New configure.bat option --distfiles to specify files to be
included in binary distribution.
+** New configure.bat option --without-gnutls to disable automatic
+GnuTLS detection.
+
+** New configure.bat option --lib for general library linkage, works
+with the USER_LIBS build variable.
+
** New make target `dist' to create binary distribution for MS Windows.
\f