diff options
| author | Glenn Morris | 2014-06-08 17:59:28 -0700 |
|---|---|---|
| committer | Glenn Morris | 2014-06-08 17:59:28 -0700 |
| commit | 3eacddfe7344cc2deb9e70dcc94794a25a7ba7a1 (patch) | |
| tree | 1baf791794353c8ec3e34804887c30fcba64683b | |
| parent | 4181427f24e591f539122db2e3d8d8b55a7de7cd (diff) | |
| download | emacs-3eacddfe7344cc2deb9e70dcc94794a25a7ba7a1.tar.gz emacs-3eacddfe7344cc2deb9e70dcc94794a25a7ba7a1.zip | |
NEWS cleanup: Remove +++/--- markup, reorder, copyedits, etc
| -rw-r--r-- | etc/NEWS | 1060 |
1 files changed, 377 insertions, 683 deletions
| @@ -14,56 +14,41 @@ and NEWS.1-17 for changes in older Emacs versions. | |||
| 14 | You can narrow news to a specific version by calling `view-emacs-news' | 14 | You can narrow news to a specific version by calling `view-emacs-news' |
| 15 | with a prefix argument or by typing C-u C-h C-n. | 15 | with a prefix argument or by typing C-u C-h C-n. |
| 16 | 16 | ||
| 17 | Temporary note: | ||
| 18 | +++ indicates that all necessary documentation updates are complete. | ||
| 19 | (This means all relevant manuals in doc/ AND lisp doc-strings.) | ||
| 20 | --- means no change in the manuals is needed. | ||
| 21 | When you add a new item, use the appropriate mark if you are sure it applies, | ||
| 22 | otherwise leave it unmarked. | ||
| 23 | |||
| 24 | 17 | ||
| 25 | * Installation Changes in Emacs 24.4 | 18 | * Installation Changes in Emacs 24.4 |
| 26 | 19 | ||
| 27 | --- | 20 | ** Emacs can now be compiled with ACL (access control list) support. |
| 28 | ** Emacs can now be compiled with ACL support. | ||
| 29 | This happens by default if a suitable support library is found at | 21 | This happens by default if a suitable support library is found at |
| 30 | build time, like libacl on GNU/Linux. To prevent this, use the | 22 | build time, like libacl on GNU/Linux. To prevent this, use the |
| 31 | configure option `--disable-acl'. See below for related features. | 23 | configure option `--disable-acl'. See below for the features this provides. |
| 32 | 24 | ||
| 33 | --- | ||
| 34 | ** Emacs can now be compiled with file notification support. | 25 | ** Emacs can now be compiled with file notification support. |
| 35 | This happens by default if a suitable system library is found at | 26 | This happens by default if a suitable system library is found at |
| 36 | build time. To prevent this, use the configure option | 27 | build time. To prevent this, use the configure option |
| 37 | `--without-file-notification'. See below for file-notify features. | 28 | `--without-file-notification'. See below for file-notify features. |
| 38 | This feature is not available for the Nextstep port. | 29 | This feature is not available for the Nextstep port. |
| 39 | 30 | ||
| 40 | --- | ||
| 41 | ** Emacs can now be compiled with zlib support. | 31 | ** Emacs can now be compiled with zlib support. |
| 42 | This happens by default if zlib is present, which it normally is. | 32 | This happens by default if zlib is present, which it normally is. |
| 43 | To prevent this, use the configure option `--without-zlib'. | 33 | To prevent this, use the configure option `--without-zlib'. |
| 44 | This provides the function `zlib-decompress-region'; see below for details. | 34 | This provides the function `zlib-decompress-region'; see below for details. |
| 45 | 35 | ||
| 46 | --- | ||
| 47 | ** The configure option `--without-compress-info' has been generalized, | 36 | ** The configure option `--without-compress-info' has been generalized, |
| 48 | and renamed to `--without-compress-install'. It now prevents compression | 37 | and renamed to `--without-compress-install'. It now prevents compression |
| 49 | of _any_ files during installation. | 38 | of _any_ files during installation. |
| 50 | 39 | ||
| 51 | --- | ||
| 52 | ** The configure option `--with-crt-dir' has been removed. | 40 | ** The configure option `--with-crt-dir' has been removed. |
| 53 | It is no longer needed, as the crt*.o files are no longer linked specially. | 41 | It is no longer needed, as the crt*.o files are no longer linked specially. |
| 54 | 42 | ||
| 55 | --- | ||
| 56 | ** Directories passed to configure option `--enable-locallisppath' are | 43 | ** Directories passed to configure option `--enable-locallisppath' are |
| 57 | no longer created during installation. | 44 | no longer created during installation. |
| 58 | 45 | ||
| 59 | --- | 46 | ** Emacs for Nextstep (Mac OS X, GNUstep) can be built with ImageMagick support. |
| 60 | ** Emacs for NS (Mac OS X, GNUstep) can be built with ImageMagick support. | ||
| 61 | This requires pkg-config to be available at build time. | 47 | This requires pkg-config to be available at build time. |
| 62 | 48 | ||
| 63 | 49 | ||
| 64 | * Startup Changes in Emacs 24.4 | 50 | * Startup Changes in Emacs 24.4 |
| 65 | 51 | ||
| 66 | +++ | ||
| 67 | ** When initializing `load-path', an empty element in the EMACSLOADPATH | 52 | ** When initializing `load-path', an empty element in the EMACSLOADPATH |
| 68 | environment variable (either leading, e.g., ":/foo"; trailing, e.g., | 53 | environment variable (either leading, e.g., ":/foo"; trailing, e.g., |
| 69 | "/foo:"; or embedded, e.g., "/foo::/bar") is replaced with the default | 54 | "/foo:"; or embedded, e.g., "/foo::/bar") is replaced with the default |
| @@ -73,76 +58,57 @@ This makes it easier to _extend_ the load-path via EMACSLOADPATH | |||
| 73 | including the defaults). (In older versions of Emacs, an empty element | 58 | including the defaults). (In older versions of Emacs, an empty element |
| 74 | was replaced by ".", so use an explicit "." now if that is what you want.) | 59 | was replaced by ".", so use an explicit "." now if that is what you want.) |
| 75 | 60 | ||
| 76 | +++ | ||
| 77 | ** The -L option, which normally prepends its argument to load-path, | 61 | ** The -L option, which normally prepends its argument to load-path, |
| 78 | will instead append, if the argument begins with `:' (or `;' on MS Windows; | 62 | will instead append, if the argument begins with `:' (or `;' on MS Windows; |
| 79 | i.e., `path-separator'). | 63 | i.e., `path-separator'). |
| 80 | 64 | ||
| 81 | +++ | ||
| 82 | ** If you use either site-load.el or site-init.el to customize the dumped | 65 | ** If you use either site-load.el or site-init.el to customize the dumped |
| 83 | Emacs executable, any changes to `load-path' that these files make | 66 | Emacs executable, any changes to `load-path' that these files make |
| 84 | will no longer be present after dumping. To affect a permanent change | 67 | will no longer be present after dumping. To affect a permanent change |
| 85 | to `load-path', use the `--enable-locallisppath' option of `configure'. | 68 | to `load-path', use the `--enable-locallisppath' option of `configure'. |
| 86 | 69 | ||
| 87 | +++ | ||
| 88 | ** The user option `initial-buffer-choice' can now specify a function | 70 | ** The user option `initial-buffer-choice' can now specify a function |
| 89 | to set up the initial buffer. | 71 | to set up the initial buffer. |
| 90 | 72 | ||
| 91 | 73 | ||
| 92 | * Changes in Emacs 24.4 | 74 | * Changes in Emacs 24.4 |
| 93 | 75 | ||
| 94 | +++ | 76 | ** Support for ACLs (access control lists). |
| 95 | ** New function `zlib-decompress-region', which decompresses gzip- and | 77 | This requires a suitable support library to be found at build time. |
| 96 | zlib-format compressed data using built-in zlib support, if available. | 78 | On GNU/Linux, the POSIX ACL interface is used via libacl. |
| 79 | On MS-Windows, the NT Security APIs are used to emulate the POSIX interface. | ||
| 80 | ACLs are extended file attributes, used e.g. for finer-grained permissions. | ||
| 97 | 81 | ||
| 98 | +++ | 82 | *** Emacs preserves the ACL entries of files when backing up. |
| 99 | ** New option `gnutls-verify-error', if non-nil, means that Emacs | 83 | |
| 100 | should reject SSL/TLS certificates that GnuTLS determines as invalid. | 84 | *** New functions `file-acl' and `set-file-acl' get and set file ACLs. |
| 101 | (This option defaults to nil at present, but this is expected to change | ||
| 102 | in a future release.) | ||
| 103 | 85 | ||
| 104 | +++ | 86 | ** Support for menus on text-mode terminals. |
| 105 | ** Emacs now supports menus on text-mode terminals. | ||
| 106 | If the terminal supports a mouse, clicking on the menu bar, or on | 87 | If the terminal supports a mouse, clicking on the menu bar, or on |
| 107 | sensitive portions of the mode line or header line, will drop down the | 88 | sensitive portions of the mode line or header line, will drop down the |
| 108 | menu defined at that position. Likewise, clicking C-mouse-2 or | 89 | menu defined at that position. Likewise, clicking C-mouse-1, C-mouse-2, or |
| 109 | C-mouse-2 or C-mouse-3 on the text area will pop up the menus defined | 90 | C-mouse-3 on the text area will pop up the menus defined for those locations. |
| 110 | for those locations. | ||
| 111 | 91 | ||
| 112 | If the text terminal does not support a mouse, you can activate the | 92 | If the text terminal does not support a mouse, you can activate the |
| 113 | first menu-bar menu by typing F10, which invokes `menu-bar-open'. | 93 | first menu-bar menu by typing F10, which invokes `menu-bar-open'. |
| 114 | 94 | ||
| 115 | If you want the previous behavior, whereby F10 invoked `tmm-menubar', | 95 | If you want the previous behavior, where F10 invoked `tmm-menubar', |
| 116 | customize the option `tty-menu-open-use-tmm' to a non-nil value. | 96 | customize the option `tty-menu-open-use-tmm' to a non-nil value. |
| 117 | (Typing M-` always invokes `tmm-menubar', even if `tty-menu-open-use-tmm' | 97 | (Typing M-` always invokes `tmm-menubar', even if `tty-menu-open-use-tmm' |
| 118 | is nil.) | 98 | is nil.) |
| 119 | 99 | ||
| 120 | +++ | 100 | ** New option `load-prefer-newer' affects how the `load' function chooses |
| 121 | ** The *Messages* buffer is created in `messages-buffer-mode', | 101 | the file to load. If this is non-nil, then when both .el and .elc |
| 122 | a new major mode, with read-only status. Any code that might create | 102 | versions of a file exist, and the caller did not explicitly specify |
| 123 | the *Messages* buffer should call the function `messages-buffer' to do | 103 | which one to load, then the newer file is loaded. The default, nil, |
| 124 | so and set up the mode. | 104 | means to always load the .elc file. |
| 125 | |||
| 126 | +++ | ||
| 127 | ** Emacs can now support ACLs (access control lists). | ||
| 128 | This requires a suitable support library to be found at build time. | ||
| 129 | On GNU/Linux, the POSIX ACL interface is used via libacl. | ||
| 130 | On MS-Windows, the NT Security APIs are used to emulate the POSIX interface. | ||
| 131 | |||
| 132 | +++ | ||
| 133 | *** Emacs preserves the ACL entries of files when backing up. | ||
| 134 | +++ | ||
| 135 | *** New functions `file-acl' and `set-file-acl' get and set the ACL | ||
| 136 | entries of a file. | ||
| 137 | 105 | ||
| 138 | ** Multi-monitor support has been added. | 106 | ** Multi-monitor support |
| 139 | 107 | ||
| 140 | +++ | ||
| 141 | *** New functions `display-monitor-attributes-list' and | 108 | *** New functions `display-monitor-attributes-list' and |
| 142 | `frame-monitor-attributes' can be used to obtain information about | 109 | `frame-monitor-attributes' can be used to obtain information about |
| 143 | each physical monitor on multi-monitor setups. | 110 | each physical monitor on multi-monitor setups. |
| 144 | 111 | ||
| 145 | +++ | ||
| 146 | *** The functions `display-pixel-width' and `display-pixel-height' now | 112 | *** The functions `display-pixel-width' and `display-pixel-height' now |
| 147 | behave consistently among the platforms: they return the pixel width | 113 | behave consistently among the platforms: they return the pixel width |
| 148 | or height for all physical monitors associated with the given display | 114 | or height for all physical monitors associated with the given display |
| @@ -151,31 +117,33 @@ monitor, use the new functions above. Similar notes also apply to | |||
| 151 | `x-display-pixel-width', `x-display-pixel-height', `display-mm-width', | 117 | `x-display-pixel-width', `x-display-pixel-height', `display-mm-width', |
| 152 | `display-mm-height', `x-display-mm-width', and `x-display-mm-height'. | 118 | `display-mm-height', `x-display-mm-width', and `x-display-mm-height'. |
| 153 | 119 | ||
| 154 | +++ | 120 | ** New function `zlib-decompress-region', which decompresses gzip- and |
| 155 | ** The cursor stops blinking after 10 blinks (by default) on X and NS. | 121 | zlib-format compressed data using built-in zlib support (if available). |
| 122 | |||
| 123 | ** The *Messages* buffer is created in `messages-buffer-mode', | ||
| 124 | a new major mode, with read-only status. Any code that might create | ||
| 125 | the *Messages* buffer should call the function `messages-buffer' to do | ||
| 126 | so and set up the mode. | ||
| 127 | |||
| 128 | ** The cursor stops blinking after 10 blinks (by default) on X and Nextstep. | ||
| 156 | You can change the default by customizing `blink-cursor-blinks'. | 129 | You can change the default by customizing `blink-cursor-blinks'. |
| 157 | 130 | ||
| 158 | +++ | ||
| 159 | ** In keymaps where SPC scrolls forward, S-SPC now scrolls backward. | 131 | ** In keymaps where SPC scrolls forward, S-SPC now scrolls backward. |
| 160 | This affects View mode, etc. | 132 | This affects View mode, etc. |
| 161 | 133 | ||
| 162 | +++ | ||
| 163 | ** The default value of `make-backup-file-name-function' is no longer nil. | 134 | ** The default value of `make-backup-file-name-function' is no longer nil. |
| 164 | Instead it defaults to a function that does what the nil value used to. | 135 | Instead it defaults to a function that does what the nil value used to. |
| 165 | 136 | ||
| 166 | ** Help changes | 137 | ** Help |
| 167 | 138 | ||
| 168 | +++ | ||
| 169 | *** The command `apropos-variable' is renamed to `apropos-user-option'. | 139 | *** The command `apropos-variable' is renamed to `apropos-user-option'. |
| 170 | `apropos-user-option' shows all user options while `apropos-variable' | 140 | `apropos-user-option' shows all user options, while `apropos-variable' |
| 171 | shows all variables. When called with a universal prefix argument, | 141 | shows all variables. When called with a universal prefix argument, |
| 172 | the two commands swap their behaviors. When `apropos-do-all' is | 142 | the two commands swap their behaviors. When `apropos-do-all' is |
| 173 | non-nil, they output the same results. | 143 | non-nil, they output the same results. |
| 174 | 144 | ||
| 175 | +++ | ||
| 176 | *** The key `?' now describes prefix bindings, like `C-h'. | 145 | *** The key `?' now describes prefix bindings, like `C-h'. |
| 177 | 146 | ||
| 178 | --- | ||
| 179 | *** The command `describe-function' has been extended for EIEIO. | 147 | *** The command `describe-function' has been extended for EIEIO. |
| 180 | Running it on constructors will show a full description of the | 148 | Running it on constructors will show a full description of the |
| 181 | generated class. For generic functions, it will show all | 149 | generated class. For generic functions, it will show all |
| @@ -183,16 +151,13 @@ implementations together with links to the source. The old commands | |||
| 183 | `describe-class', `describe-constructor' and `describe-generic' were | 151 | `describe-class', `describe-constructor' and `describe-generic' were |
| 184 | removed. | 152 | removed. |
| 185 | 153 | ||
| 186 | --- | ||
| 187 | *** The function `quail-help' is no longer an interactive command. | 154 | *** The function `quail-help' is no longer an interactive command. |
| 188 | Use `C-h C-\' (`describe-input-method') instead. | 155 | Use `C-h C-\' (`describe-input-method') instead. |
| 189 | 156 | ||
| 190 | ** ImageMagick | 157 | ** ImageMagick |
| 191 | 158 | ||
| 192 | +++ | ||
| 193 | *** ImageMagick images now support the :max-width and :max-height keywords. | 159 | *** ImageMagick images now support the :max-width and :max-height keywords. |
| 194 | 160 | ||
| 195 | +++ | ||
| 196 | *** When using `create-image' with image data, you can pass a :format | 161 | *** When using `create-image' with image data, you can pass a :format |
| 197 | attribute (via the property-list argument) in order to help | 162 | attribute (via the property-list argument) in order to help |
| 198 | ImageMagick detect the image type. The value should be a MIME | 163 | ImageMagick detect the image type. The value should be a MIME |
| @@ -200,21 +165,16 @@ content-type that is found in the new variable `image-format-suffixes'. | |||
| 200 | 165 | ||
| 201 | ** Frame and window changes | 166 | ** Frame and window changes |
| 202 | 167 | ||
| 203 | +++ | ||
| 204 | *** The function `window-in-direction' introduced in Emacs 24.1 now | ||
| 205 | takes additional arguments for specifying a reference point, wrapping | ||
| 206 | selection around frame borders, and specifying ways to select the | ||
| 207 | minibuffer window. | ||
| 208 | |||
| 209 | +++ | ||
| 210 | *** New commands `toggle-frame-fullscreen' and `toggle-frame-maximized', | 168 | *** New commands `toggle-frame-fullscreen' and `toggle-frame-maximized', |
| 211 | bound to <f11> and M-<f10>, respectively. | 169 | bound to <f11> and M-<f10>, respectively. |
| 212 | 170 | ||
| 213 | +++ | ||
| 214 | *** New hooks `focus-in-hook', `focus-out-hook'. | 171 | *** New hooks `focus-in-hook', `focus-out-hook'. |
| 215 | These are normal hooks run when an Emacs frame gains or loses input focus. | 172 | These are normal hooks run when an Emacs frame gains or loses input focus. |
| 216 | 173 | ||
| 217 | +++ | 174 | *** The function `window-in-direction' now takes additional arguments |
| 175 | for specifying a reference point, wrapping the selection around frame | ||
| 176 | borders, and specifying ways to select the minibuffer window. | ||
| 177 | |||
| 218 | *** Emacs can now change frame sizes in units of pixels, rather than | 178 | *** Emacs can now change frame sizes in units of pixels, rather than |
| 219 | text rows or columns. When maximizing a frame or making it fullscreen, | 179 | text rows or columns. When maximizing a frame or making it fullscreen, |
| 220 | remaining extra pixels are no longer given to the minibuffer, the rightmost | 180 | remaining extra pixels are no longer given to the minibuffer, the rightmost |
| @@ -223,7 +183,6 @@ areas of the frame's windows. If the new option `frame-resize-pixelwise' | |||
| 223 | is non-nil, all frame size changes happen pixelwise and set the | 183 | is non-nil, all frame size changes happen pixelwise and set the |
| 224 | corresponding size hints for the window manager. | 184 | corresponding size hints for the window manager. |
| 225 | 185 | ||
| 226 | +++ | ||
| 227 | *** Emacs can now change window sizes in units of pixels. | 186 | *** Emacs can now change window sizes in units of pixels. |
| 228 | Mouse-dragging a mode line or window divider now changes the size of | 187 | Mouse-dragging a mode line or window divider now changes the size of |
| 229 | adjacent windows pixelwise. If the new option `window-resize-pixelwise' | 188 | adjacent windows pixelwise. If the new option `window-resize-pixelwise' |
| @@ -232,12 +191,10 @@ resize windows pixelwise. Most functions for changing or accessing | |||
| 232 | window sizes now have an additional argument that allows changes to apply, | 191 | window sizes now have an additional argument that allows changes to apply, |
| 233 | or values to be returned, in pixels instead of lines/columns. | 192 | or values to be returned, in pixels instead of lines/columns. |
| 234 | 193 | ||
| 235 | +++ | ||
| 236 | *** The functions `window-body-height' and `window-body-width' now never | 194 | *** The functions `window-body-height' and `window-body-width' now never |
| 237 | count partially visible lines or columns if called with a nil PIXELWISE | 195 | count partially visible lines or columns if called with a nil PIXELWISE |
| 238 | argument. | 196 | argument. |
| 239 | 197 | ||
| 240 | +++ | ||
| 241 | *** Emacs can now draw dividers between adjacent windows. To put | 198 | *** Emacs can now draw dividers between adjacent windows. To put |
| 242 | dividers between side-by-side/vertically stacked windows customize the | 199 | dividers between side-by-side/vertically stacked windows customize the |
| 243 | frame parameters `right-divider-width' and `bottom-divider-width' to | 200 | frame parameters `right-divider-width' and `bottom-divider-width' to |
| @@ -248,83 +205,67 @@ the appearance of dividers by customizing the faces `window-divider', | |||
| 248 | two are useful to provide a 3D effect, or to better distinguish dividers | 205 | two are useful to provide a 3D effect, or to better distinguish dividers |
| 249 | from surrounding display objects. | 206 | from surrounding display objects. |
| 250 | 207 | ||
| 251 | +++ | 208 | *** New functions to return the pixel sizes of window components, namely |
| 252 | *** New functions are provided to return the pixel sizes of window | 209 | `window-scroll-bar-width', `window-mode-line-height', |
| 253 | components, namely `window-scroll-bar-width', `window-mode-line-height' | 210 | `window-header-line-height', `window-right-divider-width', and |
| 254 | `window-header-line-height', `window-right-divider-width' and | ||
| 255 | `window-bottom-divider-width'. | 211 | `window-bottom-divider-width'. |
| 256 | 212 | ||
| 257 | +++ | ||
| 258 | *** The new function `window-text-pixel-size' returns the size of the | 213 | *** The new function `window-text-pixel-size' returns the size of the |
| 259 | text of a window's buffer in pixels. This allows functions like | 214 | text of a window's buffer in pixels. This allows functions like |
| 260 | `fit-frame-to-buffer' and `fit-window-to-buffer' to accurately fit a | 215 | `fit-frame-to-buffer' and `fit-window-to-buffer' to accurately fit a |
| 261 | window to its buffer as it will be displayed. | 216 | window to its buffer as it will be displayed. |
| 262 | 217 | ||
| 263 | +++ | ||
| 264 | *** `fit-window-to-buffer' can now resize windows in both dimensions. | 218 | *** `fit-window-to-buffer' can now resize windows in both dimensions. |
| 265 | This behavior is controlled by the new option | 219 | This behavior is controlled by the new option |
| 266 | `fit-window-to-buffer-horizontally'. The new option | 220 | `fit-window-to-buffer-horizontally'. The new option |
| 267 | `fit-frame-to-buffer' allows to fit the window's frame to its buffer. | 221 | `fit-frame-to-buffer' allows you to fit the window's frame to its buffer. |
| 268 | 222 | ||
| 269 | +++ | ||
| 270 | *** `fit-frame-to-buffer' now fits frames in both dimensions. The new | 223 | *** `fit-frame-to-buffer' now fits frames in both dimensions. The new |
| 271 | options `fit-frame-to-buffer-margins' and `fit-frame-to-buffer-sizes' | 224 | options `fit-frame-to-buffer-margins' and `fit-frame-to-buffer-sizes' |
| 272 | control the size of the frame and its position on screen. | 225 | control the size of the frame and its position on screen. |
| 273 | 226 | ||
| 274 | --- | 227 | *** Temp Buffer Resize Mode can now adjust the height and width of |
| 275 | *** Temp Buffer Resize Mode can now adjust height and width of windows | 228 | windows and frames. The new option `temp-buffer-max-width' allows you to |
| 276 | and frames. `temp-buffer-resize-mode' is now able to adjust the height | 229 | control the width of temporary buffer windows. Moreover, if the new |
| 277 | and the width of a window displaying a temporary buffer. The new option | 230 | option `fit-frame-to-buffer' is non-nil and the buffer appears in the |
| 278 | `temp-buffer-max-width' allows to control the width of temporary buffer | 231 | root window of a frame, Temp Buffer Resize Mode will try to adjust the |
| 279 | windows. Moreover, if the new option `fit-frame-to-buffer' is non-nil | 232 | width and/or height of the frame. |
| 280 | and the buffer appears in the root window of a frame, Temp Buffer Resize | ||
| 281 | Mode will try to adjust width and/or height of the frame. | ||
| 282 | 233 | ||
| 283 | --- | ||
| 284 | *** `split-window' is now a non-interactive function, not a command. | 234 | *** `split-window' is now a non-interactive function, not a command. |
| 285 | As a command, it was a special case of `C-x 2' (`split-window-below'), | 235 | As a command, it was a special case of `C-x 2' (`split-window-below'), |
| 286 | and as such superfluous. After being reimplemented in Lisp, its | 236 | and as such superfluous. After being reimplemented in Lisp, its |
| 287 | interactive form was mistakenly retained. | 237 | interactive form was mistakenly retained. |
| 288 | 238 | ||
| 289 | +++ | ||
| 290 | *** The functions `window-size' and `window-total-size' now have an | 239 | *** The functions `window-size' and `window-total-size' now have an |
| 291 | optional argument to return a rounded size value. | 240 | optional argument to return a rounded size value. |
| 292 | 241 | ||
| 293 | +++ | 242 | *** `window-state-put' now allows you to put a window state into internal |
| 294 | *** `window-state-put' now allows to put a window state into internal | ||
| 295 | windows too. | 243 | windows too. |
| 296 | 244 | ||
| 297 | +++ | ||
| 298 | *** New option `scroll-bar-adjust-thumb-portion'. | 245 | *** New option `scroll-bar-adjust-thumb-portion'. |
| 299 | Available only on X, this option allows to control over-scrolling | 246 | Available only on X, this option allows you to control over-scrolling |
| 300 | using the scroll bar (i.e. dragging the thumb down even when the end | 247 | using the scroll bar (i.e., dragging the thumb down even when the end |
| 301 | of the buffer is visible). | 248 | of the buffer is visible). |
| 302 | 249 | ||
| 303 | +++ | 250 | *** New display actions functions for `display-buffer': |
| 304 | *** New basic action function `display-buffer-in-previous-window' has | 251 | |
| 305 | `display-buffer' display a buffer in a window previously showing that | 252 | **** `display-buffer-in-previous-window' displays a buffer in a window |
| 306 | buffer. | 253 | previously showing that buffer. |
| 307 | 254 | ||
| 308 | +++ | 255 | **** `display-buffer-at-bottom' chooses or creates a window at the |
| 309 | *** New basic action function `display-buffer-at-bottom' has | 256 | bottom of the selected frame. |
| 310 | `display-buffer' choose or make a window at the bottom of the selected | ||
| 311 | frame. | ||
| 312 | 257 | ||
| 313 | +++ | 258 | **** `display-buffer-no-window' to not display the buffer in a window. |
| 314 | *** New display action function `display-buffer-no-window' to not | ||
| 315 | display the buffer in a window. | ||
| 316 | 259 | ||
| 317 | +++ | ||
| 318 | *** New display action alist entry `allow-no-window' to indicate the | 260 | *** New display action alist entry `allow-no-window' to indicate the |
| 319 | caller of `display-buffer' is ready to handle the case of not | 261 | caller of `display-buffer' is ready to handle the case of not displaying |
| 320 | displaying the buffer in a window. | 262 | the buffer in a window. |
| 321 | 263 | ||
| 322 | ** Lisp evaluation changes | 264 | ** Lisp evaluation changes |
| 323 | +++ | 265 | |
| 324 | *** `eval-defun' on an already defined defcustom calls the :set function, | 266 | *** `eval-defun' on an already defined defcustom calls the :set function, |
| 325 | if there is one. | 267 | if there is one. |
| 326 | 268 | ||
| 327 | +++ | ||
| 328 | *** The commands `eval-expression' (`M-:'), `eval-last-sexp' (`C-x C-e'), | 269 | *** The commands `eval-expression' (`M-:'), `eval-last-sexp' (`C-x C-e'), |
| 329 | and `eval-print-last-sexp' (`C-j' in Lisp Interaction mode) can take a | 270 | and `eval-print-last-sexp' (`C-j' in Lisp Interaction mode) can take a |
| 330 | zero prefix argument. This disables truncation of lists in the output, | 271 | zero prefix argument. This disables truncation of lists in the output, |
| @@ -332,214 +273,150 @@ equivalent to setting `(eval-expression-)print-length' and | |||
| 332 | `(eval-expression-)print-level' to nil. Additionally, it causes integers | 273 | `(eval-expression-)print-level' to nil. Additionally, it causes integers |
| 333 | to be printed in other formats (octal, hexadecimal, and character). | 274 | to be printed in other formats (octal, hexadecimal, and character). |
| 334 | 275 | ||
| 335 | --- | ||
| 336 | *** New hook `eval-expression-minibuffer-setup-hook' run by | 276 | *** New hook `eval-expression-minibuffer-setup-hook' run by |
| 337 | `eval-expression' on entering the minibuffer. | 277 | `eval-expression' on entering the minibuffer. |
| 338 | 278 | ||
| 339 | --- | ||
| 340 | ** `write-region-inhibit-fsync' now defaults to t in batch mode. | ||
| 341 | |||
| 342 | +++ | ||
| 343 | ** `cache-long-line-scans' is now non-nil, and renamed to `cache-long-scans', | 279 | ** `cache-long-line-scans' is now non-nil, and renamed to `cache-long-scans', |
| 344 | because it affects caching of paragraph scanning results as well. | 280 | because it affects caching of paragraph scanning results as well. |
| 345 | There is no reason to set this to nil except for debugging purposes. | 281 | There is no reason to set this to nil except for debugging purposes. |
| 346 | 282 | ||
| 347 | --- | 283 | ** `emacs-bzr-version' has been renamed to `emacs-repository-version', |
| 348 | ** The option `set-mark-default-inactive' has been deleted. | 284 | and works for git too, if you fetch the repository notes. |
| 349 | This unfinished feature was introduced by accident in Emacs 23.1; | ||
| 350 | simply disabling Transient Mark mode does the same thing. | ||
| 351 | 285 | ||
| 352 | --- | ||
| 353 | ** The default value of `comment-use-global-state' is now t, | 286 | ** The default value of `comment-use-global-state' is now t, |
| 354 | and this variable has been marked obsolete. | 287 | and this variable has been marked obsolete. |
| 355 | 288 | ||
| 356 | --- | 289 | ** `write-region-inhibit-fsync' now defaults to t in batch mode. |
| 357 | ** `emacs-bzr-version' has been renamed to `emacs-repository-version', | ||
| 358 | and works for git too, if you fetch the repository notes. | ||
| 359 | 290 | ||
| 360 | +++ | 291 | ** The option `set-mark-default-inactive' has been deleted. |
| 361 | ** New option `load-prefer-newer' affects how the `load' function chooses | 292 | This unfinished feature was introduced by accident in Emacs 23.1; |
| 362 | the file to load. If this is non-nil, then when both .el and .elc | 293 | simply disabling Transient Mark mode does the same thing. |
| 363 | versions of a file exist, and the caller did not explicitly specify | ||
| 364 | which one to load, then the newer file is loaded. The default, nil, | ||
| 365 | means to always load the .elc file. | ||
| 366 | 294 | ||
| 367 | 295 | ||
| 368 | * Editing Changes in Emacs 24.4 | 296 | * Editing Changes in Emacs 24.4 |
| 369 | 297 | ||
| 370 | ** Indentation changes | 298 | ** Indentation changes |
| 371 | 299 | ||
| 372 | +++ | ||
| 373 | *** `electric-indent-mode' is now enabled by default. | 300 | *** `electric-indent-mode' is now enabled by default. |
| 374 | Typing RET reindents the current line and indents the new line. | 301 | Typing RET reindents the current line and indents the new line. |
| 375 | `C-j' inserts a newline but does not indent. In some programming modes, | 302 | `C-j' inserts a newline but does not indent. In some programming modes, |
| 376 | additional characters are electric (eg `{'). | 303 | additional characters are electric (eg `{'). |
| 377 | 304 | ||
| 378 | +++ | ||
| 379 | *** New buffer-local `electric-indent-local-mode'. | 305 | *** New buffer-local `electric-indent-local-mode'. |
| 380 | 306 | ||
| 381 | +++ | ||
| 382 | *** The behavior of `C-x TAB' (`indent-rigidly') has changed. | 307 | *** The behavior of `C-x TAB' (`indent-rigidly') has changed. |
| 383 | When invoked without a prefix argument, it now activates a transient | 308 | When invoked without a prefix argument, it now activates a transient |
| 384 | mode in which typing <left>, <right>, <S-left>, and <S-right> adjusts | 309 | mode in which typing <left>, <right>, <S-left>, and <S-right> adjusts |
| 385 | the text indentation in the region. Typing any other key resumes | 310 | the text indentation in the region. Typing any other key resumes |
| 386 | normal editing behavior. | 311 | normal editing behavior. |
| 387 | 312 | ||
| 388 | +++ | ||
| 389 | *** `tab-stop-list' is now implicitly extended to infinity by repeating | 313 | *** `tab-stop-list' is now implicitly extended to infinity by repeating |
| 390 | the last step. Its default value is changed to nil, which means a tab | 314 | the last step. Its default value is changed to nil, which means a tab |
| 391 | stop every `tab-width' columns. | 315 | stop every `tab-width' columns. |
| 392 | 316 | ||
| 393 | +++ | ||
| 394 | ** New command `cycle-spacing' acts like a smarter `just-one-space'. | ||
| 395 | When called in succession, it cycles between spacing conventions: | ||
| 396 | one space, no spaces, original spacing. | ||
| 397 | |||
| 398 | +++ | ||
| 399 | ** The new function `fill-single-char-nobreak-p' can stop fill from breaking | ||
| 400 | a line after a one-letter word, which is an error in some typographical | ||
| 401 | conventions. To use it, add it to the `fill-nobreak-predicate' hook. | ||
| 402 | |||
| 403 | +++ | ||
| 404 | ** Uniquify is enabled by default, with `post-forward-angle-brackets' style. | 317 | ** Uniquify is enabled by default, with `post-forward-angle-brackets' style. |
| 405 | In other words, if you visit two files that have the same base name, | 318 | In other words, if you visit two files that have the same base name, |
| 406 | then rather than creating buffers basename and basename<2>, | 319 | then rather than creating buffers basename and basename<2>, |
| 407 | Emacs uses basename<dirA> and basename<dirB>. To change this, | 320 | Emacs uses basename<dirA> and basename<dirB>. To change this, |
| 408 | customize `uniquify-buffer-name-style'. Set it to nil for the old behavior. | 321 | customize `uniquify-buffer-name-style'. Set it to nil for the old behavior. |
| 409 | 322 | ||
| 410 | +++ | ||
| 411 | ** New command `C-x SPC' (`rectangle-mark-mode') makes a rectangular region. | 323 | ** New command `C-x SPC' (`rectangle-mark-mode') makes a rectangular region. |
| 412 | Most commands are still unaware of it, but kill/yank do work on the rectangle. | 324 | Most commands are still unaware of it, but kill/yank do work on the rectangle. |
| 413 | 325 | ||
| 414 | +++ | ||
| 415 | ** New option `visual-order-cursor-movement'. | 326 | ** New option `visual-order-cursor-movement'. |
| 416 | If this is non-nil, cursor motion with arrow keys will follow the | 327 | If this is non-nil, cursor motion with arrow keys will follow the |
| 417 | visual order of characters on the screen: <left> always moves to the | 328 | visual order of characters on the screen: <left> always moves to the |
| 418 | left, <right> always moves to the right, disregarding the surrounding | 329 | left, <right> always moves to the right, disregarding the surrounding |
| 419 | bidirectional context. | 330 | bidirectional context. |
| 420 | 331 | ||
| 421 | ** Register changes | 332 | ** New command `delete-duplicate-lines'. |
| 333 | This searches the region for identical lines, and removes all but one | ||
| 334 | copy of each repeated line. The lines need not be sorted. | ||
| 335 | |||
| 336 | ** New command `cycle-spacing' acts like a smarter `just-one-space'. | ||
| 337 | When called in succession, it cycles between spacing conventions: | ||
| 338 | one space, no spaces, original spacing. | ||
| 339 | |||
| 340 | ** `blink-matching-paren' now only highlights the matching open-paren | ||
| 341 | by default, instead of moving the cursor. Set this variable to `jump' to | ||
| 342 | restore the old behavior. | ||
| 343 | |||
| 344 | ** The new function `fill-single-char-nobreak-p' can stop fill from breaking | ||
| 345 | a line after a one-letter word, which is an error in some typographical | ||
| 346 | conventions. To use it, add it to the `fill-nobreak-predicate' hook. | ||
| 347 | |||
| 348 | ** Registers | ||
| 422 | 349 | ||
| 423 | +++ | ||
| 424 | *** All interactive commands that read a register (`copy-to-register', etc.) | 350 | *** All interactive commands that read a register (`copy-to-register', etc.) |
| 425 | now display a temporary window after `register-preview-delay' seconds | 351 | now display a temporary window after `register-preview-delay' seconds |
| 426 | that summarizes existing registers. To disable this, set that option to nil. | 352 | that summarizes existing registers. To disable this, set that option to nil. |
| 427 | Interactive commands that read registers and want to make use of this | 353 | Interactive commands that read registers and want to make use of this |
| 428 | should use `register-read-with-preview' to read register names. | 354 | should use `register-read-with-preview' to read register names. |
| 429 | 355 | ||
| 430 | +++ | ||
| 431 | *** New command `frameset-to-register' bound to `C-x r f', replacing | 356 | *** New command `frameset-to-register' bound to `C-x r f', replacing |
| 432 | `frame-configuration-to-register'. It offers similar functionality, | 357 | `frame-configuration-to-register'. It offers similar functionality, |
| 433 | plus enhancements like the ability to restore deleted frames. | 358 | plus enhancements like the ability to restore deleted frames. |
| 434 | (`frame-configuration-to-register' still exists, but no longer has a | 359 | (`frame-configuration-to-register' still exists, but no longer has a |
| 435 | key binding.) | 360 | key binding.) |
| 436 | 361 | ||
| 437 | +++ | ||
| 438 | *** New command `C-x C-k x' (`kmacro-to-register') stores keyboard | 362 | *** New command `C-x C-k x' (`kmacro-to-register') stores keyboard |
| 439 | macros in registers. | 363 | macros in registers. |
| 440 | 364 | ||
| 441 | +++ | ||
| 442 | ** New command `delete-duplicate-lines'. | ||
| 443 | This searches the region for identical lines, and removes all but one | ||
| 444 | copy of each repeated line. The lines need not be sorted. | ||
| 445 | |||
| 446 | +++ | ||
| 447 | ** `blink-matching-paren' now only highlights the matching open-paren | ||
| 448 | by default, instead of moving cursor. Set this variable to `jump' to | ||
| 449 | enable the old behavior. | ||
| 450 | |||
| 451 | 365 | ||
| 452 | * Changes in Specialized Modes and Packages in Emacs 24.4 | 366 | * Changes in Specialized Modes and Packages in Emacs 24.4 |
| 453 | 367 | ||
| 454 | +++ | ||
| 455 | ** More packages look for ~/.emacs.d/<foo> additionally to ~/.<foo>. | ||
| 456 | Affected files: | ||
| 457 | ~/.emacs.d/timelog replaces ~/.timelog | ||
| 458 | ~/.emacs.d/vip replaces ~/.vip | ||
| 459 | ~/.emacs.d/viper replaces ~/.viper | ||
| 460 | ~/.emacs.d/ido.last replaces ~/.ido.last | ||
| 461 | ~/.emacs.d/kkcrc replaces ~/.kkcrc | ||
| 462 | ~/.emacs.d/quickurls replaces ~/.quickurls | ||
| 463 | ~/.emacs.d/idlwave/ replaces ~/.idlwave/ | ||
| 464 | ~/.emacs.d/bdfcache.el replaces ~/.bdfcache.el | ||
| 465 | ~/.emacs.d/places replaces ~/.emacs-places | ||
| 466 | ~/.emacs.d/shadows replaces ~/.shadows | ||
| 467 | ~/.emacs.d/shadow_todo replaces ~/.shadow_todo | ||
| 468 | ~/.emacs.d/strokes replaces ~/.strokes | ||
| 469 | ~/.emacs.d/notes replaces ~/.notes | ||
| 470 | ~/.emacs.d/type-break replaces ~/.type-break | ||
| 471 | Also the following files used by the now obsolete otodo-mode.el: | ||
| 472 | ~/.emacs.d/todo-do replaces ~/.todo-do | ||
| 473 | ~/.emacs.d/todo-done replaces ~/.todo-done | ||
| 474 | ~/.emacs.d/todo-top replaces ~/.todo-top | ||
| 475 | |||
| 476 | ** Backtrace and debugger | 368 | ** Backtrace and debugger |
| 477 | 369 | ||
| 478 | +++ | ||
| 479 | *** New Lisp debugger command `v' (`debugger-toggle-locals') toggles the | 370 | *** New Lisp debugger command `v' (`debugger-toggle-locals') toggles the |
| 480 | display of local variables of the current stack frame. | 371 | display of local variables of the current stack frame. |
| 481 | 372 | ||
| 482 | +++ | ||
| 483 | *** The Lisp debugger's `e' command (`debugger-eval-expression') now includes | 373 | *** The Lisp debugger's `e' command (`debugger-eval-expression') now includes |
| 484 | the lexical environment when evaluating the code in the context at point | 374 | the lexical environment when evaluating the code in the context at point |
| 485 | (and so allows you to access lexical variables). | 375 | (and so allows you to access lexical variables). |
| 486 | 376 | ||
| 487 | --- | ||
| 488 | *** New minor mode `jit-lock-debug-mode' helps you debug code run via JIT Lock. | 377 | *** New minor mode `jit-lock-debug-mode' helps you debug code run via JIT Lock. |
| 489 | 378 | ||
| 490 | --- | ||
| 491 | ** Battery information can now be retrieved from BSD's `apm' utility. | 379 | ** Battery information can now be retrieved from BSD's `apm' utility. |
| 492 | 380 | ||
| 493 | --- | ||
| 494 | ** In the Buffer Menu, `M-s a C-o' shows matches for a regexp in marked buffers. | 381 | ** In the Buffer Menu, `M-s a C-o' shows matches for a regexp in marked buffers. |
| 495 | 382 | ||
| 496 | ** Calendar and Diary | ||
| 497 | |||
| 498 | --- | ||
| 499 | *** New faces `calendar-weekday-header', `calendar-weekend-header', | ||
| 500 | and `calendar-month-header'. | ||
| 501 | |||
| 502 | +++ | ||
| 503 | *** New option `calendar-day-header-array'. | ||
| 504 | |||
| 505 | +++ | ||
| 506 | *** New variable `diary-from-outlook-function', used by the command | ||
| 507 | `diary-from-outlook'. | ||
| 508 | |||
| 509 | --- | ||
| 510 | *** The variable `calendar-font-lock-keywords' is obsolete. | ||
| 511 | |||
| 512 | ** Calc | 383 | ** Calc |
| 513 | 384 | ||
| 514 | +++ | ||
| 515 | *** Calc by default now uses the Gregorian calendar for all dates, and | 385 | *** Calc by default now uses the Gregorian calendar for all dates, and |
| 516 | uses January 1, 1 AD as its day number 1. Previously Calc used the | 386 | uses January 1, 1 AD as its day number 1. Previously Calc used the |
| 517 | Julian calendar for dates before September 14, 1752, and it used | 387 | Julian calendar for dates before September 14, 1752, and it used |
| 518 | December 31, 1 BC as its day number 1; the new scheme is more | 388 | December 31, 1 BC as its day number 1; the new scheme is more |
| 519 | consistent with Calendar's calendrical system and day numbering. | 389 | consistent with Calendar's calendrical system and day numbering. |
| 520 | 390 | ||
| 521 | +++ | ||
| 522 | *** The new option `calc-gregorian-switch' lets you configure if | 391 | *** The new option `calc-gregorian-switch' lets you configure if |
| 523 | (and when) Calc switches from the Julian to the Gregorian calendar. | 392 | (and when) Calc switches from the Julian to the Gregorian calendar. |
| 524 | 393 | ||
| 525 | +++ | ||
| 526 | *** Support for ISO 8601 dates. | 394 | *** Support for ISO 8601 dates. |
| 527 | 395 | ||
| 396 | ** Calendar and Diary | ||
| 397 | |||
| 398 | *** New faces `calendar-weekday-header', `calendar-weekend-header', | ||
| 399 | and `calendar-month-header'. | ||
| 400 | |||
| 401 | *** New option `calendar-day-header-array'. | ||
| 402 | |||
| 403 | *** New variable `diary-from-outlook-function', used by the command | ||
| 404 | `diary-from-outlook'. | ||
| 405 | |||
| 406 | *** The variable `calendar-font-lock-keywords' is obsolete. | ||
| 407 | |||
| 528 | ** CEDET | 408 | ** CEDET |
| 529 | 409 | ||
| 530 | *** EDE | 410 | *** EDE |
| 531 | 411 | ||
| 532 | +++ | ||
| 533 | **** The cpp-root project now supports executing a compile command. | 412 | **** The cpp-root project now supports executing a compile command. |
| 534 | It can be set through the new :compile-command slot or the | 413 | It can be set through the new :compile-command slot or the |
| 535 | buffer-local variable `compile-command'. | 414 | buffer-local variable `compile-command'. |
| 536 | 415 | ||
| 537 | +++ | ||
| 538 | **** Better selection of include directories for the 'linux' project. | 416 | **** Better selection of include directories for the 'linux' project. |
| 539 | Include directories now support out-of-tree build directories and | 417 | Include directories now support out-of-tree build directories and |
| 540 | target architecture auto-detection. | 418 | target architecture auto-detection. |
| 541 | 419 | ||
| 542 | --- | ||
| 543 | *** Semantic | 420 | *** Semantic |
| 544 | 421 | ||
| 545 | **** Improved detection of used namespaces in current scope in C++. | 422 | **** Improved detection of used namespaces in current scope in C++. |
| @@ -555,119 +432,97 @@ For example, this enables parsing of macros that open new namespaces. | |||
| 555 | 432 | ||
| 556 | **** Support for 'this' pointer in inline member functions in C++. | 433 | **** Support for 'this' pointer in inline member functions in C++. |
| 557 | 434 | ||
| 435 | ** CFEngine mode | ||
| 436 | |||
| 437 | *** Support for completion, ElDoc, and Flycheck has been added. | ||
| 438 | |||
| 439 | *** The current CFEngine syntax is parsed from "cf-promises -s json". | ||
| 440 | There is a fallback syntax available if you don't have cf-promises or | ||
| 441 | if your version doesn't support that option. See option `cfengine-cf-promises'. | ||
| 442 | |||
| 558 | ** cl-lib | 443 | ** cl-lib |
| 559 | 444 | ||
| 560 | +++ | ||
| 561 | *** New macro `cl-tagbody'. | 445 | *** New macro `cl-tagbody'. |
| 562 | This executes statements while allowing for control transfer to labels. | 446 | This executes statements while allowing for control transfer to labels. |
| 563 | 447 | ||
| 564 | +++ | ||
| 565 | *** letf is now just an alias for cl-letf. | 448 | *** letf is now just an alias for cl-letf. |
| 566 | 449 | ||
| 567 | ** CUA mode | 450 | ** CUA mode |
| 568 | 451 | ||
| 569 | +++ | ||
| 570 | *** CUA mode now uses `delete-selection-mode' and `shift-select-mode'. | 452 | *** CUA mode now uses `delete-selection-mode' and `shift-select-mode'. |
| 571 | Hence, you can now enable it independently from those modes, and from | 453 | Hence, you can now enable it independently from those modes, and from |
| 572 | `transient-mark-mode'. | 454 | `transient-mark-mode'. |
| 573 | 455 | ||
| 574 | --- | ||
| 575 | *** `cua-highlight-region-shift-only' is now obsolete. | 456 | *** `cua-highlight-region-shift-only' is now obsolete. |
| 576 | You can disable `transient-mark-mode' to get the same result. | 457 | You can disable `transient-mark-mode' to get the same result. |
| 577 | 458 | ||
| 578 | +++ | ||
| 579 | *** CUA's rectangles can now be used without CUA by calling the command | 459 | *** CUA's rectangles can now be used without CUA by calling the command |
| 580 | `cua-rectangle-mark-mode'. | 460 | `cua-rectangle-mark-mode'. |
| 581 | 461 | ||
| 582 | ** CFEngine mode | ||
| 583 | |||
| 584 | --- | ||
| 585 | *** Support for completion, ElDoc, and Flycheck has been added. | ||
| 586 | |||
| 587 | --- | ||
| 588 | *** The current CFEngine syntax is parsed from "cf-promises -s json". | ||
| 589 | There is a fallback syntax available if you don't have cf-promises or | ||
| 590 | if your version doesn't support that option. See option `cfengine-cf-promises'. | ||
| 591 | |||
| 592 | --- | ||
| 593 | ** Delete Selection mode can now be used without Transient Mark mode. | 462 | ** Delete Selection mode can now be used without Transient Mark mode. |
| 594 | 463 | ||
| 595 | ** Desktop | 464 | ** Desktop |
| 596 | 465 | ||
| 597 | +++ | ||
| 598 | *** `desktop-save-mode' by default now auto-saves an existing desktop file | 466 | *** `desktop-save-mode' by default now auto-saves an existing desktop file |
| 599 | after `desktop-auto-save-timeout'. To disable this, customize that option | 467 | after `desktop-auto-save-timeout'. To disable this, customize that option |
| 600 | to nil (or zero). | 468 | to nil (or zero). |
| 601 | 469 | ||
| 602 | +++ | ||
| 603 | *** Desktop now saves and restores the frame/window configuration. | 470 | *** Desktop now saves and restores the frame/window configuration. |
| 604 | To disable this, set `desktop-restore-frames' to nil. | 471 | To disable this, set `desktop-restore-frames' to nil. |
| 605 | See also related options `desktop-restore-reuses-frames', | 472 | See also related options `desktop-restore-reuses-frames', |
| 606 | `desktop-restore-in-current-display', and `desktop-restore-forces-onscreen'. | 473 | `desktop-restore-in-current-display', and `desktop-restore-forces-onscreen'. |
| 607 | 474 | ||
| 608 | +++ | ||
| 609 | ** New Dired minor mode `dired-hide-details-mode' toggles whether details, | 475 | ** New Dired minor mode `dired-hide-details-mode' toggles whether details, |
| 610 | such as file ownership or permissions, are visible in Dired buffers. | 476 | such as file ownership or permissions, are visible in Dired buffers. |
| 611 | See the new options `dired-hide-details-hide-symlink-targets' and | 477 | See the new options `dired-hide-details-hide-symlink-targets' and |
| 612 | `dired-hide-details-hide-information-lines' for customizing what to hide. | 478 | `dired-hide-details-hide-information-lines' for customizing what to hide. |
| 613 | 479 | ||
| 614 | --- | ||
| 615 | ** You can enable ElDoc inside the `eval-expression' minibuffer with: | 480 | ** You can enable ElDoc inside the `eval-expression' minibuffer with: |
| 616 | (add-hook 'eval-expression-minibuffer-setup-hook 'eldoc-mode) | 481 | (add-hook 'eval-expression-minibuffer-setup-hook 'eldoc-mode) |
| 617 | The results display in the mode line. | 482 | The results display in the mode line. |
| 618 | 483 | ||
| 619 | ** Electric Pair mode | 484 | ** Electric Pair mode |
| 620 | 485 | ||
| 621 | +++ | ||
| 622 | *** New option `electric-pair-preserve-balance', enabled by default. | 486 | *** New option `electric-pair-preserve-balance', enabled by default. |
| 623 | If non-nil, pairing/skipping only kicks in when that help the balance | 487 | If non-nil, pairing/skipping only kicks in when that help the balance |
| 624 | of parentheses and quotes, i.e. the buffer should end up at least as | 488 | of parentheses and quotes; i.e., the buffer should end up at least as |
| 625 | balanced as before. | 489 | balanced as before. |
| 626 | 490 | ||
| 627 | You can further control this behavior by adjusting the predicates | 491 | You can further control this behavior by adjusting the predicates |
| 628 | stored in `electric-pair-inhibit-predicate' and `electric-pair-skip-self'. | 492 | stored in `electric-pair-inhibit-predicate' and `electric-pair-skip-self'. |
| 629 | 493 | ||
| 630 | +++ | ||
| 631 | *** New option `electric-pair-delete-adjacent-pairs', enabled by default. | 494 | *** New option `electric-pair-delete-adjacent-pairs', enabled by default. |
| 632 | In `electric-pair-mode', the commands `backward-delete-char' and | 495 | In `electric-pair-mode', the commands `backward-delete-char' and |
| 633 | `backward-delete-char-untabify' are now bound to electric variants | 496 | `backward-delete-char-untabify' are now bound to electric variants |
| 634 | that delete the closer when invoked between adjacent pairs. | 497 | that delete the closer when invoked between adjacent pairs. |
| 635 | 498 | ||
| 636 | +++ | ||
| 637 | *** New option `electric-pair-open-newline-between-pairs', enabled by default. | 499 | *** New option `electric-pair-open-newline-between-pairs', enabled by default. |
| 638 | In `electric-pair-mode', inserting a newline between adjacent pairs | 500 | In `electric-pair-mode', inserting a newline between adjacent pairs |
| 639 | opens an extra newline after point, which is indented if | 501 | opens an extra newline after point, which is indented if |
| 640 | `electric-indent-mode' is also set. | 502 | `electric-indent-mode' is also set. |
| 641 | 503 | ||
| 642 | +++ | ||
| 643 | *** New option `electric-pair-skip-whitespace', enabled by default. | 504 | *** New option `electric-pair-skip-whitespace', enabled by default. |
| 644 | This controls if skipping over closing delimiters should jump over any | 505 | This controls if skipping over closing delimiters should jump over any |
| 645 | whitespace slack. Setting it to `chomp' makes it delete this | 506 | whitespace slack. Setting it to `chomp' makes it delete this |
| 646 | whitespace. See also the variable `electric-pair-skip-whitespace-chars'. | 507 | whitespace. See also the variable `electric-pair-skip-whitespace-chars'. |
| 647 | 508 | ||
| 648 | --- | ||
| 649 | *** New variables control the pairing in strings and comments. | 509 | *** New variables control the pairing in strings and comments. |
| 650 | You can customize `electric-pair-text-pairs' and | 510 | You can customize `electric-pair-text-pairs' and |
| 651 | `electric-pair-text-syntax-table' to tweak pairing behavior inside | 511 | `electric-pair-text-syntax-table' to tweak pairing behavior inside |
| 652 | strings and comments. | 512 | strings and comments. |
| 653 | 513 | ||
| 654 | +++ | ||
| 655 | ** New EPA option `epa-mail-aliases'. | 514 | ** New EPA option `epa-mail-aliases'. |
| 656 | You can set this to a list of email address aliases that `epa-mail-encrypt' | 515 | You can set this to a list of email address aliases that `epa-mail-encrypt' |
| 657 | should use to find keys. | 516 | should use to find keys. |
| 658 | 517 | ||
| 659 | --- | ||
| 660 | ** New ERC option `erc-accidental-paste-threshold-seconds'. | 518 | ** New ERC option `erc-accidental-paste-threshold-seconds'. |
| 661 | If set to a number, this can be used to avoid accidentally pasting large | 519 | If set to a number, this can be used to avoid accidentally pasting large |
| 662 | amounts of data into the ERC input. | 520 | amounts of data into the ERC input. |
| 663 | 521 | ||
| 664 | +++ | ||
| 665 | ** New ERT macro `skip-unless' allows skipping ERT tests. | 522 | ** New ERT macro `skip-unless' allows skipping ERT tests. |
| 666 | See the ERT manual for details. | ||
| 667 | 523 | ||
| 668 | ** Eshell | 524 | ** Eshell |
| 669 | 525 | ||
| 670 | +++ | ||
| 671 | *** `eshell' now supports visual subcommands and options. | 526 | *** `eshell' now supports visual subcommands and options. |
| 672 | Eshell has been able to handle "visual" commands (interactive, | 527 | Eshell has been able to handle "visual" commands (interactive, |
| 673 | non-line oriented commands such as top that require display | 528 | non-line oriented commands such as top that require display |
| @@ -677,121 +532,100 @@ terminal emulator. See `eshell-visual-commands'. | |||
| 677 | This feature has been extended to subcommands and options that make a | 532 | This feature has been extended to subcommands and options that make a |
| 678 | usually line-oriented command a visual command. Typical examples are | 533 | usually line-oriented command a visual command. Typical examples are |
| 679 | "git log" and "git <command> --help", which display their output in a | 534 | "git log" and "git <command> --help", which display their output in a |
| 680 | pager by default. See `eshell-visual-subcommands' and | 535 | pager by default. See `eshell-visual-subcommands' and `eshell-visual-options'. |
| 681 | `eshell-visual-options'. | ||
| 682 | 536 | ||
| 683 | --- | ||
| 684 | *** New Eshell-Tramp module. | 537 | *** New Eshell-Tramp module. |
| 685 | External su and sudo commands are now the default; the internal, | 538 | External su and sudo commands are now the default; the internal, |
| 686 | Tramp-using variants can still be used by enabling the eshell-tramp | 539 | Tramp-using variants can still be used by enabling the eshell-tramp module. |
| 687 | module. | ||
| 688 | 540 | ||
| 689 | --- | ||
| 690 | ** New F90 mode option `f90-smart-end-names'. | 541 | ** New F90 mode option `f90-smart-end-names'. |
| 691 | 542 | ||
| 543 | ** New option `gnutls-verify-error', if non-nil, means that Emacs | ||
| 544 | should reject SSL/TLS certificates that GnuTLS determines as invalid. | ||
| 545 | (This option defaults to nil at present, but this is expected to change | ||
| 546 | in a future release.) | ||
| 547 | |||
| 548 | ** Hi-Lock | ||
| 549 | |||
| 550 | *** New global command `M-s h .' (`highlight-symbol-at-point') highlights | ||
| 551 | the symbol near point. | ||
| 552 | |||
| 553 | *** New option `hi-lock-auto-select-face'. When non-nil, hi-lock commands | ||
| 554 | will cycle through faces in `hi-lock-face-defaults' without prompting. | ||
| 555 | |||
| 692 | ** Icomplete | 556 | ** Icomplete |
| 693 | Icomplete is now more similar to Ido. | 557 | Icomplete is now more similar to Ido. |
| 694 | 558 | ||
| 695 | --- | ||
| 696 | *** Icomplete by default now applies to all forms of minibuffer completion. | 559 | *** Icomplete by default now applies to all forms of minibuffer completion. |
| 697 | The variable `icomplete-with-completion-tables' (now a user option) | 560 | The variable `icomplete-with-completion-tables' (now a user option) |
| 698 | controls this. To restore the old behavior, set it back to | 561 | controls this. To restore the old behavior, set it back to |
| 699 | '(internal-complete-buffer). | 562 | '(internal-complete-buffer). |
| 700 | 563 | ||
| 701 | +++ | ||
| 702 | *** You can navigate through and select completions using the keys | 564 | *** You can navigate through and select completions using the keys |
| 703 | from `icomplete-minibuffer-map'. | 565 | from `icomplete-minibuffer-map'. |
| 704 | 566 | ||
| 705 | --- | ||
| 706 | *** The string that separates potential completions is now a customizable | 567 | *** The string that separates potential completions is now a customizable |
| 707 | option (`icomplete-separator'). The default is " | " rather than ",". | 568 | option (`icomplete-separator'). The default is " | " rather than ",". |
| 708 | 569 | ||
| 709 | --- | ||
| 710 | *** New face `icomplete-first-match'; and new options | 570 | *** New face `icomplete-first-match'; and new options |
| 711 | `icomplete-hide-common-prefix' and `icomplete-show-matches-on-no-input'. | 571 | `icomplete-hide-common-prefix' and `icomplete-show-matches-on-no-input'. |
| 712 | 572 | ||
| 713 | --- | ||
| 714 | *** The option `icomplete-show-key-bindings' has been removed. | 573 | *** The option `icomplete-show-key-bindings' has been removed. |
| 715 | 574 | ||
| 716 | ** Ido | 575 | ** Ido |
| 717 | 576 | ||
| 718 | +++ | ||
| 719 | *** An Ido user manual is now included. | 577 | *** An Ido user manual is now included. |
| 720 | 578 | ||
| 721 | --- | ||
| 722 | *** The option `ido-use-virtual-buffers' can now take the value `auto'. | 579 | *** The option `ido-use-virtual-buffers' can now take the value `auto'. |
| 723 | This means to use virtual buffers if the current ido input does not match | 580 | This means to use virtual buffers if the current ido input does not match |
| 724 | an existing buffer. | 581 | an existing buffer. |
| 725 | 582 | ||
| 726 | --- | ||
| 727 | *** The variable `ido-decorations' can optionally have two new elements, | 583 | *** The variable `ido-decorations' can optionally have two new elements, |
| 728 | which are the brackets to use around the sole remaining completion. | 584 | which are the brackets to use around the sole remaining completion. |
| 729 | 585 | ||
| 730 | ** Image mode | 586 | ** Image mode |
| 731 | 587 | ||
| 732 | +++ | ||
| 733 | *** New commands `n' (`image-next-file') and `p' (`image-previous-file') | 588 | *** New commands `n' (`image-next-file') and `p' (`image-previous-file') |
| 734 | visit the next image file and the previous image file in the same | 589 | visit the next image file and the previous image file in the same |
| 735 | directory, respectively. | 590 | directory, respectively. |
| 736 | 591 | ||
| 737 | +++ | ||
| 738 | *** New commands to show specific frames of multi-frame images. | 592 | *** New commands to show specific frames of multi-frame images. |
| 739 | `f' (`image-next-frame') and `b' (`image-previous-frame') visit the | 593 | `f' (`image-next-frame') and `b' (`image-previous-frame') visit the |
| 740 | next or previous frame. `F' (`image-goto-frame') shows a specific frame. | 594 | next or previous frame. `F' (`image-goto-frame') shows a specific frame. |
| 741 | 595 | ||
| 742 | +++ | ||
| 743 | *** New commands to speed up, slow down, or reverse animation. | 596 | *** New commands to speed up, slow down, or reverse animation. |
| 744 | `a +' (`image-increase-speed') and `a -' (`image-decrease-speed') to | 597 | `a +' (`image-increase-speed') and `a -' (`image-decrease-speed') to |
| 745 | speed up and slow down the animation. `a r' (`image-reverse-speed') | 598 | speed up and slow down the animation. `a r' (`image-reverse-speed') |
| 746 | to reverse it and `a 0' (`image-reset-speed') to reset it. | 599 | to reverse it and `a 0' (`image-reset-speed') to reset it. |
| 747 | 600 | ||
| 748 | --- | ||
| 749 | *** The command `image-mode-fit-frame' deletes other windows. | 601 | *** The command `image-mode-fit-frame' deletes other windows. |
| 750 | When toggling, it restores the frame's previous window configuration. | 602 | When toggling, it restores the frame's previous window configuration. |
| 751 | It also has an optional frame argument, which can be used by Lisp | 603 | It also has an optional frame argument, which can be used by Lisp |
| 752 | callers to fit the image to a frame other than the selected frame. | 604 | callers to fit the image to a frame other than the selected frame. |
| 753 | 605 | ||
| 754 | ** Hi-Lock | ||
| 755 | |||
| 756 | +++ | ||
| 757 | *** New global command `M-s h .' (`highlight-symbol-at-point') highlights | ||
| 758 | the symbol found near point. | ||
| 759 | |||
| 760 | +++ | ||
| 761 | *** New option `hi-lock-auto-select-face'. When non-nil, hi-lock commands | ||
| 762 | will cycle through faces in `hi-lock-face-defaults' without prompting. | ||
| 763 | |||
| 764 | --- | ||
| 765 | ** New Imenu option `imenu-generic-skip-comments-and-strings'. | 606 | ** New Imenu option `imenu-generic-skip-comments-and-strings'. |
| 766 | 607 | ||
| 767 | ** Info | 608 | ** Info |
| 768 | 609 | ||
| 769 | --- | ||
| 770 | *** New Info face `info-index-match', used to highlight matches in index | 610 | *** New Info face `info-index-match', used to highlight matches in index |
| 771 | entries displayed by `Info-index-next', `Info-virtual-index' and | 611 | entries displayed by `Info-index-next', `Info-virtual-index' and |
| 772 | `info-apropos'. | 612 | `info-apropos'. |
| 773 | 613 | ||
| 774 | --- | ||
| 775 | *** The Info-edit command is obsolete. Editing Info nodes by hand | 614 | *** The Info-edit command is obsolete. Editing Info nodes by hand |
| 776 | has not been relevant for some time. | 615 | has not been relevant for some time. |
| 777 | 616 | ||
| 778 | ** JS Mode | 617 | ** JS Mode |
| 779 | 618 | ||
| 780 | --- | ||
| 781 | *** New option `js-switch-indent-offset'. | 619 | *** New option `js-switch-indent-offset'. |
| 782 | 620 | ||
| 783 | --- | ||
| 784 | *** Better indentation of multiple-variable declarations. | 621 | *** Better indentation of multiple-variable declarations. |
| 785 | If a declaration spans several lines, variables on the following lines | 622 | If a declaration spans several lines, variables on the following lines |
| 786 | are lined up to the first one. | 623 | are lined up to the first one. |
| 787 | 624 | ||
| 788 | --- | ||
| 789 | *** Recognition and better indentation of continuations in array comprehensions. | 625 | *** Recognition and better indentation of continuations in array comprehensions. |
| 790 | 626 | ||
| 791 | +++ | ||
| 792 | ** MH-E has been updated to version 8.5 - see separate MH-E-NEWS file. | 627 | ** MH-E has been updated to version 8.5 - see separate MH-E-NEWS file. |
| 793 | 628 | ||
| 794 | +++ | ||
| 795 | ** Octave mode | 629 | ** Octave mode |
| 796 | 630 | ||
| 797 | *** Font locking for Texinfo comments and new keywords. | 631 | *** Font locking for Texinfo comments and new keywords. |
| @@ -804,67 +638,53 @@ are lined up to the first one. | |||
| 804 | 638 | ||
| 805 | *** Documentation lookup/search. | 639 | *** Documentation lookup/search. |
| 806 | 640 | ||
| 807 | +++ | ||
| 808 | ** OPascal mode is the new name for Delphi mode | 641 | ** OPascal mode is the new name for Delphi mode |
| 809 | 642 | ||
| 810 | --- | ||
| 811 | *** All delphi-* variables and functions have been renamed to opascal-*. | 643 | *** All delphi-* variables and functions have been renamed to opascal-*. |
| 812 | Obsolete aliases exist for those likely to have been used externally. | 644 | Obsolete aliases exist for those likely to have been used externally. |
| 813 | 645 | ||
| 814 | --- | ||
| 815 | *** The option `delphi-newline-always-indents' has been removed. | 646 | *** The option `delphi-newline-always-indents' has been removed. |
| 816 | Use `electric-indent-mode' instead. | 647 | Use `electric-indent-mode' instead. |
| 817 | 648 | ||
| 818 | --- | ||
| 819 | *** The TAB key runs the standard `indent-for-tab-command', not `delphi-tab'. | 649 | *** The TAB key runs the standard `indent-for-tab-command', not `delphi-tab'. |
| 820 | 650 | ||
| 821 | ** Package | 651 | ** Package |
| 822 | 652 | ||
| 823 | +++ | ||
| 824 | *** The package library now supports digital signing of packages. | 653 | *** The package library now supports digital signing of packages. |
| 825 | Maintainers of package archives should consider signing their packages | 654 | Maintainers of package archives should consider signing their packages |
| 826 | to enhance security. | 655 | to enhance security. |
| 827 | 656 | ||
| 828 | +++ | ||
| 829 | **** If the user option `package-check-signature' is non-nil, | 657 | **** If the user option `package-check-signature' is non-nil, |
| 830 | Emacs tries to check package signatures at install time. | 658 | Emacs tries to check package signatures at install time. |
| 831 | The value `allow-unsigned' allows installation of unsigned packages. | 659 | The value `allow-unsigned' allows installation of unsigned packages. |
| 832 | 660 | ||
| 833 | +++ | ||
| 834 | **** The user option `package-unsigned-archives' lists archives where | 661 | **** The user option `package-unsigned-archives' lists archives where |
| 835 | Emacs will not try to check signatures. | 662 | Emacs will not try to check signatures. |
| 836 | 663 | ||
| 837 | +++ | ||
| 838 | *** New option `package-pinned-packages'. This is useful if you have multiple | 664 | *** New option `package-pinned-packages'. This is useful if you have multiple |
| 839 | archives enabled, with more than one offering a package that you want. | 665 | archives enabled, with more than one offering a given package that you want. |
| 840 | 666 | ||
| 841 | +++ | ||
| 842 | *** In the `list-packages' buffer, you can use `f' (`package-menu-filter') | 667 | *** In the `list-packages' buffer, you can use `f' (`package-menu-filter') |
| 843 | to filter the list of packages by a keyword. | 668 | to filter the list of packages by a keyword. |
| 844 | 669 | ||
| 845 | +++ | ||
| 846 | *** In the `describe-package' buffer, there are now buttons listing the | 670 | *** In the `describe-package' buffer, there are now buttons listing the |
| 847 | keywords related to the package. Click on a button to see other packages | 671 | keywords related to the package. Click on a button to see other packages |
| 848 | related to that keyword. | 672 | related to that keyword. |
| 849 | 673 | ||
| 850 | --- | ||
| 851 | *** The format of `archive-contents' files, generated by package | 674 | *** The format of `archive-contents' files, generated by package |
| 852 | repositories, has changed to allow a new (fifth) element in the data | 675 | repositories, has changed to allow a new (fifth) element in the data |
| 853 | vectors, containing an associative list with extra properties. | 676 | vectors, containing an associative list with extra properties. |
| 854 | (For example, `describe-package' uses the `:url' extra property to | 677 | (For example, `describe-package' uses the `:url' extra property to |
| 855 | display a "Homepage" header.) | 678 | display a "Homepage" header.) |
| 856 | 679 | ||
| 857 | --- | ||
| 858 | ** In Prolog mode, `prolog-use-smie' has been removed, | 680 | ** In Prolog mode, `prolog-use-smie' has been removed, |
| 859 | along with the non-SMIE indentation code. | 681 | along with the non-SMIE indentation code. |
| 860 | 682 | ||
| 861 | ** Remember | 683 | ** Remember |
| 862 | 684 | ||
| 863 | +++ | ||
| 864 | *** The new command `remember-notes' creates a buffer that is saved on exit. | 685 | *** The new command `remember-notes' creates a buffer that is saved on exit. |
| 865 | You can use it as a more permanent *scratch* buffer. | 686 | You can use it as a more permanent *scratch* buffer. |
| 866 | 687 | ||
| 867 | +++ | ||
| 868 | *** Remember can now store notes in separate files. | 688 | *** Remember can now store notes in separate files. |
| 869 | To use this, add `remember-store-in-files' to the `remember-handler-functions' | 689 | To use this, add `remember-store-in-files' to the `remember-handler-functions' |
| 870 | option. The files are saved in `remember-data-directory' using | 690 | option. The files are saved in `remember-data-directory' using |
| @@ -872,109 +692,84 @@ names specified by `remember-directory-file-name-format'. | |||
| 872 | 692 | ||
| 873 | ** Rmail | 693 | ** Rmail |
| 874 | 694 | ||
| 875 | +++ | ||
| 876 | *** Customize `rmail-mbox-format' to influence some minor aspects of | 695 | *** Customize `rmail-mbox-format' to influence some minor aspects of |
| 877 | how Rmail displays non-MIME messages. | 696 | how Rmail displays non-MIME messages. |
| 878 | 697 | ||
| 879 | --- | ||
| 880 | *** The `unrmail' command now converts from BABYL to mboxrd format, | 698 | *** The `unrmail' command now converts from BABYL to mboxrd format, |
| 881 | rather than mboxo. Customize `unrmail-mbox-format' to change this. | 699 | rather than mboxo. Customize `unrmail-mbox-format' to change this. |
| 882 | 700 | ||
| 883 | ** Ruby mode | 701 | ** Ruby mode |
| 884 | 702 | ||
| 885 | --- | ||
| 886 | *** Improved syntax highlighting and indentation. | 703 | *** Improved syntax highlighting and indentation. |
| 887 | 704 | ||
| 888 | --- | ||
| 889 | *** New `electric-indent-mode' integration. | 705 | *** New `electric-indent-mode' integration. |
| 890 | 706 | ||
| 891 | --- | ||
| 892 | *** New option `ruby-encoding-magic-comment-style'. | 707 | *** New option `ruby-encoding-magic-comment-style'. |
| 893 | 708 | ||
| 894 | --- | ||
| 895 | *** New option `ruby-custom-encoding-magic-comment-template'. | 709 | *** New option `ruby-custom-encoding-magic-comment-template'. |
| 896 | 710 | ||
| 897 | --- | ||
| 898 | *** New option `ruby-align-to-stmt-keywords'. | 711 | *** New option `ruby-align-to-stmt-keywords'. |
| 899 | 712 | ||
| 900 | --- | ||
| 901 | *** New option `ruby-align-chained-calls'. | 713 | *** New option `ruby-align-chained-calls'. |
| 902 | 714 | ||
| 903 | --- | ||
| 904 | *** More Ruby file types have been added to `auto-mode-alist'. | 715 | *** More Ruby file types have been added to `auto-mode-alist'. |
| 905 | 716 | ||
| 906 | ** Search and Replace | 717 | ** Search and Replace |
| 907 | 718 | ||
| 908 | +++ | ||
| 909 | *** New global command `M-s .' (`isearch-forward-symbol-at-point') | 719 | *** New global command `M-s .' (`isearch-forward-symbol-at-point') |
| 910 | starts a symbol (identifier) incremental search forward with the | 720 | starts a symbol (identifier) incremental search forward with the |
| 911 | symbol found near point added to the search string initially. | 721 | symbol found near point added to the search string initially. |
| 912 | 722 | ||
| 913 | +++ | ||
| 914 | *** `C-x 8 RET' in Isearch mode reads a character by its Unicode name | 723 | *** `C-x 8 RET' in Isearch mode reads a character by its Unicode name |
| 915 | and adds it to the search string. | 724 | and adds it to the search string. |
| 916 | 725 | ||
| 917 | +++ | ||
| 918 | *** `M-s i' in Isearch mode toggles whether search matches invisible text. | 726 | *** `M-s i' in Isearch mode toggles whether search matches invisible text. |
| 919 | 727 | ||
| 920 | +++ | ||
| 921 | *** `query-replace' skips invisible text when `search-invisible' is nil, | 728 | *** `query-replace' skips invisible text when `search-invisible' is nil, |
| 922 | and opens overlays with hidden text when `search-invisible' is `open'. | 729 | and opens overlays with hidden text when `search-invisible' is `open'. |
| 923 | 730 | ||
| 924 | +++ | 731 | *** A negative prefix argument of replacement commands replaces backward. |
| 925 | *** A negative prefix arg of replacement commands replaces backward. | ||
| 926 | `M-- M-%' replaces a string backward, `M-- C-M-%' replaces a regexp | 732 | `M-- M-%' replaces a string backward, `M-- C-M-%' replaces a regexp |
| 927 | backward, `M-s w words M-- M-%' replaces a sequence of words backward. | 733 | backward, `M-s w words M-- M-%' replaces a sequence of words backward. |
| 928 | 734 | ||
| 929 | +++ | ||
| 930 | *** By default, prefix arguments do not now terminate Isearch mode. | 735 | *** By default, prefix arguments do not now terminate Isearch mode. |
| 931 | Set `isearch-allow-prefix' to nil to restore old behavior. | 736 | Set `isearch-allow-prefix' to nil to restore the old behavior. |
| 932 | 737 | ||
| 933 | +++ | ||
| 934 | *** More Isearch commands accept prefix arguments, namely | 738 | *** More Isearch commands accept prefix arguments, namely |
| 935 | `isearch-printing-char', `isearch-quote-char', `isearch-yank-word', | 739 | `isearch-printing-char', `isearch-quote-char', `isearch-yank-word', |
| 936 | `isearch-yank-line'. | 740 | `isearch-yank-line'. |
| 937 | 741 | ||
| 938 | +++ | ||
| 939 | *** Word search now matches whitespace at the beginning/end | 742 | *** Word search now matches whitespace at the beginning/end |
| 940 | of the search string if it contains leading/trailing whitespace. | 743 | of the search string if it contains leading/trailing whitespace. |
| 941 | In an incremental word search or when using a non-nil LAX argument | 744 | In an incremental word search or when using a non-nil LAX argument |
| 942 | of `word-search-regexp', the lax matching can also match part of | 745 | of `word-search-regexp', the lax matching can also match part of |
| 943 | the first word (in addition to the lax matching of the last word). | 746 | the first word (in addition to the lax matching of the last word). |
| 944 | The same rules are now applied to the symbol search with the difference | 747 | The same rules are now applied to the symbol search, with the difference |
| 945 | that it matches symbols, and non-symbol characters between symbols. | 748 | that it matches symbols, and non-symbol characters between symbols. |
| 946 | 749 | ||
| 947 | +++ | ||
| 948 | ** New SES command `ses-rename-cell' allows assignment of names to SES cells. | 750 | ** New SES command `ses-rename-cell' allows assignment of names to SES cells. |
| 949 | 751 | ||
| 950 | --- | ||
| 951 | ** The shell.el option `explicit-bash-args' includes --noediting by default. | 752 | ** The shell.el option `explicit-bash-args' includes --noediting by default. |
| 952 | All non-ancient Bash versions support this option. | 753 | All non-ancient Bash versions support this option. |
| 953 | 754 | ||
| 954 | ** Shell Script mode | 755 | ** Shell Script mode |
| 955 | 756 | ||
| 956 | --- | ||
| 957 | *** The SMIE indentation engine is now used by default - see `sh-use-smie'. | 757 | *** The SMIE indentation engine is now used by default - see `sh-use-smie'. |
| 958 | 758 | ||
| 959 | --- | ||
| 960 | *** `sh-mode' now has its own setting for `add-log-current-defun-function'. | 759 | *** `sh-mode' now has its own setting for `add-log-current-defun-function'. |
| 961 | 760 | ||
| 962 | ** SMIE | 761 | ** SMIE |
| 963 | 762 | ||
| 964 | +++ | ||
| 965 | *** You can customize the SMIE indentation of a mode via `smie-config'. | 763 | *** You can customize the SMIE indentation of a mode via `smie-config'. |
| 966 | The command `smie-config-guess' can help you derive the appropriate | 764 | The command `smie-config-guess' can help you derive the appropriate |
| 967 | indentation settings, if you provide it with an indented sample file. | 765 | indentation settings, if you provide it with an indented sample file. |
| 968 | Use `smie-config-save' to save the result. | 766 | Use `smie-config-save' to save the result. |
| 969 | 767 | ||
| 970 | +++ | ||
| 971 | *** You can customize the SMIE indentation of a file by adding an entry to | 768 | *** You can customize the SMIE indentation of a file by adding an entry to |
| 972 | the file's local variables of the form: `eval: (smie-config-local '(RULES))'. | 769 | the file's local variables of the form: `eval: (smie-config-local '(RULES))'. |
| 973 | 770 | ||
| 974 | +++ | ||
| 975 | *** New commands `smie-config-show-indent' and `smie-config-set-indent'. | 771 | *** New commands `smie-config-show-indent' and `smie-config-set-indent'. |
| 976 | 772 | ||
| 977 | --- | ||
| 978 | ** SQL mode | 773 | ** SQL mode |
| 979 | 774 | ||
| 980 | *** Improved login monitoring and appropriate response to login failures. | 775 | *** Improved login monitoring and appropriate response to login failures. |
| @@ -986,10 +781,8 @@ in `sql-placeholders-filter'. When starting SQL*Plus, `sql-oracle-options' | |||
| 986 | are passed before the logon parameter, as required. The default now | 781 | are passed before the logon parameter, as required. The default now |
| 987 | includes `-L', to limit the number of logon attempts per invocation. | 782 | includes `-L', to limit the number of logon attempts per invocation. |
| 988 | 783 | ||
| 989 | --- | ||
| 990 | ** New Term mode option `term-suppress-hard-newline'. | 784 | ** New Term mode option `term-suppress-hard-newline'. |
| 991 | 785 | ||
| 992 | +++ | ||
| 993 | ** Todo mode has been rewritten and enhanced. | 786 | ** Todo mode has been rewritten and enhanced. |
| 994 | The Todo mode user manual describes all commands and most user | 787 | The Todo mode user manual describes all commands and most user |
| 995 | options. To support some of these features, a new file format is | 788 | options. To support some of these features, a new file format is |
| @@ -1021,12 +814,10 @@ or in archive files, undoing or unarchiving done items. | |||
| 1021 | 814 | ||
| 1022 | ** Trace | 815 | ** Trace |
| 1023 | 816 | ||
| 1024 | --- | ||
| 1025 | *** `trace-function' and `trace-function-background' no longer prompt for | 817 | *** `trace-function' and `trace-function-background' no longer prompt for |
| 1026 | the output buffer. Unless you use a prefix argument, they output to | 818 | the output buffer. Unless you use a prefix argument, they output to |
| 1027 | `trace-buffer'. | 819 | `trace-buffer'. |
| 1028 | 820 | ||
| 1029 | --- | ||
| 1030 | *** With a prefix argument, `trace-function' and `trace-function-background' | 821 | *** With a prefix argument, `trace-function' and `trace-function-background' |
| 1031 | will prompt for a "context". This is a Lisp expression, whose value at the | 822 | will prompt for a "context". This is a Lisp expression, whose value at the |
| 1032 | time the function is entered/exited is printed along with the function's | 823 | time the function is entered/exited is printed along with the function's |
| @@ -1034,109 +825,102 @@ name and arguments. | |||
| 1034 | 825 | ||
| 1035 | ** Tramp | 826 | ** Tramp |
| 1036 | 827 | ||
| 1037 | +++ | ||
| 1038 | *** The experimental url syntax for remote file names has been removed. | ||
| 1039 | |||
| 1040 | +++ | ||
| 1041 | *** New connection method "adb", which allows to access Android | 828 | *** New connection method "adb", which allows to access Android |
| 1042 | devices by the Android Debug Bridge. The variable `tramp-adb-program' | 829 | devices by the Android Debug Bridge. The variable `tramp-adb-program' |
| 1043 | can be used to adapt the path of the "adb" program, if needed. | 830 | can be used to adapt the path of the "adb" program, if needed. |
| 1044 | 831 | ||
| 1045 | +++ | 832 | *** Handlers for `file-acl' and `set-file-acl' for remote machines |
| 833 | that support POSIX ACLs. | ||
| 834 | |||
| 835 | *** Handlers for `file-notify-add-watch' and `file-notify-rm-watch' | ||
| 836 | for remote machines that support filesystem notifications. | ||
| 837 | |||
| 838 | *** The experimental url syntax for remote file names has been removed. | ||
| 839 | |||
| 1046 | *** The connection methods "plink1", "ssh1", "ssh2", "scp1", "scp2", | 840 | *** The connection methods "plink1", "ssh1", "ssh2", "scp1", "scp2", |
| 1047 | "scpc" and "rsyncc" are discontinued. The ssh option | 841 | "scpc" and "rsyncc" are discontinued. The ssh option |
| 1048 | "ControlMaster=auto" is set automatically in all ssh-based methods, | 842 | "ControlMaster=auto" is set automatically in all ssh-based methods, |
| 1049 | when possible. See `tramp-use-ssh-controlmaster-options'. | 843 | when possible. See `tramp-use-ssh-controlmaster-options'. |
| 1050 | 844 | ||
| 1051 | +++ | ||
| 1052 | *** Handlers for `file-acl' and `set-file-acl' for remote machines | ||
| 1053 | which support POSIX ACLs. | ||
| 1054 | |||
| 1055 | +++ | ||
| 1056 | *** Handlers for `file-notify-add-watch' and `file-notify-rm-watch' | ||
| 1057 | for remote machines which support filesystem notifications. | ||
| 1058 | |||
| 1059 | +++ | ||
| 1060 | ** New URL command `url-cookie-list' displays the current cookies, | 845 | ** New URL command `url-cookie-list' displays the current cookies, |
| 1061 | and allows you to interactively remove cookies. | 846 | and allows you to interactively remove cookies. |
| 1062 | 847 | ||
| 1063 | ** VC and related modes | 848 | ** VC and related modes |
| 1064 | 849 | ||
| 1065 | +++ | ||
| 1066 | *** In VC directory mode, `D' displays diffs between VC-controlled | 850 | *** In VC directory mode, `D' displays diffs between VC-controlled |
| 1067 | whole tree revisions. | 851 | whole tree revisions. |
| 1068 | 852 | ||
| 1069 | +++ | ||
| 1070 | *** In VC directory mode, `L' lists the change log for the current VC | 853 | *** In VC directory mode, `L' lists the change log for the current VC |
| 1071 | controlled tree in a window. | 854 | controlled tree in a window. |
| 1072 | 855 | ||
| 1073 | +++ | ||
| 1074 | *** In VC directory mode, `I' shows a log of changes that will be | 856 | *** In VC directory mode, `I' shows a log of changes that will be |
| 1075 | received with a pull operation. | 857 | received with a pull operation. |
| 1076 | 858 | ||
| 1077 | +++ | ||
| 1078 | *** `C-x v G' (globally) and `G' (in VC directory mode) ignores a file | 859 | *** `C-x v G' (globally) and `G' (in VC directory mode) ignores a file |
| 1079 | under current version control system. When called with a prefix | 860 | under current version control system. When called with a prefix |
| 1080 | argument, you can remove a file from the ignored file list. | 861 | argument, you can remove a file from the ignored file list. |
| 1081 | 862 | ||
| 1082 | ** VHDL mode | 863 | ** VHDL mode |
| 1083 | 864 | ||
| 1084 | --- | ||
| 1085 | *** New options: `vhdl-actual-generic-name', `vhdl-beautify-options'. | 865 | *** New options: `vhdl-actual-generic-name', `vhdl-beautify-options'. |
| 1086 | 866 | ||
| 1087 | --- | ||
| 1088 | *** New commands: `vhdl-fix-statement-region', `vhdl-fix-statement-buffer'. | 867 | *** New commands: `vhdl-fix-statement-region', `vhdl-fix-statement-buffer'. |
| 1089 | 868 | ||
| 1090 | --- | ||
| 1091 | ** The Woman commands `woman-default-faces' and `woman-monochrome-faces' | 869 | ** The Woman commands `woman-default-faces' and `woman-monochrome-faces' |
| 1092 | are obsolete. Customize the `woman-*' faces instead. | 870 | are obsolete. Customize the `woman-*' faces instead. |
| 1093 | 871 | ||
| 872 | ** More packages look for ~/.emacs.d/<foo> additionally to ~/.<foo>. | ||
| 873 | Affected files: | ||
| 874 | ~/.emacs.d/timelog replaces ~/.timelog | ||
| 875 | ~/.emacs.d/vip replaces ~/.vip | ||
| 876 | ~/.emacs.d/viper replaces ~/.viper | ||
| 877 | ~/.emacs.d/ido.last replaces ~/.ido.last | ||
| 878 | ~/.emacs.d/kkcrc replaces ~/.kkcrc | ||
| 879 | ~/.emacs.d/quickurls replaces ~/.quickurls | ||
| 880 | ~/.emacs.d/idlwave/ replaces ~/.idlwave/ | ||
| 881 | ~/.emacs.d/bdfcache.el replaces ~/.bdfcache.el | ||
| 882 | ~/.emacs.d/places replaces ~/.emacs-places | ||
| 883 | ~/.emacs.d/shadows replaces ~/.shadows | ||
| 884 | ~/.emacs.d/shadow_todo replaces ~/.shadow_todo | ||
| 885 | ~/.emacs.d/strokes replaces ~/.strokes | ||
| 886 | ~/.emacs.d/notes replaces ~/.notes | ||
| 887 | ~/.emacs.d/type-break replaces ~/.type-break | ||
| 888 | Also the following files used by the now obsolete otodo-mode.el: | ||
| 889 | ~/.emacs.d/todo-do replaces ~/.todo-do | ||
| 890 | ~/.emacs.d/todo-done replaces ~/.todo-done | ||
| 891 | ~/.emacs.d/todo-top replaces ~/.todo-top | ||
| 892 | |||
| 1094 | ** Obsolete packages | 893 | ** Obsolete packages |
| 1095 | 894 | ||
| 1096 | +++ | ||
| 1097 | *** iswitchb.el; use icomplete-mode. | 895 | *** iswitchb.el; use icomplete-mode. |
| 1098 | 896 | ||
| 1099 | --- | ||
| 1100 | *** longlines.el; use visual-line-mode. | 897 | *** longlines.el; use visual-line-mode. |
| 1101 | 898 | ||
| 1102 | --- | ||
| 1103 | *** meese.el. | 899 | *** meese.el. |
| 1104 | 900 | ||
| 1105 | +++ | ||
| 1106 | *** sup-mouse.el. | 901 | *** sup-mouse.el. |
| 1107 | 902 | ||
| 1108 | --- | ||
| 1109 | *** terminal.el; use term.el instead. | 903 | *** terminal.el; use term.el instead. |
| 1110 | 904 | ||
| 1111 | --- | ||
| 1112 | *** the old version of todo-mode.el (renamed to otodo-mode.el). | 905 | *** the old version of todo-mode.el (renamed to otodo-mode.el). |
| 1113 | 906 | ||
| 1114 | --- | ||
| 1115 | *** xesam.el (owing to the cancellation of the XESAM project). | 907 | *** xesam.el (owing to the cancellation of the XESAM project). |
| 1116 | 908 | ||
| 1117 | +++ | ||
| 1118 | *** yow.el; use fortune.el or cookie1.el instead. | 909 | *** yow.el; use fortune.el or cookie1.el instead. |
| 1119 | 910 | ||
| 1120 | 911 | ||
| 1121 | * New Modes and Packages in Emacs 24.4 | 912 | * New Modes and Packages in Emacs 24.4 |
| 1122 | 913 | ||
| 1123 | +++ | ||
| 1124 | ** New package `eww' is a built-in web browser. | 914 | ** New package `eww' is a built-in web browser. |
| 1125 | It is only available if Emacs is compiled with libxml2 support. | 915 | (It is only available if Emacs is compiled with libxml2 support.) |
| 1126 | |||
| 1127 | +++ | ||
| 1128 | ** New minor mode `superword-mode'. | ||
| 1129 | This overrides the default word motion commands to treat "symbol_words" | ||
| 1130 | as a single word, similar to what `subword-mode' does. | ||
| 1131 | 916 | ||
| 1132 | +++ | ||
| 1133 | ** New package nadvice.el offers lighter-weight advice facilities. | 917 | ** New package nadvice.el offers lighter-weight advice facilities. |
| 1134 | It is layered as: | 918 | It is layered as: |
| 1135 | 919 | ||
| 1136 | *** add-function/remove-function, which can be used to add/remove code on any | 920 | *** `add-function'/`remove-function', which can be used to add/remove code on |
| 1137 | function-carrying place, such as process-filters or `<foo>-function' hooks. | 921 | any function-carrying place, such as process filters or `<foo>-function' hooks. |
| 1138 | 922 | ||
| 1139 | *** advice-add/advice-remove to add/remove a piece of advice on a named | 923 | *** `advice-add'/`advice-remove' to add/remove a piece of advice on a named |
| 1140 | function, much like `defadvice' does. | 924 | function, much like `defadvice' does. |
| 1141 | 925 | ||
| 1142 | ** New package frameset.el. | 926 | ** New package frameset.el. |
| @@ -1145,39 +929,21 @@ or a subset of the existing frames and windows, somewhat similar to a | |||
| 1145 | frame configuration), both in-session and persistently, and restore it | 929 | frame configuration), both in-session and persistently, and restore it |
| 1146 | at some point in the future. | 930 | at some point in the future. |
| 1147 | 931 | ||
| 1148 | +++ | ||
| 1149 | ** New package filenotify.el provides an interface for file system | 932 | ** New package filenotify.el provides an interface for file system |
| 1150 | notifications. It requires that Emacs be compiled with one of the | 933 | notifications. It requires that Emacs be compiled with one of the |
| 1151 | low-level libraries gfilenotify.c, inotify.c or w32notify.c. | 934 | low-level libraries gfilenotify.c, inotify.c or w32notify.c. |
| 1152 | 935 | ||
| 1153 | 936 | ** New minor modes `prettify-symbols-mode' and `global-prettify-symbols-mode' | |
| 1154 | * Incompatible Lisp Changes in Emacs 24.4 | 937 | display specified symbols as composed characters. E.g., in Emacs Lisp mode, |
| 1155 | 938 | this replaces the string "lambda" with the Greek lambda character. | |
| 1156 | +++ | ||
| 1157 | ** Do not assume that the priority of all overlays will be numeric. | ||
| 1158 | (You should still only specify integer priorities on overlays you create.) | ||
| 1159 | If you need to sort arbitrary overlays into priority order, `overlays-at' | ||
| 1160 | can now optionally do this. | ||
| 1161 | |||
| 1162 | --- | ||
| 1163 | ** `kill-region' has lost its `yank-handler' optional argument. | ||
| 1164 | |||
| 1165 | +++ | ||
| 1166 | ** `(input-pending-p)' no longer runs other timers that are ready to run. | ||
| 1167 | The new optional CHECK-TIMERS parameter allows for the prior behavior. | ||
| 1168 | |||
| 1169 | +++ | ||
| 1170 | ** `defvar' and `defcustom' in a let-binding affect the "external" default. | ||
| 1171 | 939 | ||
| 1172 | --- | 940 | ** New minor mode `superword-mode'. |
| 1173 | ** The syntax of ?» and ?« is now punctuation instead of matched parens. | 941 | This overrides the default word motion commands to treat "symbol_words" |
| 1174 | Some languages match those as »...«, and others as «...», so it is | 942 | as a single word, similar to what `subword-mode' does. |
| 1175 | better for Emacs to stay neutral by default. | ||
| 1176 | 943 | ||
| 1177 | --- | 944 | |
| 1178 | ** In compiled Lisp files, the header no longer includes a timestamp. | 945 | * Incompatible Lisp Changes in Emacs 24.4 |
| 1179 | 946 | ||
| 1180 | +++ | ||
| 1181 | ** The default file coding for Emacs Lisp files is now utf-8. | 947 | ** The default file coding for Emacs Lisp files is now utf-8. |
| 1182 | (See `file-coding-system-alist'.) In most cases, this change is | 948 | (See `file-coding-system-alist'.) In most cases, this change is |
| 1183 | transparent, but files that contain unusual characters without | 949 | transparent, but files that contain unusual characters without |
| @@ -1185,384 +951,263 @@ specifying an explicit coding system may fail to load with obscure | |||
| 1185 | errors. You should either convert them to utf-8 or add an explicit | 951 | errors. You should either convert them to utf-8 or add an explicit |
| 1186 | `coding:' cookie. | 952 | `coding:' cookie. |
| 1187 | 953 | ||
| 1188 | +++ | 954 | ** Default process filters and sentinels are not nil any more. |
| 955 | Instead they default to a function that does what the nil value used to do. | ||
| 956 | |||
| 957 | ** Overlay priority does not have to be nil or a non-negative integer. | ||
| 958 | Overlay priority can be other kinds of Lisp objects. We didn't yet | ||
| 959 | decide whether other types of values are stable enough, and therefore | ||
| 960 | don't feel it's right to document them. For now, don't assume in your | ||
| 961 | code that the values of overlay priority can only be either nil or an | ||
| 962 | integer, always test them with an appropriate predicate to be one or | ||
| 963 | the other. If you need to sort arbitrary overlays into priority | ||
| 964 | order, `overlays-at' can now optionally do this. | ||
| 965 | You should still only specify integer priorities on overlays you create. | ||
| 966 | |||
| 967 | ** The cars of the elements in `interpreter-mode-alist' are now | ||
| 968 | treated as regexps rather than literal strings. | ||
| 969 | |||
| 1189 | ** `overriding-terminal-local-map' no longer replaces the local keymaps. | 970 | ** `overriding-terminal-local-map' no longer replaces the local keymaps. |
| 1190 | It used to disable the minor mode, major mode, and text-property keymaps, | 971 | It used to disable the minor mode, major mode, and text-property keymaps, |
| 1191 | whereas now it simply has higher precedence. | 972 | whereas now it simply has higher precedence. |
| 1192 | 973 | ||
| 1193 | +++ | 974 | ** `kill-region' has lost its `yank-handler' optional argument. |
| 1194 | ** Default process filters and sentinels are not nil any more. | 975 | |
| 1195 | Instead they default to a function that does what the nil value used to do. | 976 | ** `(input-pending-p)' no longer runs other timers that are ready to run. |
| 977 | The new optional CHECK-TIMERS parameter allows for the prior behavior. | ||
| 978 | |||
| 979 | ** `defvar' and `defcustom' in a let-binding affect the "external" default. | ||
| 980 | |||
| 981 | ** The syntax of ?» and ?« is now punctuation instead of matched parens. | ||
| 982 | Some languages match those as »...«, and others as «...», so it is | ||
| 983 | better for Emacs to stay neutral by default. | ||
| 1196 | 984 | ||
| 1197 | +++ | ||
| 1198 | ** `read-event' does not return decoded chars in ttys any more. | 985 | ** `read-event' does not return decoded chars in ttys any more. |
| 1199 | As was the case in Emacs 22 and before, the decoding of terminal | 986 | As was the case in Emacs 22 and before, the decoding of terminal |
| 1200 | input, according to `keyboard-coding-system', is not performed in | 987 | input, according to `keyboard-coding-system', is not performed in |
| 1201 | `read-event' any more. But unlike in Emacs 22, this decoding is still | 988 | `read-event' any more. But unlike in Emacs 22, this decoding is still |
| 1202 | done before input-decode-map, function-key-map, etc. | 989 | done before `input-decode-map', `function-key-map', etc. |
| 1203 | |||
| 1204 | --- | ||
| 1205 | ** The option `inhibit-local-menu-bar-menus' has been removed. | ||
| 1206 | |||
| 1207 | --- | ||
| 1208 | ** Frame-local variables that affect redisplay do not work any more. | ||
| 1209 | More specifically, redisplay does not bother to check for a frame-local | ||
| 1210 | value when looking up variables. | ||
| 1211 | 990 | ||
| 1212 | +++ | 991 | ** In `symbol-function', nil and "unbound" are indistinguishable. |
| 1213 | ** nil and "unbound" are indistinguishable in `symbol-function'. | ||
| 1214 | `symbol-function' does not signal a `void-function' error any more. | 992 | `symbol-function' does not signal a `void-function' error any more. |
| 1215 | To determine if a symbol's function definition is void, use `fboundp'. | 993 | To determine if a symbol's function definition is void, use `fboundp'. |
| 1216 | 994 | ||
| 1217 | +++ | ||
| 1218 | ** `defadvice' does not honor the `freeze' flag and cannot advise | 995 | ** `defadvice' does not honor the `freeze' flag and cannot advise |
| 1219 | special-forms any more. | 996 | special-forms any more. |
| 1220 | 997 | ||
| 1221 | --- | ||
| 1222 | ** `dolist' no longer binds VAR while evaluating the RESULT form, | 998 | ** `dolist' no longer binds VAR while evaluating the RESULT form, |
| 1223 | when lexical binding is enabled. Previously, VAR was bound to nil, | 999 | when lexical binding is enabled. Previously, VAR was bound to nil, |
| 1224 | which often led to spurious unused-variable warnings. | 1000 | which often led to spurious unused-variable warnings. |
| 1225 | 1001 | ||
| 1226 | +++ | ||
| 1227 | ** The return value of `backup-buffer' has changed. | 1002 | ** The return value of `backup-buffer' has changed. |
| 1228 | The second argument is no longer an SELinux context, instead it is an | 1003 | The second argument is no longer an SELinux context, instead it is an |
| 1229 | alist of extended attributes as returned by the new function | 1004 | alist of extended attributes as returned by the new function |
| 1230 | `file-extended-attributes'. The attributes can be applied to another | 1005 | `file-extended-attributes'. The attributes can be applied to another |
| 1231 | file using `set-file-extended-attributes'. | 1006 | file using `set-file-extended-attributes'. |
| 1232 | 1007 | ||
| 1233 | +++ | ||
| 1234 | ** By default `copy-file' no longer copies file permission bits to an | 1008 | ** By default `copy-file' no longer copies file permission bits to an |
| 1235 | existing destination; and it sets the file permission bits of a newly | 1009 | existing destination; and it sets the file permission bits of a newly |
| 1236 | created destination to those of the source, masked by the default file | 1010 | created destination to those of the source, masked by the default file |
| 1237 | permissions. To copy the file permission bits, pass t as the | 1011 | permissions. To copy the file permission bits, pass t as the |
| 1238 | PRESERVE-PERMISSIONS argument of `copy-file'. | 1012 | PRESERVE-PERMISSIONS argument of `copy-file'. |
| 1239 | 1013 | ||
| 1240 | +++ | ||
| 1241 | ** `visited-file-modtime' now returns -1 for nonexistent files. | 1014 | ** `visited-file-modtime' now returns -1 for nonexistent files. |
| 1242 | Formerly it returned a list (-1 LOW USEC PSEC), but this was ambiguous | 1015 | Formerly it returned a list (-1 LOW USEC PSEC), but this was ambiguous |
| 1243 | in the presence of files with negative time stamps. | 1016 | in the presence of files with negative time stamps. |
| 1244 | 1017 | ||
| 1245 | +++ | 1018 | ** Frame-local variables that affect redisplay do not work any more. |
| 1246 | ** The cars of the elements in `interpreter-mode-alist' are now | 1019 | More specifically, redisplay does not bother to check for a frame-local |
| 1247 | treated as regexps rather than literal strings. | 1020 | value when looking up variables. |
| 1248 | 1021 | ||
| 1249 | --- | 1022 | ** In compiled Lisp files, the header no longer includes a timestamp. |
| 1250 | ** Overlay priority does not have to be nil or a non-negative integer. | 1023 | |
| 1251 | Overlay priority can be other kinds of Lisp objects. We didn't yet | 1024 | ** The option `inhibit-local-menu-bar-menus' has been removed. |
| 1252 | decide whether other types of values are stable enough, and therefore | ||
| 1253 | don't feel it's right to document them. For now, don't assume in your | ||
| 1254 | code that the values of overlay priority can only be either nil or an | ||
| 1255 | integer, always test them with an appropriate predicate to be one or | ||
| 1256 | the other. | ||
| 1257 | 1025 | ||
| 1258 | 1026 | ||
| 1259 | * Lisp Changes in Emacs 24.4 | 1027 | * Lisp Changes in Emacs 24.4 |
| 1260 | 1028 | ||
| 1261 | +++ | 1029 | ** Change to the Emacs Lisp coding conventions: the package descriptor |
| 1262 | ** The second argument of `eval' can now specify a lexical environment. | 1030 | and name of global variables, constants, and functions should be separated |
| 1031 | by two hyphens if the symbol is not meant to be used by other packages. | ||
| 1263 | 1032 | ||
| 1264 | +++ | 1033 | ** The second argument of `eval' can now specify a lexical environment. |
| 1265 | ** New functions `special-form-p' and `macrop'. | ||
| 1266 | 1034 | ||
| 1267 | +++ | ||
| 1268 | ** New macro `define-alternatives' can be used to define generic commands. | 1035 | ** New macro `define-alternatives' can be used to define generic commands. |
| 1269 | Generic commands are interactive functions whose implementation can be | 1036 | Generic commands are interactive functions whose implementation can be |
| 1270 | selected among several alternatives, as a matter of user preference. | 1037 | selected among several alternatives, as a matter of user preference. |
| 1271 | 1038 | ||
| 1272 | +++ | 1039 | ** Numeric comparison functions =, <, >, <=, >= can now take many arguments. |
| 1040 | |||
| 1041 | ** New functions `special-form-p' and `macrop'. | ||
| 1042 | |||
| 1043 | ** New macro `with-eval-after-load'. | ||
| 1044 | This is like the old `eval-after-load', but better behaved. | ||
| 1045 | |||
| 1273 | ** If you give a symbol a `defalias-fset-function' property, `defalias' | 1046 | ** If you give a symbol a `defalias-fset-function' property, `defalias' |
| 1274 | on that symbol will use the associated value as a function to call | 1047 | on that symbol will use the associated value as a function to call |
| 1275 | in place of `fset'. | 1048 | in place of `fset'. |
| 1276 | 1049 | ||
| 1277 | +++ | ||
| 1278 | ** New variable `enable-dir-local-variables'. | 1050 | ** New variable `enable-dir-local-variables'. |
| 1279 | Directory-local variables are ignored if this is nil. This may be | 1051 | Directory-local variables are ignored if this is nil. This may be |
| 1280 | useful for modes that want to ignore directory-locals while still | 1052 | useful for modes that want to ignore directory-locals while still |
| 1281 | respecting file-local variables. | 1053 | respecting file-local variables. |
| 1282 | 1054 | ||
| 1283 | +++ | ||
| 1284 | ** New function `get-pos-property'. | ||
| 1285 | |||
| 1286 | +++ | ||
| 1287 | ** `read-regexp' now uses the new variable `read-regexp-defaults-function' | 1055 | ** `read-regexp' now uses the new variable `read-regexp-defaults-function' |
| 1288 | as a function to call to provide default values. | 1056 | as a function to call to provide default values. |
| 1289 | 1057 | ||
| 1290 | ** Completion changes | 1058 | ** New functions `group-gid' and `group-real-gid'. |
| 1059 | |||
| 1060 | ** New function `get-pos-property'. | ||
| 1061 | |||
| 1062 | ** New hook `pre-redisplay-function'. | ||
| 1063 | |||
| 1064 | ** `byte-compile-interactive-only-functions' is now obsolete. | ||
| 1065 | To specify that a command should only be called interactively, give it | ||
| 1066 | a non-nil `interactive-only' property. | ||
| 1067 | |||
| 1068 | ** New function `string-suffix-p'. | ||
| 1069 | |||
| 1070 | ** `split-string' now takes an optional argument TRIM. | ||
| 1071 | The value, if non-nil, is a regexp that specifies what to trim from | ||
| 1072 | the start and end of each substring. | ||
| 1073 | |||
| 1074 | ** Completion | ||
| 1291 | 1075 | ||
| 1292 | --- | ||
| 1293 | *** The separator used by `completing-read-multiple' is now a regexp. | 1076 | *** The separator used by `completing-read-multiple' is now a regexp. |
| 1294 | The default `crm-separator' has been changed to allow surrounding spaces | 1077 | The default `crm-separator' has been changed to allow surrounding spaces |
| 1295 | around the comma. | 1078 | around the comma. |
| 1296 | 1079 | ||
| 1297 | +++ | ||
| 1298 | *** The `common-substring' argument of `display-completion-list', | ||
| 1299 | which has been documented as obsolete since Emacs 23.1, is now _really_ | ||
| 1300 | obsolete, and no longer advertised. Instead either call | ||
| 1301 | `completion-hilit-commonality' to add the highlighting; or use | ||
| 1302 | `completion-all-completions', which returns highlighted strings. | ||
| 1303 | |||
| 1304 | +++ | ||
| 1305 | *** New function `completion-table-with-cache' is a wrapper for | 1080 | *** New function `completion-table-with-cache' is a wrapper for |
| 1306 | `completion-table-dynamic' that caches the result of the last lookup. | 1081 | `completion-table-dynamic' that caches the result of the last lookup. |
| 1307 | 1082 | ||
| 1308 | +++ | ||
| 1309 | *** New function `completion-table-merge' to combine several | 1083 | *** New function `completion-table-merge' to combine several |
| 1310 | completion tables by merging their completions. | 1084 | completion tables by merging their completions. |
| 1311 | 1085 | ||
| 1312 | +++ | 1086 | *** The `common-substring' argument of `display-completion-list', |
| 1313 | ** New minor modes `prettify-symbols-mode' and `global-prettify-symbols-mode' | 1087 | which has been documented as obsolete since Emacs 23.1, is now _really_ |
| 1314 | display specified symbols as composed characters. E.g., in Emacs Lisp mode, | 1088 | obsolete, and no longer advertised. Instead either call |
| 1315 | this replaces the string "lambda" with the Greek lambda character. | 1089 | `completion-hilit-commonality' to add the highlighting; or use |
| 1316 | 1090 | `completion-all-completions', which returns highlighted strings. | |
| 1317 | ** Terminal changes | ||
| 1318 | |||
| 1319 | +++ | ||
| 1320 | *** Functions to pop up menus and dialogs now work on all terminals, | ||
| 1321 | including TTYs. This includes `x-popup-menu', `x-popup-dialog', | ||
| 1322 | `message-box', `yes-or-no-p', etc. | ||
| 1323 | |||
| 1324 | The function `display-popup-menus-p' will now return non-nil for a | ||
| 1325 | display or frame whenever a mouse is supported on that display or | ||
| 1326 | frame. | ||
| 1327 | |||
| 1328 | +++ | ||
| 1329 | *** New hook `tty-setup-hook', run at the end of initializing a text terminal. | ||
| 1330 | 1091 | ||
| 1331 | +++ | 1092 | ** Encoding and decoding of text |
| 1332 | *** The hook `term-setup-hook' is obsolete. It is entirely equivalent | ||
| 1333 | to `emacs-startup-hook'. See also the new `tty-setup-hook'. | ||
| 1334 | 1093 | ||
| 1335 | +++ | 1094 | *** New coding-system `prefer-utf-8'. |
| 1336 | ** New hook `pre-redisplay-function'. | 1095 | This is like `undecided' but prefers UTF-8 on decoding if the text to |
| 1096 | be decoded does not contain any invalid UTF-8 sequences. On encoding, | ||
| 1097 | any non-ASCII characters are automatically encoded as UTF-8. | ||
| 1337 | 1098 | ||
| 1338 | +++ | 1099 | *** New attributes of coding-systems whose type is `undecided'. |
| 1339 | ** New bool-vector set operation functions | 1100 | Two new attributes, `:inhibit-null-byte-detection' and |
| 1340 | *** `bool-vector-exclusive-or' | 1101 | `:inhibit-iso-escape-detection', determine how to detect encoding of |
| 1341 | *** `bool-vector-union' | 1102 | text that includes null bytes and ISO-2022 escape sequences, respectively. |
| 1342 | *** `bool-vector-intersection' | 1103 | Each of these attributes can be either nil, zero, or t. If t, decoding |
| 1343 | *** `bool-vector-set-difference' | 1104 | text ignores null bytes and ISO-2022 sequences, respectively. If nil, |
| 1344 | *** `bool-vector-not' | 1105 | null bytes cause text to be decoded with no-conversion, and ISO-2022 |
| 1345 | *** `bool-vector-subsetp' | 1106 | sequences cause Emacs to assume the text is encoded in one of the ISO-2022 |
| 1346 | *** `bool-vector-count-consecutive' | 1107 | encodings, such as iso-2022-7bit. If zero, Emacs consults the variables |
| 1347 | *** `bool-vector-count-population' | 1108 | `inhibit-null-byte-detection' and `inhibit-iso-escape-detection'. |
| 1109 | The new attribute `:prefer-utf-8', if non-nil, causes Emacs to prefer | ||
| 1110 | UTF-8 encoding and decoding, whenever possible. | ||
| 1348 | 1111 | ||
| 1349 | +++ | 1112 | These attributes are only meaningful for coding-systems of type `undecided'. |
| 1350 | ** Comparison functions =, <, >, <=, >= can now take many arguments. | 1113 | (The type of a coding-system is determined by its `:coding-type' attribute |
| 1114 | and can be accessed by calling the `coding-system-type' function.) | ||
| 1351 | 1115 | ||
| 1352 | ** Error-handling changes | 1116 | ** Error-handling |
| 1353 | 1117 | ||
| 1354 | +++ | ||
| 1355 | *** New function `define-error'. | 1118 | *** New function `define-error'. |
| 1356 | 1119 | ||
| 1357 | +++ | ||
| 1358 | *** `with-demoted-errors' takes an additional argument `format'. | 1120 | *** `with-demoted-errors' takes an additional argument `format'. |
| 1359 | 1121 | ||
| 1360 | +++ | 1122 | ** Faces |
| 1361 | ** New macro `with-eval-after-load'. | ||
| 1362 | This is like the old `eval-after-load', but better behaved. | ||
| 1363 | 1123 | ||
| 1364 | --- | 1124 | *** Face specs set via Custom themes now replace the `defface' spec |
| 1365 | ** New library subr-x.el with miscellaneous small utility functions | 1125 | rather than inheriting from it. In other words, setting a face via a |
| 1366 | *** `hash-table-keys' | 1126 | theme now behaves like setting it via Customize: you only need to |
| 1367 | *** `hash-table-values' | 1127 | specify the attributes that you want, you don't need to unset those |
| 1368 | *** `string-blank-p' | 1128 | that you don't want. |
| 1369 | *** `string-empty-p' | ||
| 1370 | *** `string-join' | ||
| 1371 | *** `string-reverse' | ||
| 1372 | *** `string-trim-left' | ||
| 1373 | *** `string-trim-right' | ||
| 1374 | *** `string-trim' | ||
| 1375 | *** `string-remove-prefix' | ||
| 1376 | *** `string-remove-suffix' | ||
| 1377 | |||
| 1378 | +++ | ||
| 1379 | ** Obsoleted functions | ||
| 1380 | *** `log10' | ||
| 1381 | *** `dont-compile' | ||
| 1382 | *** `lisp-complete-symbol' | ||
| 1383 | *** `field-complete' | ||
| 1384 | *** `minibuffer-completion-contents' | ||
| 1385 | *** `isearch-nonincremental-exit-minibuffer' | ||
| 1386 | *** `isearch-filter-visible' | ||
| 1387 | *** `generic-make-keywords-list' | ||
| 1388 | *** `get-upcase-table' (use `case-table-get-table' instead). | ||
| 1389 | 1129 | ||
| 1390 | +++ | 1130 | *** The function `face-spec-set' is now like `setq' for face specs. |
| 1391 | ** `with-wrapper-hook' is obsoleted by `add-function'. | 1131 | Its third arg now accepts values specifying a face spec type (defface, |
| 1392 | The few hooks that used with-wrapper-hook are replaced as follows: | 1132 | custom, or override spec), and the relevant spec is set accordingly. |
| 1393 | *** `abbrev-expand-function' obsoletes `abbrev-expand-functions'. | ||
| 1394 | *** `completion-in-region-function' obsoletes `completion-in-region-functions'. | ||
| 1395 | *** `filter-buffer-substring-function' obsoletes `filter-buffer-substring-functions'. | ||
| 1396 | 1133 | ||
| 1397 | +++ | 1134 | *** New face spec attribute :distant-foreground |
| 1398 | ** `byte-compile-interactive-only-functions' is now obsolete. | 1135 | specifies foreground to use if background color is near the foreground |
| 1399 | To specify that a command should only be called interactively, give it | 1136 | color that would otherwise have been used. |
| 1400 | a non-nil `interactive-only' property. | ||
| 1401 | 1137 | ||
| 1402 | +++ | 1138 | *** New function `add-face-text-property', which can be used to |
| 1403 | ** `split-string' now takes an optional argument TRIM. | 1139 | conveniently prepend/append new face properties. |
| 1404 | The value, if non-nil, is a regexp that specifies what to trim from | ||
| 1405 | the start and end of each substring. | ||
| 1406 | 1140 | ||
| 1407 | +++ | 1141 | *** New face characteristic (supports :underline (:style wave)) |
| 1408 | ** New function `string-suffix-p'. | 1142 | specifies whether or not the terminal can display a wavy line. |
| 1409 | 1143 | ||
| 1410 | ** File-handling changes | 1144 | ** File-handling |
| 1411 | 1145 | ||
| 1412 | +++ | ||
| 1413 | *** Support for filesystem notifications. | 1146 | *** Support for filesystem notifications. |
| 1414 | Emacs now supports notifications of filesystem changes, such as | 1147 | Emacs now supports notifications of filesystem changes, such as |
| 1415 | creation, modification, and deletion of files. This requires the | 1148 | creation, modification, and deletion of files. This requires the |
| 1416 | `glib' API, or the 'inotify' API (on GNU/Linux systems only). On | 1149 | `glib' API, or the 'inotify' API (on GNU/Linux systems only). On |
| 1417 | MS-Windows systems, this is supported for Windows XP and newer | 1150 | MS-Windows systems, this is supported for Windows XP and newer. |
| 1418 | versions. | ||
| 1419 | 1151 | ||
| 1420 | +++ | ||
| 1421 | *** The 9th element returned by `file-attributes' is now unspecified. | 1152 | *** The 9th element returned by `file-attributes' is now unspecified. |
| 1422 | Formerly, it was t if the file's gid would change if file were deleted | 1153 | Formerly, it was t if the file's gid would change if file were deleted |
| 1423 | and recreated. This value has been inaccurate for years on many | 1154 | and recreated. This value has been inaccurate for years on many |
| 1424 | platforms, and nobody seems to have noticed or cared. | 1155 | platforms, and nobody seems to have noticed or cared. |
| 1425 | 1156 | ||
| 1426 | +++ | ||
| 1427 | *** The 6th argument to `copy-file' has been renamed to | 1157 | *** The 6th argument to `copy-file' has been renamed to |
| 1428 | PRESERVE-PERMISSIONS as it now handles ACL entries and the traditional | 1158 | PRESERVE-PERMISSIONS as it now handles ACL entries and the traditional |
| 1429 | Unix file permission bits as well as SELinux context. | 1159 | Unix file permission bits as well as SELinux context. |
| 1430 | 1160 | ||
| 1431 | +++ | ||
| 1432 | *** The function `file-ownership-preserved-p' now has an optional | 1161 | *** The function `file-ownership-preserved-p' now has an optional |
| 1433 | argument GROUP which causes it check for file group too. This can be | 1162 | argument GROUP which causes it check for file group too. This can be |
| 1434 | used in place of the 9th element of `file-attributes'. | 1163 | used in place of the 9th element of `file-attributes'. |
| 1435 | 1164 | ||
| 1436 | --- | 1165 | *** The function `set-visited-file-modtime' now accepts a 0 or -1 argument, |
| 1437 | *** The function `set-visited-file-modtime' now accepts a 0 or -1 | 1166 | with the same interpretation as the returned value of `visited-file-modtime'. |
| 1438 | argument, with the same interpretation as the returned value of | ||
| 1439 | `visited-file-modtime'. | ||
| 1440 | |||
| 1441 | ** Revert and Autorevert changes | ||
| 1442 | |||
| 1443 | +++ | ||
| 1444 | *** The default values of `buffer-stale-function', `revert-buffer-function', | ||
| 1445 | and `revert-buffer-insert-file-contents-function' are no longer nil. | ||
| 1446 | Instead they default to functions that do what the nil value used to. | ||
| 1447 | |||
| 1448 | +++ | ||
| 1449 | *** `buffer-stale-function' is now used for buffers visiting files too. | ||
| 1450 | |||
| 1451 | --- | ||
| 1452 | *** If Emacs is compiled with file notification support, it uses notifications | ||
| 1453 | instead of checking file time stamps. To disable this, set the user option | ||
| 1454 | `auto-revert-use-notify' to nil. Alternatively, you can specify a regular | ||
| 1455 | expression matching directories to be excluded from file notifications via | ||
| 1456 | `auto-revert-notify-exclude-dir-regexp'. | ||
| 1457 | |||
| 1458 | --- | ||
| 1459 | *** The new user option `auto-revert-remote-files' enables reversion | ||
| 1460 | of remote files, if set to non-nil. | ||
| 1461 | |||
| 1462 | ** Face changes | ||
| 1463 | |||
| 1464 | +++ | ||
| 1465 | *** The function `face-spec-set' is now like `setq' for face specs. | ||
| 1466 | Its third arg now accepts values specifying a face spec type (defface, | ||
| 1467 | custom, or override spec), and the relevant spec is set accordingly. | ||
| 1468 | |||
| 1469 | +++ | ||
| 1470 | *** New function `add-face-text-property', which can be used to | ||
| 1471 | conveniently prepend/append new face properties. | ||
| 1472 | |||
| 1473 | --- | ||
| 1474 | *** Face specs set via Custom themes now replace the `defface' spec | ||
| 1475 | rather than inheriting from it. In other words, setting a face via a | ||
| 1476 | theme now behaves like setting it via Customize: you only need to | ||
| 1477 | specify the attributes that you want, you don't need to unset those | ||
| 1478 | that you don't want. | ||
| 1479 | |||
| 1480 | --- | ||
| 1481 | *** New face characteristic (supports :underline (:style wave)) | ||
| 1482 | specifies whether or not the terminal can display a wavy line. | ||
| 1483 | |||
| 1484 | +++ | ||
| 1485 | *** New face spec attribute :distant-foreground | ||
| 1486 | specifies foreground to use if background color is near the foreground | ||
| 1487 | color that would otherwise have been used. | ||
| 1488 | 1167 | ||
| 1489 | ** Image API | 1168 | ** Image API |
| 1490 | 1169 | ||
| 1491 | +++ | ||
| 1492 | *** `image-animated-p' is now `image-multi-frame-p'. | 1170 | *** `image-animated-p' is now `image-multi-frame-p'. |
| 1493 | It returns non-nil for any image that contains multiple frames, | 1171 | It returns non-nil for any image that contains multiple frames, |
| 1494 | whether or not it specifies a frame delay. | 1172 | whether or not it specifies a frame delay. |
| 1495 | 1173 | ||
| 1496 | +++ | ||
| 1497 | *** New variable `image-default-frame-delay' gives the frame delay for | 1174 | *** New variable `image-default-frame-delay' gives the frame delay for |
| 1498 | animated images which do not specify a frame delay. | 1175 | animated images which do not specify a frame delay. |
| 1499 | 1176 | ||
| 1500 | +++ | ||
| 1501 | *** New functions `image-current-frame' and `image-show-frame' for getting | 1177 | *** New functions `image-current-frame' and `image-show-frame' for getting |
| 1502 | and setting the current frame of a multi-frame image. | 1178 | and setting the current frame of a multi-frame image. |
| 1503 | 1179 | ||
| 1504 | ** EIEIO | 1180 | ** Revert and Autorevert |
| 1505 | 1181 | ||
| 1506 | +++ | 1182 | *** If Emacs is compiled with file notification support, it uses notifications |
| 1507 | *** Namespace cleanup by obsolete-aliasing functions to use `eieio-' prefix. | 1183 | instead of checking file time stamps. To disable this, set the user option |
| 1508 | **** object-name -> eieio-object-name | 1184 | `auto-revert-use-notify' to nil. Alternatively, you can specify a regular |
| 1509 | **** object-class -> eieio-object-class | 1185 | expression matching directories to be excluded from file notifications via |
| 1510 | **** object-class-fast -> eieio--object-class | 1186 | `auto-revert-notify-exclude-dir-regexp'. |
| 1511 | **** object-class-name -> eieio-object-class-name | ||
| 1512 | **** object-name-string -> eieio-object-name-string | ||
| 1513 | **** object-num-slots -> eieio--object-num-slots | ||
| 1514 | **** object-set-name-string -> eieio-object-set-name-string | ||
| 1515 | **** class-of -> eieio-object-class | ||
| 1516 | **** class-name -> eieio-class-name | ||
| 1517 | **** class-parent -> eieio-class-parent | ||
| 1518 | **** class-parents -> eieio-class-parents | ||
| 1519 | **** class-parents-fast -> eieio-class-parents-fast | ||
| 1520 | **** class-children -> eieio-class-children | ||
| 1521 | **** class-num-slots -> eieio--class-num-slots | ||
| 1522 | **** class-precedence-list -> eieio-class-precedence-list | ||
| 1523 | **** class-direct-subclasses -> eieio-class-children | ||
| 1524 | **** class-direct-superclasses -> eieio-class-parents | ||
| 1525 | |||
| 1526 | ** Changes in encoding and decoding of text | ||
| 1527 | |||
| 1528 | --- | ||
| 1529 | *** New coding-system `prefer-utf-8'. | ||
| 1530 | This is like `undecided' but prefers UTF-8 on decoding if the text to | ||
| 1531 | be decoded does not contain any invalid UTF-8 sequences. On encoding, | ||
| 1532 | any non-ASCII characters are automatically encoded as UTF-8. | ||
| 1533 | 1187 | ||
| 1534 | --- | 1188 | *** The default values of `buffer-stale-function', `revert-buffer-function', |
| 1535 | *** New attributes of coding-systems whose type is `undecided'. | 1189 | and `revert-buffer-insert-file-contents-function' are no longer nil. |
| 1536 | Two new attributes, `:inhibit-null-byte-detection' and | 1190 | Instead they default to functions that do what the nil value used to. |
| 1537 | `:inhibit-iso-escape-detection', determine how to detect encoding of | ||
| 1538 | text that includes null bytes and ISO-2022 escape sequences, | ||
| 1539 | respectively. Each of these attributes can be either nil, zero, or | ||
| 1540 | t. If it is t, decoding text ignores null bytes and, respectively, | ||
| 1541 | ISO-2022 sequences. If it is nil, null bytes cause text to be decoded | ||
| 1542 | with no-conversion and ISO-2022 sequences cause Emacs to assume the | ||
| 1543 | text is encoded in one of the ISO-2022 encodings, such as | ||
| 1544 | iso-2022-7bit. If the value is zero, Emacs consults the variables | ||
| 1545 | inhibit-null-byte-detection and inhibit-iso-escape-detection, which | ||
| 1546 | see. | ||
| 1547 | The new attribute `:prefer-utf-8', if non-nil, causes Emacs to prefer | ||
| 1548 | UTF-8 encoding and decoding, whenever possible. | ||
| 1549 | 1191 | ||
| 1550 | These attributes are only meaningful for coding-systems of type | 1192 | *** `buffer-stale-function' is now used for buffers visiting files too. |
| 1551 | `undecided'. (The type of a coding-system is determined by its | ||
| 1552 | `:coding-type' attribute and can be accessed by calling the | ||
| 1553 | `coding-system-type' function.) | ||
| 1554 | 1193 | ||
| 1555 | --- | 1194 | *** The new user option `auto-revert-remote-files' enables reversion |
| 1556 | ** The `time-to-seconds' alias to `float-time' is no longer marked obsolete. | 1195 | of remote files, if non-nil. |
| 1557 | 1196 | ||
| 1558 | +++ | 1197 | ** Terminal |
| 1559 | ** New functions `group-gid' and `group-real-gid'. | ||
| 1560 | 1198 | ||
| 1561 | --- | 1199 | *** Functions to pop up menus and dialogs now work on all terminals, |
| 1562 | ** The spelling of the rx.el category `chinese-two-byte' has been | 1200 | including TTYs. This includes `x-popup-menu', `x-popup-dialog', |
| 1563 | corrected (the first 'e' was missing). | 1201 | `message-box', `yes-or-no-p', etc. |
| 1202 | |||
| 1203 | The function `display-popup-menus-p' will now return non-nil for a | ||
| 1204 | display or frame whenever a mouse is supported on that display or frame. | ||
| 1205 | |||
| 1206 | *** New hook `tty-setup-hook', run at the end of initializing a text terminal. | ||
| 1207 | |||
| 1208 | *** The hook `term-setup-hook' is obsolete. It is entirely equivalent | ||
| 1209 | to `emacs-startup-hook'. See also the new `tty-setup-hook'. | ||
| 1564 | 1210 | ||
| 1565 | --- | ||
| 1566 | ** Minor internal changes to the details of lock files. | 1211 | ** Minor internal changes to the details of lock files. |
| 1567 | The lock for DIR/FILE is now _always_ DIR/.#FILE. | 1212 | The lock for DIR/FILE is now _always_ DIR/.#FILE. |
| 1568 | If DIR/.#FILE already exists and is not an Emacs lock file, | 1213 | If DIR/.#FILE already exists and is not an Emacs lock file, |
| @@ -1571,23 +1216,92 @@ numbered lock files DIR/.#FILE.0...). | |||
| 1571 | On file systems that do not support symbolic links, the lock is now a | 1216 | On file systems that do not support symbolic links, the lock is now a |
| 1572 | regular file with contents being what would have been in the symlink. | 1217 | regular file with contents being what would have been in the symlink. |
| 1573 | 1218 | ||
| 1574 | ** Changes to the Emacs Lisp Coding Conventions in Emacs 24.4 | 1219 | ** New bool-vector set operation functions: |
| 1220 | *** `bool-vector-exclusive-or' | ||
| 1221 | *** `bool-vector-union' | ||
| 1222 | *** `bool-vector-intersection' | ||
| 1223 | *** `bool-vector-set-difference' | ||
| 1224 | *** `bool-vector-not' | ||
| 1225 | *** `bool-vector-subsetp' | ||
| 1226 | *** `bool-vector-count-consecutive' | ||
| 1227 | *** `bool-vector-count-population' | ||
| 1575 | 1228 | ||
| 1576 | +++ | 1229 | ** New library subr-x.el with miscellaneous small utility functions: |
| 1577 | *** The package descriptor and name of global variables, constants, | 1230 | *** `hash-table-keys' |
| 1578 | and functions should be separated by two hyphens if the symbol is not | 1231 | *** `hash-table-values' |
| 1579 | meant to be used by other packages. | 1232 | *** `string-blank-p' |
| 1233 | *** `string-empty-p' | ||
| 1234 | *** `string-join' | ||
| 1235 | *** `string-reverse' | ||
| 1236 | *** `string-trim-left' | ||
| 1237 | *** `string-trim-right' | ||
| 1238 | *** `string-trim' | ||
| 1239 | *** `string-remove-prefix' | ||
| 1240 | *** `string-remove-suffix' | ||
| 1241 | |||
| 1242 | ** The `time-to-seconds' alias to `float-time' is no longer marked obsolete. | ||
| 1243 | |||
| 1244 | ** The spelling of the rx.el category `chinese-two-byte' has been | ||
| 1245 | corrected (the first 'e' was missing). | ||
| 1246 | |||
| 1247 | ** EIEIO namespace cleanup, obsolete-aliasing functions to use `eieio-' prefix: | ||
| 1248 | *** object-name -> eieio-object-name | ||
| 1249 | *** object-class -> eieio-object-class | ||
| 1250 | *** object-class-fast -> eieio--object-class | ||
| 1251 | *** object-class-name -> eieio-object-class-name | ||
| 1252 | *** object-name-string -> eieio-object-name-string | ||
| 1253 | *** object-num-slots -> eieio--object-num-slots | ||
| 1254 | *** object-set-name-string -> eieio-object-set-name-string | ||
| 1255 | *** class-of -> eieio-object-class | ||
| 1256 | *** class-name -> eieio-class-name | ||
| 1257 | *** class-parent -> eieio-class-parent | ||
| 1258 | *** class-parents -> eieio-class-parents | ||
| 1259 | *** class-parents-fast -> eieio-class-parents-fast | ||
| 1260 | *** class-children -> eieio-class-children | ||
| 1261 | *** class-num-slots -> eieio--class-num-slots | ||
| 1262 | *** class-precedence-list -> eieio-class-precedence-list | ||
| 1263 | *** class-direct-subclasses -> eieio-class-children | ||
| 1264 | *** class-direct-superclasses -> eieio-class-parents | ||
| 1265 | |||
| 1266 | ** Obsoleted functions | ||
| 1267 | *** `log10' | ||
| 1268 | *** `dont-compile' | ||
| 1269 | *** `lisp-complete-symbol' | ||
| 1270 | *** `field-complete' | ||
| 1271 | *** `minibuffer-completion-contents' | ||
| 1272 | *** `isearch-nonincremental-exit-minibuffer' | ||
| 1273 | *** `isearch-filter-visible' | ||
| 1274 | *** `generic-make-keywords-list' | ||
| 1275 | *** `get-upcase-table' (use `case-table-get-table' instead). | ||
| 1276 | |||
| 1277 | ** `with-wrapper-hook' is obsoleted by `add-function'. | ||
| 1278 | The few hooks that used with-wrapper-hook are replaced as follows: | ||
| 1279 | *** `abbrev-expand-function' obsoletes `abbrev-expand-functions'. | ||
| 1280 | *** `completion-in-region-function' obsoletes `completion-in-region-functions'. | ||
| 1281 | *** `filter-buffer-substring-function' obsoletes `filter-buffer-substring-functions'. | ||
| 1580 | 1282 | ||
| 1581 | 1283 | ||
| 1582 | * Changes in Emacs 24.4 on Non-Free Operating Systems | 1284 | * Changes in Emacs 24.4 on Non-Free Operating Systems |
| 1583 | 1285 | ||
| 1584 | --- | 1286 | ** New Core Text based font backend for Mac OS X 10.5 and newer. |
| 1287 | To use the old font backend, use the following on the command line: | ||
| 1288 | % defaults write org.gnu.Emacs FontBackend ns | ||
| 1289 | GNUstep and Mac OS X 10.4 use the old font backend. | ||
| 1290 | |||
| 1291 | ** Improved fullscreen support on Mac OS X 10.7 and newer, where the | ||
| 1292 | default fullscreen method is now "native" fullscreen. To use the | ||
| 1293 | old style fullscreen, customize `ns-use-native-fullscreen' to nil. | ||
| 1294 | |||
| 1295 | ** On Mac OS X 10.7 and newer, Emacs can use sRGB colorspace, and does so | ||
| 1296 | by default. Customize `ns-use-srgb-colorspace' to go back to the old method. | ||
| 1297 | Note that this does not apply to images. | ||
| 1298 | |||
| 1585 | ** The procedure for building Emacs on MS-Windows has changed. | 1299 | ** The procedure for building Emacs on MS-Windows has changed. |
| 1586 | It is now built by running the same configure script as on all other | 1300 | It is now built by running the same configure script as on all other |
| 1587 | platforms. This requires the MSYS environment and MinGW development | 1301 | platforms. This requires the MSYS environment and MinGW development |
| 1588 | tools. See the updated instructions in nt/INSTALL for details. | 1302 | tools. See the updated instructions in nt/INSTALL for details. |
| 1589 | 1303 | ||
| 1590 | Using the Posix configure script and Makefile's also means a change in | 1304 | Using the Posix configure script and Makefiles also means a change in |
| 1591 | the directory structure of the Emacs installation on Windows. It is | 1305 | the directory structure of the Emacs installation on Windows. It is |
| 1592 | now the same as on GNU and Unix systems. In particular, the auxiliary | 1306 | now the same as on GNU and Unix systems. In particular, the auxiliary |
| 1593 | programs, such as cmdproxy.exe and hexl.exe, are in | 1307 | programs, such as cmdproxy.exe and hexl.exe, are in |
| @@ -1599,7 +1313,6 @@ files are in share/emacs/VERSION/etc. (Emacs knows about all these | |||
| 1599 | directories and will find the files in there automatically; there's no | 1313 | directories and will find the files in there automatically; there's no |
| 1600 | need to set any variables due to this change.) | 1314 | need to set any variables due to this change.) |
| 1601 | 1315 | ||
| 1602 | +++ | ||
| 1603 | ** Emacs on Windows 2000 and later can now access files and directories | 1316 | ** Emacs on Windows 2000 and later can now access files and directories |
| 1604 | whose names cannot be encoded in the current system codepage. | 1317 | whose names cannot be encoded in the current system codepage. |
| 1605 | 1318 | ||
| @@ -1607,40 +1320,21 @@ The new variable `w32-unicode-filenames' controls this feature: if it | |||
| 1607 | is t, Emacs uses Unicode APIs to pass file names to system calls, | 1320 | is t, Emacs uses Unicode APIs to pass file names to system calls, |
| 1608 | which lifts the limitation of file names to the current locale. | 1321 | which lifts the limitation of file names to the current locale. |
| 1609 | 1322 | ||
| 1610 | +++ | 1323 | ** Lock files now work on MS-Windows. |
| 1324 | This helps to prevent losing your edits if the same file is being | ||
| 1325 | edited in another Emacs session or by another user. See the node | ||
| 1326 | "Interlocking" in the Emacs User Manual for the details. To disable | ||
| 1327 | file locking, customize `create-lockfiles' to nil. | ||
| 1328 | |||
| 1611 | ** The "generate a backtrace on fatal error" feature now works on MS Windows. | 1329 | ** The "generate a backtrace on fatal error" feature now works on MS Windows. |
| 1612 | The backtrace is written to the 'emacs_backtrace.txt' file in the | 1330 | The backtrace is written to the 'emacs_backtrace.txt' file in the |
| 1613 | directory where Emacs was running. | 1331 | directory where Emacs was running. |
| 1614 | 1332 | ||
| 1615 | +++ | ||
| 1616 | ** The variable `buffer-file-type' is no longer supported. | 1333 | ** The variable `buffer-file-type' is no longer supported. |
| 1617 | Setting it has no effect, and %t in the mode-line format is ignored. | 1334 | Setting it has no effect, and %t in the mode-line format is ignored. |
| 1618 | Likewise, `file-name-buffer-file-type-alist' is now obsolete, and | 1335 | Likewise, `file-name-buffer-file-type-alist' is now obsolete, and |
| 1619 | modifying it has no effect. | 1336 | modifying it has no effect. |
| 1620 | 1337 | ||
| 1621 | --- | ||
| 1622 | ** Lock files now work on MS-Windows. | ||
| 1623 | This helps to prevent losing your edits if the same file is being | ||
| 1624 | edited in another Emacs session or by another user. See the node | ||
| 1625 | "Interlocking" in the Emacs User Manual for the details. To disable | ||
| 1626 | file locking, customize `create-lockfiles' to nil. | ||
| 1627 | |||
| 1628 | +++ | ||
| 1629 | ** New Core Text based font backend for Mac OS X 10.5 and newer. | ||
| 1630 | To use the old font backend, use the following on the command line: | ||
| 1631 | % defaults write org.gnu.Emacs FontBackend ns | ||
| 1632 | GNUstep and Mac OS X 10.4 use the old font backend. | ||
| 1633 | |||
| 1634 | --- | ||
| 1635 | ** Improved fullscreen support on Mac OS X 10.7 and newer, where the | ||
| 1636 | default fullscreen method is now "native" fullscreen. To use the | ||
| 1637 | old style fullscreen, customize `ns-use-native-fullscreen' to nil. | ||
| 1638 | |||
| 1639 | --- | ||
| 1640 | ** On Mac OS X 10.7 and newer, Emacs can use sRGB colorspace, and does so | ||
| 1641 | by default. Customize `ns-use-srgb-colorspace' to go back to the old method. | ||
| 1642 | Note that this does not apply to images. | ||
| 1643 | |||
| 1644 | 1338 | ||
| 1645 | * Installation Changes in Emacs 24.3 | 1339 | * Installation Changes in Emacs 24.3 |
| 1646 | 1340 | ||