diff options
| author | Nicolas Petton | 2016-07-24 21:26:11 +0200 |
|---|---|---|
| committer | Nicolas Petton | 2016-07-24 21:26:11 +0200 |
| commit | 6bdf687aea38d2646e52bf1514ad2359bc3ca082 (patch) | |
| tree | 80181da836f4816c8420b664f15932a640189b51 | |
| parent | 3d981ddd5424ab6b166e6cfaf1842658311f8991 (diff) | |
| download | emacs-6bdf687aea38d2646e52bf1514ad2359bc3ca082.tar.gz emacs-6bdf687aea38d2646e52bf1514ad2359bc3ca082.zip | |
; * etc/NEWS: Remove temporary marks
| -rw-r--r-- | etc/NEWS | 358 |
1 files changed, 0 insertions, 358 deletions
| @@ -15,23 +15,13 @@ and NEWS.1-17 for changes in older Emacs versions. | |||
| 15 | You can narrow news to a specific version by calling 'view-emacs-news' | 15 | You can narrow news to a specific version by calling 'view-emacs-news' |
| 16 | with a prefix argument or by typing C-u C-h C-n. | 16 | with a prefix argument or by typing C-u C-h C-n. |
| 17 | 17 | ||
| 18 | Temporary 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. | ||
| 22 | When you add a new item, use the appropriate mark if you are sure it applies, | ||
| 23 | otherwise 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. |
| 36 | This builds Emacs with Cairo drawing. As a side effect, it provides | 26 | This builds Emacs with Cairo drawing. As a side effect, it provides |
| 37 | support for built-in printing, when Emacs was built with GTK+. | 27 | support for built-in printing, when Emacs was built with GTK+. |
| @@ -40,11 +30,9 @@ display problems. We encourage more testing of this build and | |||
| 40 | reporting any problems you find, but it is not recommended for | 30 | reporting any problems you find, but it is not recommended for |
| 41 | production. | 31 | production. |
| 42 | 32 | ||
| 43 | +++ | ||
| 44 | ** New configure option --with-modules. | 33 | ** New configure option --with-modules. |
| 45 | This enables support for loading dynamic modules; see below. | 34 | This 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 |
| 49 | users are not affected by this, as SGI stopped supporting IRIX in | 37 | users are not affected by this, as SGI stopped supporting IRIX in |
| 50 | December 2013. If you are affected, please send a bug report. You | 38 | December 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 | |||
| 52 | undumping code to GCC under IRIX, or by configuring --with-wide-int, | 40 | undumping code to GCC under IRIX, or by configuring --with-wide-int, |
| 53 | or by sticking with Emacs 24.4. | 41 | or 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. |
| 57 | The GC_MAKE_GCPROS_NOOPS stack-marking variant has been the default | 44 | The GC_MAKE_GCPROS_NOOPS stack-marking variant has been the default |
| 58 | since Emacs 24.4, and the other variants were undocumented and were | 45 | since Emacs 24.4, and the other variants were undocumented and were |
| 59 | obstacles to maintenance and development. GC_MARK_STACK and its | 46 | obstacles to maintenance and development. GC_MARK_STACK and its |
| 60 | related symbols have been removed from the C internals. | 47 | related 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. |
| 64 | If gnustep-config is not available, the old heuristics are used. | 50 | If 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, |
| 68 | unless gfile is explicitly requested via --with-file-notification='gfile'. | 53 | unless 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 |
| 72 | and Mac OS X machines. | 56 | and 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. |
| 76 | Use './configure PKG_CONFIG=/full/name/of/pkg-config' if you need to. | 59 | Use './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. |
| 80 | It was no longer useful, as it relied on libraries that are no longer | 62 | It was no longer useful, as it relied on libraries that are no longer |
| 81 | supported, and its presence led to confusion during configuration. | 63 | supported, and its presence led to confusion during configuration. |
| 82 | This affects only the 'movemail' utility; Emacs itself can still | 64 | This affects only the 'movemail' utility; Emacs itself can still |
| 83 | process MMDF-format files as before. | 65 | process 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, |
| 87 | and silent rules are now quieter. To get the old behavior where | 68 | and 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 |
| 89 | build with 'make V=1'. | 70 | build 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 |
| 93 | group instead of a user if its argument is prefixed by ':' (a colon). | 73 | group instead of a user if its argument is prefixed by ':' (a colon). |
| 94 | This will cause the game score files in "${localstatedir}/games/emacs" | 74 | This will cause the game score files in "${localstatedir}/games/emacs" |
| 95 | to be owned by that group, and the helper program for updating them to | 75 | to be owned by that group, and the helper program for updating them to |
| 96 | be installed setgid. The option now defaults to the 'games' group. | 76 | be 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. |
| 100 | It has no particular connection to Emacs and has not changed in years, | 79 | It has no particular connection to Emacs and has not changed in years, |
| 101 | so if you want to use it, you can always take a copy from an older Emacs. | 80 | so 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. |
| 105 | Various resolutions are available as etc/images/icons/hicolor/*/apps/emacs.png. | 83 | Various resolutions are available as etc/images/icons/hicolor/*/apps/emacs.png. |
| 106 | The old Emacs logo icons are available as 'emacs23.png' in the same location. | 84 | The 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. |
| 110 | This includes all tests which run via "make check", plus additional | 87 | This includes all tests which run via "make check", plus additional |
| 111 | tests which take more time to perform. | 88 | tests 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. | |||
| 121 | and '*Buffer List*'. This makes Emacs convenient to use from the | 97 | and '*Buffer List*'. This makes Emacs convenient to use from the |
| 122 | command line when 'initial-buffer-choice' is non-nil. | 98 | command 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 |
| 126 | and can contain escape sequences for command keys, quotes, and the like. | 101 | and 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. |
| 130 | This is so there's enough space in the initial window to display the | 104 | This is so there's enough space in the initial window to display the |
| 131 | optional text about recovering crashes sessions, without losing the | 105 | optional 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. |
| 139 | If you have gtk3 and webkitgtk3 installed, and Emacs was built with | 112 | If you have gtk3 and webkitgtk3 installed, and Emacs was built with |
| 140 | xwidget support, you can access the embedded webkit browser with 'M-x | 113 | xwidget 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 | |||
| 142 | browser. The buffer will have a new mode, 'xwidget-webkit-mode' | 115 | browser. 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). |
| 155 | A dynamic Emacs module is a shared library that provides additional | 126 | A dynamic Emacs module is a shared library that provides additional |
| 156 | functionality for use in Emacs Lisp programs, just like a package | 127 | functionality 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 | |||
| 188 | by default, and must be enabled by using the '--with-modules' option | 159 | by default, and must be enabled by using the '--with-modules' option |
| 189 | at configure time. | 160 | at 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 |
| 193 | added via the new Network Security Manager (NSM) and controlled via | 163 | added via the new Network Security Manager (NSM) and controlled via |
| 194 | the 'network-security-level' variable. | 164 | the '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' |
| 201 | and 'x-select-enable-primary' is renamed 'select-enable-primary'. | 169 | and 'x-select-enable-primary' is renamed 'select-enable-primary'. |
| 202 | Additionally they both now apply to all systems (OSX, GNUstep, Windows, you | 170 | Additionally 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 |
| 205 | have the equivalent of a primary selection. | 173 | have 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 |
| 209 | customize how 'switch-to-buffer' proceeds interactively when the | 176 | customize how 'switch-to-buffer' proceeds interactively when the |
| 210 | selected window is strongly dedicated to its buffer. | 177 | selected 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 |
| 221 | when called interactively. A prefix argument toggles this behavior. | 185 | when 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. |
| 225 | The function 'tty-run-terminal-initialization' consults this variable | 188 | The function 'tty-run-terminal-initialization' consults this variable |
| 226 | when deciding what terminal-specific initialization code to run. | 189 | when 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 |
| 230 | main features that Emacs was compiled with. This is mainly intended | 192 | main features that Emacs was compiled with. This is mainly intended |
| 231 | for use in Emacs bug reports. | 193 | for 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 |
| 235 | hiding character but the default '.' can be used by let-binding the | 196 | hiding character but the default '.' can be used by let-binding the |
| 236 | variable 'read-hide-char'. | 197 | variable '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. |
| 240 | On systems where Emacs can access the system entropy or some other | 200 | On systems where Emacs can access the system entropy or some other |
| 241 | cryptographically secure random stream, it now uses that when 'random' | 201 | cryptographically secure random stream, it now uses that when 'random' |
| @@ -243,51 +203,41 @@ is called with its argument t. This allows cryptographically strong | |||
| 243 | random values; in particular, the Emacs server now uses this facility | 203 | random values; in particular, the Emacs server now uses this facility |
| 244 | to produce its authentication key. | 204 | to 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 |
| 259 | successive char insertions. Which commands invoke this behavior is | 216 | successive char insertions. Which commands invoke this behavior is |
| 260 | controlled by the new 'undo-auto-amalgamate' function. See the node | 217 | controlled 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 |
| 265 | has changed, so that if a command causes changes in more than just the | 221 | has changed, so that if a command causes changes in more than just the |
| 266 | current buffer, Emacs now calls 'undo-boundary' in every buffer | 222 | current buffer, Emacs now calls 'undo-boundary' in every buffer |
| 267 | affected by the command. | 223 | affected 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 |
| 276 | by default. | 230 | by 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 |
| 281 | before, you can type 'C-x 8 C-h' to list shorthands. | 234 | before, 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 |
| 285 | type. See also the new variable 'text-quoting-style'. | 237 | type. 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. |
| 292 | Bracketed paste mode causes text terminals to wrap pasted text in special | 242 | Bracketed paste mode causes text terminals to wrap pasted text in special |
| 293 | escape sequences that allow Emacs to tell the difference between text | 243 | escape sequences that allow Emacs to tell the difference between text |
| @@ -300,7 +250,6 @@ pasting large amounts of text. | |||
| 300 | Bracketed paste mode is disabled by default, so Emacs automatically | 250 | Bracketed paste mode is disabled by default, so Emacs automatically |
| 301 | enables it at startup if the terminal supports it. | 251 | enables 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. |
| 305 | The Emacs implementation of the Unicode Bidirectional Algorithm (UBA) | 254 | The Emacs implementation of the Unicode Bidirectional Algorithm (UBA) |
| 306 | was updated to support all the latest additions and changes introduced | 255 | was updated to support all the latest additions and changes introduced |
| @@ -309,29 +258,23 @@ This includes full support for directional isolates and the | |||
| 309 | Bidirectional Parentheses Algorithm (BPA) specified by these Unicode | 258 | Bidirectional Parentheses Algorithm (BPA) specified by these Unicode |
| 310 | standards. | 259 | standards. |
| 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 |
| 320 | fontification during full screen scrolling operations, giving less | 266 | fontification during full screen scrolling operations, giving less |
| 321 | hesitant operation during auto-repeat of 'C-v', 'M-v' at the cost of | 267 | hesitant operation during auto-repeat of 'C-v', 'M-v' at the cost of |
| 322 | possible inaccuracies in the end position. | 268 | possible inaccuracies in the end position. |
| 323 | 269 | ||
| 324 | +++ | ||
| 325 | ** New documentation command 'describe-symbol'. | 270 | ** New documentation command 'describe-symbol'. |
| 326 | Works for functions, variables, faces, etc. It is bound to 'C-h o' by | 271 | Works for functions, variables, faces, etc. It is bound to 'C-h o' by |
| 327 | default. | 272 | default. |
| 328 | 273 | ||
| 329 | +++ | ||
| 330 | ** New function 'custom-prompt-customize-unsaved-options' checks for | 274 | ** New function 'custom-prompt-customize-unsaved-options' checks for |
| 331 | unsaved customizations and prompts user to customize (if found). It | 275 | unsaved customizations and prompts user to customize (if found). It |
| 332 | is intended for adding to 'kill-emacs-query-functions'. | 276 | is 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 |
| 336 | in favor of the global 'M-s h' bindings introduced in Emacs 23.1. | 279 | in favor of the global 'M-s h' bindings introduced in Emacs 23.1. |
| 337 | They'll disappear soon. | 280 | They'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 |
| 346 | current package keywords are recognized. Set the new option | 288 | current 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. |
| 352 | It's meant for use together with 'compile': | 293 | It's meant for use together with 'compile': |
| 353 | emacs -batch --eval "(checkdoc-file \"subr.el\")" | 294 | emacs -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. |
| 359 | Although Emacs 25.1 can read a version 206 desktop, earlier Emacsen | 299 | Although Emacs 25.1 can read a version 206 desktop, earlier Emacsen |
| 360 | cannot read a version 208 desktop. To upgrade your desktop file, you | 300 | cannot 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 | |||
| 363 | 25.1 (or later). Should you ever need to downgrade your desktop file | 303 | 25.1 (or later). Should you ever need to downgrade your desktop file |
| 364 | to version 206, you can do this with 'C-u C-u M-x desktop-save'. | 304 | to 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. |
| 368 | That is, Emacs by default now restores frames into the current display. | 307 | That 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'. |
| 372 | It raises an error if a bookmark of that name already exists, | 310 | It raises an error if a bookmark of that name already exists, |
| 373 | unlike 'bookmark-set' which silently updates an existing bookmark. | 311 | unlike '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' |
| 379 | now control how mm-* functions fetch and display images in an HTML | 316 | now control how mm-* functions fetch and display images in an HTML |
| 380 | message. Gnus still uses 'gnus-inhibit-images' and 'gnus-blocked-images' | 317 | message. Gnus still uses 'gnus-inhibit-images' and 'gnus-blocked-images' |
| 381 | for that purpose, i.e., binds mm-html- variables with those gnus- | 318 | for that purpose, i.e., binds mm-html- variables with those gnus- |
| 382 | variables, but other packages do not have to bind gnus- variables now. | 319 | variables, 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. |
| 386 | Use 'mm-html-inhibit-images' instead. Note that the value is opposite | 322 | Use 'mm-html-inhibit-images' instead. Note that the value is opposite |
| 387 | in meaning. | 323 | in 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 |
| 393 | GnuTLS encryption functions if possible. | 328 | GnuTLS 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 |
| 399 | the ordering of object keys by default. | 333 | the 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 |
| 404 | object keys sorted alphabetically. | 337 | object 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 |
| 410 | overriding the default 'prettify-symbols-compose-predicate', modes can | 342 | overriding the default 'prettify-symbols-compose-predicate', modes can |
| 411 | specify in which contexts a symbol may be displayed as some Unicode | 343 | specify 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 | |||
| 413 | is suitable for most programming languages such as C or Lisp (but not | 345 | is 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. |
| 418 | New variable 'prettify-symbols-unprettify-at-point' configures this. | 349 | New 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. |
| 424 | This variable tells Emacs which advanced capabilities are available in | 354 | This variable tells Emacs which advanced capabilities are available in |
| 425 | the xterm terminal emulator used to display Emacs text-mode frames. | 355 | the 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 |
| 428 | its NEWS.) | 358 | its NEWS.) |
| 429 | 359 | ||
| 430 | --- | ||
| 431 | *** Killing text now also sets the CLIPBOARD/PRIMARY selection | 360 | *** Killing text now also sets the CLIPBOARD/PRIMARY selection |
| 432 | in the surrounding GUI (using the OSC-52 escape sequence). This only works | 361 | in the surrounding GUI (using the OSC-52 escape sequence). This only works |
| 433 | if your xterm supports it and enables the 'allowWindowOps' options (disabled | 362 | if 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 | |||
| 437 | escape sequence) if your xterm has the feature enabled but for that you | 366 | escape sequence) if your xterm has the feature enabled but for that you |
| 438 | additionally need to add 'getSelection' to 'xterm-extra-capabilities'. | 367 | additionally 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. |
| 445 | It is no longer sufficient to load the saveplace library and set | 372 | It 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 |
| 459 | specified message types for the respective specified targets. | 385 | specified 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 |
| 466 | being made case-sensitive in Emacs 24.2. | 390 | being 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 |
| 481 | toggling playback modes. | 404 | toggling 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. |
| 488 | Case-insensitively tries for .folder.png (freedesktop) and folder.jpg | 409 | Case-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. |
| 493 | MPD supports the XDG base directory specification since version 0.17.6. | 413 | MPD 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. |
| 507 | An external package is any installed package that's not built-in and | 424 | An external package is any installed package that's not built-in and |
| 508 | not from 'package-user-dir', which usually means it's from an entry in | 425 | not 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 | |||
| 514 | package inside 'package-directory-list' and the package menu will | 431 | package inside 'package-directory-list' and the package menu will |
| 515 | always respect that. | 432 | always 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 |
| 519 | priority (as per 'package-archive-priorities') only that one is | 435 | priority (as per 'package-archive-priorities') only that one is |
| 520 | listed. This can be configured with 'package-menu-hide-low-priority'. | 436 | listed. 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. |
| 524 | This includes the above-mentioned low-priority packages, as well as | 439 | This includes the above-mentioned low-priority packages, as well as |
| 525 | available packages whose version is lower than the currently installed | 440 | available packages whose version is lower than the currently installed |
| @@ -527,48 +442,38 @@ version (which were previously impossible to display). | |||
| 527 | This allows users to downgrade a package if a lower version is | 442 | This allows users to downgrade a package if a lower version is |
| 528 | available. | 443 | available. |
| 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 |
| 533 | of actual keywords. | 447 | of 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 |
| 537 | ASYNC argument. If it is non-nil, package.el performs the download(s) | 450 | ASYNC argument. If it is non-nil, package.el performs the download(s) |
| 538 | asynchronously. | 451 | asynchronously. |
| 539 | 452 | ||
| 540 | --- | ||
| 541 | *** New variable 'package-menu-async' controls whether the | 453 | *** New variable 'package-menu-async' controls whether the |
| 542 | package-menu uses asynchronous downloads. | 454 | package-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. |
| 546 | This follows the same rules as installing from a .tar file, except the | 457 | This 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. |
| 551 | The FORCE argument to 'package-delete' overrides this. | 461 | The 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 |
| 555 | which were installed by the user (as opposed to installed as | 464 | which were installed by the user (as opposed to installed as |
| 556 | dependencies). This variable can also be manually customized. | 465 | dependencies). 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 |
| 560 | packages from 'package-selected-packages' which are currently missing. | 468 | packages 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 |
| 564 | this function is called interactively or if DONT-SELECT is nil, add the | 471 | this function is called interactively or if DONT-SELECT is nil, add the |
| 565 | package being installed to 'package-selected-packages'. | 472 | package 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 |
| 569 | installed strictly as dependencies but are no longer needed. | 475 | installed strictly as dependencies but are no longer needed. |
| 570 | 476 | ||
| 571 | +++ | ||
| 572 | ** Shell | 477 | ** Shell |
| 573 | 478 | ||
| 574 | When you invoke 'shell' interactively, the '*shell*' buffer will now | 479 | When 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. |
| 586 | If you need your objects to be named, do it by inheriting from 'eieio-named'. | 489 | If 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. |
| 595 | Use the equivalent facilities from cl-generic.el instead. | 494 | Use 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'. |
| 605 | Bury the buffer at the head of 'ido-matches', analogous to how 'C-k' | 501 | Bury the buffer at the head of 'ido-matches', analogous to how 'C-k' |
| 606 | kills the buffer at head. | 502 | kills 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 |
| 610 | meaning, and the list is restricted to those elements that do not | 505 | meaning, and the list is restricted to those elements that do not |
| 611 | match the current input. | 506 | match 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. |
| 617 | The new commands 'next-line-or-history-element' and | 511 | The 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. |
| 629 | This is analogous to case folding, but instead of disregarding case | 522 | This is analogous to case folding, but instead of disregarding case |
| 630 | variants, it disregards wider classes of distinctions between similar | 523 | variants, 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'. |
| 650 | This option specifies the default mode for Isearch. The default | 542 | This option specifies the default mode for Isearch. The default |
| 651 | value, nil specifies that Isearch does literal searches (however, | 543 | value, 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, |
| 653 | as in previous Emacs versions). | 545 | as 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 |
| 657 | by searching commands to produce a regexp matching anything that | 548 | by searching commands to produce a regexp matching anything that |
| 658 | char-folds into STRING. | 549 | char-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 |
| 662 | text in the region. The search engine to use for this is specified by | 552 | text in the region. The search engine to use for this is specified by |
| 663 | the customizable variable 'eww-search-prefix'. | 553 | the customizable variable 'eww-search-prefix'. |
| 664 | 554 | ||
| 665 | +++ | ||
| 666 | *** 'query-replace' history is enhanced. | 555 | *** 'query-replace' history is enhanced. |
| 667 | When 'query-replace' reads the FROM string from the minibuffer, typing | 556 | When '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 | |||
| 673 | typing RET. | 562 | typing 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 |
| 678 | result of the calculation into the current buffer. | 566 | result 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'. |
| 682 | With this you can tell Edebug not to stop at the start of the first | 569 | With this you can tell Edebug not to stop at the start of the first |
| 683 | instrumented function. | 570 | instrumented function. |
| 684 | 571 | ||
| 685 | ** ElDoc | 572 | ** ElDoc |
| 686 | 573 | ||
| 687 | +++ | ||
| 688 | *** New minor mode 'global-eldoc-mode'. | 574 | *** New minor mode 'global-eldoc-mode'. |
| 689 | It is turned on by default, and affects '*scratch*' and other buffers | 575 | It is turned on by default, and affects '*scratch*' and other buffers |
| 690 | whose major mode supports Emacs Lisp. | 576 | whose 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, |
| 697 | and can be used as a default value of 'eldoc-documentation-function'. It is | 581 | and can be used as a default value of 'eldoc-documentation-function'. It is |
| 698 | useful when, for example, one needs to distinguish various spaces - e.g., | 582 | useful 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 |
| 709 | whether to use variable-pitch fonts or not. The user can also | 591 | whether to use variable-pitch fonts or not. The user can also |
| 710 | customize the 'shr-use-fonts' variable. | 592 | customize 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 |
| 714 | textual parts of a web page and display only that, leaving menus and | 595 | textual parts of a web page and display only that, leaving menus and |
| 715 | the like off the page. | 596 | the 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 |
| 719 | toggle the paragraph direction between left-to-right and right-to-left. | 599 | toggle 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 |
| 723 | buffers you want to keep separate. | 602 | buffers 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 |
| 727 | pages visited) is now preserved in the desktop file. | 605 | pages 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 |
| 731 | the data in the buffer. | 608 | the 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 |
| 735 | the net, but just use the local copy of the HTML. | 611 | the 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 |
| 739 | xml.el/libxml2 DOM, and a new package dom.el has been added to | 614 | xml.el/libxml2 DOM, and a new package dom.el has been added to |
| 740 | interact with this DOM. See the Emacs Lisp manual for interface | 615 | interact with this DOM. See the Emacs Lisp manual for interface |
| 741 | details. | 616 | details. |
| 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 |
| 748 | them. | 621 | them. |
| 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 |
| 752 | invalid certificates are marked in red. | 624 | invalid 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 |
| 758 | transformed into multipart/related messages before sending. | 629 | transformed 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 |
| 762 | stands inside it, and certain parens can be highlighted when point is | 632 | stands inside it, and certain parens can be highlighted when point is |
| 763 | at BOL or EOL, or in whitespace there. To enable these, customize, | 633 | at BOL or EOL, or in whitespace there. To enable these, customize, |
| 764 | respectively, 'show-paren-when-point-inside-paren' or | 634 | respectively, '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 |
| 769 | of 'epg-gpg-program' (instead of gpg). | 638 | of '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. |
| 775 | This enhances Lisp mode fontification to handle documentation of the | 643 | This enhances Lisp mode fontification to handle documentation of the |
| 776 | form '(:documentation "the doc string")' used in Common Lisp code for | 644 | form '(: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'. |
| 790 | These should be used in preference to 'font-lock-fontify-buffer' when | 655 | These should be used in preference to 'font-lock-fontify-buffer' when |
| 791 | called from Lisp. | 656 | called 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 |
| 795 | to 'minibuffer-setup-hook'. | 659 | to 'minibuffer-setup-hook'. |
| 796 | 660 | ||
| @@ -799,39 +663,30 @@ then FUN will be appended to 'minibuffer-setup-hook', instead of | |||
| 799 | prepending it. | 663 | prepending 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. |
| 820 | See 'diary-chinese-list-entries' and 'diary-chinese-mark-entries'. | 679 | See '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, |
| 824 | which means to do nothing special with the mode line in calendars. | 682 | which 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'. |
| 828 | The option customizes which day headers receive the | 685 | The 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. |
| 836 | The majority were function/variable/face aliases, too numerous to list here. | 691 | The majority were function/variable/face aliases, too numerous to list here. |
| 837 | The remainder were: | 692 | The 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'. |
| 852 | If the output of ERT tests in batch mode execution can be saved to a | 706 | If the output of ERT tests in batch mode execution can be saved to a |
| 853 | log file, then it can be passed as an argument to the above function | 707 | log file, then it can be passed as an argument to the above function |
| 854 | to produce a neat summary. | 708 | to 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. |
| 863 | If you want to get the old behavior back, customize the 'Info-quoted' | 715 | If you want to get the old behavior back, customize the 'Info-quoted' |
| 864 | face to use the same definitions as the default face. | 716 | face 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 |
| 871 | non-nil value) directs the command to limit the completion | 721 | non-nil value) directs the command to limit the completion |
| 872 | alternatives to currently visited manuals. | 722 | alternatives 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 |
| 881 | to delete or undelete multiple messages. | 729 | to 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 |
| 885 | libxml2 or if you have the Lynx browser installed. By default, Rmail | 732 | libxml2 or if you have the Lynx browser installed. By default, Rmail |
| 886 | will display the HTML version of a mail message that has both HTML and | 733 | will display the HTML version of a mail message that has both HTML and |
| 887 | plain text parts, if display of HTML email is possible; customize the | 734 | plain 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, |
| 892 | you can no longer use commas to separate regular expressions. | 738 | you 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 |
| 900 | specify the type of shell in use (bash, csh, etc). | 744 | specify 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'. |
| 904 | This provides old-style ("dumb") indentation of continued lines. | 747 | This provides old-style ("dumb") indentation of continued lines. |
| 905 | See the doc string of 'sh-indent-after-continuation' for details. | 748 | See 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 |
| 913 | program is used instead. This program used to be run in --insecure | 754 | program is used instead. This program used to be run in --insecure |
| 914 | mode by default, but has now changed to be secure instead, and will | 755 | mode 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". |
| 922 | When 'url-handler-mode' is enabled, file operations for these | 762 | When 'url-handler-mode' is enabled, file operations for these |
| 923 | protocols as well as for "telnet" and "ftp" are passed to Tramp. | 763 | protocols 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. |
| 927 | The new 'url-user-agent' variable can be customized to be a string or | 766 | The new 'url-user-agent' variable can be customized to be a string or |
| 928 | a function. | 767 | a 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 |
| 932 | to specify that we're running in a noninteractive context, and that | 770 | to specify that we're running in a noninteractive context, and that |
| 933 | we should not be queried about things like TLS certificate validity. | 771 | we 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" |
| 937 | variable, meaning you can bind it around an 'url-retrieve' call. | 774 | variable, 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 |
| 941 | PLIST will contain a :peer element that has the output of | 777 | PLIST 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 |
| 948 | volumes via the Apple Filing Protocol. | 783 | volumes 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 |
| 952 | busyboxes. | 786 | busyboxes. |
| 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 |
| 960 | filesystem notifications. | 792 | filesystem 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 |
| 966 | connections using Tramp. | 797 | connections using Tramp. |
| 967 | 798 | ||
| 968 | --- | ||
| 969 | *** New command 'sql-send-line-and-next'. | 799 | *** New command 'sql-send-line-and-next'. |
| 970 | This command, bound to 'C-c C-n' by default, sends the current line to | 800 | This command, bound to 'C-c C-n' by default, sends the current line to |
| 971 | the SQL process and advances to the next line, skipping whitespace and | 801 | the SQL process and advances to the next line, skipping whitespace and |
| 972 | comments. | 802 | comments. |
| 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'. |
| 981 | Implemented for Bzr, Git, Hg. As part of this change, the pre-existing | 809 | Implemented 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'. |
| 989 | This command is useful when you perform version control commands | 815 | This command is useful when you perform version control commands |
| 990 | outside Emacs (e.g., from the shell prompt), or if you switch the VC | 816 | outside Emacs (e.g., from the shell prompt), or if you switch the VC |
| 991 | back-end for the buffer's file, or remove it from version control. | 817 | back-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 |
| 995 | the color range from 'vc-annotate-color-map' is applied to the | 820 | the color range from 'vc-annotate-color-map' is applied to the |
| 996 | background or to the foreground. | 821 | background 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. |
| 1000 | The new user options 'vc-git-commits-coding-system' and | 824 | The 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 |
| 1007 | variable, not a user option.) | 831 | variable, 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 |
| 1011 | instead of the next window. If you want the previous behavior of | 834 | instead of the next window. If you want the previous behavior of |
| 1012 | comparing with the next window, customize the new option | 835 | comparing 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' |
| 1018 | replace the face 'compare-windows', which is now an obsolete alias for | 840 | replace 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 |
| 1023 | corresponding to each of the possible states. See the 'vc-faces' | 844 | corresponding to each of the possible states. See the 'vc-faces' |
| 1024 | customization group. | 845 | customization 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' |
| 1029 | nil to disable this. | 849 | nil 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 |
| 1041 | fitting for use in money calculations | 858 | fitting 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, | ||
| 1050 | macro argument expansion, interactive macro evaluation and automatic | 864 | macro argument expansion, interactive macro evaluation and automatic |
| 1051 | scanning of #define'd symbols. | 865 | scanning 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 |
| 1055 | result of evaluating a macro. | 868 | result 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 |
| 1059 | all defined symbols in 'hide-ifdef-env'. | 871 | all defined symbols in 'hide-ifdef-env'. |
| 1060 | 872 | ||
| 1061 | --- | ||
| 1062 | *** New custom variable 'hide-ifdef-header-regexp' to define C/C++ header | ||
| 1063 | file name patterns. Defaults to files whose extension is one of '.h', | 873 | file 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 |
| 1068 | reinclusion protected (a.k.a. "idempotent") header files from being hidden. | 876 | reinclusion 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, |
| 1070 | when its guard symbol is already defined.) Defaults to t. | 878 | when 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 |
| 1074 | name patterns (e.g. all "FOR_DOXYGEN_ONLY_*") to be ignored when | 881 | name patterns (e.g. all "FOR_DOXYGEN_ONLY_*") to be ignored when |
| 1075 | looking for macro definitions. By default, no symbols are ignored. | 882 | looking 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 |
| 1081 | use PDF instead of DVI. | 887 | use 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 |
| 1086 | many other math macros are displayed using unicode characters. | 891 | many 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. |
| 1090 | By default, 32 consecutive spaces or four consecutive TABs are | 894 | By default, 32 consecutive spaces or four consecutive TABs are |
| 1091 | considered to be too deep, but the new variable | 895 | considered 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'. |
| 1096 | New options 'tildify-space-string', 'tildify-pattern', and | 899 | New 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 |
| 1100 | helper functions) obsolete. | 903 | helper 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 | ||
| 1105 | The new package Xref provides a generic framework and new commands to | 907 | The 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 |
| 1128 | replacements yet. | 930 | replacements 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 |
| 1132 | replaced by xref-style commands, see the "Dired" section below. | 933 | replaced 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 |
| 1141 | of searches for definitions. | 941 | of searches for definitions. |
| 1142 | 942 | ||
| 1143 | --- | ||
| 1144 | *** 'xref-find-definitions' and 'describe-function' now display | 943 | *** 'xref-find-definitions' and 'describe-function' now display |
| 1145 | information about mode local overrides (defined by cedet/mode-local.el | 944 | information 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 | |||
| 1148 | The framework's Lisp API is still experimental and can change in major, | 947 | The framework's Lisp API is still experimental and can change in major, |
| 1149 | backward-incompatible ways. | 948 | backward-incompatible ways. |
| 1150 | 949 | ||
| 1151 | --- | ||
| 1152 | ** New package Project | 950 | ** New package Project |
| 1153 | 951 | ||
| 1154 | The new package Project provides generic infrastructure for dealing | 952 | The 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 |
| 1161 | EUDC's LDAP backend has been improved. | 959 | EUDC'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 |
| 1168 | subprocess instead of on the command line. | 964 | subprocess 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 |
| 1172 | need to configure this manually anymore. | 967 | need 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 |
| 1176 | rewritten. | 970 | rewritten. |
| 1177 | 971 | ||
| 1178 | There have also been customization changes. | 972 | There 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 |
| 1182 | multiple EUDC servers in init file. | 975 | multiple 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 |
| 1186 | on email and firstname instead of surname. | 978 | on 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 |
| 1190 | to avoid interfering with the kill ring. | 981 | to 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 |
| 1202 | allow overriding the regular expression that recognizes the ldapsearch | 990 | allow overriding the regular expression that recognizes the ldapsearch |
| 1203 | command line's password prompt. | 991 | command line's password prompt. |
| 1204 | 992 | ||
| 1205 | --- | ||
| 1206 | EUDC's BBDB backend now supports BBDB 3. | 993 | EUDC's BBDB backend now supports BBDB 3. |
| 1207 | 994 | ||
| 1208 | --- | ||
| 1209 | EUDC's PH backend (eudcb-ph.el) is obsolete. | 995 | EUDC'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. |
| 1215 | If provided with an optional non-nil argument, the scrollback contents | 1000 | If provided with an optional non-nil argument, the scrollback contents |
| 1216 | will be cleared. | 1001 | will 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 |
| 1221 | buffers from eshell more convenient. Custom variable | 1005 | buffers 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 |
| 1223 | removed. | 1007 | removed. |
| 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 |
| 1228 | when their processes die. This fixes issues with short-lived commands | 1011 | when 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 |
| 1247 | be added to the archive. | 1026 | be 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 |
| 1253 | Emacs is compiled with file notification support. | 1031 | Emacs 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'. |
| 1257 | See <http://debbugs.gnu.org/22814>. | 1034 | See <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 |
| 1266 | not active any longer. | 1041 | not 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 |
| 1270 | notification descriptor still corresponds to an activate watch. | 1044 | notification 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 |
| 1276 | directories and decompress zip files. | 1049 | directories 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 |
| 1280 | compress many marked files into a single named archive. The | 1052 | compress many marked files into a single named archive. The |
| 1281 | compression command is determined from the new | 1053 | compression 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. |
| 1286 | These keys, now bound to 'dired-do-find-regexp' and | 1057 | These 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 |
| 1300 | call 'tabulated-list-init-header', in which case it will have no | 1070 | call 'tabulated-list-init-header', in which case it will have no |
| 1301 | header. | 1071 | header. |
| 1302 | 1072 | ||
| 1303 | +++ | ||
| 1304 | *** 'tabulated-list-print' takes a second optional argument, UPDATE, | 1073 | *** 'tabulated-list-print' takes a second optional argument, UPDATE, |
| 1305 | which specifies an alternative printing method which is faster when | 1074 | which specifies an alternative printing method which is faster when |
| 1306 | few or no entries have changed. | 1075 | few 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 |
| 1321 | minibuffer instead of a graphical dialog, depending on whether the gpg | 1087 | minibuffer instead of a graphical dialog, depending on whether the gpg |
| 1322 | command is called from Emacs (i.e., INSIDE_EMACS environment variable | 1088 | command 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 |
| 1326 | configuration with "gpgconf --reload gpg-agent". | 1092 | configuration 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. |
| 1330 | The main entry points are 'cl-defgeneric' and 'cl-defmethod'. See the | 1095 | The main entry points are 'cl-defgeneric' and 'cl-defmethod'. See the |
| 1331 | node "Generic Functions" in the Emacs Lisp manual for more details. | 1096 | node "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 |
| 1335 | SCSS (Sassy CSS) files. | 1099 | SCSS (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 |
| 1339 | let-bind the values stored in an alist. | 1102 | let-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 |
| 1343 | types the text. Breaking line after a single-character words is | 1105 | types the text. Breaking line after a single-character words is |
| 1344 | forbidden by Czech and Polish typography (and may be discouraged in | 1106 | forbidden by Czech and Polish typography (and may be discouraged in |
| 1345 | other languages), so 'auto-tildify-mode' makes it easier to create | 1107 | other languages), so 'auto-tildify-mode' makes it easier to create |
| 1346 | a typographically-correct documents. | 1108 | a 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 |
| 1350 | that complement basic functions provided by subr.el. All functions | 1111 | that complement basic functions provided by subr.el. All functions |
| 1351 | are prefixed with 'seq-' and work on lists, strings and vectors. | 1112 | are 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 |
| 1356 | alists, hash-table and arrays. All functions are prefixed with | 1116 | alists, 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 |
| 1361 | evaluation of forms. | 1120 | evaluation 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 |
| 1365 | support for JSX, an XML-like syntax extension to ECMAScript. | 1123 | support 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 |
| 1372 | arguments. The earlier behavior of silently supplying a nil to the | 1129 | arguments. The earlier behavior of silently supplying a nil to the |
| 1373 | last variable when there was an odd number of arguments has been | 1130 | last variable when there was an odd number of arguments has been |
| 1374 | eliminated. | 1131 | eliminated. |
| 1375 | 1132 | ||
| 1376 | +++ | ||
| 1377 | ** 'syntax-begin-function' is declared obsolete. | 1133 | ** 'syntax-begin-function' is declared obsolete. |
| 1378 | Removed 'font-lock-beginning-of-syntax-function' and the SYNTAX-BEGIN | 1134 | Removed 'font-lock-beginning-of-syntax-function' and the SYNTAX-BEGIN |
| 1379 | slot in 'font-lock-defaults'. | 1135 | slot 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. |
| 1383 | When Subword mode is turned on, 'forward-word', 'backward-word', and | 1138 | When Subword mode is turned on, 'forward-word', 'backward-word', and |
| 1384 | everything that uses them will move by sub-words, effectively | 1139 | everything 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 | |||
| 1386 | affected by Subword mode should call the new functions | 1141 | affected 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 |
| 1391 | called during startup. Users who call this function in their init | 1145 | called during startup. Users who call this function in their init |
| 1392 | file and still expect it to be run after startup should set | 1146 | file 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'. |
| 1398 | This means that you can't use 'make-local-variable' and expect them to | 1151 | This 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. |
| 1403 | The 'track-mouse' form no longer refrains from changing the shape of | 1155 | The 'track-mouse' form no longer refrains from changing the shape of |
| 1404 | the mouse pointer for the entire time the body of that form is | 1156 | the 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 | |||
| 1407 | pointer shape during dragging, should bind the variable 'track-mouse' | 1159 | pointer shape during dragging, should bind the variable 'track-mouse' |
| 1408 | to the special value 'dragging' in the body of the form. | 1160 | to 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 |
| 1412 | has any effect. (This change was made in Emacs 24.4 but was not | 1163 | has any effect. (This change was made in Emacs 24.4 but was not |
| 1413 | advertised at the time.) | 1164 | advertised 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. |
| 1417 | This is mostly a bug-fix, since this change was missed back in 24.4 when | 1167 | This 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. |
| 1425 | This avoids clashing when other programs use the variable for other purposes. | 1173 | This avoids clashing when other programs use the variable for other purposes. |
| 1426 | Although 'M-x term' still sets EMACS for compatibility with Bash 4.3 | 1174 | Although 'M-x term' still sets EMACS for compatibility with Bash 4.3 |
| 1427 | and earlier, this is deprecated and will be phased out when Bash 4.4 | 1175 | and earlier, this is deprecated and will be phased out when Bash 4.4 |
| 1428 | or later takes over. Use the INSIDE_EMACS environment variable instead. | 1176 | or 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. |
| 1432 | Use 'save-mark-and-excursion' if you want the old behavior. | 1179 | Use '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 |
| 1436 | argument (PREDICATE). | 1182 | argument (PREDICATE). |
| 1437 | 1183 | ||
| 1438 | +++ | ||
| 1439 | ** 'completion-table-dynamic' by default stays in the minibuffer. | 1184 | ** 'completion-table-dynamic' by default stays in the minibuffer. |
| 1440 | The minibuffer will be the current buffer when the function is called. | 1185 | The minibuffer will be the current buffer when the function is called. |
| 1441 | If you want the old behavior of calling the function in the buffer | 1186 | If you want the old behavior of calling the function in the buffer |
| 1442 | from which the minibuffer was entered, use the new argument | 1187 | from which the minibuffer was entered, use the new argument |
| 1443 | SWITCH-BUFFER to 'completion-table-dynamic'. | 1188 | SWITCH-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 |
| 1450 | well as active region handling. | 1193 | well 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 |
| 1460 | group ID instead of t. | 1200 | group 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 |
| 1464 | any reference to a buffer position. The 6th member of the mouse | 1203 | any reference to a buffer position. The 6th member of the mouse |
| 1465 | position list returned for such events is now nil. | 1204 | position 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. |
| 1469 | These slots used to hold key-shortcut data, but have been obsolete since | 1207 | These slots used to hold key-shortcut data, but have been obsolete since |
| 1470 | Emacs 21. | 1208 | Emacs 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 |
| 1474 | when signaling a file error. For example, it now reports "Permission | 1211 | when signaling a file error. For example, it now reports "Permission |
| 1475 | denied" instead of "permission denied". The old behavior was problematic | 1212 | denied" instead of "permission denied". The old behavior was problematic |
| 1476 | in languages like German where downcasing rules depend on grammar. | 1213 | in 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. |
| 1480 | Set it to 'curve' for curved single quotes, to 'straight' for straight | 1216 | Set it to 'curve' for curved single quotes, to 'straight' for straight |
| 1481 | apostrophes, and to 'grave' for grave accent and apostrophe. The | 1217 | apostrophes, and to 'grave' for grave accent and apostrophe. The |
| @@ -1484,7 +1220,6 @@ displayable, and like 'grave' otherwise. The new variable affects | |||
| 1484 | display of diagnostics and help, but not of info. As the variable is | 1220 | display of diagnostics and help, but not of info. As the variable is |
| 1485 | not intended for casual use, it is not a user option. | 1221 | not 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 |
| 1489 | various sorts of single quotes in their format strings according to | 1224 | various sorts of single quotes in their format strings according to |
| 1490 | the value of 'text-quoting-style' (see above). This translation | 1225 | the 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 | |||
| 1492 | not affected by 'text-quoting-style', e.g., (message "%s" (format | 1227 | not 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. |
| 1497 | That is, it converts documentation strings' quoting style as per the | 1231 | That is, it converts documentation strings' quoting style as per the |
| 1498 | value of 'text-quoting-style'. Doc strings in source code can use | 1232 | value of 'text-quoting-style'. Doc strings in source code can use |
| 1499 | either curved single quotes or grave accents and apostrophes. As | 1233 | either curved single quotes or grave accents and apostrophes. As |
| 1500 | before, characters preceded by \= are output as-is. | 1234 | before, 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 |
| 1504 | now match multibyte characters using Unicode character properties. | 1237 | now match multibyte characters using Unicode character properties. |
| 1505 | If you want the old behavior where they matched any character with | 1238 | If you want the old behavior where they matched any character with |
| 1506 | word syntax, use '\sw' instead. | 1239 | word 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 |
| 1510 | no longer match every multibyte character. Instead, Emacs now | 1242 | no longer match every multibyte character. Instead, Emacs now |
| 1511 | consults the Unicode character properties to determine which | 1243 | consults the Unicode character properties to determine which |
| @@ -1513,23 +1245,19 @@ characters are graphic or printable. In particular, surrogates and | |||
| 1513 | unassigned codepoints are now rejected. If you want the old behavior, | 1245 | unassigned codepoints are now rejected. If you want the old behavior, |
| 1514 | use [:multibyte:] instead. | 1246 | use [: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 |
| 1518 | behavior, set 'diff-switches' to '-c'. | 1249 | behavior, 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 |
| 1523 | dynamically. Any third-party code that changes these templates should | 1253 | dynamically. Any third-party code that changes these templates should |
| 1524 | be updated accordingly. | 1254 | be 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)'. |
| 1528 | The new behavior is compatible with Common Lisp and with XEmacs. | 1257 | The new behavior is compatible with Common Lisp and with XEmacs. |
| 1529 | This change does not affect Lisp code intended to be portable to | 1258 | This change does not affect Lisp code intended to be portable to |
| 1530 | Emacs 24.2 and earlier, which did not support unary '/'. | 1259 | Emacs 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 |
| 1534 | that happen, 'unhandled-file-name-directory' now defaults to calling | 1262 | that 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 |
| 1550 | parsing functions like 'forward-sexp'. | 1274 | parsing 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 |
| 1555 | commands other than the predefined 'C-u'. | 1278 | commands 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'. |
| 1559 | These allow conversion between buffer positions and the corresponding | 1281 | These allow conversion between buffer positions and the corresponding |
| 1560 | file byte offsets, given the file's encoding. | 1282 | file 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'. |
| 1564 | Previously, the default value of nil implied using 'read'. | 1285 | Previously, the default value of nil implied using 'read'. |
| 1565 | 1286 | ||
| 1566 | +++ | ||
| 1567 | ** New hook 'pre-redisplay-functions'. | 1287 | ** New hook 'pre-redisplay-functions'. |
| 1568 | It is a bit easier to use than 'pre-redisplay-function'. | 1288 | It 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. |
| 1572 | Previously, it was an optional argument, now it's mandatory. | 1291 | Previously, 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. |
| 1576 | Replaced by properties 'cursor-intangible' and 'cursor-sensor-functions', | 1294 | Replaced by properties 'cursor-intangible' and 'cursor-sensor-functions', |
| 1577 | implemented by the new 'cursor-intangible-mode' and | 1295 | implemented 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. |
| 1582 | Use the new minor modes 'cursor-intangible-mode' and | 1299 | Use 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 |
| 1588 | of subprocess. | 1304 | of 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 |
| 1593 | process filter, sentinel, etc., through keyword arguments (similar to | 1308 | process 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. |
| 1598 | The new option 'window-adjust-process-window-size-function' controls | 1312 | The new option 'window-adjust-process-window-size-function' controls |
| 1599 | how subprocesses are told to adapt their logical window sizes to | 1313 | how 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 |
| 1602 | windows that display the subprocess's buffer. | 1316 | windows 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 |
| 1606 | files (recursively) under a directory. | 1319 | files (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 |
| 1611 | area. The output is still logged to the '*Messages*' buffer. | 1323 | area. 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 |
| 1615 | buffers to allow certain parts of the text to be writable. | 1326 | buffers 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 |
| 1619 | such as C and C++ where line comments with escaped newlines are | ||
| 1620 | continued to the next line. | 1329 | continued 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. |
| 1627 | See the "Generators" section of the ELisp manual for the details. | 1334 | See 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. |
| 1631 | See the "Finalizer Type" subsection in the ELisp manual for the | 1337 | See the "Finalizer Type" subsection in the ELisp manual for the |
| 1632 | details. | 1338 | details. |
| 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. |
| 1636 | It should be placed right where the docstring would be, and FORM is then | 1341 | It should be placed right where the docstring would be, and FORM is then |
| 1637 | evaluated (and should return a string) when the closure is built. | 1342 | evaluated (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' |
| 1660 | preserve the collation order as defined by the system's locale(1) | 1360 | preserve the collation order as defined by the system's locale(1) |
| 1661 | environment. For the time being this is implemented for modern POSIX | 1361 | environment. For the time being this is implemented for modern POSIX |
| 1662 | systems and for MS-Windows, for other systems they fall back to their | 1362 | systems and for MS-Windows, for other systems they fall back to their |
| 1663 | counterparts 'string-lessp' and 'string-equal'. | 1363 | counterparts '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. |
| 1667 | The effect is that, on systems that use ls-lisp for Dired, the default | 1366 | The effect is that, on systems that use ls-lisp for Dired, the default |
| 1668 | sort order of the files in Dired is now different from what it was in | 1367 | sort 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 | |||
| 1673 | want the old, locale-independent sorting, customize the new option | 1372 | want 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', |
| 1678 | if set to a non-nil value, causes the above 2 functions to ignore | 1376 | if set to a non-nil value, causes the above 2 functions to ignore |
| 1679 | symbol and punctuation characters when collating strings. This | 1377 | symbol and punctuation characters when collating strings. This |
| @@ -1681,50 +1379,40 @@ emulates the behavior of modern Posix platforms when the locale's | |||
| 1681 | codeset is "UTF-8" (as in "en_US.UTF-8"). This is needed because | 1379 | codeset is "UTF-8" (as in "en_US.UTF-8"). This is needed because |
| 1682 | MS-Windows doesn't support UTF-8 as codeset in its locales. | 1380 | MS-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 |
| 1686 | suitable for use with 'setf'. | 1383 | suitable 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' |
| 1690 | but makes 'called-interactively-p' treat the function as (you guessed it) | 1386 | but makes 'called-interactively-p' treat the function as (you guessed it) |
| 1691 | called interactively. | 1387 | called 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 |
| 1698 | find characters whose directionality was, perhaps maliciously, | 1392 | find characters whose directionality was, perhaps maliciously, |
| 1699 | overridden by directional override control characters. Lisp programs | 1393 | overridden by directional override control characters. Lisp programs |
| 1700 | can use this to detect potential phishing of URLs and other links that | 1394 | can use this to detect potential phishing of URLs and other links that |
| 1701 | exploits bidirectional display reordering. | 1395 | exploits 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 |
| 1705 | copy a portion of a buffer into a different location while preserving | 1398 | copy a portion of a buffer into a different location while preserving |
| 1706 | the visual appearance both of the copied text and the text at | 1399 | the visual appearance both of the copied text and the text at |
| 1707 | destination, even when the copied text includes mixed bidirectional | 1400 | destination, even when the copied text includes mixed bidirectional |
| 1708 | text and directional control characters. | 1401 | text 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 |
| 1715 | have side effects. | 1407 | have 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 |
| 1719 | permissions set to temporary values (e.g., for creating private files). | 1410 | permissions 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 |
| 1729 | system's name has changed or if the Emacs process has changed systems. | 1417 | system's name has changed or if the Emacs process has changed systems. |
| 1730 | To avoid long waits it no longer consults DNS to canonicalize the name | 1418 | To 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' |
| 1733 | is now obsolete. | 1421 | is 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 |
| 1740 | directory at point. | 1426 | directory 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. |
| 1747 | In particular, it now returns the average width of the font's | 1431 | In particular, it now returns the average width of the font's |
| 1748 | characters, which can be used for geometry-related calculations. | 1432 | characters, 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 |
| 1752 | character in the current buffer's default font. If the default face | 1435 | character in the current buffer's default font. If the default face |
| 1753 | is remapped (see 'face-remapping-alist'), the value for the remapped | 1436 | is remapped (see 'face-remapping-alist'), the value for the remapped |
| 1754 | face is returned. This function complements the existing function | 1437 | face 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 |
| 1759 | the height and average width of characters in a specified face and | 1441 | the height and average width of characters in a specified face and |
| 1760 | window. If FACE is remapped (see 'face-remapping-alist'), the | 1442 | window. If FACE is remapped (see 'face-remapping-alist'), the |
| 1761 | function returns the information for the remapped face. | 1443 | function 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 |
| 1765 | number of characters that can be displayed on one line. If a face | 1446 | number of characters that can be displayed on one line. If a face |
| 1766 | and/or window are provided, these values are used for the | 1447 | and/or window are provided, these values are used for the |
| @@ -1768,7 +1449,6 @@ calculation. This function is different from 'window-body-width' in | |||
| 1768 | that it accounts for (i) continuation glyphs, (ii) the size of the | 1449 | that it accounts for (i) continuation glyphs, (ii) the size of the |
| 1769 | font, and (iii) the specified window. | 1450 | font, 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 |
| 1778 | as the first or last argument of subsequent forms. | 1458 | as 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 |
| 1782 | in addition to the old style with grave accent and apostrophe. The | 1461 | in addition to the old style with grave accent and apostrophe. The |
| 1783 | new style looks better on today's displays. In the new Electric Quote | 1462 | new 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 |
| 1789 | quotes. | 1468 | quotes. |
| 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 |
| 1793 | curved single quotes, grave accents and apostrophes as per | 1471 | curved 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' |
| 1798 | before being passed to the function. Help strings, help-echo | 1475 | before being passed to the function. Help strings, help-echo |
| 1799 | properties, etc. can therefore contain command key escapes and | 1476 | properties, etc. can therefore contain command key escapes and |
| 1800 | quotation marks. | 1477 | quotation 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. | |||
| 1832 | undocumented integer-pair format. Instead, they return a list of two | 1508 | undocumented integer-pair format. Instead, they return a list of two |
| 1833 | integers. | 1509 | integers. |
| 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 |
| 1837 | of the Emacs process to binary I/O mode. | 1512 | of 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 |
| 1841 | name (as returned from, for instance, 'file-name-all-completions') is | 1515 | name (as returned from, for instance, 'file-name-all-completions') is |
| 1842 | a directory file name. It returns non-nil if the last character in | 1516 | a directory file name. It returns non-nil if the last character in |
| 1843 | the name is a directory separator character (forward slash on GNU and | 1517 | the name is a directory separator character (forward slash on GNU and |
| 1844 | Unix systems, forward- or backslash on MS-Windows and MS-DOS). | 1518 | Unix 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' |
| 1848 | if the terminal cannot display curved quotes. | 1521 | if 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'. |
| 1853 | To force a specific encoding, bind 'coding-system-for-write' to the | 1525 | To force a specific encoding, bind 'coding-system-for-write' to the |
| 1854 | coding-system of your choice when invoking functions like 'prin1' and | 1526 | coding-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'. |
| 1862 | This is used by Google's Native Client (NaCl). | 1532 | This is used by Google's Native Client (NaCl). |
| 1863 | 1533 | ||
| 1864 | ** Miscellaneous name change | 1534 | ** Miscellaneous name change |
| 1865 | 1535 | ||
| 1866 | --- | ||
| 1867 | For consistency with the usual Emacs spelling, the Lisp variable | 1536 | For 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'. |
| 1869 | The old name should still work, as an obsolescent alias. | 1538 | The 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 |
| 1875 | provide toolkit scroll bars, namely Gtk+, Lucid, Motif and Windows. | 1543 | provide toolkit scroll bars, namely Gtk+, Lucid, Motif and Windows. |
| 1876 | Horizontal scroll bars are turned off by default. | 1544 | Horizontal 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 |
| 1915 | frame's geometry. | 1582 | frame'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 |
| 1920 | mouse cursor. | 1586 | mouse 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 |
| 1924 | retrieve body, absolute and pixel edges of the window. | 1589 | retrieve 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 |
| 1934 | coordinates of a visible buffer position. | 1597 | coordinates 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 |
| 1938 | frame's text height. This means that the text height stands only for | 1600 | frame's text height. This means that the text height stands only for |
| 1939 | the height of the frame's root window plus that of the echo area (if | 1601 | the 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 | |||
| 1941 | and menu bars (like in the Gtk builds) but has now been extended to all | 1603 | and menu bars (like in the Gtk builds) but has now been extended to all |
| 1942 | builds. | 1604 | builds. |
| 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 |
| 1946 | they display when setting default font, menu bar, fringe width, or | 1607 | they display when setting default font, menu bar, fringe width, or |
| 1947 | scroll bars. In particular, maximized and fullscreen frames are | 1608 | scroll bars. In particular, maximized and fullscreen frames are |
| @@ -1953,23 +1614,19 @@ setting default font, menu bar, fringe width, or scroll bars of a | |||
| 1953 | specific frame does not resize that frame in order to preserve the | 1614 | specific frame does not resize that frame in order to preserve the |
| 1954 | number of columns or lines it displays. | 1615 | number 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 |
| 1958 | a window without "fixing" it. It's supported by 'fit-window-to-buffer', | 1618 | a 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'. |
| 1963 | This displays the buffer in an existing frame other than the current | 1622 | This displays the buffer in an existing frame other than the current |
| 1964 | frame, and allows the caller to specify a frame predicate to exclude | 1623 | frame, and allows the caller to specify a frame predicate to exclude |
| 1965 | frames. | 1624 | frames. |
| 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' |
| 1970 | and 'window-divider-default-right-width'. | 1628 | and '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 |
| 1974 | completion candidates is now shown at the bottom of the selected | 1631 | completion candidates is now shown at the bottom of the selected |
| 1975 | frame. The size of that window is always as large as required to | 1632 | frame. 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 | |||
| 1979 | describes how to customize 'display-buffer-alist' to get back the old | 1636 | describes how to customize 'display-buffer-alist' to get back the old |
| 1980 | behavior, see the node "Temporary Displays" there. | 1637 | behavior, 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. |
| 1984 | Those features have been deprecated in Gtk+ for a long time. | 1640 | Those 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 | ||
| 1991 | By default, 'etags' will not qualify class members for Perl and C-like | 1646 | By 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 | |||
| 1996 | positives. | 1651 | positives. |
| 1997 | 1652 | ||
| 1998 | Use --class-qualify (-Q) if you want the old default behavior of | 1653 | Use --class-qualify (-Q) if you want the old default behavior of |
| 1999 | qualifying class members in C++, Java, Objective C, and Perl. Note | ||
| 2000 | that using -Q might make some class members become "unknown" to 'M-.' | 1654 | that 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 |
| 2002 | qualified names by hand. | 1656 | qualified names by hand. |
| 2003 | 1657 | ||
| 2004 | +++ | ||
| 2005 | *** New language Ruby | 1658 | *** New language Ruby |
| 2006 | 1659 | ||
| 2007 | Names of modules, classes, methods, functions, and constants are | 1660 | Names of modules, classes, methods, functions, and constants are |
| 2008 | tagged. Overloaded operators are also tagged. | 1661 | tagged. Overloaded operators are also tagged. |
| 2009 | 1662 | ||
| 2010 | +++ | ||
| 2011 | *** New language Go | 1663 | *** New language Go |
| 2012 | Names of packages, functions, and types are tagged. | 1664 | Names of packages, functions, and types are tagged. |
| 2013 | 1665 | ||
| 2014 | +++ | ||
| 2015 | *** Improved support for Lua | 1666 | *** Improved support for Lua |
| 2016 | 1667 | ||
| 2017 | Etags now tags functions even if the "function" keyword follows some | 1668 | Etags 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. |
| 2025 | This includes the makefile.w32-in files in various subdirectories, and | 1675 | This includes the makefile.w32-in files in various subdirectories, and |
| 2026 | the support files. The file nt/configure.bat now just tells the user | 1676 | the support files. The file nt/configure.bat now just tells the user |
| 2027 | to use the procedure described in nt/INSTALL, by running the Posix | 1677 | to 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 |
| 2032 | or Windows Server 2003. The built binaries still run on all versions | 1681 | or Windows Server 2003. The built binaries still run on all versions |
| 2033 | of Windows starting with Windows 9X. | 1682 | of 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 |
| 2040 | MS-Windows as they are on other platforms. | 1687 | MS-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. |
| 2044 | Pass '--without-ns' to configure to create an X11 build, the old default. | 1690 | Pass '--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 |
| 2054 | non-native NS fullscreen. The default is nil. Set to t to enable | 1697 | non-native NS fullscreen. The default is nil. Set to t to enable |
| 2055 | animation when entering and leaving fullscreen. For native OSX fullscreen | 1698 | animation 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 | |||
| 2064 | an appropriate font, such as Symbola; then they will be displayed, | 1707 | an appropriate font, such as Symbola; then they will be displayed, |
| 2065 | albeit without the color effects. | 1708 | albeit 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 |
| 2069 | MS-Windows application given the name of its executable program file. | 1711 | MS-Windows application given the name of its executable program file. |
| 2070 | 1712 | ||