aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNicolas Petton2016-07-24 21:26:11 +0200
committerNicolas Petton2016-07-24 21:26:11 +0200
commit6bdf687aea38d2646e52bf1514ad2359bc3ca082 (patch)
tree80181da836f4816c8420b664f15932a640189b51
parent3d981ddd5424ab6b166e6cfaf1842658311f8991 (diff)
downloademacs-6bdf687aea38d2646e52bf1514ad2359bc3ca082.tar.gz
emacs-6bdf687aea38d2646e52bf1514ad2359bc3ca082.zip
; * etc/NEWS: Remove temporary marks
-rw-r--r--etc/NEWS358
1 files changed, 0 insertions, 358 deletions
diff --git a/etc/NEWS b/etc/NEWS
index dd7ace9a949..ae8aee2eead 100644
--- a/etc/NEWS
+++ b/etc/NEWS
@@ -15,23 +15,13 @@ and NEWS.1-17 for changes in older Emacs versions.
15You can narrow news to a specific version by calling 'view-emacs-news' 15You can narrow news to a specific version by calling 'view-emacs-news'
16with a prefix argument or by typing C-u C-h C-n. 16with a prefix argument or by typing C-u C-h C-n.
17 17
18Temporary note:
19+++ indicates that all necessary documentation updates are complete.
20 (This means all relevant manuals in doc/ AND lisp doc-strings.)
21--- means no change in the manuals is needed.
22When you add a new item, use the appropriate mark if you are sure it applies,
23otherwise leave it unmarked.
24
25 18
26* Installation Changes in Emacs 25.1 19* Installation Changes in Emacs 25.1
27 20
28+++
29** Building Emacs now requires C99 or later. 21** Building Emacs now requires C99 or later.
30 22
31+++
32** Building Emacs now requires GNU make, version 3.81 or later. 23** Building Emacs now requires GNU make, version 3.81 or later.
33 24
34+++
35** New configure option --with-cairo. 25** New configure option --with-cairo.
36This builds Emacs with Cairo drawing. As a side effect, it provides 26This builds Emacs with Cairo drawing. As a side effect, it provides
37support for built-in printing, when Emacs was built with GTK+. 27support for built-in printing, when Emacs was built with GTK+.
@@ -40,11 +30,9 @@ display problems. We encourage more testing of this build and
40reporting any problems you find, but it is not recommended for 30reporting any problems you find, but it is not recommended for
41production. 31production.
42 32
43+++
44** New configure option --with-modules. 33** New configure option --with-modules.
45This enables support for loading dynamic modules; see below. 34This enables support for loading dynamic modules; see below.
46 35
47---
48** By default, Emacs no longer works on IRIX. We expect that Emacs 36** By default, Emacs no longer works on IRIX. We expect that Emacs
49users are not affected by this, as SGI stopped supporting IRIX in 37users are not affected by this, as SGI stopped supporting IRIX in
50December 2013. If you are affected, please send a bug report. You 38December 2013. If you are affected, please send a bug report. You
@@ -52,60 +40,49 @@ should be able to work around the problem either by porting the Emacs
52undumping code to GCC under IRIX, or by configuring --with-wide-int, 40undumping code to GCC under IRIX, or by configuring --with-wide-int,
53or by sticking with Emacs 24.4. 41or by sticking with Emacs 24.4.
54 42
55---
56** The Emacs garbage collector assumes GC_MARK_STACK == GC_MAKE_GCPROS_NOOPS. 43** The Emacs garbage collector assumes GC_MARK_STACK == GC_MAKE_GCPROS_NOOPS.
57The GC_MAKE_GCPROS_NOOPS stack-marking variant has been the default 44The GC_MAKE_GCPROS_NOOPS stack-marking variant has been the default
58since Emacs 24.4, and the other variants were undocumented and were 45since Emacs 24.4, and the other variants were undocumented and were
59obstacles to maintenance and development. GC_MARK_STACK and its 46obstacles to maintenance and development. GC_MARK_STACK and its
60related symbols have been removed from the C internals. 47related symbols have been removed from the C internals.
61 48
62---
63** 'configure' now prefers gnustep-config when configuring GNUstep. 49** 'configure' now prefers gnustep-config when configuring GNUstep.
64If gnustep-config is not available, the old heuristics are used. 50If gnustep-config is not available, the old heuristics are used.
65 51
66---
67** 'configure' now prefers inotify to gfile for file notification, 52** 'configure' now prefers inotify to gfile for file notification,
68unless gfile is explicitly requested via --with-file-notification='gfile'. 53unless gfile is explicitly requested via --with-file-notification='gfile'.
69 54
70---
71** 'configure' detects the kqueue file notification library on *BSD 55** 'configure' detects the kqueue file notification library on *BSD
72and Mac OS X machines. 56and Mac OS X machines.
73 57
74---
75** The configure option '--with-pkg-config-prog' has been removed. 58** The configure option '--with-pkg-config-prog' has been removed.
76Use './configure PKG_CONFIG=/full/name/of/pkg-config' if you need to. 59Use './configure PKG_CONFIG=/full/name/of/pkg-config' if you need to.
77 60
78---
79** The configure option '--with-mmdf' has been removed. 61** The configure option '--with-mmdf' has been removed.
80It was no longer useful, as it relied on libraries that are no longer 62It was no longer useful, as it relied on libraries that are no longer
81supported, and its presence led to confusion during configuration. 63supported, and its presence led to confusion during configuration.
82This affects only the 'movemail' utility; Emacs itself can still 64This affects only the 'movemail' utility; Emacs itself can still
83process MMDF-format files as before. 65process MMDF-format files as before.
84 66
85+++
86** The configure option '--enable-silent-rules' is now the default, 67** The configure option '--enable-silent-rules' is now the default,
87and silent rules are now quieter. To get the old behavior where 68and silent rules are now quieter. To get the old behavior where
88'make' chatters a lot, configure with '--disable-silent-rules' or 69'make' chatters a lot, configure with '--disable-silent-rules' or
89build with 'make V=1'. 70build with 'make V=1'.
90 71
91---
92** The configure option '--with-gameuser' now allows you to specify a 72** The configure option '--with-gameuser' now allows you to specify a
93group instead of a user if its argument is prefixed by ':' (a colon). 73group instead of a user if its argument is prefixed by ':' (a colon).
94This will cause the game score files in "${localstatedir}/games/emacs" 74This will cause the game score files in "${localstatedir}/games/emacs"
95to be owned by that group, and the helper program for updating them to 75to be owned by that group, and the helper program for updating them to
96be installed setgid. The option now defaults to the 'games' group. 76be installed setgid. The option now defaults to the 'games' group.
97 77
98---
99** The 'grep-changelog' script (and its manual page) are no longer included. 78** The 'grep-changelog' script (and its manual page) are no longer included.
100It has no particular connection to Emacs and has not changed in years, 79It has no particular connection to Emacs and has not changed in years,
101so if you want to use it, you can always take a copy from an older Emacs. 80so if you want to use it, you can always take a copy from an older Emacs.
102 81
103---
104** Emacs 25 comes with a new set of icons. 82** Emacs 25 comes with a new set of icons.
105Various resolutions are available as etc/images/icons/hicolor/*/apps/emacs.png. 83Various resolutions are available as etc/images/icons/hicolor/*/apps/emacs.png.
106The old Emacs logo icons are available as 'emacs23.png' in the same location. 84The old Emacs logo icons are available as 'emacs23.png' in the same location.
107 85
108---
109** New make target 'check-expensive' to run additional tests. 86** New make target 'check-expensive' to run additional tests.
110This includes all tests which run via "make check", plus additional 87This includes all tests which run via "make check", plus additional
111tests which take more time to perform. 88tests which take more time to perform.
@@ -113,7 +90,6 @@ tests which take more time to perform.
113 90
114* Startup Changes in Emacs 25.1 91* Startup Changes in Emacs 25.1
115 92
116+++
117** When Emacs is given a file as a command line argument and 93** When Emacs is given a file as a command line argument and
118'initial-buffer-choice' is non-nil, display both the file and 94'initial-buffer-choice' is non-nil, display both the file and
119'initial-buffer-choice'. When Emacs is given more than one file and 95'initial-buffer-choice'. When Emacs is given more than one file and
@@ -121,11 +97,9 @@ tests which take more time to perform.
121and '*Buffer List*'. This makes Emacs convenient to use from the 97and '*Buffer List*'. This makes Emacs convenient to use from the
122command line when 'initial-buffer-choice' is non-nil. 98command line when 'initial-buffer-choice' is non-nil.
123 99
124+++
125** The value of 'initial-scratch-message' is now treated as a doc string 100** The value of 'initial-scratch-message' is now treated as a doc string
126and can contain escape sequences for command keys, quotes, and the like. 101and can contain escape sequences for command keys, quotes, and the like.
127 102
128---
129** The default height of GUI frames was enlarged. 103** The default height of GUI frames was enlarged.
130This is so there's enough space in the initial window to display the 104This is so there's enough space in the initial window to display the
131optional text about recovering crashes sessions, without losing the 105optional text about recovering crashes sessions, without losing the
@@ -134,7 +108,6 @@ splash image display.
134 108
135* Changes in Emacs 25.1 109* Changes in Emacs 25.1
136 110
137+++
138** Xwidgets: a new feature for embedding native widgets inside Emacs buffers. 111** Xwidgets: a new feature for embedding native widgets inside Emacs buffers.
139If you have gtk3 and webkitgtk3 installed, and Emacs was built with 112If you have gtk3 and webkitgtk3 installed, and Emacs was built with
140xwidget support, you can access the embedded webkit browser with 'M-x 113xwidget support, you can access the embedded webkit browser with 'M-x
@@ -142,7 +115,6 @@ xwidget-webkit-browse-url'. This opens a new buffer with the embedded
142browser. The buffer will have a new mode, 'xwidget-webkit-mode' 115browser. The buffer will have a new mode, 'xwidget-webkit-mode'
143(similar to 'image-mode'), which supports the webkit widget. 116(similar to 'image-mode'), which supports the webkit widget.
144 117
145+++
146*** New functions for xwidget-webkit mode 'xwidget-webkit-insert-string', 118*** New functions for xwidget-webkit mode 'xwidget-webkit-insert-string',
147'xwidget-webkit-adjust-size-dispatch', 'xwidget-webkit-back', 119'xwidget-webkit-adjust-size-dispatch', 'xwidget-webkit-back',
148'xwidget-webkit-browse-url', 'xwidget-webkit-reload', 120'xwidget-webkit-browse-url', 'xwidget-webkit-reload',
@@ -150,7 +122,6 @@ browser. The buffer will have a new mode, 'xwidget-webkit-mode'
150'xwidget-webkit-scroll-forward', 'xwidget-webkit-scroll-down', 122'xwidget-webkit-scroll-forward', 'xwidget-webkit-scroll-down',
151'xwidget-webkit-scroll-up'. 123'xwidget-webkit-scroll-up'.
152 124
153+++
154** Emacs can now load shared/dynamic libraries (modules). 125** Emacs can now load shared/dynamic libraries (modules).
155A dynamic Emacs module is a shared library that provides additional 126A dynamic Emacs module is a shared library that provides additional
156functionality for use in Emacs Lisp programs, just like a package 127functionality for use in Emacs Lisp programs, just like a package
@@ -188,15 +159,12 @@ change in future releases. For that reason, their support is disabled
188by default, and must be enabled by using the '--with-modules' option 159by default, and must be enabled by using the '--with-modules' option
189at configure time. 160at configure time.
190 161
191+++
192** Network security (TLS/SSL certificate validity and the like) is 162** Network security (TLS/SSL certificate validity and the like) is
193added via the new Network Security Manager (NSM) and controlled via 163added via the new Network Security Manager (NSM) and controlled via
194the 'network-security-level' variable. 164the 'network-security-level' variable.
195 165
196+++
197** 'C-h l' now also lists the commands that were run. 166** 'C-h l' now also lists the commands that were run.
198 167
199+++
200** 'x-select-enable-clipboard' is renamed 'select-enable-clipboard' 168** 'x-select-enable-clipboard' is renamed 'select-enable-clipboard'
201and 'x-select-enable-primary' is renamed 'select-enable-primary'. 169and 'x-select-enable-primary' is renamed 'select-enable-primary'.
202Additionally they both now apply to all systems (OSX, GNUstep, Windows, you 170Additionally they both now apply to all systems (OSX, GNUstep, Windows, you
@@ -204,38 +172,30 @@ name it), with the proviso that on some systems (e.g. Windows)
204'select-enable-primary' is ineffective since the system doesn't 172'select-enable-primary' is ineffective since the system doesn't
205have the equivalent of a primary selection. 173have the equivalent of a primary selection.
206 174
207+++
208** New option 'switch-to-buffer-in-dedicated-window' allows you to 175** New option 'switch-to-buffer-in-dedicated-window' allows you to
209customize how 'switch-to-buffer' proceeds interactively when the 176customize how 'switch-to-buffer' proceeds interactively when the
210selected window is strongly dedicated to its buffer. 177selected window is strongly dedicated to its buffer.
211 178
212+++
213** The option 'even-window-heights' has been renamed to 179** The option 'even-window-heights' has been renamed to
214'even-window-sizes' and now handles window widths as well. 180'even-window-sizes' and now handles window widths as well.
215 181
216+++
217** 'terpri' gets an optional arg ENSURE to conditionally output a newline. 182** 'terpri' gets an optional arg ENSURE to conditionally output a newline.
218 183
219+++
220** 'insert-register' now leaves point after the inserted text 184** 'insert-register' now leaves point after the inserted text
221when called interactively. A prefix argument toggles this behavior. 185when called interactively. A prefix argument toggles this behavior.
222 186
223+++
224** The new variable 'term-file-aliases' replaces some files from lisp/term. 187** The new variable 'term-file-aliases' replaces some files from lisp/term.
225The function 'tty-run-terminal-initialization' consults this variable 188The function 'tty-run-terminal-initialization' consults this variable
226when deciding what terminal-specific initialization code to run. 189when deciding what terminal-specific initialization code to run.
227 190
228---
229** New variable 'system-configuration-features', listing some of the 191** New variable 'system-configuration-features', listing some of the
230main features that Emacs was compiled with. This is mainly intended 192main features that Emacs was compiled with. This is mainly intended
231for use in Emacs bug reports. 193for use in Emacs bug reports.
232 194
233+++
234** A password is now hidden also when typed in batch mode. Another 195** A password is now hidden also when typed in batch mode. Another
235hiding character but the default '.' can be used by let-binding the 196hiding character but the default '.' can be used by let-binding the
236variable 'read-hide-char'. 197variable 'read-hide-char'.
237 198
238+++
239** The Emacs pseudo-random number generator can be securely seeded. 199** The Emacs pseudo-random number generator can be securely seeded.
240On systems where Emacs can access the system entropy or some other 200On systems where Emacs can access the system entropy or some other
241cryptographically secure random stream, it now uses that when 'random' 201cryptographically secure random stream, it now uses that when 'random'
@@ -243,51 +203,41 @@ is called with its argument t. This allows cryptographically strong
243random values; in particular, the Emacs server now uses this facility 203random values; in particular, the Emacs server now uses this facility
244to produce its authentication key. 204to produce its authentication key.
245 205
246---
247** New input methods: 'tamil-dvorak', 'programmer-dvorak' and 'probhat'. 206** New input methods: 'tamil-dvorak', 'programmer-dvorak' and 'probhat'.
248 207
249 208
250* Editing Changes in Emacs 25.1 209* Editing Changes in Emacs 25.1
251 210
252+++
253** 'M-x' suggests shorthands and ignores obsolete commands for completion. 211** 'M-x' suggests shorthands and ignores obsolete commands for completion.
254 212
255** Changes in undo 213** Changes in undo
256 214
257+++
258*** Successive single-char deletions are collapsed in the undo-log just like 215*** Successive single-char deletions are collapsed in the undo-log just like
259successive char insertions. Which commands invoke this behavior is 216successive char insertions. Which commands invoke this behavior is
260controlled by the new 'undo-auto-amalgamate' function. See the node 217controlled by the new 'undo-auto-amalgamate' function. See the node
261"Undo" in the ELisp manual for more details. 218"Undo" in the ELisp manual for more details.
262 219
263+++
264*** The heuristic used to insert 'undo-boundary' after each command 220*** The heuristic used to insert 'undo-boundary' after each command
265has changed, so that if a command causes changes in more than just the 221has changed, so that if a command causes changes in more than just the
266current buffer, Emacs now calls 'undo-boundary' in every buffer 222current buffer, Emacs now calls 'undo-boundary' in every buffer
267affected by the command. 223affected by the command.
268 224
269+++
270** New command 'comment-line' bound to 'C-x C-;'. 225** New command 'comment-line' bound to 'C-x C-;'.
271 226
272** New and improved facilities for inserting Unicode characters 227** New and improved facilities for inserting Unicode characters
273 228
274---
275*** Unicode names entered via 'C-x 8 RET' now use substring completion 229*** Unicode names entered via 'C-x 8 RET' now use substring completion
276by default. 230by default.
277 231
278+++
279*** 'C-x 8' now has shorthands for several chars, such as U+2010 232*** 'C-x 8' now has shorthands for several chars, such as U+2010
280(HYPHEN), U+2011 (NON-BREAKING HYPHEN), and U+2012 (FIGURE DASH). As 233(HYPHEN), U+2011 (NON-BREAKING HYPHEN), and U+2012 (FIGURE DASH). As
281before, you can type 'C-x 8 C-h' to list shorthands. 234before, you can type 'C-x 8 C-h' to list shorthands.
282 235
283+++
284*** New minor mode 'electric-quote-mode' for using curved quotes as you 236*** New minor mode 'electric-quote-mode' for using curved quotes as you
285type. See also the new variable 'text-quoting-style'. 237type. See also the new variable 'text-quoting-style'.
286 238
287---
288** New minor mode 'global-eldoc-mode' is enabled by default. 239** New minor mode 'global-eldoc-mode' is enabled by default.
289 240
290---
291** Emacs now uses "bracketed paste mode" on text terminals that support it. 241** Emacs now uses "bracketed paste mode" on text terminals that support it.
292Bracketed paste mode causes text terminals to wrap pasted text in special 242Bracketed paste mode causes text terminals to wrap pasted text in special
293escape sequences that allow Emacs to tell the difference between text 243escape sequences that allow Emacs to tell the difference between text
@@ -300,7 +250,6 @@ pasting large amounts of text.
300Bracketed paste mode is disabled by default, so Emacs automatically 250Bracketed paste mode is disabled by default, so Emacs automatically
301enables it at startup if the terminal supports it. 251enables it at startup if the terminal supports it.
302 252
303+++
304** Emacs now supports the latest version of the UBA. 253** Emacs now supports the latest version of the UBA.
305The Emacs implementation of the Unicode Bidirectional Algorithm (UBA) 254The Emacs implementation of the Unicode Bidirectional Algorithm (UBA)
306was updated to support all the latest additions and changes introduced 255was updated to support all the latest additions and changes introduced
@@ -309,29 +258,23 @@ This includes full support for directional isolates and the
309Bidirectional Parentheses Algorithm (BPA) specified by these Unicode 258Bidirectional Parentheses Algorithm (BPA) specified by these Unicode
310standards. 259standards.
311 260
312+++
313** You can access 'mouse-buffer-menu' ('C-down-mouse-1') using 'C-f10'. 261** You can access 'mouse-buffer-menu' ('C-down-mouse-1') using 'C-f10'.
314 262
315+++
316** New buffer-local 'electric-pair-local-mode'. 263** New buffer-local 'electric-pair-local-mode'.
317 264
318+++
319** New variable 'fast-but-imprecise-scrolling' inhibits 265** New variable 'fast-but-imprecise-scrolling' inhibits
320fontification during full screen scrolling operations, giving less 266fontification during full screen scrolling operations, giving less
321hesitant operation during auto-repeat of 'C-v', 'M-v' at the cost of 267hesitant operation during auto-repeat of 'C-v', 'M-v' at the cost of
322possible inaccuracies in the end position. 268possible inaccuracies in the end position.
323 269
324+++
325** New documentation command 'describe-symbol'. 270** New documentation command 'describe-symbol'.
326Works for functions, variables, faces, etc. It is bound to 'C-h o' by 271Works for functions, variables, faces, etc. It is bound to 'C-h o' by
327default. 272default.
328 273
329+++
330** New function 'custom-prompt-customize-unsaved-options' checks for 274** New function 'custom-prompt-customize-unsaved-options' checks for
331unsaved customizations and prompts user to customize (if found). It 275unsaved customizations and prompts user to customize (if found). It
332is intended for adding to 'kill-emacs-query-functions'. 276is intended for adding to 'kill-emacs-query-functions'.
333 277
334+++
335** The old 'C-x w' bindings in 'hi-lock-mode' are officially deprecated 278** The old 'C-x w' bindings in 'hi-lock-mode' are officially deprecated
336in favor of the global 'M-s h' bindings introduced in Emacs 23.1. 279in favor of the global 'M-s h' bindings introduced in Emacs 23.1.
337They'll disappear soon. 280They'll disappear soon.
@@ -341,20 +284,17 @@ They'll disappear soon.
341 284
342** Checkdoc 285** Checkdoc
343 286
344+++
345*** New command 'checkdoc-package-keywords' checks if the 287*** New command 'checkdoc-package-keywords' checks if the
346current package keywords are recognized. Set the new option 288current package keywords are recognized. Set the new option
347'checkdoc-package-keywords-flag' to non-nil to make 289'checkdoc-package-keywords-flag' to non-nil to make
348'checkdoc-current-buffer' call this function automatically. 290'checkdoc-current-buffer' call this function automatically.
349 291
350+++
351*** New function 'checkdoc-file' checks for style errors. 292*** New function 'checkdoc-file' checks for style errors.
352It's meant for use together with 'compile': 293It's meant for use together with 'compile':
353emacs -batch --eval "(checkdoc-file \"subr.el\")" 294emacs -batch --eval "(checkdoc-file \"subr.el\")"
354 295
355** Desktop 296** Desktop
356 297
357---
358*** The desktop format version has been upgraded from 206 to 208. 298*** The desktop format version has been upgraded from 206 to 208.
359Although Emacs 25.1 can read a version 206 desktop, earlier Emacsen 299Although Emacs 25.1 can read a version 206 desktop, earlier Emacsen
360cannot read a version 208 desktop. To upgrade your desktop file, you 300cannot read a version 208 desktop. To upgrade your desktop file, you
@@ -363,49 +303,41 @@ recommended to do this as soon as you have firmly upgraded to Emacs
36325.1 (or later). Should you ever need to downgrade your desktop file 30325.1 (or later). Should you ever need to downgrade your desktop file
364to version 206, you can do this with 'C-u C-u M-x desktop-save'. 304to version 206, you can do this with 'C-u C-u M-x desktop-save'.
365 305
366---
367*** 'desktop-restore-in-current-display' now defaults to t, not nil. 306*** 'desktop-restore-in-current-display' now defaults to t, not nil.
368That is, Emacs by default now restores frames into the current display. 307That is, Emacs by default now restores frames into the current display.
369 308
370+++
371** New function 'bookmark-set-no-overwrite' bound to 'C-x r M'. 309** New function 'bookmark-set-no-overwrite' bound to 'C-x r M'.
372It raises an error if a bookmark of that name already exists, 310It raises an error if a bookmark of that name already exists,
373unlike 'bookmark-set' which silently updates an existing bookmark. 311unlike 'bookmark-set' which silently updates an existing bookmark.
374 312
375** Gnus 313** Gnus
376 314
377+++
378*** New user options 'mm-html-inhibit-images' and 'mm-html-blocked-images' 315*** New user options 'mm-html-inhibit-images' and 'mm-html-blocked-images'
379now control how mm-* functions fetch and display images in an HTML 316now control how mm-* functions fetch and display images in an HTML
380message. Gnus still uses 'gnus-inhibit-images' and 'gnus-blocked-images' 317message. Gnus still uses 'gnus-inhibit-images' and 'gnus-blocked-images'
381for that purpose, i.e., binds mm-html- variables with those gnus- 318for that purpose, i.e., binds mm-html- variables with those gnus-
382variables, but other packages do not have to bind gnus- variables now. 319variables, but other packages do not have to bind gnus- variables now.
383 320
384---
385*** 'mm-inline-text-html-with-images' has been removed. 321*** 'mm-inline-text-html-with-images' has been removed.
386Use 'mm-html-inhibit-images' instead. Note that the value is opposite 322Use 'mm-html-inhibit-images' instead. Note that the value is opposite
387in meaning. 323in meaning.
388 324
389** IMAP 325** IMAP
390 326
391---
392*** 'imap-ssl-program' has been removed, and imap.el uses the internal 327*** 'imap-ssl-program' has been removed, and imap.el uses the internal
393GnuTLS encryption functions if possible. 328GnuTLS encryption functions if possible.
394 329
395** JSON 330** JSON
396 331
397---
398*** 'json-pretty-print' and 'json-pretty-print-buffer' now maintain 332*** 'json-pretty-print' and 'json-pretty-print-buffer' now maintain
399the ordering of object keys by default. 333the ordering of object keys by default.
400 334
401---
402*** New commands 'json-pretty-print-ordered' and 335*** New commands 'json-pretty-print-ordered' and
403'json-pretty-print-buffer-ordered' pretty prints JSON objects with 336'json-pretty-print-buffer-ordered' pretty prints JSON objects with
404object keys sorted alphabetically. 337object keys sorted alphabetically.
405 338
406** Prettify Symbols mode 339** Prettify Symbols mode
407 340
408+++
409*** Prettify Symbols mode supports custom composition predicates. By 341*** Prettify Symbols mode supports custom composition predicates. By
410overriding the default 'prettify-symbols-compose-predicate', modes can 342overriding the default 'prettify-symbols-compose-predicate', modes can
411specify in which contexts a symbol may be displayed as some Unicode 343specify in which contexts a symbol may be displayed as some Unicode
@@ -413,13 +345,11 @@ character. 'prettify-symbols-default-compose-p' is the default which
413is suitable for most programming languages such as C or Lisp (but not 345is suitable for most programming languages such as C or Lisp (but not
414(La)TeX). 346(La)TeX).
415 347
416+++
417*** Symbols can be unprettified while point is inside them. 348*** Symbols can be unprettified while point is inside them.
418New variable 'prettify-symbols-unprettify-at-point' configures this. 349New variable 'prettify-symbols-unprettify-at-point' configures this.
419 350
420** Enhanced xterm support 351** Enhanced xterm support
421 352
422---
423*** The new variable 'xterm-screen-extra-capabilities' for configuring xterm. 353*** The new variable 'xterm-screen-extra-capabilities' for configuring xterm.
424This variable tells Emacs which advanced capabilities are available in 354This variable tells Emacs which advanced capabilities are available in
425the xterm terminal emulator used to display Emacs text-mode frames. 355the xterm terminal emulator used to display Emacs text-mode frames.
@@ -427,7 +357,6 @@ The default is to check each capability, and use it if available.
427(This variable was introduced in Emacs 24.1, but was not announced in 357(This variable was introduced in Emacs 24.1, but was not announced in
428its NEWS.) 358its NEWS.)
429 359
430---
431*** Killing text now also sets the CLIPBOARD/PRIMARY selection 360*** Killing text now also sets the CLIPBOARD/PRIMARY selection
432in the surrounding GUI (using the OSC-52 escape sequence). This only works 361in the surrounding GUI (using the OSC-52 escape sequence). This only works
433if your xterm supports it and enables the 'allowWindowOps' options (disabled 362if your xterm supports it and enables the 'allowWindowOps' options (disabled
@@ -437,10 +366,8 @@ Similarly, you can yank the CLIPBOARD/PRIMARY selection (using the OSC-52
437escape sequence) if your xterm has the feature enabled but for that you 366escape sequence) if your xterm has the feature enabled but for that you
438additionally need to add 'getSelection' to 'xterm-extra-capabilities'. 367additionally need to add 'getSelection' to 'xterm-extra-capabilities'.
439 368
440+++
441*** 'xterm-mouse-mode' now supports mouse-tracking (if your xterm supports it). 369*** 'xterm-mouse-mode' now supports mouse-tracking (if your xterm supports it).
442 370
443---
444** The way to turn on and off 'save-place' mode has changed. 371** The way to turn on and off 'save-place' mode has changed.
445It is no longer sufficient to load the saveplace library and set 372It is no longer sufficient to load the saveplace library and set
446'save-place' non-nil. Instead, use the two new minor modes: 373'save-place' non-nil. Instead, use the two new minor modes:
@@ -452,22 +379,18 @@ obsolete alias for the new 'save-place-local-mode' command.
452 379
453** ERC 380** ERC
454 381
455+++
456*** ERC can now hide message types by network or channel. 382*** ERC can now hide message types by network or channel.
457'erc-hide-list' will hide all messages of the specified type, while 383'erc-hide-list' will hide all messages of the specified type, while
458'erc-network-hide-list' and 'erc-channel-hide-list' will only hide the 384'erc-network-hide-list' and 'erc-channel-hide-list' will only hide the
459specified message types for the respective specified targets. 385specified message types for the respective specified targets.
460 386
461---
462*** Reconnection is now asynchronous. 387*** Reconnection is now asynchronous.
463 388
464---
465*** Nick completion is now case-insensitive again after inadvertently 389*** Nick completion is now case-insensitive again after inadvertently
466being made case-sensitive in Emacs 24.2. 390being made case-sensitive in Emacs 24.2.
467 391
468** MPC 392** MPC
469 393
470---
471*** New commands, key binds, and menu items. 394*** New commands, key binds, and menu items.
472 395
473**** '<' and '>' for navigating previous and next tracks in playlist 396**** '<' and '>' for navigating previous and next tracks in playlist
@@ -480,29 +403,23 @@ track.
480**** New commands 'mpc-toggle-{consume,repeat,single,shuffle}' for 403**** New commands 'mpc-toggle-{consume,repeat,single,shuffle}' for
481toggling playback modes. 404toggling playback modes.
482 405
483---
484*** Now supports connecting to a UNIX domain socket. 406*** Now supports connecting to a UNIX domain socket.
485 407
486---
487*** Looks at more image file names to use as album art. 408*** Looks at more image file names to use as album art.
488Case-insensitively tries for .folder.png (freedesktop) and folder.jpg 409Case-insensitively tries for .folder.png (freedesktop) and folder.jpg
489(XP) in addition to cover.jpg. 410(XP) in addition to cover.jpg.
490 411
491---
492*** Searches in more locations for MPD configuration files. 412*** Searches in more locations for MPD configuration files.
493MPD supports the XDG base directory specification since version 0.17.6. 413MPD supports the XDG base directory specification since version 0.17.6.
494 414
495** Midnight-mode 415** Midnight-mode
496 416
497---
498*** 'midnight-mode' is now a proper minor mode. 417*** 'midnight-mode' is now a proper minor mode.
499 418
500---
501*** clean-buffer-*-regexps can now specify buffers via predicate functions. 419*** clean-buffer-*-regexps can now specify buffers via predicate functions.
502 420
503** package.el 421** package.el
504 422
505+++
506*** New "external" package status. 423*** New "external" package status.
507An external package is any installed package that's not built-in and 424An external package is any installed package that's not built-in and
508not from 'package-user-dir', which usually means it's from an entry in 425not from 'package-user-dir', which usually means it's from an entry in
@@ -514,12 +431,10 @@ The effect is that a user can manually place a specific version of a
514package inside 'package-directory-list' and the package menu will 431package inside 'package-directory-list' and the package menu will
515always respect that. 432always respect that.
516 433
517+++
518*** If a package is available on multiple archives and one has higher 434*** If a package is available on multiple archives and one has higher
519priority (as per 'package-archive-priorities') only that one is 435priority (as per 'package-archive-priorities') only that one is
520listed. This can be configured with 'package-menu-hide-low-priority'. 436listed. This can be configured with 'package-menu-hide-low-priority'.
521 437
522+++
523*** 'package-menu-toggle-hiding' now toggles the hiding of packages. 438*** 'package-menu-toggle-hiding' now toggles the hiding of packages.
524This includes the above-mentioned low-priority packages, as well as 439This includes the above-mentioned low-priority packages, as well as
525available packages whose version is lower than the currently installed 440available packages whose version is lower than the currently installed
@@ -527,48 +442,38 @@ version (which were previously impossible to display).
527This allows users to downgrade a package if a lower version is 442This allows users to downgrade a package if a lower version is
528available. 443available.
529 444
530---
531*** When filtering the package menu, keywords starting with "arc:" or 445*** When filtering the package menu, keywords starting with "arc:" or
532"status:" represent package archive or status, respectively, instead 446"status:" represent package archive or status, respectively, instead
533of actual keywords. 447of actual keywords.
534 448
535---
536*** Most functions which involve downloading information now take an 449*** Most functions which involve downloading information now take an
537ASYNC argument. If it is non-nil, package.el performs the download(s) 450ASYNC argument. If it is non-nil, package.el performs the download(s)
538asynchronously. 451asynchronously.
539 452
540---
541*** New variable 'package-menu-async' controls whether the 453*** New variable 'package-menu-async' controls whether the
542package-menu uses asynchronous downloads. 454package-menu uses asynchronous downloads.
543 455
544---
545*** 'package-install-from-buffer' and 'package-install-file' work on directories. 456*** 'package-install-from-buffer' and 'package-install-file' work on directories.
546This follows the same rules as installing from a .tar file, except the 457This follows the same rules as installing from a .tar file, except the
547-pkg file is optional. 458-pkg file is optional.
548 459
549---
550*** Packages which are dependencies of other packages cannot be deleted. 460*** Packages which are dependencies of other packages cannot be deleted.
551The FORCE argument to 'package-delete' overrides this. 461The FORCE argument to 'package-delete' overrides this.
552 462
553---
554*** New custom variable 'package-selected-packages' tracks packages 463*** New custom variable 'package-selected-packages' tracks packages
555which were installed by the user (as opposed to installed as 464which were installed by the user (as opposed to installed as
556dependencies). This variable can also be manually customized. 465dependencies). This variable can also be manually customized.
557 466
558---
559*** New command 'package-install-selected-packages' installs all 467*** New command 'package-install-selected-packages' installs all
560packages from 'package-selected-packages' which are currently missing. 468packages from 'package-selected-packages' which are currently missing.
561 469
562---
563*** 'package-install' function now takes a DONT-SELECT argument. If 470*** 'package-install' function now takes a DONT-SELECT argument. If
564this function is called interactively or if DONT-SELECT is nil, add the 471this function is called interactively or if DONT-SELECT is nil, add the
565package being installed to 'package-selected-packages'. 472package being installed to 'package-selected-packages'.
566 473
567---
568*** New command 'package-autoremove' removes all packages which were 474*** New command 'package-autoremove' removes all packages which were
569installed strictly as dependencies but are no longer needed. 475installed strictly as dependencies but are no longer needed.
570 476
571+++
572** Shell 477** Shell
573 478
574When you invoke 'shell' interactively, the '*shell*' buffer will now 479When you invoke 'shell' interactively, the '*shell*' buffer will now
@@ -579,40 +484,29 @@ the old behavior -- '*shell*' buffer displays in current window -- use
579 '("^\\*shell\\*$" . (display-buffer-same-window))). 484 '("^\\*shell\\*$" . (display-buffer-same-window))).
580 485
581** EIEIO 486** EIEIO
582+++
583*** The ':protection' slot option is not obeyed any more. 487*** The ':protection' slot option is not obeyed any more.
584+++
585*** The 'newname' argument to constructors is optional&deprecated. 488*** The 'newname' argument to constructors is optional&deprecated.
586If you need your objects to be named, do it by inheriting from 'eieio-named'. 489If you need your objects to be named, do it by inheriting from 'eieio-named'.
587+++
588*** The <class>-list-p and <class>-child-p functions are declared obsolete. 490*** The <class>-list-p and <class>-child-p functions are declared obsolete.
589+++
590*** The <class> variables are declared obsolete. 491*** The <class> variables are declared obsolete.
591+++
592*** The <initarg> variables are declared obsolete. 492*** The <initarg> variables are declared obsolete.
593+++
594*** defgeneric and defmethod are declared obsolete. 493*** defgeneric and defmethod are declared obsolete.
595Use the equivalent facilities from cl-generic.el instead. 494Use the equivalent facilities from cl-generic.el instead.
596+++
597*** 'constructor' is now an obsolete alias for 'make-instance'. 495*** 'constructor' is now an obsolete alias for 'make-instance'.
598---
599*** 'pcase' accepts a new UPattern 'eieio'. 496*** 'pcase' accepts a new UPattern 'eieio'.
600 497
601** ido 498** ido
602 499
603+++
604*** New command 'ido-bury-buffer-at-head' bound to 'C-S-b'. 500*** New command 'ido-bury-buffer-at-head' bound to 'C-S-b'.
605Bury the buffer at the head of 'ido-matches', analogous to how 'C-k' 501Bury the buffer at the head of 'ido-matches', analogous to how 'C-k'
606kills the buffer at head. 502kills the buffer at head.
607 503
608---
609*** A prefix argument to 'ido-restrict-to-matches' will reverse its 504*** A prefix argument to 'ido-restrict-to-matches' will reverse its
610meaning, and the list is restricted to those elements that do not 505meaning, and the list is restricted to those elements that do not
611match the current input. 506match the current input.
612 507
613** Minibuffer 508** Minibuffer
614 509
615+++
616*** You can use <UP> and <DOWN> arrow keys to move through history by lines. 510*** You can use <UP> and <DOWN> arrow keys to move through history by lines.
617The new commands 'next-line-or-history-element' and 511The new commands 'next-line-or-history-element' and
618'previous-line-or-history-element', bound to <UP> and <DOWN> in the 512'previous-line-or-history-element', bound to <UP> and <DOWN> in the
@@ -624,7 +518,6 @@ item as before.
624 518
625** Search and Replace 519** Search and Replace
626 520
627+++
628*** 'isearch' and 'query-replace' can now perform character folding in matches. 521*** 'isearch' and 'query-replace' can now perform character folding in matches.
629This is analogous to case folding, but instead of disregarding case 522This is analogous to case folding, but instead of disregarding case
630variants, it disregards wider classes of distinctions between similar 523variants, it disregards wider classes of distinctions between similar
@@ -645,24 +538,20 @@ folding in the middle of a search by typing 'M-s ''.
645'query-replace' honors character folding if the new variable 538'query-replace' honors character folding if the new variable
646'replace-char-fold' is customized to a non-nil value. 539'replace-char-fold' is customized to a non-nil value.
647 540
648+++
649*** New user option 'search-default-mode'. 541*** New user option 'search-default-mode'.
650This option specifies the default mode for Isearch. The default 542This option specifies the default mode for Isearch. The default
651value, nil specifies that Isearch does literal searches (however, 543value, nil specifies that Isearch does literal searches (however,
652'case-fold-search' and 'isearch-lax-whitespace' may still be applied, 544'case-fold-search' and 'isearch-lax-whitespace' may still be applied,
653as in previous Emacs versions). 545as in previous Emacs versions).
654 546
655+++
656*** New function 'char-fold-to-regexp' can be used 547*** New function 'char-fold-to-regexp' can be used
657by searching commands to produce a regexp matching anything that 548by searching commands to produce a regexp matching anything that
658char-folds into STRING. 549char-folds into STRING.
659 550
660+++
661*** The new 'M-s M-w' key binding uses eww to search the web for the 551*** The new 'M-s M-w' key binding uses eww to search the web for the
662text in the region. The search engine to use for this is specified by 552text in the region. The search engine to use for this is specified by
663the customizable variable 'eww-search-prefix'. 553the customizable variable 'eww-search-prefix'.
664 554
665+++
666*** 'query-replace' history is enhanced. 555*** 'query-replace' history is enhanced.
667When 'query-replace' reads the FROM string from the minibuffer, typing 556When 'query-replace' reads the FROM string from the minibuffer, typing
668'M-p' will now show previous replacements as "FROM SEP TO", where FROM 557'M-p' will now show previous replacements as "FROM SEP TO", where FROM
@@ -673,26 +562,21 @@ replacement appears in the minibuffer, and then exit the minibuffer by
673typing RET. 562typing RET.
674 563
675** Calc 564** Calc
676+++
677*** If 'quick-calc' is called with a prefix argument, insert the 565*** If 'quick-calc' is called with a prefix argument, insert the
678result of the calculation into the current buffer. 566result of the calculation into the current buffer.
679 567
680+++
681** In Edebug, you can now set the initial mode with 'C-x C-a C-m'. 568** In Edebug, you can now set the initial mode with 'C-x C-a C-m'.
682With this you can tell Edebug not to stop at the start of the first 569With this you can tell Edebug not to stop at the start of the first
683instrumented function. 570instrumented function.
684 571
685** ElDoc 572** ElDoc
686 573
687+++
688*** New minor mode 'global-eldoc-mode'. 574*** New minor mode 'global-eldoc-mode'.
689It is turned on by default, and affects '*scratch*' and other buffers 575It is turned on by default, and affects '*scratch*' and other buffers
690whose major mode supports Emacs Lisp. 576whose major mode supports Emacs Lisp.
691 577
692---
693*** 'eldoc-documentation-function' now defaults to 'ignore'. 578*** 'eldoc-documentation-function' now defaults to 'ignore'.
694 579
695---
696*** 'describe-char-eldoc' displays information about character at point, 580*** 'describe-char-eldoc' displays information about character at point,
697and can be used as a default value of 'eldoc-documentation-function'. It is 581and can be used as a default value of 'eldoc-documentation-function'. It is
698useful when, for example, one needs to distinguish various spaces - e.g., 582useful when, for example, one needs to distinguish various spaces - e.g.,
@@ -701,76 +585,60 @@ using mono-spaced font.
701 585
702** eww 586** eww
703 587
704---
705*** HTML can now be rendered using variable-width fonts. 588*** HTML can now be rendered using variable-width fonts.
706 589
707+++
708*** A new command 'F' ('eww-toggle-fonts') can be used to toggle 590*** A new command 'F' ('eww-toggle-fonts') can be used to toggle
709whether to use variable-pitch fonts or not. The user can also 591whether to use variable-pitch fonts or not. The user can also
710customize the 'shr-use-fonts' variable. 592customize the 'shr-use-fonts' variable.
711 593
712+++
713*** A new command 'R' ('eww-readable') will try do identify the main 594*** A new command 'R' ('eww-readable') will try do identify the main
714textual parts of a web page and display only that, leaving menus and 595textual parts of a web page and display only that, leaving menus and
715the like off the page. 596the like off the page.
716 597
717+++
718*** A new command 'D' ('eww-toggle-paragraph-direction') allows you to 598*** A new command 'D' ('eww-toggle-paragraph-direction') allows you to
719toggle the paragraph direction between left-to-right and right-to-left. 599toggle the paragraph direction between left-to-right and right-to-left.
720 600
721---
722*** You can now use several eww buffers in parallel by renaming eww 601*** You can now use several eww buffers in parallel by renaming eww
723buffers you want to keep separate. 602buffers you want to keep separate.
724 603
725+++
726*** Partial state of the eww buffers (the URIs and the titles of the 604*** Partial state of the eww buffers (the URIs and the titles of the
727pages visited) is now preserved in the desktop file. 605pages visited) is now preserved in the desktop file.
728 606
729+++
730*** 'eww-after-render-hook' is now called after eww has rendered 607*** 'eww-after-render-hook' is now called after eww has rendered
731the data in the buffer. 608the data in the buffer.
732 609
733---
734*** The 'eww-reload' command now takes a prefix to not reload via 610*** The 'eww-reload' command now takes a prefix to not reload via
735the net, but just use the local copy of the HTML. 611the net, but just use the local copy of the HTML.
736 612
737+++
738*** The DOM shr and eww uses has been changed to the general Emacs 613*** The DOM shr and eww uses has been changed to the general Emacs
739xml.el/libxml2 DOM, and a new package dom.el has been added to 614xml.el/libxml2 DOM, and a new package dom.el has been added to
740interact with this DOM. See the Emacs Lisp manual for interface 615interact with this DOM. See the Emacs Lisp manual for interface
741details. 616details.
742 617
743+++
744*** 'mailcap-mime-data' is now consulted when displaying PDF files. 618*** 'mailcap-mime-data' is now consulted when displaying PDF files.
745 619
746+++
747*** The new 'S' command will list all eww buffers, and allow managing 620*** The new 'S' command will list all eww buffers, and allow managing
748them. 621them.
749 622
750---
751*** https pages with valid certificates have headers marked in green, while 623*** https pages with valid certificates have headers marked in green, while
752invalid certificates are marked in red. 624invalid certificates are marked in red.
753 625
754** Message mode 626** Message mode
755 627
756---
757*** text/html messages that contain inline image parts will be 628*** text/html messages that contain inline image parts will be
758transformed into multipart/related messages before sending. 629transformed into multipart/related messages before sending.
759 630
760+++
761** In Show Paren Mode, a parenthesis can be highlighted when point 631** In Show Paren Mode, a parenthesis can be highlighted when point
762stands inside it, and certain parens can be highlighted when point is 632stands inside it, and certain parens can be highlighted when point is
763at BOL or EOL, or in whitespace there. To enable these, customize, 633at BOL or EOL, or in whitespace there. To enable these, customize,
764respectively, 'show-paren-when-point-inside-paren' or 634respectively, 'show-paren-when-point-inside-paren' or
765'show-paren-when-point-in-periphery'. 635'show-paren-when-point-in-periphery'.
766 636
767---
768** If gpg2 exists on the system, it is now used as the default value 637** If gpg2 exists on the system, it is now used as the default value
769of 'epg-gpg-program' (instead of gpg). 638of 'epg-gpg-program' (instead of gpg).
770 639
771** Lisp mode 640** Lisp mode
772 641
773---
774*** Strings after ':documentation' are highlighted as docstrings. 642*** Strings after ':documentation' are highlighted as docstrings.
775This enhances Lisp mode fontification to handle documentation of the 643This enhances Lisp mode fontification to handle documentation of the
776form '(:documentation "the doc string")' used in Common Lisp code for 644form '(:documentation "the doc string")' used in Common Lisp code for
@@ -778,19 +646,15 @@ CLOS class and slot documentation.
778 646
779** Rectangle editing 647** Rectangle editing
780 648
781+++
782*** Rectangle Mark mode can have corners past EOL or in the middle of a TAB. 649*** Rectangle Mark mode can have corners past EOL or in the middle of a TAB.
783 650
784+++
785*** 'C-x C-x' in 'rectangle-mark-mode' now cycles through the four corners. 651*** 'C-x C-x' in 'rectangle-mark-mode' now cycles through the four corners.
786*** 'string-rectangle' provides on-the-fly preview of the result. 652*** 'string-rectangle' provides on-the-fly preview of the result.
787 653
788+++
789** New font-lock functions 'font-lock-ensure' and 'font-lock-flush'. 654** New font-lock functions 'font-lock-ensure' and 'font-lock-flush'.
790These should be used in preference to 'font-lock-fontify-buffer' when 655These should be used in preference to 'font-lock-fontify-buffer' when
791called from Lisp. 656called from Lisp.
792 657
793---
794** Macro 'minibuffer-with-setup-hook' can optionally append a function 658** Macro 'minibuffer-with-setup-hook' can optionally append a function
795to 'minibuffer-setup-hook'. 659to 'minibuffer-setup-hook'.
796 660
@@ -799,39 +663,30 @@ then FUN will be appended to 'minibuffer-setup-hook', instead of
799prepending it. 663prepending it.
800 664
801** cl-lib 665** cl-lib
802+++
803*** New functions 'cl-fresh-line', 'cl-digit-char-p', and 'cl-parse-integer'. 666*** New functions 'cl-fresh-line', 'cl-digit-char-p', and 'cl-parse-integer'.
804 667
805---
806*** 'pcase' accepts the new UPattern 'cl-struct'. 668*** 'pcase' accepts the new UPattern 'cl-struct'.
807 669
808** Calendar and diary 670** Calendar and diary
809 671
810+++
811*** The default 'diary-file' is now located in "~/.emacs.d". 672*** The default 'diary-file' is now located in "~/.emacs.d".
812 673
813+++
814*** New commands to insert diary entries with Chinese dates: 674*** New commands to insert diary entries with Chinese dates:
815'diary-chinese-insert-anniversary-entry' 'diary-chinese-insert-entry' 675'diary-chinese-insert-anniversary-entry' 'diary-chinese-insert-entry'
816'diary-chinese-insert-monthly-entry', 'diary-chinese-insert-yearly-entry'. 676'diary-chinese-insert-monthly-entry', 'diary-chinese-insert-yearly-entry'.
817 677
818+++
819*** The calendar can now list and mark diary entries with Chinese dates. 678*** The calendar can now list and mark diary entries with Chinese dates.
820See 'diary-chinese-list-entries' and 'diary-chinese-mark-entries'. 679See 'diary-chinese-list-entries' and 'diary-chinese-mark-entries'.
821 680
822---
823*** The option 'calendar-mode-line-format' can now be nil, 681*** The option 'calendar-mode-line-format' can now be nil,
824which means to do nothing special with the mode line in calendars. 682which means to do nothing special with the mode line in calendars.
825 683
826+++
827*** New option 'calendar-weekend-days'. 684*** New option 'calendar-weekend-days'.
828The option customizes which day headers receive the 685The option customizes which day headers receive the
829'calendar-weekend-header' face. 686'calendar-weekend-header' face.
830 687
831---
832*** New optional args N and STRING for 'holiday-greek-orthodox-easter'. 688*** New optional args N and STRING for 'holiday-greek-orthodox-easter'.
833 689
834---
835*** Many items obsolete since at least version 23.1 have been removed. 690*** Many items obsolete since at least version 23.1 have been removed.
836The majority were function/variable/face aliases, too numerous to list here. 691The majority were function/variable/face aliases, too numerous to list here.
837The remainder were: 692The remainder were:
@@ -847,68 +702,54 @@ The remainder were:
847 702
848**** The nil and list forms of 'diary-display-function'. 703**** The nil and list forms of 'diary-display-function'.
849 704
850+++
851** New ERT function 'ert-summarize-tests-batch-and-exit'. 705** New ERT function 'ert-summarize-tests-batch-and-exit'.
852If the output of ERT tests in batch mode execution can be saved to a 706If the output of ERT tests in batch mode execution can be saved to a
853log file, then it can be passed as an argument to the above function 707log file, then it can be passed as an argument to the above function
854to produce a neat summary. 708to produce a neat summary.
855 709
856---
857** New js.el option 'js-indent-first-init'. 710** New js.el option 'js-indent-first-init'.
858 711
859** Info 712** Info
860 713
861---
862** Info mode now displays symbol names in fixed-pitch font. 714** Info mode now displays symbol names in fixed-pitch font.
863If you want to get the old behavior back, customize the 'Info-quoted' 715If you want to get the old behavior back, customize the 'Info-quoted'
864face to use the same definitions as the default face. 716face to use the same definitions as the default face.
865 717
866---
867*** 'Info-fontify-maximum-menu-size' can be t for no limit. 718*** 'Info-fontify-maximum-menu-size' can be t for no limit.
868 719
869+++
870*** 'info-display-manual' can now be given a prefix argument which (any 720*** 'info-display-manual' can now be given a prefix argument which (any
871non-nil value) directs the command to limit the completion 721non-nil value) directs the command to limit the completion
872alternatives to currently visited manuals. 722alternatives to currently visited manuals.
873 723
874---
875** ntlm.el has support for NTLM2. 724** ntlm.el has support for NTLM2.
876 725
877** Rmail 726** Rmail
878 727
879+++
880*** The Rmail commands 'd', 'C-d' and 'u' take optional repeat counts 728*** The Rmail commands 'd', 'C-d' and 'u' take optional repeat counts
881to delete or undelete multiple messages. 729to delete or undelete multiple messages.
882 730
883+++
884*** Rmail can now render HTML mail messages if your Emacs was built with 731*** Rmail can now render HTML mail messages if your Emacs was built with
885libxml2 or if you have the Lynx browser installed. By default, Rmail 732libxml2 or if you have the Lynx browser installed. By default, Rmail
886will display the HTML version of a mail message that has both HTML and 733will display the HTML version of a mail message that has both HTML and
887plain text parts, if display of HTML email is possible; customize the 734plain text parts, if display of HTML email is possible; customize the
888'rmail-mime-prefer-html' option to nil if you don't want that. 735'rmail-mime-prefer-html' option to nil if you don't want that.
889 736
890+++
891*** In the commands that make summaries by subject, recipients, or senders, 737*** In the commands that make summaries by subject, recipients, or senders,
892you can no longer use commas to separate regular expressions. 738you can no longer use commas to separate regular expressions.
893 739
894+++
895** SES now supports local printer functions; see 'ses-define-local-printer'. 740** SES now supports local printer functions; see 'ses-define-local-printer'.
896 741
897** Shell-script Mode 742** Shell-script Mode
898---
899*** In sh-mode you can now use 'sh-shell' as a file-local variable to 743*** In sh-mode you can now use 'sh-shell' as a file-local variable to
900specify the type of shell in use (bash, csh, etc). 744specify the type of shell in use (bash, csh, etc).
901 745
902---
903*** New value 'always' for 'sh-indent-after-continuation'. 746*** New value 'always' for 'sh-indent-after-continuation'.
904This provides old-style ("dumb") indentation of continued lines. 747This provides old-style ("dumb") indentation of continued lines.
905See the doc string of 'sh-indent-after-continuation' for details. 748See the doc string of 'sh-indent-after-continuation' for details.
906 749
907** TLS 750** TLS
908---
909*** Fatal TLS errors are now silent by default. 751*** Fatal TLS errors are now silent by default.
910 752
911---
912*** If Emacs isn't built with TLS support, an external TLS-capable 753*** If Emacs isn't built with TLS support, an external TLS-capable
913program is used instead. This program used to be run in --insecure 754program is used instead. This program used to be run in --insecure
914mode by default, but has now changed to be secure instead, and will 755mode by default, but has now changed to be secure instead, and will
@@ -917,85 +758,68 @@ controlled by the 'tls-program' variable.
917 758
918** URL 759** URL
919 760
920+++
921*** The URL package accepts now the protocols "ssh", "scp" and "rsync". 761*** The URL package accepts now the protocols "ssh", "scp" and "rsync".
922When 'url-handler-mode' is enabled, file operations for these 762When 'url-handler-mode' is enabled, file operations for these
923protocols as well as for "telnet" and "ftp" are passed to Tramp. 763protocols as well as for "telnet" and "ftp" are passed to Tramp.
924 764
925+++
926*** The URL package allows customizing the 'url-user-agent' string. 765*** The URL package allows customizing the 'url-user-agent' string.
927The new 'url-user-agent' variable can be customized to be a string or 766The new 'url-user-agent' variable can be customized to be a string or
928a function. 767a function.
929 768
930---
931*** The new interface variable 'url-request-noninteractive' can be used 769*** The new interface variable 'url-request-noninteractive' can be used
932to specify that we're running in a noninteractive context, and that 770to specify that we're running in a noninteractive context, and that
933we should not be queried about things like TLS certificate validity. 771we should not be queried about things like TLS certificate validity.
934 772
935---
936*** 'url-mime-accept-string' can now be used as in "interface" 773*** 'url-mime-accept-string' can now be used as in "interface"
937variable, meaning you can bind it around an 'url-retrieve' call. 774variable, meaning you can bind it around an 'url-retrieve' call.
938 775
939---
940*** If URL is used with a https connection, the first callback argument 776*** If URL is used with a https connection, the first callback argument
941PLIST will contain a :peer element that has the output of 777PLIST will contain a :peer element that has the output of
942'gnutls-peer-status' (if Emacs is built with GnuTLS support). 778'gnutls-peer-status' (if Emacs is built with GnuTLS support).
943 779
944** Tramp 780** Tramp
945 781
946+++
947*** New connection method "afp", which allows you to access Mac OS X 782*** New connection method "afp", which allows you to access Mac OS X
948volumes via the Apple Filing Protocol. 783volumes via the Apple Filing Protocol.
949 784
950+++
951*** New connection method "nc", which allows you to access dumb 785*** New connection method "nc", which allows you to access dumb
952busyboxes. 786busyboxes.
953 787
954+++
955*** Method-specific parameters can be overwritten now with variable 788*** Method-specific parameters can be overwritten now with variable
956'tramp-connection-properties'. 789'tramp-connection-properties'.
957 790
958---
959*** Handler for 'file-notify-valid-p' for remote machines that support 791*** Handler for 'file-notify-valid-p' for remote machines that support
960filesystem notifications. 792filesystem notifications.
961 793
962** SQL mode 794** SQL mode
963 795
964---
965*** New user variable 'sql-default-directory' enables remote 796*** New user variable 'sql-default-directory' enables remote
966connections using Tramp. 797connections using Tramp.
967 798
968---
969*** New command 'sql-send-line-and-next'. 799*** New command 'sql-send-line-and-next'.
970This command, bound to 'C-c C-n' by default, sends the current line to 800This command, bound to 'C-c C-n' by default, sends the current line to
971the SQL process and advances to the next line, skipping whitespace and 801the SQL process and advances to the next line, skipping whitespace and
972comments. 802comments.
973 803
974---
975*** Added support for Vertica SQL. 804*** Added support for Vertica SQL.
976 805
977** VC and related modes 806** VC and related modes
978 807
979+++
980*** Basic push support, via 'vc-push', bound to 'C-x v P'. 808*** Basic push support, via 'vc-push', bound to 'C-x v P'.
981Implemented for Bzr, Git, Hg. As part of this change, the pre-existing 809Implemented for Bzr, Git, Hg. As part of this change, the pre-existing
982(undocumented) command 'vc-hg-push' now behaves slightly differently. 810(undocumented) command 'vc-hg-push' now behaves slightly differently.
983 811
984+++
985*** The new command 'vc-region-history' shows the log+diff of the active region. 812*** The new command 'vc-region-history' shows the log+diff of the active region.
986 813
987+++
988*** You can refresh the VC state of a file buffer with 'M-x vc-refresh-state'. 814*** You can refresh the VC state of a file buffer with 'M-x vc-refresh-state'.
989This command is useful when you perform version control commands 815This command is useful when you perform version control commands
990outside Emacs (e.g., from the shell prompt), or if you switch the VC 816outside Emacs (e.g., from the shell prompt), or if you switch the VC
991back-end for the buffer's file, or remove it from version control. 817back-end for the buffer's file, or remove it from version control.
992 818
993+++
994*** New option 'vc-annotate-background-mode' controls whether 819*** New option 'vc-annotate-background-mode' controls whether
995the color range from 'vc-annotate-color-map' is applied to the 820the color range from 'vc-annotate-color-map' is applied to the
996background or to the foreground. 821background or to the foreground.
997 822
998---
999*** New options for customizing encoding of Git commit log messages. 823*** New options for customizing encoding of Git commit log messages.
1000The new user options 'vc-git-commits-coding-system' and 824The new user options 'vc-git-commits-coding-system' and
1001'vc-git-log-output-coding-system' specify the encoding of log messages 825'vc-git-log-output-coding-system' specify the encoding of log messages
@@ -1006,92 +830,71 @@ i18n.commitEncoding and i18n.logOutputEncoding.
1006('vc-git-commits-coding-system' existed previously, but was a 830('vc-git-commits-coding-system' existed previously, but was a
1007variable, not a user option.) 831variable, not a user option.)
1008 832
1009+++
1010*** 'compare-windows' now compares text with the most recently selected window 833*** 'compare-windows' now compares text with the most recently selected window
1011instead of the next window. If you want the previous behavior of 834instead of the next window. If you want the previous behavior of
1012comparing with the next window, customize the new option 835comparing with the next window, customize the new option
1013'compare-windows-get-window-function' to the value 836'compare-windows-get-window-function' to the value
1014'compare-windows-get-next-window'. 837'compare-windows-get-next-window'.
1015 838
1016---
1017*** Two new faces 'compare-windows-removed' and 'compare-windows-added' 839*** Two new faces 'compare-windows-removed' and 'compare-windows-added'
1018replace the face 'compare-windows', which is now an obsolete alias for 840replace the face 'compare-windows', which is now an obsolete alias for
1019'compare-windows-added'. 841'compare-windows-added'.
1020 842
1021---
1022*** The VC state indicator in the mode line now has different faces 843*** The VC state indicator in the mode line now has different faces
1023corresponding to each of the possible states. See the 'vc-faces' 844corresponding to each of the possible states. See the 'vc-faces'
1024customization group. 845customization group.
1025 846
1026---
1027*** 'log-edit-insert-changelog' converts "(tiny change)" to 847*** 'log-edit-insert-changelog' converts "(tiny change)" to
1028"Copyright-paperwork-exempt: yes". Set 'log-edit-rewrite-tiny-change' 848"Copyright-paperwork-exempt: yes". Set 'log-edit-rewrite-tiny-change'
1029nil to disable this. 849nil to disable this.
1030 850
1031+++
1032*** vc-mcvs.el has been removed. 851*** vc-mcvs.el has been removed.
1033 852
1034---
1035** VHDL mode now supports VHDL'08. 853** VHDL mode now supports VHDL'08.
1036 854
1037** Calculator 855** Calculator
1038 856
1039---
1040*** Decimal display mode uses "," groups, so it's more 857*** Decimal display mode uses "," groups, so it's more
1041fitting for use in money calculations 858fitting for use in money calculations
1042 859
1043---
1044*** Factorial works with non-integer inputs. 860*** Factorial works with non-integer inputs.
1045 861
1046** Hide-IfDef mode 862** Hide-IfDef mode
1047 863
1048---
1049*** Hide-IfDef mode now support full C/C++ expressions in macros,
1050macro argument expansion, interactive macro evaluation and automatic 864macro argument expansion, interactive macro evaluation and automatic
1051scanning of #define'd symbols. 865scanning of #define'd symbols.
1052 866
1053---
1054*** New command 'hif-evaluate-macro', bound to 'C-c @ e', displays the 867*** New command 'hif-evaluate-macro', bound to 'C-c @ e', displays the
1055result of evaluating a macro. 868result of evaluating a macro.
1056 869
1057---
1058*** New command 'hif-clear-all-ifdef-define', bound to 'C-c @ C', clears 870*** New command 'hif-clear-all-ifdef-define', bound to 'C-c @ C', clears
1059all defined symbols in 'hide-ifdef-env'. 871all defined symbols in 'hide-ifdef-env'.
1060 872
1061---
1062*** New custom variable 'hide-ifdef-header-regexp' to define C/C++ header
1063file name patterns. Defaults to files whose extension is one of '.h', 873file name patterns. Defaults to files whose extension is one of '.h',
1064'.hh', '.hpp', '.hxx', or '.h++', matched case-insensitively.
1065 874
1066---
1067*** New custom variable 'hide-ifdef-expand-reinclusion-protection' to prevent 875*** New custom variable 'hide-ifdef-expand-reinclusion-protection' to prevent
1068reinclusion protected (a.k.a. "idempotent") header files from being hidden. 876reinclusion protected (a.k.a. "idempotent") header files from being hidden.
1069(This could happen when an idempotent header file is visited again, 877(This could happen when an idempotent header file is visited again,
1070when its guard symbol is already defined.) Defaults to t. 878when its guard symbol is already defined.) Defaults to t.
1071 879
1072---
1073*** New custom variable 'hide-ifdef-exclude-define-regexp' to define symbol 880*** New custom variable 'hide-ifdef-exclude-define-regexp' to define symbol
1074name patterns (e.g. all "FOR_DOXYGEN_ONLY_*") to be ignored when 881name patterns (e.g. all "FOR_DOXYGEN_ONLY_*") to be ignored when
1075looking for macro definitions. By default, no symbols are ignored. 882looking for macro definitions. By default, no symbols are ignored.
1076 883
1077** TeX mode 884** TeX mode
1078 885
1079+++
1080*** New custom variable 'tex-print-file-extension' to help users who 886*** New custom variable 'tex-print-file-extension' to help users who
1081use PDF instead of DVI. 887use PDF instead of DVI.
1082 888
1083+++
1084*** TeX mode now supports Prettify Symbols mode. When enabling 889*** TeX mode now supports Prettify Symbols mode. When enabling
1085'prettify-symbols-mode' in a tex-mode buffer, \alpha ... \omega, and 890'prettify-symbols-mode' in a tex-mode buffer, \alpha ... \omega, and
1086many other math macros are displayed using unicode characters. 891many other math macros are displayed using unicode characters.
1087 892
1088+++
1089** New 'big-indent' style in 'whitespace-mode' highlights deep indentation. 893** New 'big-indent' style in 'whitespace-mode' highlights deep indentation.
1090By default, 32 consecutive spaces or four consecutive TABs are 894By default, 32 consecutive spaces or four consecutive TABs are
1091considered to be too deep, but the new variable 895considered to be too deep, but the new variable
1092'whitespace-big-indent-regexp' can be customized to change that. 896'whitespace-big-indent-regexp' can be customized to change that.
1093 897
1094---
1095** New options in 'tildify-mode'. 898** New options in 'tildify-mode'.
1096New options 'tildify-space-string', 'tildify-pattern', and 899New options 'tildify-space-string', 'tildify-pattern', and
1097'tildify-foreach-region-function' variables make 900'tildify-foreach-region-function' variables make
@@ -1099,7 +902,6 @@ New options 'tildify-space-string', 'tildify-pattern', and
1099'tildify-ignored-environments-alist' variables (as well as a few 902'tildify-ignored-environments-alist' variables (as well as a few
1100helper functions) obsolete. 903helper functions) obsolete.
1101 904
1102+++
1103** New package Xref replaces Etags's front-end and UI. 905** New package Xref replaces Etags's front-end and UI.
1104 906
1105The new package Xref provides a generic framework and new commands to 907The new package Xref provides a generic framework and new commands to
@@ -1127,11 +929,9 @@ As a result of this, the following commands are now obsolete:
1127'tags-search' and 'tags-query-replace', for which there are no direct 929'tags-search' and 'tags-query-replace', for which there are no direct
1128replacements yet. 930replacements yet.
1129 931
1130+++
1131*** Variants of 'tags-search' and 'tags-query-replace' in Dired were also 932*** Variants of 'tags-search' and 'tags-query-replace' in Dired were also
1132replaced by xref-style commands, see the "Dired" section below. 933replaced by xref-style commands, see the "Dired" section below.
1133 934
1134+++
1135*** New variables 935*** New variables
1136 936
1137'find-tag-marker-ring-length' is now an obsolete alias for 937'find-tag-marker-ring-length' is now an obsolete alias for
@@ -1140,7 +940,6 @@ alias for a private variable. 'xref-push-marker-stack' and
1140'xref-pop-marker-stack' should be used instead to manipulate the stack 940'xref-pop-marker-stack' should be used instead to manipulate the stack
1141of searches for definitions. 941of searches for definitions.
1142 942
1143---
1144*** 'xref-find-definitions' and 'describe-function' now display 943*** 'xref-find-definitions' and 'describe-function' now display
1145information about mode local overrides (defined by cedet/mode-local.el 944information about mode local overrides (defined by cedet/mode-local.el
1146'define-overloadable-function' 'define-mode-local-overrides'). 945'define-overloadable-function' 'define-mode-local-overrides').
@@ -1148,7 +947,6 @@ information about mode local overrides (defined by cedet/mode-local.el
1148The framework's Lisp API is still experimental and can change in major, 947The framework's Lisp API is still experimental and can change in major,
1149backward-incompatible ways. 948backward-incompatible ways.
1150 949
1151---
1152** New package Project 950** New package Project
1153 951
1154The new package Project provides generic infrastructure for dealing 952The new package Project provides generic infrastructure for dealing
@@ -1160,69 +958,54 @@ The Lisp API of this package is still experimental.
1160** EUDC 958** EUDC
1161EUDC's LDAP backend has been improved. 959EUDC's LDAP backend has been improved.
1162 960
1163+++
1164*** EUDC supports LDAP-over-SSL URLs (ldaps://). 961*** EUDC supports LDAP-over-SSL URLs (ldaps://).
1165 962
1166---
1167*** EUDC passes LDAP passwords through a pipe to the ldapsearch 963*** EUDC passes LDAP passwords through a pipe to the ldapsearch
1168subprocess instead of on the command line. 964subprocess instead of on the command line.
1169 965
1170---
1171*** EUDC handles LDAP wildcards automatically so the user shouldn't 966*** EUDC handles LDAP wildcards automatically so the user shouldn't
1172need to configure this manually anymore. 967need to configure this manually anymore.
1173 968
1174+++
1175*** The LDAP configuration section of EUDC's manual has been 969*** The LDAP configuration section of EUDC's manual has been
1176rewritten. 970rewritten.
1177 971
1178There have also been customization changes. 972There have also been customization changes.
1179 973
1180+++
1181*** New custom variable 'eudc-server-hotlist' to allow specifying 974*** New custom variable 'eudc-server-hotlist' to allow specifying
1182multiple EUDC servers in init file. 975multiple EUDC servers in init file.
1183 976
1184+++
1185*** Custom variable 'eudc-inline-query-format' defaults to completing 977*** Custom variable 'eudc-inline-query-format' defaults to completing
1186on email and firstname instead of surname. 978on email and firstname instead of surname.
1187 979
1188---
1189*** Custom variable 'eudc-expansion-overwrites-query' defaults to nil 980*** Custom variable 'eudc-expansion-overwrites-query' defaults to nil
1190to avoid interfering with the kill ring. 981to avoid interfering with the kill ring.
1191 982
1192+++
1193*** Custom variable 'eudc-inline-expansion-format' defaults to 983*** Custom variable 'eudc-inline-expansion-format' defaults to
1194"Firstname Surname <mail-address>". 984"Firstname Surname <mail-address>".
1195 985
1196+++
1197*** Custom variable 'eudc-options-file' defaults to 986*** Custom variable 'eudc-options-file' defaults to
1198"~/.emacs.d/eudc-options". 987"~/.emacs.d/eudc-options".
1199 988
1200---
1201*** New custom variable 'ldap-ldapsearch-password-prompt-regexp' to 989*** New custom variable 'ldap-ldapsearch-password-prompt-regexp' to
1202allow overriding the regular expression that recognizes the ldapsearch 990allow overriding the regular expression that recognizes the ldapsearch
1203command line's password prompt. 991command line's password prompt.
1204 992
1205---
1206EUDC's BBDB backend now supports BBDB 3. 993EUDC's BBDB backend now supports BBDB 3.
1207 994
1208---
1209EUDC's PH backend (eudcb-ph.el) is obsolete. 995EUDC's PH backend (eudcb-ph.el) is obsolete.
1210 996
1211** Eshell 997** Eshell
1212 998
1213+++
1214*** The new built-in command 'clear' can scroll window contents out of sight. 999*** The new built-in command 'clear' can scroll window contents out of sight.
1215If provided with an optional non-nil argument, the scrollback contents 1000If provided with an optional non-nil argument, the scrollback contents
1216will be cleared. 1001will be cleared.
1217 1002
1218+++
1219*** New buffer syntax '#<buffer-name>', which is equivalent to 1003*** New buffer syntax '#<buffer-name>', which is equivalent to
1220'#<buffer buffer-name>'. This shorthand makes interacting with 1004'#<buffer buffer-name>'. This shorthand makes interacting with
1221buffers from eshell more convenient. Custom variable 1005buffers from eshell more convenient. Custom variable
1222'eshell-buffer-shorthand', which has been broken for a while, has been 1006'eshell-buffer-shorthand', which has been broken for a while, has been
1223removed. 1007removed.
1224 1008
1225+++
1226*** By default, eshell "visual" program buffers (created by 1009*** By default, eshell "visual" program buffers (created by
1227'eshell-visual-commands' and similar custom vars) are no longer killed 1010'eshell-visual-commands' and similar custom vars) are no longer killed
1228when their processes die. This fixes issues with short-lived commands 1011when their processes die. This fixes issues with short-lived commands
@@ -1233,55 +1016,43 @@ make the new option 'eshell-destroy-buffer-when-process-dies' non-nil.
1233 1016
1234** Browse-url 1017** Browse-url
1235 1018
1236---
1237*** Support for the Google Chrome web browser. 1019*** Support for the Google Chrome web browser.
1238 1020
1239---
1240*** Support for the Conkeror web browser. 1021*** Support for the Conkeror web browser.
1241 1022
1242---
1243*** Support for several ancient browsers is now officially obsolete. 1023*** Support for several ancient browsers is now officially obsolete.
1244 1024
1245+++
1246** 'tar-mode': new 'tar-new-entry' command, allowing for new members to 1025** 'tar-mode': new 'tar-new-entry' command, allowing for new members to
1247be added to the archive. 1026be added to the archive.
1248 1027
1249** Autorevert 1028** Autorevert
1250 1029
1251---
1252*** Dired buffers are also auto-reverted via file notifications, if 1030*** Dired buffers are also auto-reverted via file notifications, if
1253Emacs is compiled with file notification support. 1031Emacs is compiled with file notification support.
1254 1032
1255---
1256*** 'auto-revert-use-notify' is set to nil in 'global-auto-revert-mode'. 1033*** 'auto-revert-use-notify' is set to nil in 'global-auto-revert-mode'.
1257See <http://debbugs.gnu.org/22814>. 1034See <http://debbugs.gnu.org/22814>.
1258 1035
1259** File Notifications 1036** File Notifications
1260 1037
1261+++
1262*** The kqueue library is integrated for *BSD and Mac OS X machines. 1038*** The kqueue library is integrated for *BSD and Mac OS X machines.
1263 1039
1264+++
1265*** The new event 'stopped' signals, that a file notification watch is 1040*** The new event 'stopped' signals, that a file notification watch is
1266not active any longer. 1041not active any longer.
1267 1042
1268+++
1269*** The new function 'file-notify-valid-p' checks, whether a file 1043*** The new function 'file-notify-valid-p' checks, whether a file
1270notification descriptor still corresponds to an activate watch. 1044notification descriptor still corresponds to an activate watch.
1271 1045
1272** Dired 1046** Dired
1273 1047
1274+++
1275*** The command 'dired-do-compress', bound to 'Z', now can compress 1048*** The command 'dired-do-compress', bound to 'Z', now can compress
1276directories and decompress zip files. 1049directories and decompress zip files.
1277 1050
1278+++
1279*** New command 'dired-do-compress-to', bound to 'c', can be used to 1051*** New command 'dired-do-compress-to', bound to 'c', can be used to
1280compress many marked files into a single named archive. The 1052compress many marked files into a single named archive. The
1281compression command is determined from the new 1053compression command is determined from the new
1282'dired-compress-files-alist' variable. 1054'dired-compress-files-alist' variable.
1283 1055
1284+++
1285*** New user interface for the 'A' and 'Q' commands. 1056*** New user interface for the 'A' and 'Q' commands.
1286These keys, now bound to 'dired-do-find-regexp' and 1057These keys, now bound to 'dired-do-find-regexp' and
1287'dired-do-find-regexp-and-replace', work similarly to 'xref-find-apropos' 1058'dired-do-find-regexp-and-replace', work similarly to 'xref-find-apropos'
@@ -1295,28 +1066,23 @@ back. We intend to obsolete the old commands in a future release.
1295 1066
1296** Tabulated List Mode 1067** Tabulated List Mode
1297 1068
1298+++
1299*** It is now safe for a mode that derives 'tabulated-list-mode' to not 1069*** It is now safe for a mode that derives 'tabulated-list-mode' to not
1300call 'tabulated-list-init-header', in which case it will have no 1070call 'tabulated-list-init-header', in which case it will have no
1301header. 1071header.
1302 1072
1303+++
1304*** 'tabulated-list-print' takes a second optional argument, UPDATE, 1073*** 'tabulated-list-print' takes a second optional argument, UPDATE,
1305which specifies an alternative printing method which is faster when 1074which specifies an alternative printing method which is faster when
1306few or no entries have changed. 1075few or no entries have changed.
1307 1076
1308** Obsolete packages 1077** Obsolete packages
1309 1078
1310---
1311*** gulp.el 1079*** gulp.el
1312 1080
1313---
1314*** landmark.el (moved to elpa.gnu.org) 1081*** landmark.el (moved to elpa.gnu.org)
1315 1082
1316 1083
1317* New Modes and Packages in Emacs 25.1 1084* New Modes and Packages in Emacs 25.1
1318 1085
1319---
1320** pinentry.el allows GnuPG passphrase to be prompted through the 1086** pinentry.el allows GnuPG passphrase to be prompted through the
1321minibuffer instead of a graphical dialog, depending on whether the gpg 1087minibuffer instead of a graphical dialog, depending on whether the gpg
1322command is called from Emacs (i.e., INSIDE_EMACS environment variable 1088command is called from Emacs (i.e., INSIDE_EMACS environment variable
@@ -1325,60 +1091,49 @@ later) and Pinentry (0.9.5 or later). To use this feature, add
1325"allow-emacs-pinentry" to "~/.gnupg/gpg-agent.conf" and reload the 1091"allow-emacs-pinentry" to "~/.gnupg/gpg-agent.conf" and reload the
1326configuration with "gpgconf --reload gpg-agent". 1092configuration with "gpgconf --reload gpg-agent".
1327 1093
1328+++
1329** cl-generic.el provides CLOS-style multiple-dispatch generic functions. 1094** cl-generic.el provides CLOS-style multiple-dispatch generic functions.
1330The main entry points are 'cl-defgeneric' and 'cl-defmethod'. See the 1095The main entry points are 'cl-defgeneric' and 'cl-defmethod'. See the
1331node "Generic Functions" in the Emacs Lisp manual for more details. 1096node "Generic Functions" in the Emacs Lisp manual for more details.
1332 1097
1333---
1334** 'scss-mode' (a minor variant of 'css-mode') is a major mode for editing 1098** 'scss-mode' (a minor variant of 'css-mode') is a major mode for editing
1335SCSS (Sassy CSS) files. 1099SCSS (Sassy CSS) files.
1336 1100
1337---
1338** 'let-alist' is a new macro (and a package) that allows one to easily 1101** 'let-alist' is a new macro (and a package) that allows one to easily
1339let-bind the values stored in an alist. 1102let-bind the values stored in an alist.
1340 1103
1341---
1342** 'tildify-mode' allows automatic insertion of hard spaces as one 1104** 'tildify-mode' allows automatic insertion of hard spaces as one
1343types the text. Breaking line after a single-character words is 1105types the text. Breaking line after a single-character words is
1344forbidden by Czech and Polish typography (and may be discouraged in 1106forbidden by Czech and Polish typography (and may be discouraged in
1345other languages), so 'auto-tildify-mode' makes it easier to create 1107other languages), so 'auto-tildify-mode' makes it easier to create
1346a typographically-correct documents. 1108a typographically-correct documents.
1347 1109
1348---
1349** The 'seq' library adds sequence manipulation functions and macros 1110** The 'seq' library adds sequence manipulation functions and macros
1350that complement basic functions provided by subr.el. All functions 1111that complement basic functions provided by subr.el. All functions
1351are prefixed with 'seq-' and work on lists, strings and vectors. 1112are prefixed with 'seq-' and work on lists, strings and vectors.
1352'pcase' accepts a new Upattern 'seq'. 1113'pcase' accepts a new Upattern 'seq'.
1353 1114
1354---
1355** The 'map' library provides map-manipulation functions that work on 1115** The 'map' library provides map-manipulation functions that work on
1356alists, hash-table and arrays. All functions are prefixed with 1116alists, hash-table and arrays. All functions are prefixed with
1357'map-'. 'pcase' accepts a new UPattern 'map'. 1117'map-'. 'pcase' accepts a new UPattern 'map'.
1358 1118
1359---
1360** The 'thunk' library provides functions and macros to control the 1119** The 'thunk' library provides functions and macros to control the
1361evaluation of forms. 1120evaluation of forms.
1362 1121
1363---
1364** 'js-jsx-mode' (a minor variant of 'js-mode') provides indentation 1122** 'js-jsx-mode' (a minor variant of 'js-mode') provides indentation
1365support for JSX, an XML-like syntax extension to ECMAScript. 1123support for JSX, an XML-like syntax extension to ECMAScript.
1366 1124
1367 1125
1368* Incompatible Lisp Changes in Emacs 25.1 1126* Incompatible Lisp Changes in Emacs 25.1
1369 1127
1370---
1371** 'setq' and 'setf' must now be called with an even number of 1128** 'setq' and 'setf' must now be called with an even number of
1372arguments. The earlier behavior of silently supplying a nil to the 1129arguments. The earlier behavior of silently supplying a nil to the
1373last variable when there was an odd number of arguments has been 1130last variable when there was an odd number of arguments has been
1374eliminated. 1131eliminated.
1375 1132
1376+++
1377** 'syntax-begin-function' is declared obsolete. 1133** 'syntax-begin-function' is declared obsolete.
1378Removed 'font-lock-beginning-of-syntax-function' and the SYNTAX-BEGIN 1134Removed 'font-lock-beginning-of-syntax-function' and the SYNTAX-BEGIN
1379slot in 'font-lock-defaults'. 1135slot in 'font-lock-defaults'.
1380 1136
1381+++
1382** The new implementation of Subword mode affects word movement everywhere. 1137** The new implementation of Subword mode affects word movement everywhere.
1383When Subword mode is turned on, 'forward-word', 'backward-word', and 1138When Subword mode is turned on, 'forward-word', 'backward-word', and
1384everything that uses them will move by sub-words, effectively 1139everything that uses them will move by sub-words, effectively
@@ -1386,19 +1141,16 @@ overriding the buffer's syntax table. Lisp programs that shouldn't be
1386affected by Subword mode should call the new functions 1141affected by Subword mode should call the new functions
1387'forward-word-strictly' and 'backward-word-strictly' instead. 1142'forward-word-strictly' and 'backward-word-strictly' instead.
1388 1143
1389+++
1390** 'package-initialize' now sets 'package-enable-at-startup' to nil if 1144** 'package-initialize' now sets 'package-enable-at-startup' to nil if
1391called during startup. Users who call this function in their init 1145called during startup. Users who call this function in their init
1392file and still expect it to be run after startup should set 1146file and still expect it to be run after startup should set
1393'package-enable-at-startup' to t after the call to 1147'package-enable-at-startup' to t after the call to
1394'package-initialize'. 1148'package-initialize'.
1395 1149
1396---
1397** ':global' minor mode use 'setq-default' rather than 'setq'. 1150** ':global' minor mode use 'setq-default' rather than 'setq'.
1398This means that you can't use 'make-local-variable' and expect them to 1151This means that you can't use 'make-local-variable' and expect them to
1399"magically" become buffer-local. 1152"magically" become buffer-local.
1400 1153
1401+++
1402** 'track-mouse' no longer freezes the shape of the mouse pointer. 1154** 'track-mouse' no longer freezes the shape of the mouse pointer.
1403The 'track-mouse' form no longer refrains from changing the shape of 1155The 'track-mouse' form no longer refrains from changing the shape of
1404the mouse pointer for the entire time the body of that form is 1156the mouse pointer for the entire time the body of that form is
@@ -1407,75 +1159,59 @@ large portions of the Emacs display, and want to avoid changes in the
1407pointer shape during dragging, should bind the variable 'track-mouse' 1159pointer shape during dragging, should bind the variable 'track-mouse'
1408to the special value 'dragging' in the body of the form. 1160to the special value 'dragging' in the body of the form.
1409 1161
1410---
1411** The optional PREDICATE argument of 'lisp-complete-symbol' no longer 1162** The optional PREDICATE argument of 'lisp-complete-symbol' no longer
1412has any effect. (This change was made in Emacs 24.4 but was not 1163has any effect. (This change was made in Emacs 24.4 but was not
1413advertised at the time.) 1164advertised at the time.)
1414 1165
1415+++
1416** 'indirect-function' does not signal 'void-function' any more. 1166** 'indirect-function' does not signal 'void-function' any more.
1417This is mostly a bug-fix, since this change was missed back in 24.4 when 1167This is mostly a bug-fix, since this change was missed back in 24.4 when
1418'symbol-function' was changed not to signal 'void-function' any more. 1168'symbol-function' was changed not to signal 'void-function' any more.
1419 1169
1420+++
1421*** As a consequence, the second arg of 'indirect-function' is now obsolete. 1170*** As a consequence, the second arg of 'indirect-function' is now obsolete.
1422 1171
1423+++
1424** 'M-x shell' and 'M-x compile' no longer set the EMACS environment variable. 1172** 'M-x shell' and 'M-x compile' no longer set the EMACS environment variable.
1425This avoids clashing when other programs use the variable for other purposes. 1173This avoids clashing when other programs use the variable for other purposes.
1426Although 'M-x term' still sets EMACS for compatibility with Bash 4.3 1174Although 'M-x term' still sets EMACS for compatibility with Bash 4.3
1427and earlier, this is deprecated and will be phased out when Bash 4.4 1175and earlier, this is deprecated and will be phased out when Bash 4.4
1428or later takes over. Use the INSIDE_EMACS environment variable instead. 1176or later takes over. Use the INSIDE_EMACS environment variable instead.
1429 1177
1430+++
1431** 'save-excursion' does not save&restore the mark any more. 1178** 'save-excursion' does not save&restore the mark any more.
1432Use 'save-mark-and-excursion' if you want the old behavior. 1179Use 'save-mark-and-excursion' if you want the old behavior.
1433 1180
1434+++
1435** 'read-buffer' and 'read-buffer-function' can now be called with a 4th 1181** 'read-buffer' and 'read-buffer-function' can now be called with a 4th
1436argument (PREDICATE). 1182argument (PREDICATE).
1437 1183
1438+++
1439** 'completion-table-dynamic' by default stays in the minibuffer. 1184** 'completion-table-dynamic' by default stays in the minibuffer.
1440The minibuffer will be the current buffer when the function is called. 1185The minibuffer will be the current buffer when the function is called.
1441If you want the old behavior of calling the function in the buffer 1186If you want the old behavior of calling the function in the buffer
1442from which the minibuffer was entered, use the new argument 1187from which the minibuffer was entered, use the new argument
1443SWITCH-BUFFER to 'completion-table-dynamic'. 1188SWITCH-BUFFER to 'completion-table-dynamic'.
1444 1189
1445---
1446** window-configurations no longer record the buffers' marks. 1190** window-configurations no longer record the buffers' marks.
1447 1191
1448---
1449** 'inhibit-modification-hooks' now also inhibits lock-file checks, as 1192** 'inhibit-modification-hooks' now also inhibits lock-file checks, as
1450well as active region handling. 1193well as active region handling.
1451 1194
1452+++
1453** 'deactivate-mark' is now buffer-local. 1195** 'deactivate-mark' is now buffer-local.
1454 1196
1455+++
1456** 'cl-the' now asserts that its argument is of the given type. 1197** 'cl-the' now asserts that its argument is of the given type.
1457 1198
1458+++
1459** 'process-running-child-p' may now return a numeric process 1199** 'process-running-child-p' may now return a numeric process
1460group ID instead of t. 1200group ID instead of t.
1461 1201
1462+++
1463** Mouse click events on mode line or header line no longer include 1202** Mouse click events on mode line or header line no longer include
1464any reference to a buffer position. The 6th member of the mouse 1203any reference to a buffer position. The 6th member of the mouse
1465position list returned for such events is now nil. 1204position list returned for such events is now nil.
1466 1205
1467---
1468** Menu items in keymaps do not support the "key shortcut cache" any more. 1206** Menu items in keymaps do not support the "key shortcut cache" any more.
1469These slots used to hold key-shortcut data, but have been obsolete since 1207These slots used to hold key-shortcut data, but have been obsolete since
1470Emacs 21. 1208Emacs 21.
1471 1209
1472---
1473** Emacs no longer downcases the first letter of a system diagnostic 1210** Emacs no longer downcases the first letter of a system diagnostic
1474when signaling a file error. For example, it now reports "Permission 1211when signaling a file error. For example, it now reports "Permission
1475denied" instead of "permission denied". The old behavior was problematic 1212denied" instead of "permission denied". The old behavior was problematic
1476in languages like German where downcasing rules depend on grammar. 1213in languages like German where downcasing rules depend on grammar.
1477 1214
1478+++
1479** New variable 'text-quoting-style' to control how Emacs translates quotes. 1215** New variable 'text-quoting-style' to control how Emacs translates quotes.
1480Set it to 'curve' for curved single quotes, to 'straight' for straight 1216Set it to 'curve' for curved single quotes, to 'straight' for straight
1481apostrophes, and to 'grave' for grave accent and apostrophe. The 1217apostrophes, and to 'grave' for grave accent and apostrophe. The
@@ -1484,7 +1220,6 @@ displayable, and like 'grave' otherwise. The new variable affects
1484display of diagnostics and help, but not of info. As the variable is 1220display of diagnostics and help, but not of info. As the variable is
1485not intended for casual use, it is not a user option. 1221not intended for casual use, it is not a user option.
1486 1222
1487+++
1488** Message-issuing functions like 'message' and 'error' now translate 1223** Message-issuing functions like 'message' and 'error' now translate
1489various sorts of single quotes in their format strings according to 1224various sorts of single quotes in their format strings according to
1490the value of 'text-quoting-style' (see above). This translation 1225the value of 'text-quoting-style' (see above). This translation
@@ -1492,20 +1227,17 @@ cannot be disabled. To get the old behavior, use 'format', which is
1492not affected by 'text-quoting-style', e.g., (message "%s" (format 1227not affected by 'text-quoting-style', e.g., (message "%s" (format
1493"...." foo bar)). 1228"...." foo bar)).
1494 1229
1495+++
1496** 'substitute-command-keys' now replaces quotes. 1230** 'substitute-command-keys' now replaces quotes.
1497That is, it converts documentation strings' quoting style as per the 1231That is, it converts documentation strings' quoting style as per the
1498value of 'text-quoting-style'. Doc strings in source code can use 1232value of 'text-quoting-style'. Doc strings in source code can use
1499either curved single quotes or grave accents and apostrophes. As 1233either curved single quotes or grave accents and apostrophes. As
1500before, characters preceded by \= are output as-is. 1234before, characters preceded by \= are output as-is.
1501 1235
1502+++
1503** The character classes [:alpha:] and [:alnum:] in regular expressions 1236** The character classes [:alpha:] and [:alnum:] in regular expressions
1504now match multibyte characters using Unicode character properties. 1237now match multibyte characters using Unicode character properties.
1505If you want the old behavior where they matched any character with 1238If you want the old behavior where they matched any character with
1506word syntax, use '\sw' instead. 1239word syntax, use '\sw' instead.
1507 1240
1508+++
1509** The character classes [:graph:] and [:print:] in regular expressions 1241** The character classes [:graph:] and [:print:] in regular expressions
1510no longer match every multibyte character. Instead, Emacs now 1242no longer match every multibyte character. Instead, Emacs now
1511consults the Unicode character properties to determine which 1243consults the Unicode character properties to determine which
@@ -1513,23 +1245,19 @@ characters are graphic or printable. In particular, surrogates and
1513unassigned codepoints are now rejected. If you want the old behavior, 1245unassigned codepoints are now rejected. If you want the old behavior,
1514use [:multibyte:] instead. 1246use [:multibyte:] instead.
1515 1247
1516+++
1517** The 'diff' command uses the unified format now. To restore the old 1248** The 'diff' command uses the unified format now. To restore the old
1518behavior, set 'diff-switches' to '-c'. 1249behavior, set 'diff-switches' to '-c'.
1519 1250
1520---
1521** 'grep-template' and 'grep-find-template' values don't include the 1251** 'grep-template' and 'grep-find-template' values don't include the
1522--color argument anymore. It's added at the <C> place holder position 1252--color argument anymore. It's added at the <C> place holder position
1523dynamically. Any third-party code that changes these templates should 1253dynamically. Any third-party code that changes these templates should
1524be updated accordingly. 1254be updated accordingly.
1525 1255
1526+++
1527** '(/ N)' is now equivalent to '(/ 1 N)' rather than to '(/ N 1)'. 1256** '(/ N)' is now equivalent to '(/ 1 N)' rather than to '(/ N 1)'.
1528The new behavior is compatible with Common Lisp and with XEmacs. 1257The new behavior is compatible with Common Lisp and with XEmacs.
1529This change does not affect Lisp code intended to be portable to 1258This change does not affect Lisp code intended to be portable to
1530Emacs 24.2 and earlier, which did not support unary '/'. 1259Emacs 24.2 and earlier, which did not support unary '/'.
1531 1260
1532+++
1533** The 'default-directory' value doesn't have to end slash. To make 1261** The 'default-directory' value doesn't have to end slash. To make
1534that happen, 'unhandled-file-name-directory' now defaults to calling 1262that happen, 'unhandled-file-name-directory' now defaults to calling
1535'file-name-as-directory'. 1263'file-name-as-directory'.
@@ -1538,62 +1266,48 @@ that happen, 'unhandled-file-name-directory' now defaults to calling
1538* Lisp Changes in Emacs 25.1 1266* Lisp Changes in Emacs 25.1
1539 1267
1540** 'pcase' 1268** 'pcase'
1541+++
1542*** New UPatterns 'quote', 'app'. 1269*** New UPatterns 'quote', 'app'.
1543+++
1544*** New UPatterns can be defined with 'pcase-defmacro'. 1270*** New UPatterns can be defined with 'pcase-defmacro'.
1545+++
1546*** New vector QPattern. 1271*** New vector QPattern.
1547 1272
1548---
1549** 'syntax-propertize' is now automatically called on-demand during forward 1273** 'syntax-propertize' is now automatically called on-demand during forward
1550parsing functions like 'forward-sexp'. 1274parsing functions like 'forward-sexp'.
1551 1275
1552+++
1553** New hooks 'prefix-command-echo-keystrokes-functions' and 1276** New hooks 'prefix-command-echo-keystrokes-functions' and
1554'prefix-command-preserve-state-hook' allow the definition of prefix 1277'prefix-command-preserve-state-hook' allow the definition of prefix
1555commands other than the predefined 'C-u'. 1278commands other than the predefined 'C-u'.
1556 1279
1557+++
1558** New functions 'filepos-to-bufferpos' and 'bufferpos-to-filepos'. 1280** New functions 'filepos-to-bufferpos' and 'bufferpos-to-filepos'.
1559These allow conversion between buffer positions and the corresponding 1281These allow conversion between buffer positions and the corresponding
1560file byte offsets, given the file's encoding. 1282file byte offsets, given the file's encoding.
1561 1283
1562+++
1563** The default value of 'load-read-function' is now 'read'. 1284** The default value of 'load-read-function' is now 'read'.
1564Previously, the default value of nil implied using 'read'. 1285Previously, the default value of nil implied using 'read'.
1565 1286
1566+++
1567** New hook 'pre-redisplay-functions'. 1287** New hook 'pre-redisplay-functions'.
1568It is a bit easier to use than 'pre-redisplay-function'. 1288It is a bit easier to use than 'pre-redisplay-function'.
1569 1289
1570+++
1571** The second arg of 'looking-back' should always be provided explicitly. 1290** The second arg of 'looking-back' should always be provided explicitly.
1572Previously, it was an optional argument, now it's mandatory. 1291Previously, it was an optional argument, now it's mandatory.
1573 1292
1574+++
1575** Text properties 'intangible', 'point-entered', and 'point-left' are obsolete. 1293** Text properties 'intangible', 'point-entered', and 'point-left' are obsolete.
1576Replaced by properties 'cursor-intangible' and 'cursor-sensor-functions', 1294Replaced by properties 'cursor-intangible' and 'cursor-sensor-functions',
1577implemented by the new 'cursor-intangible-mode' and 1295implemented by the new 'cursor-intangible-mode' and
1578'cursor-sensor-mode' minor modes. 1296'cursor-sensor-mode' minor modes.
1579 1297
1580+++
1581** 'inhibit-point-motion-hooks' now defaults to t and is obsolete. 1298** 'inhibit-point-motion-hooks' now defaults to t and is obsolete.
1582Use the new minor modes 'cursor-intangible-mode' and 1299Use the new minor modes 'cursor-intangible-mode' and
1583'cursor-sensor-mode' instead. 1300'cursor-sensor-mode' instead.
1584 1301
1585+++
1586** New process type 'pipe', which can be used in combination with the 1302** New process type 'pipe', which can be used in combination with the
1587':stderr' keyword of 'make-process' to handle standard error output 1303':stderr' keyword of 'make-process' to handle standard error output
1588of subprocess. 1304of subprocess.
1589 1305
1590+++
1591** New function 'make-process' provides an alternative interface to 1306** New function 'make-process' provides an alternative interface to
1592'start-process'. It allows programs to set process parameters such as 1307'start-process'. It allows programs to set process parameters such as
1593process filter, sentinel, etc., through keyword arguments (similar to 1308process filter, sentinel, etc., through keyword arguments (similar to
1594'make-network-process'). 1309'make-network-process').
1595 1310
1596+++
1597** Subprocesses are automatically told about changes in window dimensions. 1311** Subprocesses are automatically told about changes in window dimensions.
1598The new option 'window-adjust-process-window-size-function' controls 1312The new option 'window-adjust-process-window-size-function' controls
1599how subprocesses are told to adapt their logical window sizes to 1313how subprocesses are told to adapt their logical window sizes to
@@ -1601,48 +1315,36 @@ changes in the Emacs window configuration. Its default value calls
1601'set-process-window-size' with the smallest dimensions of all the 1315'set-process-window-size' with the smallest dimensions of all the
1602windows that display the subprocess's buffer. 1316windows that display the subprocess's buffer.
1603 1317
1604+++
1605** A new function 'directory-files-recursively' returns all matching 1318** A new function 'directory-files-recursively' returns all matching
1606files (recursively) under a directory. 1319files (recursively) under a directory.
1607 1320
1608+++
1609** New variable 'inhibit-message', when bound to non-nil, inhibits 1321** New variable 'inhibit-message', when bound to non-nil, inhibits
1610'message' and related functions from displaying messages in the echo 1322'message' and related functions from displaying messages in the echo
1611area. The output is still logged to the '*Messages*' buffer. 1323area. The output is still logged to the '*Messages*' buffer.
1612 1324
1613+++
1614** A new text property 'inhibit-read-only' can be used in read-only 1325** A new text property 'inhibit-read-only' can be used in read-only
1615buffers to allow certain parts of the text to be writable. 1326buffers to allow certain parts of the text to be writable.
1616 1327
1617+++
1618** A new variable 'comment-end-can-be-escaped' is useful in languages 1328** A new variable 'comment-end-can-be-escaped' is useful in languages
1619such as C and C++ where line comments with escaped newlines are
1620continued to the next line. 1329continued to the next line.
1621 1330
1622+++
1623** New macro 'define-advice'. 1331** New macro 'define-advice'.
1624 1332
1625+++
1626** Emacs Lisp now supports generators. 1333** Emacs Lisp now supports generators.
1627See the "Generators" section of the ELisp manual for the details. 1334See the "Generators" section of the ELisp manual for the details.
1628 1335
1629+++
1630** New finalizer facility for running code when objects become unreachable. 1336** New finalizer facility for running code when objects become unreachable.
1631See the "Finalizer Type" subsection in the ELisp manual for the 1337See the "Finalizer Type" subsection in the ELisp manual for the
1632details. 1338details.
1633 1339
1634---
1635** Lexical closures can use '(:documentation FORM)' to build their docstring. 1340** Lexical closures can use '(:documentation FORM)' to build their docstring.
1636It should be placed right where the docstring would be, and FORM is then 1341It should be placed right where the docstring would be, and FORM is then
1637evaluated (and should return a string) when the closure is built. 1342evaluated (and should return a string) when the closure is built.
1638 1343
1639+++
1640** 'define-inline' provides a new way to define inlinable functions. 1344** 'define-inline' provides a new way to define inlinable functions.
1641 1345
1642+++
1643** New function 'macroexpand-1' to perform a single step of macro expansion. 1346** New function 'macroexpand-1' to perform a single step of macro expansion.
1644 1347
1645+++
1646** Some "x-*" functions were obsoleted and/or renamed: 1348** Some "x-*" functions were obsoleted and/or renamed:
1647*** 'x-select-text' is renamed 'gui-select-text'. 1349*** 'x-select-text' is renamed 'gui-select-text'.
1648*** 'x-selection-value' is renamed 'gui-selection-value'. 1350*** 'x-selection-value' is renamed 'gui-selection-value'.
@@ -1651,18 +1353,15 @@ evaluated (and should return a string) when the closure is built.
1651*** 'x-get-selection-value' is renamed to 'gui-get-primary-selection'. 1353*** 'x-get-selection-value' is renamed to 'gui-get-primary-selection'.
1652*** 'x-set-selection' is renamed to 'gui-set-selection'. 1354*** 'x-set-selection' is renamed to 'gui-set-selection'.
1653 1355
1654+++
1655** New function 'string-greaterp', which return the opposite result of 1356** New function 'string-greaterp', which return the opposite result of
1656'string-lessp'. 1357'string-lessp'.
1657 1358
1658+++
1659** The new functions 'string-collate-lessp' and 'string-collate-equalp' 1359** The new functions 'string-collate-lessp' and 'string-collate-equalp'
1660preserve the collation order as defined by the system's locale(1) 1360preserve the collation order as defined by the system's locale(1)
1661environment. For the time being this is implemented for modern POSIX 1361environment. For the time being this is implemented for modern POSIX
1662systems and for MS-Windows, for other systems they fall back to their 1362systems and for MS-Windows, for other systems they fall back to their
1663counterparts 'string-lessp' and 'string-equal'. 1363counterparts 'string-lessp' and 'string-equal'.
1664 1364
1665---
1666*** The ls-lisp package uses 'string-collate-lessp' to sort file names. 1365*** The ls-lisp package uses 'string-collate-lessp' to sort file names.
1667The effect is that, on systems that use ls-lisp for Dired, the default 1366The effect is that, on systems that use ls-lisp for Dired, the default
1668sort order of the files in Dired is now different from what it was in 1367sort order of the files in Dired is now different from what it was in
@@ -1673,7 +1372,6 @@ longer appear near the beginning of the directory listing. If you
1673want the old, locale-independent sorting, customize the new option 1372want the old, locale-independent sorting, customize the new option
1674'ls-lisp-use-string-collate' to the nil value. 1373'ls-lisp-use-string-collate' to the nil value.
1675 1374
1676+++
1677*** The MS-Windows specific variable 'w32-collate-ignore-punctuation', 1375*** The MS-Windows specific variable 'w32-collate-ignore-punctuation',
1678if set to a non-nil value, causes the above 2 functions to ignore 1376if set to a non-nil value, causes the above 2 functions to ignore
1679symbol and punctuation characters when collating strings. This 1377symbol and punctuation characters when collating strings. This
@@ -1681,50 +1379,40 @@ emulates the behavior of modern Posix platforms when the locale's
1681codeset is "UTF-8" (as in "en_US.UTF-8"). This is needed because 1379codeset is "UTF-8" (as in "en_US.UTF-8"). This is needed because
1682MS-Windows doesn't support UTF-8 as codeset in its locales. 1380MS-Windows doesn't support UTF-8 as codeset in its locales.
1683 1381
1684+++
1685** New function 'alist-get', which is a generalized variable 1382** New function 'alist-get', which is a generalized variable
1686suitable for use with 'setf'. 1383suitable for use with 'setf'.
1687 1384
1688+++
1689** New function 'funcall-interactively', which works like 'funcall' 1385** New function 'funcall-interactively', which works like 'funcall'
1690but makes 'called-interactively-p' treat the function as (you guessed it) 1386but makes 'called-interactively-p' treat the function as (you guessed it)
1691called interactively. 1387called interactively.
1692 1388
1693+++
1694** New function 'function-put' to use instead of 'put' for function properties. 1389** New function 'function-put' to use instead of 'put' for function properties.
1695 1390
1696+++
1697** The new function 'bidi-find-overridden-directionality' allows you to 1391** The new function 'bidi-find-overridden-directionality' allows you to
1698find characters whose directionality was, perhaps maliciously, 1392find characters whose directionality was, perhaps maliciously,
1699overridden by directional override control characters. Lisp programs 1393overridden by directional override control characters. Lisp programs
1700can use this to detect potential phishing of URLs and other links that 1394can use this to detect potential phishing of URLs and other links that
1701exploits bidirectional display reordering. 1395exploits bidirectional display reordering.
1702 1396
1703+++
1704** The new function 'buffer-substring-with-bidi-context' allows you to 1397** The new function 'buffer-substring-with-bidi-context' allows you to
1705copy a portion of a buffer into a different location while preserving 1398copy a portion of a buffer into a different location while preserving
1706the visual appearance both of the copied text and the text at 1399the visual appearance both of the copied text and the text at
1707destination, even when the copied text includes mixed bidirectional 1400destination, even when the copied text includes mixed bidirectional
1708text and directional control characters. 1401text and directional control characters.
1709 1402
1710+++
1711** New properties that can be specified with 'declare': 1403** New properties that can be specified with 'declare':
1712*** '(interactive-only INSTEAD)', says to use INSTEAD for non-interactive use. 1404*** '(interactive-only INSTEAD)', says to use INSTEAD for non-interactive use.
1713*** '(pure VAL)', if VAL is non-nil, indicates the function is pure. 1405*** '(pure VAL)', if VAL is non-nil, indicates the function is pure.
1714*** '(side-effect-free VAL)', if VAL is non-nil, indicates the function does not 1406*** '(side-effect-free VAL)', if VAL is non-nil, indicates the function does not
1715have side effects. 1407have side effects.
1716 1408
1717+++
1718** New macro 'with-file-modes', for evaluating expressions with default file 1409** New macro 'with-file-modes', for evaluating expressions with default file
1719permissions set to temporary values (e.g., for creating private files). 1410permissions set to temporary values (e.g., for creating private files).
1720 1411
1721+++
1722** You can access the slots of structures using 'cl-struct-slot-value'. 1412** You can access the slots of structures using 'cl-struct-slot-value'.
1723 1413
1724+++
1725** Function 'sort' can deal with vectors. 1414** Function 'sort' can deal with vectors.
1726 1415
1727---
1728** Function 'system-name' now returns an updated value if the current 1416** Function 'system-name' now returns an updated value if the current
1729system's name has changed or if the Emacs process has changed systems. 1417system's name has changed or if the Emacs process has changed systems.
1730To avoid long waits it no longer consults DNS to canonicalize the name 1418To avoid long waits it no longer consults DNS to canonicalize the name
@@ -1732,35 +1420,28 @@ To avoid long waits it no longer consults DNS to canonicalize the name
1732'message-user-fqdn' if this bothers you). The variable 'system-name' 1420'message-user-fqdn' if this bothers you). The variable 'system-name'
1733is now obsolete. 1421is now obsolete.
1734 1422
1735+++
1736** Function 'write-region' no longer outputs "Wrote FILE" in batch mode. 1423** Function 'write-region' no longer outputs "Wrote FILE" in batch mode.
1737 1424
1738---
1739** If 'pwd' is called with a prefix argument, insert the current default 1425** If 'pwd' is called with a prefix argument, insert the current default
1740directory at point. 1426directory at point.
1741 1427
1742+++
1743** New functions return extended information about fonts and faces. 1428** New functions return extended information about fonts and faces.
1744 1429
1745+++
1746*** The function 'font-info' now returns more details about a font. 1430*** The function 'font-info' now returns more details about a font.
1747In particular, it now returns the average width of the font's 1431In particular, it now returns the average width of the font's
1748characters, which can be used for geometry-related calculations. 1432characters, which can be used for geometry-related calculations.
1749 1433
1750+++
1751*** A new function 'default-font-width' returns the average width of a 1434*** A new function 'default-font-width' returns the average width of a
1752character in the current buffer's default font. If the default face 1435character in the current buffer's default font. If the default face
1753is remapped (see 'face-remapping-alist'), the value for the remapped 1436is remapped (see 'face-remapping-alist'), the value for the remapped
1754face is returned. This function complements the existing function 1437face is returned. This function complements the existing function
1755'default-font-height'. 1438'default-font-height'.
1756 1439
1757+++
1758*** New functions 'window-font-height' and 'window-font-width' return 1440*** New functions 'window-font-height' and 'window-font-width' return
1759the height and average width of characters in a specified face and 1441the height and average width of characters in a specified face and
1760window. If FACE is remapped (see 'face-remapping-alist'), the 1442window. If FACE is remapped (see 'face-remapping-alist'), the
1761function returns the information for the remapped face. 1443function returns the information for the remapped face.
1762 1444
1763+++
1764*** A new function 'window-max-chars-per-line' returns the maximal 1445*** A new function 'window-max-chars-per-line' returns the maximal
1765number of characters that can be displayed on one line. If a face 1446number of characters that can be displayed on one line. If a face
1766and/or window are provided, these values are used for the 1447and/or window are provided, these values are used for the
@@ -1768,7 +1449,6 @@ calculation. This function is different from 'window-body-width' in
1768that it accounts for (i) continuation glyphs, (ii) the size of the 1449that it accounts for (i) continuation glyphs, (ii) the size of the
1769font, and (iii) the specified window. 1450font, and (iii) the specified window.
1770 1451
1771---
1772** New utilities in subr-x.el: 1452** New utilities in subr-x.el:
1773 1453
1774*** New macros 'if-let' and 'when-let' allow defining bindings and to 1454*** New macros 'if-let' and 'when-let' allow defining bindings and to
@@ -1777,7 +1457,6 @@ execute code depending whether all values are true.
1777*** New macros 'thread-first' and 'thread-last' allow threading a form 1457*** New macros 'thread-first' and 'thread-last' allow threading a form
1778as the first or last argument of subsequent forms. 1458as the first or last argument of subsequent forms.
1779 1459
1780+++
1781** Documentation strings now support quoting with curved single quotes 1460** Documentation strings now support quoting with curved single quotes
1782in addition to the old style with grave accent and apostrophe. The 1461in addition to the old style with grave accent and apostrophe. The
1783new style looks better on today's displays. In the new Electric Quote 1462new style looks better on today's displays. In the new Electric Quote
@@ -1788,18 +1467,15 @@ works) by typing 'A-[' and 'A-]'. As described above under
1788'text-quoting-style', the user can specify how to display doc string 1467'text-quoting-style', the user can specify how to display doc string
1789quotes. 1468quotes.
1790 1469
1791+++
1792** New function 'format-message' is like 'format' and also converts 1470** New function 'format-message' is like 'format' and also converts
1793curved single quotes, grave accents and apostrophes as per 1471curved single quotes, grave accents and apostrophes as per
1794'text-quoting-style'. 1472'text-quoting-style'.
1795 1473
1796+++
1797** 'show-help-function's arg is converted via 'substitute-command-keys' 1474** 'show-help-function's arg is converted via 'substitute-command-keys'
1798before being passed to the function. Help strings, help-echo 1475before being passed to the function. Help strings, help-echo
1799properties, etc. can therefore contain command key escapes and 1476properties, etc. can therefore contain command key escapes and
1800quotation marks. 1477quotation marks.
1801 1478
1802+++
1803** Time-related changes: 1479** Time-related changes:
1804 1480
1805*** Time conversion functions now accept an optional ZONE argument 1481*** Time conversion functions now accept an optional ZONE argument
@@ -1832,45 +1508,37 @@ been obsoleted.
1832undocumented integer-pair format. Instead, they return a list of two 1508undocumented integer-pair format. Instead, they return a list of two
1833integers. 1509integers.
1834 1510
1835+++
1836** New function 'set-binary-mode' allows switching a standard stream 1511** New function 'set-binary-mode' allows switching a standard stream
1837of the Emacs process to binary I/O mode. 1512of the Emacs process to binary I/O mode.
1838 1513
1839+++
1840** The new function 'directory-name-p' can be used to check whether a file 1514** The new function 'directory-name-p' can be used to check whether a file
1841name (as returned from, for instance, 'file-name-all-completions') is 1515name (as returned from, for instance, 'file-name-all-completions') is
1842a directory file name. It returns non-nil if the last character in 1516a directory file name. It returns non-nil if the last character in
1843the name is a directory separator character (forward slash on GNU and 1517the name is a directory separator character (forward slash on GNU and
1844Unix systems, forward- or backslash on MS-Windows and MS-DOS). 1518Unix systems, forward- or backslash on MS-Windows and MS-DOS).
1845 1519
1846---
1847** ASCII approximations to curved quotes are put in 'standard-display-table' 1520** ASCII approximations to curved quotes are put in 'standard-display-table'
1848if the terminal cannot display curved quotes. 1521if the terminal cannot display curved quotes.
1849 1522
1850+++
1851** Standard output and error streams now transliterate characters via 1523** Standard output and error streams now transliterate characters via
1852'standard-display-table', and encode output using 'locale-coding-system'. 1524'standard-display-table', and encode output using 'locale-coding-system'.
1853To force a specific encoding, bind 'coding-system-for-write' to the 1525To force a specific encoding, bind 'coding-system-for-write' to the
1854coding-system of your choice when invoking functions like 'prin1' and 1526coding-system of your choice when invoking functions like 'prin1' and
1855'message'. 1527'message'.
1856 1528
1857+++
1858** New var 'truncate-string-ellipsis' to choose how to indicate truncation. 1529** New var 'truncate-string-ellipsis' to choose how to indicate truncation.
1859 1530
1860+++
1861** New possible value for 'system-type': 'nacl'. 1531** New possible value for 'system-type': 'nacl'.
1862This is used by Google's Native Client (NaCl). 1532This is used by Google's Native Client (NaCl).
1863 1533
1864** Miscellaneous name change 1534** Miscellaneous name change
1865 1535
1866---
1867For consistency with the usual Emacs spelling, the Lisp variable 1536For consistency with the usual Emacs spelling, the Lisp variable
1868'hfy-optimisations' has been renamed to 'hfy-optimizations'. 1537'hfy-optimisations' has been renamed to 'hfy-optimizations'.
1869The old name should still work, as an obsolescent alias. 1538The old name should still work, as an obsolescent alias.
1870 1539
1871** Changes in Frame- and Window- Handling 1540** Changes in Frame- and Window- Handling
1872 1541
1873+++
1874*** Emacs can now draw horizontal scroll bars on some platforms that 1542*** Emacs can now draw horizontal scroll bars on some platforms that
1875provide toolkit scroll bars, namely Gtk+, Lucid, Motif and Windows. 1543provide toolkit scroll bars, namely Gtk+, Lucid, Motif and Windows.
1876Horizontal scroll bars are turned off by default. 1544Horizontal scroll bars are turned off by default.
@@ -1910,30 +1578,24 @@ bars too.
1910**** New buffer-local variables 'horizontal-scroll-bar' and 1578**** New buffer-local variables 'horizontal-scroll-bar' and
1911'scroll-bar-height'. 1579'scroll-bar-height'.
1912 1580
1913+++
1914*** New functions 'frame-geometry' and 'frame-edges' give access to a 1581*** New functions 'frame-geometry' and 'frame-edges' give access to a
1915frame's geometry. 1582frame's geometry.
1916 1583
1917+++
1918*** New functions 'mouse-absolute-pixel-position' and 1584*** New functions 'mouse-absolute-pixel-position' and
1919'set-mouse-absolute-pixel-position' get/set screen coordinates of the 1585'set-mouse-absolute-pixel-position' get/set screen coordinates of the
1920mouse cursor. 1586mouse cursor.
1921 1587
1922+++
1923*** The function 'window-edges' now accepts three additional arguments to 1588*** The function 'window-edges' now accepts three additional arguments to
1924retrieve body, absolute and pixel edges of the window. 1589retrieve body, absolute and pixel edges of the window.
1925 1590
1926+++
1927*** The functions 'window-inside-edges', 'window-inside-pixel-edges' and 1591*** The functions 'window-inside-edges', 'window-inside-pixel-edges' and
1928'window-inside-absolute-pixel-edges' have been renamed to respectively 1592'window-inside-absolute-pixel-edges' have been renamed to respectively
1929'window-body-edges', 'window-body-pixel-edges' and 1593'window-body-edges', 'window-body-pixel-edges' and
1930'window-absolute-body-pixel-edges'. The old names are kept as aliases. 1594'window-absolute-body-pixel-edges'. The old names are kept as aliases.
1931 1595
1932+++
1933*** New function 'window-absolute-pixel-position' to get the screen 1596*** New function 'window-absolute-pixel-position' to get the screen
1934coordinates of a visible buffer position. 1597coordinates of a visible buffer position.
1935 1598
1936+++
1937*** The height of a frame's menu and tool bar are no longer counted in the 1599*** The height of a frame's menu and tool bar are no longer counted in the
1938frame's text height. This means that the text height stands only for 1600frame's text height. This means that the text height stands only for
1939the height of the frame's root window plus that of the echo area (if 1601the height of the frame's root window plus that of the echo area (if
@@ -1941,7 +1603,6 @@ present). This was already the behavior for frames with external tool
1941and menu bars (like in the Gtk builds) but has now been extended to all 1603and menu bars (like in the Gtk builds) but has now been extended to all
1942builds. 1604builds.
1943 1605
1944+++
1945*** Frames now do not necessarily preserve the number of columns or lines 1606*** Frames now do not necessarily preserve the number of columns or lines
1946they display when setting default font, menu bar, fringe width, or 1607they display when setting default font, menu bar, fringe width, or
1947scroll bars. In particular, maximized and fullscreen frames are 1608scroll bars. In particular, maximized and fullscreen frames are
@@ -1953,23 +1614,19 @@ setting default font, menu bar, fringe width, or scroll bars of a
1953specific frame does not resize that frame in order to preserve the 1614specific frame does not resize that frame in order to preserve the
1954number of columns or lines it displays. 1615number of columns or lines it displays.
1955 1616
1956+++
1957*** New function 'window-preserve-size' allows you to preserve the size of 1617*** New function 'window-preserve-size' allows you to preserve the size of
1958a window without "fixing" it. It's supported by 'fit-window-to-buffer', 1618a window without "fixing" it. It's supported by 'fit-window-to-buffer',
1959'temp-buffer-resize-mode' and 'display-buffer'. 1619'temp-buffer-resize-mode' and 'display-buffer'.
1960 1620
1961+++
1962*** New 'display-buffer' action function 'display-buffer-use-some-frame'. 1621*** New 'display-buffer' action function 'display-buffer-use-some-frame'.
1963This displays the buffer in an existing frame other than the current 1622This displays the buffer in an existing frame other than the current
1964frame, and allows the caller to specify a frame predicate to exclude 1623frame, and allows the caller to specify a frame predicate to exclude
1965frames. 1624frames.
1966 1625
1967+++
1968*** New minor mode 'window-divider-mode' and options 1626*** New minor mode 'window-divider-mode' and options
1969'window-divider-default-places', 'window-divider-default-bottom-width' 1627'window-divider-default-places', 'window-divider-default-bottom-width'
1970and 'window-divider-default-right-width'. 1628and 'window-divider-default-right-width'.
1971 1629
1972+++
1973*** The window displaying the '*Completions*' buffer with minibuffer 1630*** The window displaying the '*Completions*' buffer with minibuffer
1974completion candidates is now shown at the bottom of the selected 1631completion candidates is now shown at the bottom of the selected
1975frame. The size of that window is always as large as required to 1632frame. The size of that window is always as large as required to
@@ -1979,13 +1636,11 @@ to provide space for the '*Completions*' display. The Emacs manual
1979describes how to customize 'display-buffer-alist' to get back the old 1636describes how to customize 'display-buffer-alist' to get back the old
1980behavior, see the node "Temporary Displays" there. 1637behavior, see the node "Temporary Displays" there.
1981 1638
1982---
1983** Tearoff menus and detachable toolbars for Gtk+ have been removed. 1639** Tearoff menus and detachable toolbars for Gtk+ have been removed.
1984Those features have been deprecated in Gtk+ for a long time. 1640Those features have been deprecated in Gtk+ for a long time.
1985 1641
1986** Etags 1642** Etags
1987 1643
1988+++
1989*** etags no longer qualifies class members by default. 1644*** etags no longer qualifies class members by default.
1990 1645
1991By default, 'etags' will not qualify class members for Perl and C-like 1646By default, 'etags' will not qualify class members for Perl and C-like
@@ -1996,22 +1651,18 @@ names it puts in TAGS files. This is so the etags.el back-end for
1996positives. 1651positives.
1997 1652
1998Use --class-qualify (-Q) if you want the old default behavior of 1653Use --class-qualify (-Q) if you want the old default behavior of
1999qualifying class members in C++, Java, Objective C, and Perl. Note
2000that using -Q might make some class members become "unknown" to 'M-.' 1654that using -Q might make some class members become "unknown" to 'M-.'
2001('xref-find-definitions'); if so, you can use 'C-u M-.' to specify the 1655('xref-find-definitions'); if so, you can use 'C-u M-.' to specify the
2002qualified names by hand. 1656qualified names by hand.
2003 1657
2004+++
2005*** New language Ruby 1658*** New language Ruby
2006 1659
2007Names of modules, classes, methods, functions, and constants are 1660Names of modules, classes, methods, functions, and constants are
2008tagged. Overloaded operators are also tagged. 1661tagged. Overloaded operators are also tagged.
2009 1662
2010+++
2011*** New language Go 1663*** New language Go
2012Names of packages, functions, and types are tagged. 1664Names of packages, functions, and types are tagged.
2013 1665
2014+++
2015*** Improved support for Lua 1666*** Improved support for Lua
2016 1667
2017Etags now tags functions even if the "function" keyword follows some 1668Etags now tags functions even if the "function" keyword follows some
@@ -2020,36 +1671,28 @@ whitespace at line beginning.
2020 1671
2021* Changes in Emacs 25.1 on Non-Free Operating Systems 1672* Changes in Emacs 25.1 on Non-Free Operating Systems
2022 1673
2023---
2024** MS-Windows specific Emacs build scripts are no longer in the distribution. 1674** MS-Windows specific Emacs build scripts are no longer in the distribution.
2025This includes the makefile.w32-in files in various subdirectories, and 1675This includes the makefile.w32-in files in various subdirectories, and
2026the support files. The file nt/configure.bat now just tells the user 1676the support files. The file nt/configure.bat now just tells the user
2027to use the procedure described in nt/INSTALL, by running the Posix 1677to use the procedure described in nt/INSTALL, by running the Posix
2028'configure' script in the top-level directory. 1678'configure' script in the top-level directory.
2029 1679
2030---
2031** Building Emacs for MS-Windows requires at least Windows XP 1680** Building Emacs for MS-Windows requires at least Windows XP
2032or Windows Server 2003. The built binaries still run on all versions 1681or Windows Server 2003. The built binaries still run on all versions
2033of Windows starting with Windows 9X. 1682of Windows starting with Windows 9X.
2034 1683
2035+++
2036** Emacs running on MS-Windows now supports the daemon mode. 1684** Emacs running on MS-Windows now supports the daemon mode.
2037 1685
2038---
2039** The byte counts in etags-generated TAGS files are now the same on 1686** The byte counts in etags-generated TAGS files are now the same on
2040MS-Windows as they are on other platforms. 1687MS-Windows as they are on other platforms.
2041 1688
2042---
2043** On OS X, configure creates a Cocoa ("Nextstep") build by default. 1689** On OS X, configure creates a Cocoa ("Nextstep") build by default.
2044Pass '--without-ns' to configure to create an X11 build, the old default. 1690Pass '--without-ns' to configure to create an X11 build, the old default.
2045 1691
2046---
2047** OS X 10.5 or older is no longer supported. 1692** OS X 10.5 or older is no longer supported.
2048 1693
2049---
2050** OS X on PowerPC is no longer supported. 1694** OS X on PowerPC is no longer supported.
2051 1695
2052---
2053** New variable 'ns-use-fullscreen-animation' controls animation for 1696** New variable 'ns-use-fullscreen-animation' controls animation for
2054non-native NS fullscreen. The default is nil. Set to t to enable 1697non-native NS fullscreen. The default is nil. Set to t to enable
2055animation when entering and leaving fullscreen. For native OSX fullscreen 1698animation when entering and leaving fullscreen. For native OSX fullscreen
@@ -2064,7 +1707,6 @@ If some symbols, such as emoji, do not display, we suggest to install
2064an appropriate font, such as Symbola; then they will be displayed, 1707an appropriate font, such as Symbola; then they will be displayed,
2065albeit without the color effects. 1708albeit without the color effects.
2066 1709
2067---
2068** The new function 'w32-application-type' returns the type of an 1710** The new function 'w32-application-type' returns the type of an
2069MS-Windows application given the name of its executable program file. 1711MS-Windows application given the name of its executable program file.
2070 1712