]> code.delx.au - gnu-emacs/blobdiff - etc/NEWS
* lisp/emacs-lisp/eieio*.el: Move the function defs to defclass.
[gnu-emacs] / etc / NEWS
index 5593a7b7c7db505649db85e81d4e63b116fe0573..0f20be86b9b6bbb6e0ad1effac028bdd7da4a0c9 100644 (file)
--- a/etc/NEWS
+++ b/etc/NEWS
@@ -1,6 +1,6 @@
 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.
@@ -43,12 +43,31 @@ Use './configure PKG_CONFIG=/full/name/of/pkg-config' if you need to.
 ** 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.
@@ -60,6 +79,9 @@ have the equivalent of a primary selection.
 +++
 ** 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.
 
@@ -97,11 +119,50 @@ emulates the behavior of modern Posix platforms when the locale's
 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
 
@@ -122,17 +183,38 @@ for Unicode 8.0.  This includes full support for directional isolates
 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
 
-*** `M-p' in query-replace minibuffer that reads the FROM string
-now moves through pairs of previous replacements where FROM and TO
-parts are separated by an arrow defined by the new variable
-`query-replace-from-to-separator'.  After exiting the minibuffer,
-replacement is performed with the FROM and TO values extracted
-from the strings before and after the separator.
+*** 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
 +++
@@ -145,10 +227,44 @@ result of the calculation into the current buffer.
 
 ** 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
@@ -177,6 +293,12 @@ appending FUN to `minibuffer-setup-hook'.
 ** 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
 
 +++
@@ -231,14 +353,28 @@ plain text parts, if display of HTML email is possible; customize the
 ** 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 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.
@@ -262,6 +398,10 @@ and comments.
 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.
@@ -285,6 +425,12 @@ use PDF instead of DVI.
 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
 
 ---
@@ -294,9 +440,18 @@ By default, 32 spaces and four TABs are considered to be too much but
 * 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
@@ -318,6 +473,8 @@ Emacs-21.
 \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:
@@ -361,6 +518,25 @@ optional repeat-count argument.
 *** 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
 
@@ -406,6 +582,11 @@ fullwidth frames, the behavior may depend on the toolkit used.
    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.