NEWS 50.1 KB
 Glenn Morris committed Apr 12, 2007 1 GNU Emacs NEWS -- history of user-visible changes.  Glenn Morris committed Feb 11, 2007 2   Paul Eggert committed Jan 01, 2015 3 Copyright (C) 2014-2015 Free Software Foundation, Inc.  Glenn Morris committed Feb 11, 2007 4 See the end of the file for license conditions.  Dave Love committed Oct 03, 1999 5   Glenn Morris committed Jan 11, 2010 6 Please send Emacs bug reports to bug-gnu-emacs@gnu.org.  Kim F. Storm committed Jun 04, 2006 7 8 If possible, use M-x report-emacs-bug.  Glenn Morris committed Oct 01, 2014 9 This file is about changes in Emacs version 25.  Kim F. Storm committed Jun 04, 2006 10   Glenn Morris committed Oct 01, 2014 11 See files NEWS.24, NEWS.23, NEWS.22, NEWS.21, NEWS.20, NEWS.19, NEWS.18,  Glenn Morris committed Mar 10, 2010 12 and NEWS.1-17 for changes in older Emacs versions.  Kim F. Storm committed Jun 04, 2006 13 14 15  You can narrow news to a specific version by calling view-emacs-news' with a prefix argument or by typing C-u C-h C-n.  Glenn Morris committed Jun 12, 2007 16   Paul Eggert committed Mar 03, 2015 17 18 19 20 21 22 Temporary note: +++ indicates that all necessary documentation updates are complete. (This means all relevant manuals in doc/ AND lisp doc-strings.) --- means no change in the manuals is needed. When you add a new item, use the appropriate mark if you are sure it applies, otherwise leave it unmarked.  Stefan Monnier committed Dec 18, 2014 23   Glenn Morris committed Mar 20, 2014 24   Stefan Monnier committed Sep 29, 2014 25 * Installation Changes in Emacs 25.1  Glenn Morris committed Mar 20, 2014 26   Glenn Morris committed Mar 27, 2014 27 +++  Paul Eggert committed May 17, 2014 28 29 ** Building Emacs now requires C99 or later.  Glenn Morris committed Jun 10, 2014 30 ** Building Emacs now requires GNU make, version 3.81 or later.  Glenn Morris committed Mar 27, 2014 31   Glenn Morris committed Jun 02, 2015 32 ** New configure option --with-cairo.  Glenn Morris committed Jun 02, 2015 33 Maybe add text based on http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00689.html  Glenn Morris committed Jun 02, 2015 34   Paul Eggert committed Apr 16, 2014 35 36 37 38 39 40 41 ** By default, Emacs no longer works on IRIX. We expect that Emacs users are not affected by this, as SGI stopped supporting IRIX in December 2013. If you are affected, please send a bug report. You should be able to work around the problem either by porting the Emacs undumping code to GCC under IRIX, or by configuring --with-wide-int, or by sticking with Emacs 24.4.  Paul Eggert committed Aug 26, 2015 42 43 44 45 46 47 ** The Emacs garbage collector assumes GC_MARK_STACK == GC_MAKE_GCPROS_NOOPS. The GC_MAKE_GCPROS_NOOPS stack-marking variant has been the default since Emacs 24.4, and the other variants were undocumented and were obstacles to maintenance and development. GC_MARK_STACK and its related symbols have been removed from the C internals.  Paul Eggert committed Jan 24, 2015 48 49 50 ** 'configure' now prefers gnustep-config when configuring GNUstep. If gnustep-config is not available, the old heuristics are used.  Paul Eggert committed Aug 14, 2015 51 52 53 54 --- ** 'configure' now prefers inotify to gfile for file notification, unless gfile is explicitly requested via --with-file-notification='gfile'.  Glenn Morris committed May 02, 2014 55 ---  Paul Eggert committed Apr 12, 2015 56 ** The configure option '--with-pkg-config-prog' has been removed.  Paul Eggert committed May 16, 2014 57 Use './configure PKG_CONFIG=/full/name/of/pkg-config' if you need to.  Glenn Morris committed May 02, 2014 58   Paul Eggert committed Apr 12, 2015 59 60 61 62 63 64 65 --- ** The configure option '--with-mmdf' has been removed. It was no longer useful, as it relied on libraries that are no longer supported, and its presence led to confusion during configuration. This affects only the 'movemail' utility; Emacs itself can still process MMDF-format files as before.  Paul Eggert committed Jan 11, 2015 66 67 68 69 ** The configure option '--enable-silent-rules' is now the default, and silent rules are now quieter. To get the old behavior where 'make' chatters a lot, configure with '--disable-silent-rules' or build with 'make V=1'.  Paul Eggert committed Sep 01, 2014 70   Ulrich Müller committed Jan 21, 2015 71 72 73 74 75 --- ** The configure option '--with-gameuser' now allows to specify a group instead of a user if its argument is prefixed by ':' (a colon). This will cause the game score files in ${localstatedir}/games/emacs to be owned by that group, and the helper program for updating them to  Ulrich Müller committed Feb 08, 2015 76 be installed setgid. The option now defaults to the 'games' group.  Ulrich Müller committed Jan 21, 2015 77   Glenn Morris committed Dec 13, 2014 78 79 80 81 82 --- ** 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.  Glenn Morris committed Mar 20, 2014 83   Stefan Monnier committed Sep 29, 2014 84 * Startup Changes in Emacs 25.1  Glenn Morris committed Mar 20, 2014 85   Samer Masterson committed May 28, 2015 86 87 88 89 90 91 92 93 +++ ** When Emacs is given a file as a command line argument and initial-buffer-choice' is non-nil, display both the file and initial-buffer-choice'. When Emacs is given more than one file and initial-buffer-choice' is non-nil, show initial-buffer-choice' and *Buffer List*. This makes Emacs convenient to use from the command line when initial-buffer-choice' is non-nil.  Paul Eggert committed Sep 02, 2015 94 95 96 97 +++ ** The value of ‘initial-scratch-message’ is now treated as a doc string and can contain escape sequences for command keys, quotes, and the like.  Glenn Morris committed Mar 20, 2014 98   Stefan Monnier committed Sep 29, 2014 99 * Changes in Emacs 25.1  Paul Eggert committed Feb 01, 2015 100   Stephen Leake committed Aug 26, 2015 101 102 103 104 ** xref-find-definitions' and describe-function' now display information about mode local overrides (defined by cedet/mode-local.el define-overloadable-function' and define-mode-local-overrides').  Stephen Leake committed Aug 26, 2015 105 106  ** New display-buffer' action function display-buffer-use-some-frame'  Stephen Leake committed Jul 29, 2015 107 108 109 110 This displays the buffer in an existing frame other than the current frame, and allows the caller to specify a frame predicate to exclude frames.  Stefan Monnier committed Jul 06, 2015 111 112 ** New doc command describe-symbol'. Works for functions, vars, faces, etc...  Artur Malabarba committed Jun 23, 2015 113 114 ** isearch' and query-replace' now perform character folding in matches. This is analogous to case-folding, but applies between Unicode  Rüdiger Sonderfeld committed Sep 01, 2015 115 characters and their ASCII counterparts. This means many characters  Paul Eggert committed Jun 30, 2015 116 will match entire groups of characters.  Artur Malabarba committed Jun 23, 2015 117 118 119 120 121 122  For instance, the " will match all variants of unicode double quotes (like “ and ”), and the letter a will match all of its accented cousins, even those composed of multiple characters, as well as many other symbols like ℀, ℁, ⒜, and ⓐ.  Xue Fuqiao committed Aug 30, 2015 123 124 ** New function character-fold-to-regexp' can be used by searching commands to produce a regexp matching anything that  Artur Malabarba committed Jun 23, 2015 125 126 character-folds into STRING.  Oleh Krehel committed Jun 08, 2015 127 ** New command checkdoc-package-keywords' checks if the  Rüdiger Sonderfeld committed Sep 01, 2015 128 current package keywords are recognized. Set the new option  Oleh Krehel committed Jun 08, 2015 129 130 131 checkdoc-package-keywords-flag' to non-nil to make checkdoc-current-buffer' call this function automatically.  Oleh Krehel committed Jun 08, 2015 132 133 134 135 ** New function checkdoc-file' checks for style errors. It's meant for use together with compile': emacs -batch --eval "(checkdoc-file \"subr.el\")"  Artur Malabarba committed Feb 08, 2015 136 137 ** New command comment-line' bound to C-x C-;'.  Cameron Desautels committed Dec 14, 2014 138 139 140 ** New function custom-prompt-customize-unsaved-options' checks for unsaved customizations and prompts user to customize (if found).  Lars Magne Ingebrigtsen committed Dec 05, 2014 141 +++  Lars Magne Ingebrigtsen committed Nov 24, 2014 142 143 144 145 ** 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.  Stefan Monnier committed Nov 09, 2014 146 147 ** C-h l now also lists the commands that were run.  Lars Magne Ingebrigtsen committed Dec 05, 2014 148 ---  149 ** The new M-s M-w key binding uses eww to search the web for the  Kenjiro NAKAYAMA committed Nov 14, 2014 150 151 text in the region.  Stefan Monnier committed Nov 03, 2014 152 ** M-x suggests shorthands and ignores obsolete commands for completion.  Stefan Monnier committed Oct 21, 2014 153 154 155 156 157 158 ** 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 name it), with the proviso that on some systems (e.g. Windows) select-enable-primary is ineffective since the system doesn't have the equivalent of a primary selection.  Stefan Monnier committed Oct 01, 2014 159   Leo Liu committed Oct 09, 2014 160 161 162 +++ ** terpri gets an optional arg ENSURE to conditionally output a newline.  Leo Liu committed Nov 20, 2014 163 164 165 +++ ** New macro define-advice'.  Daniel Colascione committed Sep 14, 2014 166 167 ** insert-register' now leaves point after the inserted text when called interactively. A prefix argument toggles this behavior.  Glenn Morris committed Mar 20, 2014 168   Stefan Monnier committed Jun 19, 2014 169 170 ** New var truncate-string-ellipsis' to choose how to indicate truncation.  Glenn Morris committed Mar 27, 2014 171 172 173 174 175 +++ ** The new variable term-file-aliases' replaces some files from lisp/term. The function tty-run-terminal-initialization' consults this variable when deciding what terminal-specific initialization code to run.  Glenn Morris committed Mar 28, 2014 176 177 178 179 180 --- ** New variable system-configuration-features', listing some of the main features that Emacs was compiled with. This is mainly intended for use in Emacs bug reports.  Michael Albinus committed Jul 11, 2014 181 182 183 184 185 +++ ** A password is now hidden also when typed in batch mode. Another hiding character but the default .' can be used by let-binding the variable read-hide-char'.  Michael Albinus committed Aug 24, 2014 186 187 ** The new functions string-collate-lessp' and string-collate-equalp' preserve the collation order as defined by the system's locale(1)  Eli Zaretskii committed Aug 25, 2014 188 189 190 environment. For the time being this is implemented for modern POSIX systems and for MS-Windows, for other systems they fall back to their counterparts string-lessp' and string-equal'.  Michael Albinus committed Aug 24, 2014 191   Eli Zaretskii committed Dec 18, 2014 192 193 194 195 196 197 198 199 200 201 202 *** The ls-lisp package uses string-collate-lessp' to sort file names. If you want the old, locale-independent sorting, customize the new option ls-lisp-use-string-collate' to a nil value. *** The MS-Windows specific variable w32-collate-ignore-punctuation', if set to a non-nil value, causes the above 2 functions to ignore symbol and punctuation characters when collating strings. This 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.  Eli Zaretskii committed Dec 02, 2014 203 204 205 206 207 208 209 +++ ** 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.  Eli Zaretskii committed Dec 04, 2014 210 211 212 213 214 215 216 +++ ** 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.  Jan Djärv committed Oct 05, 2014 217 218 219 220 221 ** 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.  Eli Zaretskii committed Dec 03, 2014 222 ** A new text property inhibit-read-only' can be used in read-only  Lars Magne Ingebrigtsen committed Nov 16, 2014 223 224 buffers to allow certain parts of the text to be writable.  Lars Magne Ingebrigtsen committed Dec 09, 2014 225 226 227 ** A new function directory-files-recursively' returns all matching files (recursively) under a directory.  Martin Rudalics committed May 20, 2015 228 ** The new function directory-name-p' can be used to check whether a file  Lars Magne Ingebrigtsen committed Dec 13, 2014 229 230 231 232 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.  Alan Mackenzie committed Dec 14, 2014 233 234 235 236 237 238 +++ ** 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.  Eli Zaretskii committed Dec 18, 2014 239 240 241 242 ** 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.  Titus von der Malsburg committed Mar 21, 2015 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 ** A new function default-font-width' returns the average width of a character in the current buffer's default font. If the default face is remapped (see face-remapping-alist'), the value for the remapped face is returned. This function complements the existing function default-font-height'. ** New functions window-font-height' and window-font-width' return the height and average width of characters in a specified face and window. If FACE is remapped (see face-remapping-alist'), the function returns the information for the remapped face. ** A new function window-max-chars-per-line' returns the maximal number of characters that can be displayed on one line. If a face and/or window are provided, these values are used for the calculation. This function is different from window-body-width' in that it accounts for (i) continuation glyphs, (ii) the size of the font, and (iii) the specified window.  Glenn Morris committed Apr 15, 2015 261 262 ** New possible value for system-type': nacl.  Oleh Krehel committed Apr 22, 2015 263 264 265 266 267 +++ ** New variable inhibit-message', when bound to non-nil, inhibits message' and related functions from displaying messages the Echo Area. The output is still logged to the *Messages* buffer.  Artur Malabarba committed May 24, 2015 268 +++  Artur Malabarba committed May 16, 2015 269 270 271 272 ** It is now safe for a mode that derives tabulated-list-mode' to not call tabulated-list-init-header', in which case it will have no header.  Artur Malabarba committed May 24, 2015 273 274 275 276 277 +++ ** tabulated-list-print' takes a second optional argument, update, which specifies an alternative printing method which is faster when few or no entries have changed.  Glenn Morris committed Mar 20, 2014 278   Stefan Monnier committed Sep 29, 2014 279 * Editing Changes in Emacs 25.1  Glenn Morris committed Mar 20, 2014 280   Stefan Monnier committed Apr 13, 2015 281 282 283 ** Successive single-char deletions are collapsed in the undo-log just like successive char insertions.  Stefan Monnier committed Jan 05, 2015 284 285 ** Unicode names entered via C-x 8 RET now use substring completion by default.  Paul Eggert committed May 10, 2015 286 287 288 ** C-x 8 now has shorthands for these chars: ‐ ‑ ‒ – — ― ‘ ’ “ ” † ‡ • ′ ″ € № ← → ↔ − ≈ ≠ ≤ ≥. As before, you can type C-x 8 C-h to list shorthands.  Paul Eggert committed Aug 24, 2015 289 ** New minor mode electric-quote-mode for quoting ‘like this’ and “like this”  Paul Eggert committed Aug 25, 2015 290 as you type. See also the new variable ‘text-quoting-style’.  Paul Eggert committed May 28, 2015 291   Stefan Monnier committed Oct 15, 2014 292 293 ** New minor mode global-eldoc-mode is enabled by default.  Glenn Morris committed Jun 13, 2014 294 ** Emacs now supports "bracketed paste mode" when running on a terminal  Daniel Colascione committed Apr 17, 2014 295 that supports it. This facility allows Emacs to understand pasted  Glenn Morris committed Jun 13, 2014 296 297 298 chunks of text as strings to be inserted, instead of interpreting each character in the pasted text as actual user input. This results in a paste experience similar to that under a window system, and significant  Daniel Colascione committed Apr 17, 2014 299 300 performance improvements when pasting large amounts of text.  Eli Zaretskii committed Oct 13, 2014 301 302 303 ** Emacs now supports the latest version of the UBA. The Emacs implementation of the Unicode Bidirectional Algorithm (UBA) was updated to support all the latest additions and changes introduced  Eli Zaretskii committed Jun 18, 2015 304 305 306 307 in Unicode Standard versions 6.3, 7.0, and the latest Unicode 8.0. This includes full support for directional isolates and the Bidirectional Parentheses Algorithm (BPA) specified by these Unicode standards.  Eli Zaretskii committed Oct 13, 2014 308   Sam Steingold committed Dec 18, 2014 309 310 ** You can access mouse-buffer-menu' (C-down-mouse-1) using C-f10.  Tom Willemse committed Mar 28, 2015 311 312 313 +++ ** New buffer-local electric-pair-local-mode'.  Glenn Morris committed Mar 20, 2014 314   Stefan Monnier committed Sep 29, 2014 315 * Changes in Specialized Modes and Packages in Emacs 25.1  Stefan Monnier committed Apr 27, 2015 316   David Caldwell committed Sep 01, 2015 317 ** You can recompute the VC state of a file buffer with M-x vc-refresh-state'  Glenn Morris committed Jun 26, 2015 318 319 320 ** Prog mode has some support for multi-mode indentation. See prog-indentation-context' and prog-widen'.  Tassilo Horn committed Aug 21, 2015 321 322 323 324 325 326 327 ** Prettify Symbols mode supports custom composition predicates. By overriding the default prettify-symbols-compose-predicate', modes can specify in which contexts a symbol map be composed to some unicode character. prettify-symbols-default-compose-p' is the default which is suitable for most programming languages such as C or Lisp (but not (La)TeX).  Stefan Monnier committed May 03, 2015 328 329 ** New xterm-screen-extra-capabilities' config.  Stefan Monnier committed Apr 27, 2015 330 331 ** The save-place' variable is replaced by a save-place-mode'.  kwhite committed May 21, 2015 332 333 ** ERC  Rüdiger Sonderfeld committed Sep 01, 2015 334 *** Hide message types by network or channel. erc-hide-list' will  kwhite committed May 21, 2015 335 336 337 338 hide all messages of the specified type, where erc-network-hide-list' and erc-channel-hide-list' will only hide the specified message types for the respective specified targets.  Stefan Monnier committed Apr 27, 2015 339 340 341 342 ** Midnight-mode *** midnight-mode' is a proper minor mode. *** clean-buffer-*-regexps can now specify buffers via predicate functions.  Stefan Monnier committed Apr 13, 2015 343 ** In xterms, killing text now also sets the CLIPBOARD/PRIMARY selection  Stefan Monnier committed Apr 20, 2015 344 345 346 in the surrounding GUI (using the OSC-52 escape sequence). This only works if your xterm supports it and enables the allowWindowOps' options (disabled by default at least in Debian, for security reasons).  Stefan Monnier committed Apr 13, 2015 347   Philipp Stephani committed May 25, 2015 348 349 350 351 Similarly, you can yank the CLIPBOARD/PRIMARY selection (using the OSC-52 escape sequence) if your xterm has the feature enabled but for that you additionally need to add getSelection' to xterm-extra-capabilities'.  Olaf Rogalsky committed Mar 24, 2015 352 353 ** xterm-mouse-mode now supports mouse-tracking (if your xterm supports it).  Artur Malabarba committed Feb 03, 2015 354 ** package.el  Artur Malabarba committed Apr 20, 2015 355   Artur Malabarba committed May 07, 2015 356 357 358 359 *** New "external" package status. An external package is any installed package that's not built-in and not from package-user-dir', which usually means it's from an entry in package-directory-list'. They are treated much like built-in  Artur Malabarba committed May 07, 2015 360 packages, in that they cannot be deleted through the package menu and  Artur Malabarba committed May 07, 2015 361 362 363 are not considered for upgrades. The effect, is that a user can manually place a specific version of a  Artur Malabarba committed May 07, 2015 364 package inside package-directory-list' and the package menu will  Artur Malabarba committed May 07, 2015 365 366 always respect that.  Artur Malabarba committed Apr 25, 2015 367 368 *** If a package is available on multiple archives and one has higher priority (as per package-archive-priorities') only that one is  Rüdiger Sonderfeld committed Sep 01, 2015 369 listed. This can be configured with package-menu-hide-low-priority'.  Artur Malabarba committed Apr 25, 2015 370   Artur Malabarba committed Jun 22, 2015 371 *** package-menu-toggle-hiding' now toggles the hiding of packages.  Artur Malabarba committed Apr 25, 2015 372 373 374 375 376 377 This includes the above-mentioned low-priority packages, as well as available packages whose version is lower than the currently installed version (which were previously impossible to display). This allows users to downgrade a package if a lower version is available.  Artur Malabarba committed Apr 20, 2015 378 379 380 381 *** When filtering the package menu, keywords starting with "arc:" or "status:" represent package archive or status, respectively, instead of actual keywords.  Artur Malabarba committed Apr 06, 2015 382 383 384 385 386 387 388 *** Most functions which involve downloading information now take an ASYNC argument. If it is non-nil, package.el performs the download(s) asynchronously. *** New variable package-menu-async' controls whether the package-menu uses asynchronous downloads.  Artur Malabarba committed Feb 03, 2015 389 390 391 392 393 394 395 396 397 *** package-install-from-buffer' and package-install-file' work on directories. This follows the same rules as installing from a .tar file, except the -pkg file is optional. *** Packages which are dependencies of other packages cannot be deleted. The FORCE argument to package-delete' overrides this. *** New custom variable package-selected-packages' tracks packages which were installed by the user (as opposed to installed as  Rüdiger Sonderfeld committed Sep 01, 2015 398 dependencies). This variable can also be manually customized.  Artur Malabarba committed Feb 03, 2015 399 400 401 402 403 404 405  *** New command package-install-user-selected-packages' installs all packages from package-selected-packages' which are currently missing. *** New command package-autoremove' removes all packages which were installed strictly as dependencies but are no longer needed.  Karl Fogel committed Dec 25, 2014 406 407 408 409 ** Shell When you invoke shell' interactively, the *shell* buffer will now display in a new window. However, you can customize this behavior via  Sam Steingold committed Jan 06, 2015 410 the display-buffer-alist' variable. For example, to get  Karl Fogel committed Dec 25, 2014 411 the old behavior -- *shell* buffer displays in current window -- use  Sam Steingold committed Jan 06, 2015 412 413 (add-to-list 'display-buffer-alist '("^\\*shell\\*$" . (display-buffer-same-window))).  Karl Fogel committed Dec 25, 2014 414   Stefan Monnier committed Jan 08, 2015 415 416  ** EIEIO  Stefan Monnier committed Apr 13, 2015 417 +++  Stefan Monnier committed Jan 16, 2015 418 *** The :protection' slot option is not obeyed any more.  Stefan Monnier committed Apr 13, 2015 419 +++  Stefan Monnier committed Jan 18, 2015 420 421 *** The newname' argument to constructors is optional&deprecated. If you need your objects to be named, do it by inheriting from eieio-named'.  Stefan Monnier committed Apr 13, 2015 422 +++  Stefan Monnier committed Jan 08, 2015 423 *** The -list-p and -child-p functions are declared obsolete.  Stefan Monnier committed Apr 13, 2015 424 +++  Stefan Monnier committed Jan 08, 2015 425 *** The variables are declared obsolete.  Stefan Monnier committed Apr 13, 2015 426 +++  Stefan Monnier committed Jan 08, 2015 427 *** The variables are declared obsolete.  Stefan Monnier committed Jan 20, 2015 428 *** defgeneric and defmethod are declared obsolete.  Stefan Monnier committed Apr 13, 2015 429 +++  Stefan Monnier committed Feb 18, 2015 430 *** constructor' is now an obsolete alias for make-instance'.  Stefan Monnier committed Jan 20, 2015 431   Artur Malabarba committed Nov 19, 2014 432 433 434 435 ** 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.  Nicolas Richard committed Jul 02, 2015 436 437 438 *** A prefix argument to ido-restrict-to-matches' will reverse its meaning, and the list is restricted to those elements that do not match the current input.  Stefan Monnier committed Jun 11, 2014 439   Juri Linkov committed Nov 18, 2014 440 441 442 443 444 445 446 447 ** Minibuffer *** You can use and 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 and in the minibuffer: next-line-or-history-element' and previous-line-or-history-element'.  Juri Linkov committed Nov 09, 2014 448 449 ** Search and Replace  Eli Zaretskii committed Nov 09, 2014 450 451 452 453 454 455 456 457 *** 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.  Juri Linkov committed Nov 09, 2014 458   Christopher Schmidt committed Oct 28, 2014 459 460 461 462 463 ** Calc +++ *** If quick-calc' is called with a prefix argument, insert the result of the calculation into the current buffer.  Stefan Monnier committed Sep 26, 2014 464 ** ElDoc  Michal Nazarewicz committed Jan 20, 2015 465 466 467 468 469 470 *** New minor mode global-eldoc-mode' *** eldoc-documentation-function' now defaults to ignore' *** describe-char-eldoc' displays information about character at point, and can be used as a default value of eldoc-documentation-function'. It is useful when, for example, one needs to distinguish various spaces (e.g. ] [, ] [, ] [, etc.) while using mono-spaced font.  Stefan Monnier committed Sep 26, 2014 471   Lars Magne Ingebrigtsen committed Nov 03, 2014 472 473 ** eww  Lars Magne Ingebrigtsen committed Feb 10, 2015 474 475 476 477 478 479 480 481 --- *** HTML can now be rendered using variable-width fonts. +++ *** A new command F' (eww-toggle-fonts') can be used to toggle whether to use variable-pitch fonts or not. The user can also customize the shr-use-fonts' variable.  Lars Magne Ingebrigtsen committed Dec 05, 2014 482 +++  Lars Magne Ingebrigtsen committed Nov 03, 2014 483 484 485 486 *** 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.  Lars Magne Ingebrigtsen committed Dec 05, 2014 487 ---  Lars Magne Ingebrigtsen committed Nov 10, 2014 488 489 490 *** You can now use several eww buffers in parallel by renaming eww buffers you want to keep separate.  Lars Magne Ingebrigtsen committed Dec 05, 2014 491 +++  Ivan Shmakov committed Nov 23, 2014 492 493 494 *** Partial state of the eww buffers (the URIs and the titles of the pages visited) is now preserved in the desktop file.  Lars Magne Ingebrigtsen committed Dec 05, 2014 495 +++  Lars Magne Ingebrigtsen committed Nov 13, 2014 496 497 498 *** eww-after-render-hook' is now called after eww has rendered the data in the buffer.  Lars Magne Ingebrigtsen committed Dec 07, 2014 499 500 501 502 --- *** The eww-reload' command now takes a prefix to not reload via the net, but just use the local copy of the HTML.  Lars Magne Ingebrigtsen committed Dec 05, 2014 503 +++  Lars Magne Ingebrigtsen committed Nov 27, 2014 504 505 506 507 508 *** 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.  Lars Magne Ingebrigtsen committed Dec 05, 2014 509 +++  Lars Magne Ingebrigtsen committed Dec 05, 2014 510 511 *** mailcap-mime-data' is now consulted when displaying PDF files.  Lars Magne Ingebrigtsen committed Dec 08, 2014 512 513 514 515 +++ *** The new S' command will list all eww buffers, and allow managing them.  Lars Magne Ingebrigtsen committed Dec 09, 2014 516 517 518 519 --- *** https pages with valid certificates have headers marked in green, while invalid certificates are marked in red.  Lars Magne Ingebrigtsen committed Oct 15, 2014 520 521 522 523 524 ** Message mode *** text/html messages that contain inline image parts will be transformed into multipart/related messages before sending.  Stefan Monnier committed Sep 22, 2014 525 ** pcase  Stefan Monnier committed Mar 23, 2015 526 *** New UPatterns quote', app', cl-struct', and eieio'.  Stefan Monnier committed Sep 22, 2014 527 *** New UPatterns can be defined with pcase-defmacro'.  Leo Liu committed Oct 09, 2014 528 529 +++ *** New vector QPattern.  Stefan Monnier committed Jun 11, 2014 530   Robert Brown (tiny change) committed Jun 19, 2014 531 532 533 ** Lisp mode *** Strings after :documentation' are highlighted as docstrings.  Stefan Monnier committed Jun 17, 2014 534 535 536 537 ** Rectangle editing *** Rectangle Mark mode can have corners past EOL or in the middle of a TAB. *** C-x C-x in rectangle-mark-mode now cycles through the four corners. *** string-rectangle' provides on-the-fly preview of the result.  Glenn Morris committed Mar 20, 2014 538   Glenn Morris committed Jun 13, 2014 539 540 ** New font-lock functions font-lock-ensure and font-lock-flush, which should be used instead of font-lock-fontify-buffer when called from Elisp.  Glenn Morris committed Mar 22, 2014 541   Leo Liu committed Aug 30, 2014 542 543 544 ** Macro minibuffer-with-setup-hook' takes (:append FUN) to mean appending FUN to minibuffer-setup-hook'.  Leo Liu committed Oct 09, 2014 545 546 547 ** cl-lib *** New functions cl-fresh-line, cl-digit-char-p and cl-parse-integer.  NicolasPetton committed Dec 18, 2014 548 549 550 ** seq *** New seq library: The seq library adds sequence manipulation functions and macros that  Rüdiger Sonderfeld committed Sep 01, 2015 551 complement basic functions provided by subr.el. All functions are  NicolasPetton committed Dec 18, 2014 552 553 prefixed with seq-' and work on lists, strings and vectors.  NicolasPetton committed May 16, 2015 554 555 556 557 558 ** map *** New map library: The map library provides map-manipulation functions that work on alists, hash-table and arrays. All functions are prefixed with "map-".  Leo Liu committed May 04, 2014 559 560 ** Calendar and diary  Glenn Morris committed Jun 15, 2015 561 562 563 +++ *** The default diary-file' is now located in .emacs.d.  Leo Liu committed May 04, 2014 564 565 566 +++ *** New commands to insert diary entries with Chinese dates: diary-chinese-insert-anniversary-entry' diary-chinese-insert-entry'  Glenn Morris committed Jun 13, 2014 567 diary-chinese-insert-monthly-entry', diary-chinese-insert-yearly-entry'.  Leo Liu committed May 04, 2014 568 569  +++  Glenn Morris committed Oct 05, 2014 570 *** The calendar can now list and mark diary entries with Chinese dates.  Glenn Morris committed Jun 13, 2014 571 572 See diary-chinese-list-entries' and diary-chinese-mark-entries'.  Glenn Morris committed Oct 05, 2014 573 574 575 576 --- *** The option calendar-mode-line-format' can now be nil, which means to do nothing special with the mode line in calendars.  Ingo Lohmar committed Aug 03, 2015 577 578 579 580 581 +++ *** New option calendar-weekend-days'. The option customizes which day headers receive the calendar-weekend-header' face.  Paul Eggert committed Aug 13, 2015 582 583 584 --- *** New optional args N and STRING for ‘holiday-greek-orthodox-easter’.  Glenn Morris committed Oct 05, 2014 585 586 587 588 589 590 591 592 593 594 595 596 597 --- *** Many items obsolete since at least version 23.1 have been removed. The majority were function/variable/face aliases, too numerous to list here. The remainder were: **** Functions calendar-one-frame-setup', calendar-only-one-frame-setup', calendar-two-frame-setup', european-calendar', american-calendar'. **** Hooks cal-menu-load-hook', cal-x-load-hook'. **** Macro calendar-for-loop'. **** Variables european-calendar-style', diary-face', hebrew-holidays-{1,4}'.  Christopher Schmidt committed Sep 13, 2014 598   Glenn Morris committed Oct 10, 2014 599 600 **** The nil and list forms of diary-display-function'.  Glenn Morris committed Jun 25, 2014 601 602 ** New ERT function ert-summarize-tests-batch-and-exit'.  Paul Eggert committed Mar 10, 2015 603 ** New js.el option js-indent-first-init'.  Glenn Morris committed Mar 10, 2015 604   Glenn Morris committed Oct 09, 2014 605 606 607 --- ** Info-fontify-maximum-menu-size' can be t for no limit.  Filipp Gunbin committed Dec 31, 2014 608 609 610 611 612 +++ ** info-display-manual' can now be given a prefix argument which (any non-nil value) directs the command to limit the completion alternatives to currently visited manuals.  Glenn Morris committed Oct 04, 2014 613 614 615 --- ** ntlm.el has support for NTLM2.  Glenn Morris committed May 26, 2015 616 617 618 ** Rmail *** The Rmail commands d, C-d and u take optional repeat counts to delete or  Glenn Morris committed Jun 13, 2014 619 620 undelete multiple messages.  Glenn Morris committed May 26, 2015 621 *** Rmail can now render HTML mail messages if your Emacs was built with  Eli Zaretskii committed Sep 13, 2014 622 623 624 625 626 libxml2 or if you have the Lynx browser installed. By default, Rmail will display the HTML version of a mail message that has both HTML and plain text parts, if display of HTML email is possible; customize the rmail-mime-prefer-html' option to nil' if you don't want that.  Glenn Morris committed May 26, 2015 627 628 629 630 +++ *** In the commands that make summaries by subject, recipients, or senders, you can no longer use commas to separate regular expressions.  Glenn Morris committed Jun 13, 2014 631 ** SES now supports local printer functions; see ses-define-local-printer'.  Leo Liu committed May 04, 2014 632   Glenn Morris committed May 24, 2014 633 634 635 ** 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).  Lars Magne Ingebrigtsen committed Dec 08, 2014 636 637 638 639 ** TLS --- *** Fatal TLS errors are now silent by default.  Lars Magne Ingebrigtsen committed Nov 23, 2014 640 641 642 ** URL *** The URL package accepts now the protocols "ssh", "scp" and "rsync".  Michael Albinus committed Apr 01, 2014 643 644 645 When url-handler-mode' is enabled, file operations for these protocols as well as for "telnet" and "ftp" are passed to Tramp.  Lars Magne Ingebrigtsen committed Nov 23, 2014 646 *** The URL package allows customizing the url-user-agent' string.  Ted Zlatanov committed Nov 05, 2014 647 648 649 The new url-user-agent' variable can be customized to be a string or a function.  Lars Magne Ingebrigtsen committed Nov 23, 2014 650 651 652 653 *** 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.  Lars Magne Ingebrigtsen committed Dec 09, 2014 654 655 656 657 *** 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).  Michael Albinus committed Jun 15, 2014 658 659 660 661 ** Tramp *** New connection method "nc", which allows to access dumb busyboxes.  Michael Albinus committed Jul 21, 2015 662 663 664 *** Method-specific parameters can be overwritten now with variable tramp-connection-properties'.  Sam Steingold committed Sep 08, 2014 665 666 667 668 669 670 671 672 673 ** 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.  Sam Steingold committed Sep 12, 2014 674 675 *** Add support for Vertica SQL.  Juri Linkov committed Jul 08, 2014 676 677 ** VC and related modes  Glenn Morris committed May 12, 2015 678 *** Basic push support, via vc-push', bound to C-x v P'.  Glenn Morris committed May 13, 2015 679 680 Implemented for Bzr, Git, Hg. As part of this change, the pre-existing (undocumented) command vc-hg-push now behaves slightly differently.  Glenn Morris committed May 12, 2015 681   Juri Linkov committed Nov 09, 2014 682 683 *** The new command vc-region-history shows the log+diff of the active region.  Juri Linkov committed Jul 08, 2014 684 685 686 687 *** 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.  Juri Linkov committed Dec 28, 2014 688 *** compare-windows' now compares text with the most recently used window  Juri Linkov committed Dec 05, 2014 689 690 691 instead of the next window. The new option compare-windows-get-window-function' allows to customize this.  Juri Linkov committed Dec 28, 2014 692 693 694 *** Two new faces compare-windows-removed' and compare-windows-added' replace the obsolete face compare-windows'.  Glenn Morris committed May 07, 2015 695 696 697 698 699 --- *** log-edit-insert-changelog' converts "(tiny change)" to "Copyright-paperwork-exempt: yes". Set log-edit-rewrite-tiny-change' nil to disable this.  Reto Zimmermann committed Feb 20, 2015 700 701 ** VHDL mode supports VHDL'08.  Eli Barzilay committed Jun 24, 2014 702 703 704 705 ** Calculator: decimal display mode uses "," groups, so it's more fitting for use in money calculations; factorial works with non-integer inputs.  Martin Rudalics committed May 20, 2015 706 707 ** HideIfDef mode now support full C/C++ expressions, argumented macro expansions, interactive macro evaluation and automatic scanning of #defined symbols.  Luke Lee committed Jul 07, 2014 708 709  *** New custom variable hide-ifdef-header-regexp' to define C/C++ header file  Rüdiger Sonderfeld committed Sep 01, 2015 710 name patterns. Default case-insensitive .h, .hh, .hpp, .hxx, and .h++.  Luke Lee committed Jul 07, 2014 711 712 713 *** New custom variable hide-ifdef-expand-reinclusion-protection' to prevent reinclusion protected header files from being fully hidden. *** New custom variable hide-ifdef-exclude-define-regexp' to define symbol  Rüdiger Sonderfeld committed Sep 01, 2015 714 name patterns (e.g. all "FOR_DOXYGEN_ONLY_*") to be excluded.  Luke Lee committed Jul 07, 2014 715   716 717 718 719 720 ** TeX mode *** New custom variable tex-print-file-extension' to help users who use PDF instead of DVI.  Tassilo Horn committed Aug 21, 2015 721 722 723 724 *** 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.  Michal Nazarewicz committed Oct 17, 2014 725 726 727 728 ** 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.  Michal Nazarewicz committed Nov 18, 2014 729 730 731 732 733 ** 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.  Michal Nazarewicz committed Nov 18, 2014 734   Dmitry Gutov committed Dec 25, 2014 735 736 737 738 739 740 ** 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 key bindings xref-find-definitions' replaces find-tag' and provides an interface  Paul Eggert committed Dec 25, 2014 741 to pick one destination among several. Hence, tags-loop-continue' is  Dmitry Gutov committed Dec 25, 2014 742 743 744 745 746 747 748 749 750 751 752 753 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'. *** 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 xref-pop-marker-stack' should be used to mutate it instead.  Dmitry Gutov committed Dec 29, 2014 754 755 756 757 758 ** 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'.  Thomas Fitzsimmons committed Jan 27, 2015 759 760 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 ** EUDC EUDC's LDAP backend has been improved. *** EUDC supports LDAP-over-SSL URLs (ldaps://). *** EUDC passes LDAP passwords through a pipe to the ldapsearch subprocess instead of on the command line. *** EUDC handles LDAP wildcards automatically so the user shouldn't need to configure this manually anymore. *** The LDAP configuration section of EUDC's manual has been rewritten. There have also been customization changes. *** New custom variable eudc-server-hotlist' to allow specifying multiple EUDC servers in init file. *** Custom variable eudc-inline-query-format' defaults to completing on email and firstname instead of surname. *** Custom variable eudc-expansion-overwrites-query' defaults to nil to avoid interfering with the kill ring. *** Custom variable eudc-inline-expansion-format' defaults to "Firstname Surname ".  Thomas Fitzsimmons committed Apr 27, 2015 787 788 789 *** Custom variable eudc-options-file' defaults to "~/.emacs.d/eudc-options".  Thomas Fitzsimmons committed Jan 27, 2015 790 791 792 793 *** New custom variable ldap-ldapsearch-password-prompt-regexp' to allow overriding the regular expression that recognizes the ldapsearch command line's password prompt.  Vibhav Pant committed Mar 17, 2015 794 795 ** Eshell  Vibhav Pant committed Apr 20, 2015 796 +++  Vibhav Pant committed Mar 17, 2015 797 *** The new built-in command clear' can scroll window contents out of sight.  Vibhav Pant committed Apr 19, 2015 798 If provided with an optional non-nil argument, the scrollback contents will be cleared.  Vibhav Pant committed Mar 17, 2015 799   Samer Masterson committed May 17, 2015 800 801 802 803 804 805 *** New buffer syntax '#', which is equivalent to '#'. This shorthand makes interacting with buffers from eshell more convenient. Custom variable eshell-buffer-shorthand', which has been broken for a while, has been removed.  Samer Masterson committed May 17, 2015 806 807 808 809 810 811 812 813 *** By default, eshell "visual" program buffers (created by eshell-visual-commands' and similar custom vars) are no longer killed when their processes die. This fixes issues with short-lived commands and makes visual programs more useful in general. For example, if "git log" is a visual command, it will always show the visual command buffer, even if the "git log" process dies. For the old behavior, make the new option eshell-destroy-buffer-when-process-dies' non-nil.  Vibhav Pant committed Mar 17, 2015 814 815 ** Browse-url  Glenn Morris committed Mar 24, 2015 816 817 818 819 *** Support for the Conkeror web browser. --- *** Support for several ancient browsers is now officially obsolete.  Vibhav Pant committed Mar 17, 2015 820   Ivan Shmakov committed Jan 27, 2015 821 822 823 824 +++ ** tar-mode: new tar-new-entry' command, allowing for new members to be added to the archive.  Michael Albinus committed Feb 21, 2015 825 826 827 ** Autorevert: dired buffers are also auto-reverted via file notifications, if Emacs is compiled with file notification support.  Glenn Morris committed Mar 25, 2014 828 829 830 831 832 ** Obsolete packages --- *** gulp.el  Nicolas Richard committed Jul 07, 2015 833 834 *** landmark.el (moved to elpa.gnu.org)  Glenn Morris committed Mar 20, 2014 835   Stefan Monnier committed Sep 29, 2014 836 * New Modes and Packages in Emacs 25.1  Glenn Morris committed Mar 20, 2014 837   Daiki Ueno committed Jun 18, 2015 838 839 840 841 842 843 ** pinentry.el allows GnuPG passphrase to be prompted through the minibuffer instead of a graphical dialog, depending on whether the gpg command is called from Emacs (i.e., INSIDE_EMACS environment variable is set). This feature requires newer versions of GnuPG (2.1.5 or later) and Pinentry (0.9.5 or later).  Stefan Monnier committed Jan 14, 2015 844 845 ** cl-generic.el provides CLOS-style multiple-dispatch generic functions.  Stefan Monnier committed Oct 20, 2014 846 ** scss-mode (a minor variant of css-mode)  Artur Malabarba committed Dec 15, 2014 847 848 849 850  ** let-alist is a new macro (and a package) that allows one to easily let-bind the values stored in an alist.  Michal Nazarewicz committed Jan 20, 2015 851 852 853 854 855 ** tildify-mode' allows to automatically insert hard spaces as one types the text. Breaking line after a single-character words is forbidden by Czech and Polish typography (and may be discouraged in other languages), so auto-tildify-mode' makes it easier to create a typographically-correct documents.  Glenn Morris committed Mar 20, 2014 856   Stefan Monnier committed Sep 29, 2014 857 * Incompatible Lisp Changes in Emacs 25.1  Glenn Morris committed Mar 20, 2014 858   Artur Malabarba committed Sep 07, 2015 859 860 861 862 863 864 865 +++ ** package-initialize' now sets package-enable-at-startup' to nil if called during startup. Users who call this function in their init file and still expect it to be run after startup should set package-enable-at-startup' to t after the call to package-initialize'.  Stefan Monnier committed Jun 17, 2015 866 867 868 869 ** :global' minor mode use setq-default' rather than setq'. This means that you can't use make-local-variable' and expect them to "magically" become buffer-local.  Stefan Monnier committed May 27, 2015 870 871 ** inhibit-point-motion-hooks' now defaults to t and is obsolete.  Eli Zaretskii committed Jun 30, 2015 872 873 874 875 876 877 878 879 880 +++ ** track-mouse' no longer freezes the shape of the mouse pointer. The track-mouse' form no longer refrains from changing the shape of the mouse pointer for the entire time the body of that form is executed. Lisp programs that use track-mouse' for dragging across large portions of the Emacs display, and want to avoid changes in the pointer shape during dragging, should bind the variable track-mouse' to the special value dragging' in the body of the form.  Glenn Morris committed May 18, 2015 881 882 883 884 ** The optional predicate' argument of lisp-complete-symbol' no longer has any effect. (This change was made in Emacs 24.4 but was not advertised at the time.)  Stefan Monnier committed May 03, 2015 885 886 887 888 889 ** indirect-function' does not signal void-function' any more. This is mostly a bug-fix, since this change was missed back in 24.4 when symbol-function was changed not to signal void-function' any more. *** As a consequence, the second arg of indirect-function' is now obsolete.  Stefan Monnier committed Apr 09, 2015 890 891 892 ** Comint, term, and compile do not set the EMACS env var any more. Use the INSIDE_EMACS environment variable instead.  Stefan Monnier committed Mar 25, 2015 893 894 ** save-excursion' does not save&restore the mark any more.  Stefan Monnier committed Mar 16, 2015 895 896 ** read-buffer-function can now be called with a 4th argument (predicate').  Stefan Monnier committed Dec 03, 2014 897 898 899 900 901 ** 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'.  Martin Rudalics committed May 20, 2015 902 ** window-configurations no longer record the buffers' marks.  Stefan Monnier committed Apr 29, 2014 903   Glenn Morris committed Jun 13, 2014 904 ** inhibit-modification-hooks now also inhibits lock-file checks, as well as  Stefan Monnier committed Apr 08, 2014 905 906 active region handling.  Stefan Monnier committed Apr 09, 2014 907 908 ** deactivate-mark is now buffer-local.  Glenn Morris committed Jun 13, 2014 909 ** cl-the' now asserts that its argument is of the given type.  Daniel Colascione committed Apr 19, 2014 910   Daniel Colascione committed Mar 24, 2015 911 912 913 ** process-running-child-p may now return a numeric process group ID instead of t'.  Eli Zaretskii committed Jun 07, 2014 914 915 916 917 918 +++ ** Mouse click events on mode line or header line no longer include any reference to a buffer position. The 6th member of the mouse position list returned for such events is now nil.  Stefan Monnier committed Sep 24, 2014 919 920 921 ** Menu items in keymaps do not support the "key shortcut cache" any more. These slots used to hold key-shortcut data, but have been obsolete since Emacs-21.  Eli Zaretskii committed Jun 07, 2014 922   Paul Eggert committed Jan 21, 2015 923 924 925 926 927 ** Emacs no longer downcases the first letter of a system diagnostic when signaling a file error. For example, it now reports "Permission denied" instead of "permission denied". The old behavior was problematic in languages like German where downcasing rules depend on grammar.  Paul Eggert committed Aug 24, 2015 928 929 930 931 932 933 +++ ** New variable ‘text-quoting-style’ to control how Emacs translates quotes. Set it to ‘curve’ for curved single quotes ‘like this’, to ‘straight’ for straight apostrophes 'like this', and to ‘grave’ for grave accent and apostrophe like this'. The default value nil acts like ‘curve’ if curved single quotes are displayable, and like ‘grave’ otherwise.  Paul Eggert committed Aug 25, 2015 934 The new variable affects display of diagnostics and help, but not of info.  Paul Eggert committed Aug 24, 2015 935   Paul Eggert committed Aug 02, 2015 936 +++  Paul Eggert committed Jun 19, 2015 937 ** substitute-command-keys now replaces quotes.  Paul Eggert committed Aug 24, 2015 938 That is, it converts documentation strings’ quoting style as per the  Paul Eggert committed Aug 18, 2015 939 value of ‘text-quoting-style’. Doc strings in source code can use  Paul Eggert committed Aug 25, 2015 940 941 either curved single quotes or grave accents and apostrophes. As before, characters preceded by \= are output as-is.  Paul Eggert committed May 28, 2015 942   Paul Eggert committed Aug 23, 2015 943 944 945 +++ ** Message-issuing functions ‘error’, ‘message’, etc. now convert quotes. They use the new ‘format-message’ function instead of plain ‘format’,  Paul Eggert committed Aug 25, 2015 946 947 948 so that they now follow user preference as per ‘text-quoting-style’ when processing curved single quotes, grave accents, and apostrophes in their format argument.  Paul Eggert committed Aug 23, 2015 949   Eli Zaretskii committed Feb 28, 2015 950 951 952 953 954 955 +++ ** The character classes [:alpha:] and [:alnum:] in regular expressions now match multibyte characters using Unicode character properties. If you want the old behavior where they matched any character with word syntax, use \sw' instead.  Eli Zaretskii committed Sep 04, 2015 956 957 958 959 960 961 962 963 +++ ** The character classes [:graph:] and [:print:] in regular expressions no longer match every multibyte character. Instead, Emacs now consults the Unicode character properties to determine which characters are graphic or printable. In particular, surrogates and unassigned codepoints are now rejected. If you want the old behavior, use [:multibyte:] instead.  Dmitry Gutov committed Apr 14, 2015 964 965 966 967 +++ ** The diff' command uses the unified format now. To restore the old behavior, set diff-switches' to -c'.  Dmitry Gutov committed Jun 27, 2015 968 969 970 971 972 973 974 975 976 ** grep-template' and grep-find-template' values don't include the --color argument anymore. It's added at the place holder position dynamically. ** grep-template' and grep-find-template' values don't include the --color argument anymore. It's added at the place holder position dynamically. Any third-party code that changes these templates should be updated accordingly.  Glenn Morris committed Mar 20, 2014 977   Stefan Monnier committed Sep 29, 2014 978 * Lisp Changes in Emacs 25.1  Glenn Morris committed Mar 20, 2014 979   Stefan Monnier committed Sep 09, 2015 980 981 982 ** syntax-propertize is now automatically called on-demand during forward parsing functions like forward-sexp'.  Stefan Monnier committed Sep 01, 2015 983 984 985 986 ** New hooks prefix-command-echo-keystrokes-functions and prefix-command-preserve-state-hook, to allow the definition of prefix commands other than the predefined C-u.  Eli Zaretskii committed Jul 18, 2015 987 ** New functions filepos-to-bufferpos' and bufferpos-to-filepos'.  Stefan Monnier committed Jun 15, 2015 988   Glenn Morris committed May 06, 2015 989 990 ** The default value of load-read-function' is now read'.  Stefan Monnier committed Apr 13, 2015 991 992 ** New hook pre-redisplay-functions', a bit easier to use than pre-redisplay-function.  Stefan Monnier committed Apr 15, 2015 993 994 ** The second arg of looking-back' should always be provided explicitly.  Stefan Monnier committed Apr 13, 2015 995 996 997 998 999 ** Obsolete text properties intangible', point-entered', and point-left'. Replaced by properties cursor-intangible' and cursor-sensor-functions', implemented by the new cursor-intangible-mode' and cursor-sensor-mode' minor modes.  Daiki Ueno committed Apr 11, 2015 1000 1001 1002 1003 ** New process type pipe', which can be used in combination with the :stderr' keyword of make-process to handle standard error output of subprocess.  Daiki Ueno committed Mar 23, 2015 1004 1005 1006 1007 1008 ** New function make-process' provides an alternative interface to start-process'. It allows programs to set process parameters such as process filter, sentinel, etc., through keyword arguments (similar to make-network-process').  Stefan Monnier committed Mar 16, 2015 1009 1010