GNU Emacs NEWS -- history of user-visible changes.
-Copyright (C) 2014 Free Software Foundation, Inc.
+Copyright (C) 2014, 2015 Free Software Foundation, Inc.
See the end of the file for license conditions.
Please send Emacs bug reports to bug-gnu-emacs@gnu.org.
** The configure option '--enable-silent-rules' and the command
'make V=0' now do a better job of suppressing chatter.
+---
+** The `grep-changelog' script (and its manual page) are no longer included.
+It has no particular connection to Emacs and has not changed in years,
+so if you want to use it, you can always take a copy from an older Emacs.
+
\f
* Startup Changes in Emacs 25.1
\f
* Changes in Emacs 25.1
+** New function `custom-prompt-customize-unsaved-options' checks for
+unsaved customizations and prompts user to customize (if found).
+
++++
+** Network security (TLS/SSL certificate validity and the like) is
+added via the new Network Security Manager (NSM) and controlled via
+the `network-security-level' variable.
+
+** C-h l now also lists the commands that were run.
+
+---
+** The new M-s M-w key binding uses eww to search the web for the
+text in the region.
+
+** M-x suggests shorthands and ignores obsolete commands for completion.
** x-select-enable-clipboard is renamed select-enable-clipboard.
x-select-enable-primary and renamed select-enable-primary.
Additionally they both now apply to all systems (OSX, GNUstep, Windows, you
+++
** terpri gets an optional arg ENSURE to conditionally output a newline.
++++
+** New macro `define-advice'.
+
** `insert-register' now leaves point after the inserted text
when called interactively. A prefix argument toggles this behavior.
codeset is "UTF-8" (as in "en_US.UTF-8"). This is needed because
MS-Windows doesn't support UTF-8 as codeset in its locales.
++++
+** The new function `bidi-find-overridden-directionality' allows to
+find characters whose directionality was, perhaps maliciously,
+overridden by directional override control characters. Lisp programs
+can use this to detect potential phishing of URLs and other links that
+exploits bidirectional display reordering.
+
++++
+** The new function `buffer-substring-with-bidi-context' allows to
+copy a portion of a buffer into a different location while preserving
+the visual appearance both of the copied text and the text at
+destination, even when the copied text includes mixed bidirectional
+text and directional control characters.
+
** New variable `ns-use-fullscreen-animation' controls animation for
non-native NS fullscreen. The default is nil. Set to t to enable
animation when entering and leaving fullscreen. For native OSX fullscreen
this has no effect.
+** 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 function `file-tree-walk' allows to apply a certain action
+to all the files and subdirectories of a directory, similarly to the C
+library function `ftw'.
+
+** A new function `directory-files-recursively' returns all matching
+files (recursively) under a directory.
+
+** The new `directory-name-p' can be used to check whether a file
+name (as returned from, for instance, `file-name-all-completions' is
+a directory file name. It returns non-nil if the last character in
+the name is a forward slash.
+
++++
+** New variable `fast-but-imprecise-scrolling' inhibits
+fontification during full screen scrolling operations, giving less
+hesitant operation during auto-repeat of C-v, M-v at the cost of
+possible inaccuracies in the end position.
+
+** The function `font-info' now returns more details about a font.
+In particular, it now returns the average width of the font's
+characters, which can be used for geometry-related calculations.
+
\f
* Editing Changes in Emacs 25.1
and the Bidirectional Parentheses Algorithm (BPA) specified by these
Unicode standards.
+** You can access `mouse-buffer-menu' (C-down-mouse-1) using C-f10.
+
\f
* Changes in Specialized Modes and Packages in Emacs 25.1
+** EIEIO
+*** The <class>-list-p and <class>-child-p functions are declared obsolete.
+*** The <class> variables are declared obsolete.
+*** The <initarg> variables are declared obsolete.
+** ido
+*** New command `ido-bury-buffer-at-head' bound to C-S-b
+Bury the buffer at the head of `ido-matches', analogous to how C-k
+kills the buffer at head.
+
+** Minibuffer
+
+*** You can use <up> and <down> keys to move point in the multi-line
+minibuffer just as in an ordinary buffer. Only when point moves over
+the bottom/top of the minibuffer it goes to the next/previous history
+element. The new commands bound to <up> and <down> in the minibuffer:
+`next-line-or-history-element' and `previous-line-or-history-element'.
+
+** Search and Replace
+
+*** Query-replace history is enhanced.
+When query-replace reads the FROM string from the minibuffer, typing
+`M-p' will now show previous replacements as "FROM SEP TO", where FROM
+and TO are the original text and its replacement, and SEP is an arrow
+string defined by the new variable `query-replace-from-to-separator'.
+To select a prior replacement, type `M-p' until the desired
+replacement appears in the minibuffer, and then exit the minibuffer by
+typing RET.
+
** Calc
+++
*** If `quick-calc' is called with a prefix argument, insert the
*** New minor mode global-eldoc-mode
*** eldoc-documentation-function now defaults to nil
+** eww
+
++++
+*** A new command `R' (`eww-readable') will try do identify the main
+textual parts of a web page and display only that, leaving menus and
+the like off the page.
+
+---
+*** You can now use several eww buffers in parallel by renaming eww
+buffers you want to keep separate.
+
++++
+*** Partial state of the eww buffers (the URIs and the titles of the
+pages visited) is now preserved in the desktop file.
+
++++
+*** `eww-after-render-hook' is now called after eww has rendered
+the data in the buffer.
+
+---
+*** The `eww-reload' command now takes a prefix to not reload via
+the net, but just use the local copy of the HTML.
+
++++
+*** The DOM shr and eww uses has been changed to the general Emacs
+xml.el/libxml2 DOM, and a new package dom.el has been added to
+interact with this DOM. See the Emacs Lisp manual for interface
+details.
+
++++
+*** `mailcap-mime-data' is now consulted when displaying PDF files.
+
++++
+*** The new `S' command will list all eww buffers, and allow managing
+them.
+
+---
+*** https pages with valid certificates have headers marked in green, while
+invalid certificates are marked in red.
+
** Message mode
*** text/html messages that contain inline image parts will be
** cl-lib
*** New functions cl-fresh-line, cl-digit-char-p and cl-parse-integer.
+** seq
+*** New seq library:
+The seq library adds sequence manipulation functions and macros that
+complement basic functions provided by subr.el. All functions are
+prefixed with `seq-' and work on lists, strings and vectors.
+
** Calendar and diary
+++
** In sh-mode, you can now use `sh-shell' as a file-local variable to
specify the type of shell in use (bash, csh, etc).
-** The URL package accepts now the protocols "ssh", "scp" and "rsync".
+** TLS
+---
+*** Fatal TLS errors are now silent by default.
+
+** URL
+
+*** The URL package accepts now the protocols "ssh", "scp" and "rsync".
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).
+
** Tramp
*** New connection method "nc", which allows to access dumb busyboxes.
** VC and related modes
+*** The new command vc-region-history shows the log+diff of the active region.
+
*** 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.
+
** Calculator: decimal display mode uses "," groups, so it's more
fitting for use in money calculations; factorial works with
non-integer inputs.
By default, 32 spaces and four TABs are considered to be too much but
`whitespace-big-indent-regexp' can be configured to change that.
+** tildify: `tildify-space-string', `tildify-pattern', and
+`tildify-foreach-region-function' variables added making
+`tildify-string-alist', `tildify-pattern-alist', and
+`tildify-ignored-environments-alist' variables (as well as a few
+helper functions) obsolete.
+
** Obsolete packages
---
* New Modes and Packages in Emacs 25.1
** scss-mode (a minor variant of css-mode)
+
+** let-alist is a new macro (and a package) that allows one to easily
+let-bind the values stored in an alist.
+
\f
* Incompatible Lisp Changes in Emacs 25.1
+** completion-table-dynamic stays in the minibuffer.
+If you want the old behavior of calling the function in the buffer
+from which the minibuffer was entered, call it with the new argument
+`switch-buffer'.
+
** window-configurations no longer record the buffers's marks.
** inhibit-modification-hooks now also inhibits lock-file checks, as well as
\f
* Lisp Changes in Emacs 25.1
+** define-inline provides a new way to define inlinable functions.
+
+** New function macroexpand-1 to perform a single step of macroexpansion.
+
** Some "x-*" were obsoleted:
*** x-select-text is renamed gui-select-text.
*** x-selection-value is renamed gui-selection-value.
*** New macros `thread-first' and `thread-last' allow threading a form
as the first or last argument of subsequent forms.
++++
+** Time-related changes:
+
+*** Time-related functions now consistently accept numbers
+(representing seconds since the epoch) and nil (representing the
+current time) as well as the usual list-of-integer representation.
+Affected functions include `current-time-string', `current-time-zone',
+`decode-time', `float-time', `format-time-string', `seconds-to-time',
+`time-add', `time-less-p', `time-subtract', `time-to-day-in-year',
+`time-to-days', and `time-to-seconds'.
+
+*** The `encode-time-value' and `with-decoded-time-value' macros have
+been obsoleted.
+
+*** `calendar-next-time-zone-transition', `time-add', and
+`time-subtract' no longer return time values in the obsolete and
+undocumented integer-pair format. Instead, they return a list of two
+integers.
+
\f
* Changes in Frames and Windows Code in Emacs 25.1
specific frame does not resize that frame in order to preserve the
number of columns or lines it displays.
++++
+** New function `window-preserve-size' allows to preserve the size of
+windows without "fixing" it. It's supported by `fit-window-to-buffer',
+`temp-buffer-resize-mode' and `display-buffer'.
+
** Tearoff menus and detachable toolbars for Gtk+ has been removed.
Those features have been deprecated in Gtk+ for a long time.