GNU Emacs NEWS -- history of user-visible changes.
-Copyright (C) 2014-2015 Free Software Foundation, Inc.
+Copyright (C) 2014-2016 Free Software Foundation, Inc.
See the end of the file for license conditions.
Please send Emacs bug reports to bug-gnu-emacs@gnu.org.
added via the new Network Security Manager (NSM) and controlled via
the `network-security-level' variable.
+** If Emacs isn't built with TLS support, an external TLS-capable
+program is used instead. This program used to be run in --insecure
+mode by default, but has now changed to be secure instead, and will
+fail if you try to connect to non-verifiable hosts. This is
+controlled by the `tls-program' variable.
+
+++
** C-h l now also lists the commands that were run.
variable `read-hide-char'.
---
-** New input method: `tamil-dvorak'.
+** New input methods: `tamil-dvorak' and `programmer-dvorak'.
\f
* Editing Changes in Emacs 25.1
It raises an error if a bookmark of that name already exists,
unlike `bookmark-set' which silently updates an existing bookmark.
+** IMAP
+
+---
+*** `imap-ssl-program' has been removed, and imap.el uses the internal
+GnuTLS encryption functions if possible.
+
** JSON
---
`show-paren-when-point-in-periphery'.
** Lisp mode
+
+---
*** Strings after `:documentation' are highlighted as docstrings.
+This enhances Lisp mode fontification to handle documentation of the
+form `(:documentation "the doc string")' used in Common Lisp code for
+CLOS class and slot documentation.
** Rectangle editing
When `url-handler-mode' is enabled, file operations for these
protocols as well as for "telnet" and "ftp" are passed to Tramp.
++++
*** The URL package allows customizing the `url-user-agent' string.
The new `url-user-agent' variable can be customized to be a string or
a function.
+---
*** The new interface variable `url-request-noninteractive' can be used
to specify that we're running in a noninteractive context, and that
we should not be queried about things like TLS certificate validity.
+---
*** If URL is used with a https connection, the first callback argument
plist will contain a :peer element that has the output of
`gnutls-peer-status' (if Emacs is built with GnuTLS support).
** SQL mode
+---
*** New user variable `sql-default-directory' enables remote
connections using Tramp.
-*** New command `sql-send-line-and-next' sends the current line to the
-interactive buffer and advances to the next line, skipping whitespace
-and comments.
+---
+*** New command `sql-send-line-and-next'.
+This command, bound to `C-c C-n' by default, sends the current line to
+the SQL process and advances to the next line, skipping whitespace and
+comments.
-*** Add support for Vertica SQL.
+---
+*** Added support for Vertica SQL.
** VC and related modes
++++
*** Basic push support, via `vc-push', bound to `C-x v P'.
Implemented for Bzr, Git, Hg. As part of this change, the pre-existing
(undocumented) command vc-hg-push now behaves slightly differently.
++++
*** The new command vc-region-history shows the log+diff of the active region.
+++
outside Emacs (e.g., from the shell prompt), or if you switch the VC
back-end for the buffer's file, or remove it from version control.
++++
*** New option `vc-annotate-background-mode' controls whether
the color range from `vc-annotate-color-map' is applied to the
background or to the foreground.
-*** `compare-windows' now compares text with the most recently used window
-instead of the next window. The new option `compare-windows-get-window-function'
-allows to customize this.
++++
+*** `compare-windows' now compares text with the most recently selected window
+instead of the next window. If you want the previous behavior of
+comparing with the next window, customize the new option
+`compare-windows-get-window-function' to the value
+`compare-windows-get-next-window'.
+---
*** Two new faces `compare-windows-removed' and `compare-windows-added'
-replace the obsolete face `compare-windows'.
+replace the face `compare-windows', which is now an obsolete alias for
+`compare-windows-added'.
---
*** `log-edit-insert-changelog' converts "(tiny change)" to
"Copyright-paperwork-exempt: yes". Set `log-edit-rewrite-tiny-change'
nil to disable this.
-** VHDL mode supports VHDL'08.
+---
+** VHDL mode now supports VHDL'08.
+
+** Calculator
+
+---
+*** Decimal display mode uses "," groups, so it's more
+fitting for use in money calculations
+
+---
+*** Factorial works with non-integer inputs.
-** Calculator: decimal display mode uses "," groups, so it's more
-fitting for use in money calculations; factorial works with
-non-integer inputs.
+** Hide-IfDef mode
-** HideIfDef mode now support full C/C++ expressions, argumented macro expansions,
-interactive macro evaluation and automatic scanning of #defined symbols.
+---
+*** Hide-IfDef mode now support full C/C++ expressions in macros,
+macro argument expansion, interactive macro evaluation and automatic
+scanning of #define'd symbols.
-*** New custom variable `hide-ifdef-header-regexp' to define C/C++ header file
-name patterns. Default case-insensitive .h, .hh, .hpp, .hxx, and .h++.
+---
+*** New command `hif-evaluate-macro', bound to `C-c @ e', displays the
+result of evaluating a macro.
+
+---
+*** New command `hif-clear-all-ifdef-define', bound to `C-c @ C', clears
+all defined symbols in `hide-ifdef-env'.
+
+---
+*** New custom variable `hide-ifdef-header-regexp' to define C/C++ header
+file name patterns. Defaults to files whose extension is one of `.h',
+`.hh', `.hpp', `.hxx', or `.h++', matched case-insensitively.
+
+---
*** New custom variable `hide-ifdef-expand-reinclusion-protection' to prevent
-reinclusion protected header files from being fully hidden.
+reinclusion protected (a.k.a. "idempotent") header files from being hidden.
+(This could happen when an idempotent header file is visited again,
+when its guard symbol is already defined.) Defaults to `t'.
+
+---
*** New custom variable `hide-ifdef-exclude-define-regexp' to define symbol
-name patterns (e.g. all "FOR_DOXYGEN_ONLY_*") to be excluded.
+name patterns (e.g. all "FOR_DOXYGEN_ONLY_*") to be ignored when
+looking for macro definitions. By default, no symbols are ignored.
** TeX mode
++++
*** New custom variable `tex-print-file-extension' to help users who
use PDF instead of DVI.
++++
*** TeX mode now supports Prettify Symbols mode. When enabling
`prettify-symbols-mode' in a tex-mode buffer, \alpha ... \omega, and
many other math macros are displayed using unicode characters.
-** whitespace-mode: new 'big-indent style highlighting too much indentation.
-By default, 32 spaces and four TABs are considered to be too much but
-`whitespace-big-indent-regexp' can be configured to change that.
++++
+** New `big-indent' style in `whitespace-mode' highlights deep indentation.
+By default, 32 consecutive spaces or four consecutive TABs are
+considered to be too deep, but the new variable
+`whitespace-big-indent-regexp' can be customized to change that.
-** tildify: `tildify-space-string', `tildify-pattern', and
-`tildify-foreach-region-function' variables added making
+---
+** New options in `tildify-mode'.
+New options `tildify-space-string', `tildify-pattern', and
+`tildify-foreach-region-function' variables make
`tildify-string-alist', `tildify-pattern-alist', and
`tildify-ignored-environments-alist' variables (as well as a few
helper functions) obsolete.
-** xref
-The new package provides generic framework and new commands to find
-and move to definitions, as well as pop back to the original location.
+** New package Xref replaces Etags's front-end and UI
+
+The new package Xref provides a generic framework and new commands to
+find and move to definitions of functions, macros, data structures
+etc., as well as go back to the location where you were before moving
+to a definition. It supersedes and obsoletes many Etags commands,
+while still using the etags.el code that reads the TAGS tables as one
+of its back-ends.
+
+The command `xref-find-definitions' replaces `find-tag' and provides
+an interface to pick one definition among several.
+`tags-loop-continue' is now unbound. `xref-pop-marker-stack' replaces
+`pop-tag-mark', but has a keybinding (`M-,'), unlike `pop-tag-mark'.
-*** New key bindings
-`xref-find-definitions' replaces `find-tag' and provides an interface
-to pick one destination among several. Hence, `tags-loop-continue' is
-unbound. `xref-pop-marker-stack' replaces `pop-tag-mark', but uses an
-easier binding, which is now unoccupied (`M-,').
`xref-find-definitions-other-window' replaces `find-tag-other-window'.
`xref-find-definitions-other-frame' replaces `find-tag-other-frame'.
`xref-find-apropos' replaces `find-tag-regexp'.
+As a result of this, the following commands are now obsolete:
+`find-tag-other-window', `find-tag-other-frame', `find-tag-regexp',
+`tags-apropos', and `tags-loop-continue'.
+
+The framework's API is still experimental and can change in major,
+backward-incompatible ways.
+
*** New variables
+
`find-tag-marker-ring-length' is now an obsolete alias for
`xref-marker-ring-length'. `find-tag-marker-ring' is now an obsolete
alias for a private variable. `xref-push-marker-stack' and
information about mode local overrides (defined by cedet/mode-local.el
`define-overloadable-function' `define-mode-local-overrides').
-** etags
-As a result of the above, these commands are now obsolete:
-`find-tag-other-window', `find-tag-other-frame', `find-tag-regexp',
-`tags-apropos' and `tags-loop-continue'.
-
** EUDC
EUDC's LDAP backend has been improved.
** A new text property `inhibit-read-only' can be used in read-only
buffers to allow certain parts of the text to be writable.
++++
+** A new variable `comment-end-can-be-escaped' is useful in languages
+ such as C and C++ where line comments with escaped newlines are
+ continued to the next line.
+
+++
** New macro `define-advice'.