diff options
| author | Chong Yidong | 2011-08-26 15:10:19 -0400 |
|---|---|---|
| committer | Chong Yidong | 2011-08-26 15:10:19 -0400 |
| commit | 041d709f19b8305de4856aaa99b579047ed00f12 (patch) | |
| tree | 50fc447ddc994f9290d628f0cf8e19de819aff6f | |
| parent | 5fc295a42feaef453b57010b826e589b9b9cb7dd (diff) | |
| download | emacs-041d709f19b8305de4856aaa99b579047ed00f12.tar.gz emacs-041d709f19b8305de4856aaa99b579047ed00f12.zip | |
Re-order NEWS items.
| -rw-r--r-- | etc/NEWS | 736 |
1 files changed, 337 insertions, 399 deletions
| @@ -55,6 +55,18 @@ With it, Emacs integers typically have 62 bits, even on 32-bit machines. | |||
| 55 | Type `C-u C-h t' to choose it in case your language setup doesn't | 55 | Type `C-u C-h t' to choose it in case your language setup doesn't |
| 56 | automatically select it. | 56 | automatically select it. |
| 57 | 57 | ||
| 58 | ** Emacs can be compiled with support for the ImageMagick library. | ||
| 59 | Emacs links to ImageMagick if version 6.2.8 or newer of the library is | ||
| 60 | present at build time. To disable ImageMagick support, use the | ||
| 61 | `--without-imagemagick' configure option. | ||
| 62 | |||
| 63 | ** The standalone programs digest-doc and sorted-doc are removed. | ||
| 64 | Emacs now uses Lisp commands `doc-file-to-man' and `doc-file-to-info'. | ||
| 65 | |||
| 66 | --- | ||
| 67 | ** The standalone program `fakemail' is removed. | ||
| 68 | If you need it, feedmail.el provides a superset of the functionality. | ||
| 69 | |||
| 58 | 70 | ||
| 59 | * Startup Changes in Emacs 24.1 | 71 | * Startup Changes in Emacs 24.1 |
| 60 | 72 | ||
| @@ -74,27 +86,7 @@ and also when HOME is set to C:\ by default. | |||
| 74 | 86 | ||
| 75 | * Changes in Emacs 24.1 | 87 | * Changes in Emacs 24.1 |
| 76 | 88 | ||
| 77 | ** The inactive minibuffer has its own major mode `minibuffer-inactive-mode'. | 89 | ** auto-mode-case-fold is now enabled by default. |
| 78 | This is handy for minibuffer-only frames, and is also used for the "mouse-1 | ||
| 79 | pops up *Messages*" feature, which can now easily be changed. | ||
| 80 | |||
| 81 | ** emacsclient changes | ||
| 82 | |||
| 83 | +++ | ||
| 84 | *** New emacsclient argument --parent-id ID can be used to open a | ||
| 85 | client frame in parent X window ID, via XEmbed. This works like the | ||
| 86 | --parent-id argument to Emacs. | ||
| 87 | |||
| 88 | +++ | ||
| 89 | *** New emacsclient argument -q/--quiet suppresses some status messages. | ||
| 90 | |||
| 91 | +++ | ||
| 92 | *** New emacsclient argument --frame-parameters can be used to set the | ||
| 93 | frame parameters of a newly-created graphical frame. | ||
| 94 | |||
| 95 | +++ | ||
| 96 | *** If emacsclient shuts down as a result of Emacs signalling an | ||
| 97 | error, its exit status is 1. | ||
| 98 | 90 | ||
| 99 | ** Completion | 91 | ** Completion |
| 100 | 92 | ||
| @@ -121,128 +113,125 @@ and pops down the *Completions* buffer accordingly. | |||
| 121 | Instead, the bindings in minibuffer-local-filename-completion-map are combined | 113 | Instead, the bindings in minibuffer-local-filename-completion-map are combined |
| 122 | with minibuffer-local-must-match-map. | 114 | with minibuffer-local-must-match-map. |
| 123 | 115 | ||
| 124 | ** auto-mode-case-fold is now enabled by default. | ||
| 125 | |||
| 126 | ** Mail changes | 116 | ** Mail changes |
| 127 | 117 | ||
| 128 | The default of `send-mail-function' has changed from | 118 | The default of `send-mail-function' is now `sendmail-query-once', |
| 129 | `sendmail-send-it' (on GNU/Linux and other Unix-like systems) or | 119 | which asks the user (once) whether to use the smtpmail package to send |
| 130 | `mailclient-send-it' (on Windows) to `sendmail-query-once'. This new | 120 | email, or to use the old defaults that rely on external mail |
| 131 | default will ask the user (once) whether to use the internal smtpmail | 121 | facilities (`sendmail-send-it' on GNU/Linux and other Unix-like |
| 132 | package to send email, or to use the old, external defaults. | 122 | systems, and `mailclient-send-it' on Windows). |
| 133 | 123 | ||
| 134 | ** smtpmail changes | 124 | *** smtpmail changes |
| 135 | 125 | ||
| 136 | *** smtpmail has been largely rewritten to upgrade to STARTTLS if | 126 | **** smtpmail now uses encrypted connections (via STARTTLS) if the |
| 137 | possible, and uses the auth-source framework for getting credentials. | 127 | mail server supports them. It also uses the auth-source framework for |
| 138 | The rewrite should be largely compatible with previous versions of | 128 | getting credentials. |
| 139 | smtpmail, but there are two major incompatibilities: | ||
| 140 | 129 | ||
| 141 | *** `smtpmail-auth-credentials' no longer exists. That variable used | 130 | **** The variable `smtpmail-auth-credentials' has been removed. |
| 142 | to be be either ~/.authinfo (in which case you won't see any | 131 | That variable used to have the default value "~/.authinfo", in which |
| 143 | difference), but if it were a direct list of user names and passwords, | 132 | case you won't see any difference. But if you changed it to be a list |
| 144 | it will be ignored, and you will be prompted for the user name and the | 133 | of user names and passwords, that setting is now ignored; you will be |
| 145 | password instead. They will then be saved to ~/.authinfo. | 134 | prompted for the user name and the password, which will then be saved |
| 135 | to ~/.authinfo. | ||
| 146 | 136 | ||
| 147 | If you wish to copy over all the credentials from | 137 | You can also manually copy the credentials to your ~/.authinfo file. |
| 148 | `smtpmail-auth-credentials' to your ~/.authinfo file manually, instead | 138 | For example, if you had |
| 149 | of letting smtpmail prompt you for these values, that's also possible. | ||
| 150 | 139 | ||
| 151 | If you had, for instance, | 140 | (setq smtpmail-auth-credentials |
| 152 | 141 | '(("mail.example.org" 25 "jim" "s!cret"))) | |
| 153 | (setq smtpmail-auth-credentials | ||
| 154 | '(("mail.example.org" 25 "jim" "s!cret"))) | ||
| 155 | 142 | ||
| 156 | then the equivalent line in ~/.authinfo would be | 143 | then the equivalent line in ~/.authinfo would be |
| 157 | 144 | ||
| 158 | machine mail.example.org port 25 login jim password s!cret | 145 | machine mail.example.org port 25 login jim password s!cret |
| 146 | |||
| 147 | **** The variable `smtpmail-starttls-credentials' has been removed. | ||
| 159 | 148 | ||
| 160 | *** Similarly, `smtpmail-starttls-credentials' no longer exists. If | 149 | If you had that set, then then you need to put |
| 161 | you had that set, then then you need to put | ||
| 162 | 150 | ||
| 163 | machine smtp.whatever.foo port 25 key "~/.my_smtp_tls.key" cert | 151 | machine smtp.whatever.foo port 25 key "~/.my_smtp_tls.key" cert "~/.my_smtp_tls.cert" |
| 164 | "~/.my_smtp_tls.cert" | ||
| 165 | 152 | ||
| 166 | in your ~/.authinfo file instead. | 153 | in your ~/.authinfo file instead. |
| 167 | 154 | ||
| 155 | ** Emacs server and client changes | ||
| 156 | |||
| 157 | *** New option `server-port' specifies the port on which the Emacs | ||
| 158 | server should listen. | ||
| 159 | +++ | ||
| 160 | *** New emacsclient argument -q/--quiet suppresses some status messages. | ||
| 161 | +++ | ||
| 162 | *** New emacsclient argument --frame-parameters can be used to set the | ||
| 163 | frame parameters of a newly-created graphical frame. | ||
| 164 | +++ | ||
| 165 | *** If emacsclient shuts down as a result of Emacs signalling an | ||
| 166 | error, its exit status is 1. | ||
| 167 | +++ | ||
| 168 | *** New emacsclient argument --parent-id ID. | ||
| 169 | This opens a client frame in parent X window ID, via XEmbed, similar | ||
| 170 | to the --parent-id argument to Emacs. | ||
| 171 | |||
| 168 | ** Internationalization changes | 172 | ** Internationalization changes |
| 169 | 173 | ||
| 170 | +++ | 174 | +++ |
| 171 | *** Emacs now supports display and editing of bidirectional text. | 175 | *** Emacs now supports display and editing of bidirectional text. |
| 172 | 176 | ||
| 173 | See the node "Bidirectional Editing" in the Emacs Manual for some | 177 | Right-to-left (RTL) text is displayed in a right-to-left direction. |
| 174 | additional documentation. | 178 | This display reordering is a "Full bidirectionality" class |
| 179 | implementation of the Unicode Bidirectional Algorithm. Buffers with | ||
| 180 | no right-to-left (RTL) text should look exactly the same as before. | ||
| 175 | 181 | ||
| 176 | To turn this off in any given buffer, set the buffer-local variable | 182 | For more information, see the node "Bidirectional Editing" in the |
| 177 | `bidi-display-reordering' to a nil value. The default is t. For text | 183 | Emacs Manual. |
| 178 | that includes no right-to-left characters, the result of reordering | ||
| 179 | looks exactly as it did in previous versions, i.e. there's no | ||
| 180 | reordering at all. | ||
| 181 | 184 | ||
| 182 | The buffer-local variable `bidi-paragraph-direction', if non-nil, | 185 | +++ |
| 183 | forces each paragraph in the buffer to have its base direction | 186 | **** New buffer-local variable `bidi-display-reordering'. |
| 184 | according to the value of this variable. Possible values are | 187 | To disable display reordering in any given buffer, change this to nil. |
| 185 | `right-to-left' and `left-to-right'. If the value is nil (the | ||
| 186 | default), Emacs determines the base direction of each paragraph from | ||
| 187 | its text, as specified by the Unicode Bidirectional Algorithm. | ||
| 188 | |||
| 189 | The function `current-bidi-paragraph-direction' returns the actual | ||
| 190 | value of paragraph base direction at point. | ||
| 191 | 188 | ||
| 192 | Reordering of bidirectional text for display in Emacs is a "Full | 189 | +++ |
| 193 | bidirectionality" class implementation of the Unicode Bidirectional | 190 | **** New buffer-local variable `bidi-paragraph-direction'. |
| 191 | If nil (the default), Emacs determines the base direction of each | ||
| 192 | paragraph from its text, as specified by the Unicode Bidirectional | ||
| 194 | Algorithm. | 193 | Algorithm. |
| 195 | 194 | ||
| 195 | Setting this to `right-to-left' or `left-to-right' forces a particular | ||
| 196 | base direction on each paragraph in the buffer. | ||
| 197 | |||
| 196 | +++ | 198 | +++ |
| 197 | *** Enhanced support for characters that have no glyphs in available fonts. | 199 | *** Enhanced support for characters with no glyphs in available fonts. |
| 198 | If a character has no glyphs in any of the available fonts, Emacs by | 200 | If a character has no glyphs in any of the available fonts, Emacs |
| 199 | default will display it either as a hexadecimal code in a box or as a | 201 | normally displays it either as a hexadecimal code in a box or as a |
| 200 | thin 1-pixel space. In addition to these two methods, Emacs can | 202 | thin 1-pixel space. In addition to these two methods, Emacs can |
| 201 | display these characters as empty box, as an acronym, or not display | 203 | display these characters as empty box, as an acronym, or not display |
| 202 | them at all. To change how these characters are displayed, customize | 204 | them at all. To change how these characters are displayed, customize |
| 203 | the variable `glyphless-char-display-control'. | 205 | the variable `glyphless-char-display-control'. |
| 204 | 206 | ||
| 205 | On character terminals these methods are used for characters that | 207 | On character terminals, these methods are used for characters that |
| 206 | cannot be encoded by the `terminal-coding-system'. | 208 | cannot be encoded by the `terminal-coding-system'. |
| 207 | 209 | ||
| 208 | *** There are two new input methods for Persian/Farsi: farsi and farsi-translit. | 210 | *** New input methods for Farsi: farsi and farsi-translit. |
| 211 | |||
| 212 | ** Improved GTK integration | ||
| 209 | 213 | ||
| 210 | ** GTK scroll-bars are now placed on the right by default. | 214 | *** GTK scroll-bars are now placed on the right by default. |
| 211 | Use `set-scroll-bar-mode' to change this. | 215 | Use `set-scroll-bar-mode' to change this. |
| 212 | 216 | ||
| 213 | ** GTK tool bars can have just text, just images or images and text. | 217 | *** GTK tool bars can have just text, just images or images and text. |
| 214 | Customize `tool-bar-style' to choose style. On a Gnome desktop, the default | 218 | Customize `tool-bar-style' to choose style. On a Gnome desktop, the default |
| 215 | is taken from the desktop settings. | 219 | is taken from the desktop settings. |
| 216 | 220 | ||
| 217 | ** GTK tool bars can be placed on the left/right or top/bottom of the frame. | 221 | *** GTK tool bars can be placed on the left/right or top/bottom of the frame. |
| 218 | The frame-parameter tool-bar-position controls this. It takes the values | 222 | The frame-parameter tool-bar-position controls this. It takes the values |
| 219 | top, left, right or bottom. The Options => Show/Hide menu has entries | 223 | top, left, right or bottom. The Options => Show/Hide menu has entries |
| 220 | for this. | 224 | for this. |
| 221 | 225 | ||
| 222 | ** ImageMagick support. | 226 | *** The colors for selected text (the region face) are taken from the GTK |
| 223 | It is now possible to use the ImageMagick library to load many new | 227 | theme when Emacs is built with GTK. |
| 224 | image formats in Emacs. By default, Emacs links with the ImageMagick | ||
| 225 | libraries if they are present at build time. This needs ImageMagick | ||
| 226 | 6.2.8 or newer (versions newer than 6.0.7 _may_ work but have not been | ||
| 227 | tested). To disable ImageMagick support, use the configure option | ||
| 228 | `--without-imagemagick'. | ||
| 229 | |||
| 230 | The new function `imagemagick-types' returns a list of image file | ||
| 231 | extensions that your installation of ImageMagick supports. The | ||
| 232 | function `imagemagick-register-types' enables ImageMagick support for | ||
| 233 | these image types, minus those listed in `imagemagick-types-inhibit'. | ||
| 234 | 228 | ||
| 235 | See the Emacs Lisp Reference Manual for more information. | 229 | *** Emacs uses GTK tooltips by default if built with GTK. You can turn that |
| 230 | off by customizing x-gtk-use-system-tooltips. | ||
| 236 | 231 | ||
| 237 | ** New basic faces `error', `warning', `success' are available to | 232 | ** New basic faces `error', `warning', `success' are available to |
| 238 | highlight strings that indicate failure, caution or successful operation. | 233 | highlight strings that indicate failure, caution or successful operation. |
| 239 | 234 | ||
| 240 | ** The colors for selected text (the region face) are taken from the GTK | ||
| 241 | theme when Emacs is built with GTK. | ||
| 242 | |||
| 243 | ** Emacs uses GTK tooltips by default if built with GTK. You can turn that | ||
| 244 | off by customizing x-gtk-use-system-tooltips. | ||
| 245 | |||
| 246 | ** Lucid menus and dialogs can display antialiased fonts if Emacs is built | 235 | ** Lucid menus and dialogs can display antialiased fonts if Emacs is built |
| 247 | with Xft. To change font, use the X resource font, for example: | 236 | with Xft. To change font, use the X resource font, for example: |
| 248 | Emacs.pane.menubar.font: Courier-12 | 237 | Emacs.pane.menubar.font: Courier-12 |
| @@ -272,33 +261,37 @@ for remote machines which support SELinux. | |||
| 272 | ** The function format-time-string now supports the %N directive, for | 261 | ** The function format-time-string now supports the %N directive, for |
| 273 | higher-resolution time stamps. | 262 | higher-resolution time stamps. |
| 274 | 263 | ||
| 275 | ** The function kill-emacs is now run upon receipt of the signals SIGTERM | 264 | ** Changes for exiting Emacs |
| 276 | and SIGHUP, and upon SIGINT in batch mode. | 265 | |
| 266 | *** The function kill-emacs is now run upon receipt of the signals | ||
| 267 | SIGTERM and SIGHUP, and upon SIGINT in batch mode. | ||
| 277 | 268 | ||
| 278 | ** kill-emacs-hook is now also run in batch mode. | 269 | *** kill-emacs-hook is now also run in batch mode. |
| 279 | If you have code that adds something to kill-emacs-hook, you should | 270 | If you have code that adds something to kill-emacs-hook, you should |
| 280 | consider if it is still appropriate to add it in the noninteractive case. | 271 | consider if it is still appropriate to add it in the noninteractive case. |
| 281 | 272 | ||
| 282 | ** New scrolling commands `scroll-up-command' and `scroll-down-command' | 273 | ** Scrolling changes |
| 274 | |||
| 275 | *** New scrolling commands `scroll-up-command' and `scroll-down-command' | ||
| 283 | (bound to C-v/[next] and M-v/[prior]) do not signal errors at top/bottom | 276 | (bound to C-v/[next] and M-v/[prior]) do not signal errors at top/bottom |
| 284 | of buffer at first key-press (instead move to top/bottom of buffer) | 277 | of buffer at first key-press (instead move to top/bottom of buffer) |
| 285 | when a new variable `scroll-error-top-bottom' is non-nil. | 278 | when a new variable `scroll-error-top-bottom' is non-nil. |
| 286 | 279 | ||
| 287 | ** New scrolling commands `scroll-up-line' and `scroll-down-line' | 280 | *** New scrolling commands `scroll-up-line' and `scroll-down-line' |
| 288 | scroll a line instead of full screen. | 281 | scroll a line instead of full screen. |
| 289 | 282 | ||
| 290 | ** New property `scroll-command' should be set on a command's symbol to | 283 | *** New property `scroll-command' should be set on a command's symbol to |
| 291 | define it as a scroll command affected by `scroll-preserve-screen-position'. | 284 | define it as a scroll command affected by `scroll-preserve-screen-position'. |
| 292 | 285 | ||
| 293 | +++ | 286 | +++ |
| 294 | ** If you customize `scroll-conservatively' to a value greater than 100, | 287 | *** If you customize `scroll-conservatively' to a value greater than 100, |
| 295 | Emacs will never recenter point in the window when it scrolls due to | 288 | Emacs will never recenter point in the window when it scrolls due to |
| 296 | cursor motion commands or commands that move point (e.f., `M-g M-g'). | 289 | cursor motion commands or commands that move point (e.f., `M-g M-g'). |
| 297 | Previously, you needed to use `most-positive-fixnum' as the value of | 290 | Previously, you needed to use `most-positive-fixnum' as the value of |
| 298 | `scroll-conservatively' to achieve the same effect. | 291 | `scroll-conservatively' to achieve the same effect. |
| 299 | 292 | ||
| 300 | --- | 293 | --- |
| 301 | ** ``Aggressive'' scrolling now honors the scroll margins. | 294 | *** ``Aggressive'' scrolling now honors the scroll margins. |
| 302 | If you customize `scroll-up-aggressively' or | 295 | If you customize `scroll-up-aggressively' or |
| 303 | `scroll-down-aggressively' and move point off the window, Emacs now | 296 | `scroll-down-aggressively' and move point off the window, Emacs now |
| 304 | scrolls the window so as to avoid positioning point inside the scroll | 297 | scrolls the window so as to avoid positioning point inside the scroll |
| @@ -332,10 +325,6 @@ automatically when Emacs starts up. To disable this, set | |||
| 332 | `package-enable-at-startup' to nil. To change which packages are | 325 | `package-enable-at-startup' to nil. To change which packages are |
| 333 | loaded, customize `package-load-list'. | 326 | loaded, customize `package-load-list'. |
| 334 | 327 | ||
| 335 | ** An Emacs Lisp testing tool is now included. | ||
| 336 | Emacs Lisp developers can use this tool to write automated tests for | ||
| 337 | their code. See the ERT info manual for details. | ||
| 338 | |||
| 339 | ** Custom Themes | 328 | ** Custom Themes |
| 340 | 329 | ||
| 341 | *** `M-x customize-themes' lists Custom themes which can be enabled. | 330 | *** `M-x customize-themes' lists Custom themes which can be enabled. |
| @@ -353,16 +342,22 @@ default, all themes included in Emacs are treated as safe. | |||
| 353 | ** The user option `remote-file-name-inhibit-cache' controls whether | 342 | ** The user option `remote-file-name-inhibit-cache' controls whether |
| 354 | the remote file-name cache is used for read access. | 343 | the remote file-name cache is used for read access. |
| 355 | 344 | ||
| 345 | ** File- and directory-local variable changes | ||
| 356 | +++ | 346 | +++ |
| 357 | ** The use of a "mode: minor" specification in a file local variables section | 347 | *** You can stop directory local vars from applying to subdirectories. |
| 358 | to enable a minor-mode is deprecated. Instead, use "eval: (minor-mode 1)". | 348 | Add an element (subdirs . nil) to the alist portion of any variables |
| 349 | settings to indicate that the section should not apply to | ||
| 350 | subdirectories. | ||
| 359 | 351 | ||
| 360 | ** The standalone programs lib-src/digest-doc and sorted-doc have been | 352 | *** Directory local variables can apply to some file-less buffers. |
| 361 | replaced with Lisp commands `doc-file-to-man' and `doc-file-to-info'. | 353 | Affected modes include dired, vc-dir, and log-edit. For example, |
| 354 | adding "(diff-mode . ((mode . whitespace)))" to .dir-locals.el will | ||
| 355 | turn on `whitespace-mode' for *vc-diff* buffers. Modes should call | ||
| 356 | `hack-dir-local-variables-non-file-buffer' to support this. | ||
| 362 | 357 | ||
| 363 | --- | 358 | +++ |
| 364 | ** The standalone program `fakemail' has been removed. | 359 | *** Using "mode: MINOR-MODE" to enable a minor mode is deprecated. |
| 365 | If you need it, feedmail.el ought to provide a superset of the functionality. | 360 | Instead, use "eval: (minor-mode 1)". |
| 366 | 361 | ||
| 367 | +++ | 362 | +++ |
| 368 | ** The variable `focus-follows-mouse' now always defaults to nil. | 363 | ** The variable `focus-follows-mouse' now always defaults to nil. |
| @@ -377,6 +372,10 @@ by default. | |||
| 377 | *** `menu-bar-select-buffer-function' lets you choose another operation | 372 | *** `menu-bar-select-buffer-function' lets you choose another operation |
| 378 | instead of `switch-to-buffer' when selecting an item in the Buffers menu. | 373 | instead of `switch-to-buffer' when selecting an item in the Buffers menu. |
| 379 | 374 | ||
| 375 | ** The inactive minibuffer has its own major mode `minibuffer-inactive-mode'. | ||
| 376 | This is handy for minibuffer-only frames, and is also used for the "mouse-1 | ||
| 377 | pops up *Messages*" feature, which can now easily be changed. | ||
| 378 | |||
| 380 | 379 | ||
| 381 | * Editing Changes in Emacs 24.1 | 380 | * Editing Changes in Emacs 24.1 |
| 382 | 381 | ||
| @@ -394,7 +393,7 @@ isearch-yank-kill. | |||
| 394 | *** M-s C-e in Isearch is now bound to isearch-yank-line. | 393 | *** M-s C-e in Isearch is now bound to isearch-yank-line. |
| 395 | 394 | ||
| 396 | +++ | 395 | +++ |
| 397 | ** There is a new command `count-words-region', which does what you expect. | 396 | ** New command `count-words-region'. This does what you expect. |
| 398 | 397 | ||
| 399 | ** completion-at-point now handles tags and semantic completion. | 398 | ** completion-at-point now handles tags and semantic completion. |
| 400 | 399 | ||
| @@ -495,37 +494,16 @@ $ESHELL nor variable `explicit-shell-file-name' is set. | |||
| 495 | 494 | ||
| 496 | * Changes in Specialized Modes and Packages in Emacs 24.1 | 495 | * Changes in Specialized Modes and Packages in Emacs 24.1 |
| 497 | 496 | ||
| 498 | ** MH-E | 497 | ** Archive Mode has basic support for browsing and updating 7z archives. |
| 499 | |||
| 500 | *** Upgraded to MH-E version 8.2.93. See MH-E-NEWS for details. | ||
| 501 | 498 | ||
| 502 | ** comint and modes derived from it use the generic completion code. | 499 | ** browse-url has a new variable `browse-url-mailto-function' |
| 503 | 500 | specifies how mailto: URLs are handled. The default is `browse-url-mail'. | |
| 504 | ** Compilation mode | ||
| 505 | |||
| 506 | *** Compilation mode can be used without font-lock-mode. | ||
| 507 | `compilation-parse-errors-function' is now obsolete. | ||
| 508 | |||
| 509 | *** `compilation-filter-start' is let-bound to the start of the text | ||
| 510 | inserted by the compilation filter function, when calling | ||
| 511 | compilation-filter-hook. | ||
| 512 | |||
| 513 | ** The Landmark game is now invoked with `landmark', not `lm'. | ||
| 514 | |||
| 515 | ** Prolog mode has been completely revamped, with lots of additional | ||
| 516 | functionality such as more intelligent indentation, electricity, support for | ||
| 517 | more variants, including Mercury, and a lot more. | ||
| 518 | |||
| 519 | ** shell-mode can track your cwd by reading it from your prompt. | ||
| 520 | Just set shell-dir-cookie-re to an appropriate regexp. | ||
| 521 | |||
| 522 | ** Modula-2 mode provides auto-indentation. | ||
| 523 | 501 | ||
| 524 | ** BibTeX mode | 502 | ** BibTeX mode |
| 525 | 503 | ||
| 526 | *** BibTeX mode now supports biblatex. | 504 | *** BibTeX mode now supports biblatex. |
| 527 | Use the variable bibtex-dialect to select support for different BibTeX dialects. | 505 | Use the variable bibtex-dialect to select support for different BibTeX |
| 528 | bibtex-entry-field-alist is now an obsolete alias for | 506 | dialects. bibtex-entry-field-alist is now an obsolete alias for |
| 529 | bibtex-BibTeX-entry-alist. | 507 | bibtex-BibTeX-entry-alist. |
| 530 | 508 | ||
| 531 | *** New command `bibtex-search-entries' bound to C-c C-a. | 509 | *** New command `bibtex-search-entries' bound to C-c C-a. |
| @@ -534,60 +512,6 @@ bibtex-BibTeX-entry-alist. | |||
| 534 | 512 | ||
| 535 | *** New variable `bibtex-search-entry-globally'. | 513 | *** New variable `bibtex-search-entry-globally'. |
| 536 | 514 | ||
| 537 | ** latex-electric-env-pair-mode keeps \begin..\end matched on the fly. | ||
| 538 | |||
| 539 | ** FIXME: xdg-open for browse-url and reportbug, 2010/08. | ||
| 540 | |||
| 541 | ** Archive Mode has basic support to browse and update 7z archives. | ||
| 542 | |||
| 543 | ** browse-url has gotten a new variable that is used for mailto: URLs, | ||
| 544 | `browse-url-mailto-function', which defaults to `browse-url-mail'. | ||
| 545 | |||
| 546 | ** `url-queue-retrieve' downloads web pages asynchronously, but allow | ||
| 547 | controlling the degree of parallelism. | ||
| 548 | |||
| 549 | ** Directory local variables can apply to file-less buffers, in certain modes | ||
| 550 | (eg dired, vc-dir, log-edit). For example, adding | ||
| 551 | "(diff-mode . ((mode . whitespace)))" to your .dir-locals.el file, | ||
| 552 | will turn on `whitespace-mode' for *vc-diff* buffers. Modes should | ||
| 553 | call `hack-dir-local-variables-non-file-buffer' to support this. | ||
| 554 | |||
| 555 | +++ | ||
| 556 | ** You can prevent directory local variables from applying to subdirectories. | ||
| 557 | Add an element (subdirs . nil) to the alist portion of any variables | ||
| 558 | settings to indicate said section should not be applied to subdirectories. | ||
| 559 | |||
| 560 | ** ERC changes | ||
| 561 | |||
| 562 | *** New vars `erc-autojoin-timing' and `erc-autojoin-delay'. | ||
| 563 | If the value of `erc-autojoin-timing' is 'ident, ERC autojoins after a | ||
| 564 | successful NickServ identification, or after `erc-autojoin-delay' | ||
| 565 | seconds. The default value, 'ident, means to autojoin immediately | ||
| 566 | after connecting. | ||
| 567 | |||
| 568 | *** New variable `erc-coding-system-precedence': If we use `undecided' | ||
| 569 | as the server coding system, this variable will then be consulted. | ||
| 570 | The default is to decode strings that can be decoded as utf-8 as | ||
| 571 | utf-8, and do the normal `undecided' decoding for the rest. | ||
| 572 | |||
| 573 | ** Eshell changes | ||
| 574 | |||
| 575 | *** The default value of eshell-directory-name is a directory named | ||
| 576 | "eshell" in `user-emacs-directory'. If the old "~/.eshell/" directory | ||
| 577 | exists, that is used instead. | ||
| 578 | |||
| 579 | ** In ido-mode, C-v is no longer bound to ido-toggle-vc. | ||
| 580 | The reason is that this interferes with cua-mode. | ||
| 581 | |||
| 582 | ** partial-completion-mode is now obsolete. | ||
| 583 | You can get a comparable behavior with: | ||
| 584 | (setq completion-styles '(partial-completion initials)) | ||
| 585 | (setq completion-pcm-complete-word-inserts-delimiters t) | ||
| 586 | |||
| 587 | ** mpc.el: Can use pseudo tags of the form tag1|tag2 as a union of two tags. | ||
| 588 | |||
| 589 | ** server can listen on a specific port using the server-port option. | ||
| 590 | |||
| 591 | ** Calendar, Diary, and Appt | 515 | ** Calendar, Diary, and Appt |
| 592 | 516 | ||
| 593 | +++ | 517 | +++ |
| @@ -623,6 +547,21 @@ appt-visible/appt-msg-window (use the variable appt-display-format) | |||
| 623 | *** Some diary function aliases (obsolete since Emacs 22.1) have been removed: | 547 | *** Some diary function aliases (obsolete since Emacs 22.1) have been removed: |
| 624 | view-diary-entries, list-diary-entries, show-all-diary-entries | 548 | view-diary-entries, list-diary-entries, show-all-diary-entries |
| 625 | 549 | ||
| 550 | ** CC Mode (C, C++, etc.) | ||
| 551 | |||
| 552 | *** New feature to "guess" the style in an existing buffer. | ||
| 553 | |||
| 554 | ** comint and modes derived from it use the generic completion code. | ||
| 555 | |||
| 556 | ** Compilation mode | ||
| 557 | |||
| 558 | *** Compilation mode can be used without font-lock-mode. | ||
| 559 | `compilation-parse-errors-function' is now obsolete. | ||
| 560 | |||
| 561 | *** `compilation-filter-start' is let-bound to the start of the text | ||
| 562 | inserted by the compilation filter function, when calling | ||
| 563 | compilation-filter-hook. | ||
| 564 | |||
| 626 | ** Customize | 565 | ** Customize |
| 627 | 566 | ||
| 628 | *** Customize buffers now contain a search field. | 567 | *** Customize buffers now contain a search field. |
| @@ -637,6 +576,18 @@ Use the arrow to the left of the option name to toggle visibility. | |||
| 637 | *** The color widget now has a "Choose" button, which allows you to | 576 | *** The color widget now has a "Choose" button, which allows you to |
| 638 | choose a color via list-colors-display. | 577 | choose a color via list-colors-display. |
| 639 | 578 | ||
| 579 | ** D-Bus | ||
| 580 | |||
| 581 | *** It is possible now, to access alternative buses than the default | ||
| 582 | system or session bus. | ||
| 583 | |||
| 584 | *** dbus-register-{service,method,property} | ||
| 585 | The -method and -property functions do not automatically register | ||
| 586 | names anymore. | ||
| 587 | |||
| 588 | The new function dbus-register-service registers a service known name | ||
| 589 | on a D-Bus without simultaneously registering a property or a method. | ||
| 590 | |||
| 640 | ** Dired-x | 591 | ** Dired-x |
| 641 | 592 | ||
| 642 | *** dired-jump and dired-jump-other-window called with a prefix argument | 593 | *** dired-jump and dired-jump-other-window called with a prefix argument |
| @@ -646,144 +597,33 @@ read a file name from the minibuffer instead of using buffer-file-name. | |||
| 646 | *** The `dired local variables' feature provided by Dired-x is obsolete. | 597 | *** The `dired local variables' feature provided by Dired-x is obsolete. |
| 647 | The standard directory local variables feature replaces it. | 598 | The standard directory local variables feature replaces it. |
| 648 | 599 | ||
| 649 | ** SQL Mode enhancements. | 600 | ** ERC changes |
| 650 | 601 | ||
| 651 | *** `sql-dialect' is a synonym for `sql-product'. | 602 | *** New vars `erc-autojoin-timing' and `erc-autojoin-delay'. |
| 652 | 603 | If the value of `erc-autojoin-timing' is 'ident, ERC autojoins after a | |
| 653 | *** Added ability to login with a port on MySQL and Postgres. | 604 | successful NickServ identification, or after `erc-autojoin-delay' |
| 654 | The custom variable `sql-port' can be specified for connection to | 605 | seconds. The default value, 'ident, means to autojoin immediately |
| 655 | MySQL or Postgres servers. By default, the port is not listed in | 606 | after connecting. |
| 656 | either login parameter, but will be added to the command line if set | 607 | |
| 657 | to a non-zero value. | 608 | *** New variable `erc-coding-system-precedence': If we use `undecided' |
| 658 | 609 | as the server coding system, this variable will then be consulted. | |
| 659 | *** Dynamic selection of product in an SQL interactive session. | 610 | The default is to decode strings that can be decoded as utf-8 as |
| 660 | If you use `sql-product-interactive' to start an SQL interactive | 611 | utf-8, and do the normal `undecided' decoding for the rest. |
| 661 | session it uses the current value of `sql-product'. Preceding the | ||
| 662 | invocation with C-u will force it to ask for the product before | ||
| 663 | creating the session. | ||
| 664 | |||
| 665 | *** Renaming a SQL interactive buffer when it is created. | ||
| 666 | Prefixing the SQL interactive commands (`sql-sqlite', `sql-postgres', | ||
| 667 | `sql-mysql', etc.) with C-u will force a new interactive session to be | ||
| 668 | started and will prompt for the new name. This will reduce the need | ||
| 669 | for `sql-rename-buffer' is most common use cases. | ||
| 670 | |||
| 671 | *** Command continuation prompts in SQL interactive mode are suppressed. | ||
| 672 | Multiple line commands in SQL interactive mode, generate command | ||
| 673 | continuation prompts which needlessly confuse the output. These | ||
| 674 | prompts are now filtered out from the output. This change impacts | ||
| 675 | multiple line SQL statements entered with C-j between each line, | ||
| 676 | statements yanked into the buffer and statements sent with | ||
| 677 | `sql-send-*' functions. | ||
| 678 | |||
| 679 | *** Custom variables control prompting for login parameters. | ||
| 680 | Each supported product has a custom variable `sql-*-login-params' | ||
| 681 | which is a list of the parameters to be prompted for before a | ||
| 682 | connection is established. | ||
| 683 | 612 | ||
| 684 | The lists consist of the following five tokens: `user', `password', | 613 | ** Eshell changes |
| 685 | `database', `server', and `port'. The order in which they appear is | ||
| 686 | the order in which they are prompted. The tokens symbols can be | ||
| 687 | replaced by a sublist starting with the token and followed by a plist | ||
| 688 | which control the prompting for values. The tokens `user', | ||
| 689 | `database', and `server' each can take a property of :default which | ||
| 690 | specifies the value to be used if no value is entered. The | ||
| 691 | `database', `server', and `port' tokens handle the :completion | ||
| 692 | property which restricts the entry to either one of the values in the | ||
| 693 | list or to one of the values returned by the function provided as the | ||
| 694 | property value. The `database' and `server' tokens also accept the | ||
| 695 | :file property whose value is a regexp to identify useful file names. | ||
| 696 | |||
| 697 | (user :default DEF) | ||
| 698 | (database :default DEF | ||
| 699 | :file FILEPAT | ||
| 700 | :completion COMPLETE) | ||
| 701 | (server :default DEF | ||
| 702 | :file FILEPAT | ||
| 703 | :completion COMPLETE) | ||
| 704 | |||
| 705 | The FILEPAT when :file is specified is a regexp that will match valid | ||
| 706 | file names (without the directory portion). Generally these strings | ||
| 707 | will be of the form ".+\.SUF" where SUF is the desired file suffix. | ||
| 708 | |||
| 709 | When :completion is specified, the COMPLETE corresponds to the | ||
| 710 | PREDICATE argument to the `completing-read' function (a list of | ||
| 711 | possible values or a function returning such a list). | ||
| 712 | |||
| 713 | *** Added `sql-connection-alist' to record login parameter values. | ||
| 714 | An alist for recording different username, database and server | ||
| 715 | values. If there are multiple databases that you connect to the | ||
| 716 | parameters needed can be stored in this alist. | ||
| 717 | |||
| 718 | For example, the following might be set in the user's init.el: | ||
| 719 | |||
| 720 | (setq sql-connection-alist | ||
| 721 | '((dev (sql-product 'sqlite) | ||
| 722 | (sql-database "/home/mmaug/dev.db")) | ||
| 723 | (prd (sql-product 'oracle) | ||
| 724 | (sql-user "mmaug") | ||
| 725 | (sql-database "iprd2a")))) | ||
| 726 | |||
| 727 | This defines two connections named "dev" and "prd". | ||
| 728 | |||
| 729 | *** Added `sql-connect' to use predefined connections. | ||
| 730 | Sets the login parameters based on the values in the | ||
| 731 | `sql-connection-alist' and start a SQL interactive session. Any | ||
| 732 | values specified in the connection will not be prompted for. | ||
| 733 | |||
| 734 | In the example above, if the user were to invoke M-x sql-connect, they | ||
| 735 | would be prompted for the connection. The user can respond with | ||
| 736 | either "dev" or "prd". The "dev" connection would connect to the | ||
| 737 | SQLite database without prompting; the "prd" connection would prompt | ||
| 738 | for the users password and then connect to the Oracle database. | ||
| 739 | |||
| 740 | **** Added SQL->Start... submenu when connections are defined. | ||
| 741 | When connections have been defined, there is a submenu available that | ||
| 742 | allows the user to select one to start a SQLi session. The "Start | ||
| 743 | SQLi Session" item moves to the "Start..." submenu when cnnections | ||
| 744 | have been defined. | ||
| 745 | |||
| 746 | **** Added "Save Connection" menu item in SQLi buffers. | ||
| 747 | When a SQLi session is not started by a connection then | ||
| 748 | `sql-save-connection' will gather the login params specified for the | ||
| 749 | session and save them as a new connection. | ||
| 750 | |||
| 751 | *** List database objects and details. | ||
| 752 | Once a SQL interactive session has been started, you can get a list of | ||
| 753 | the objects in the database and see details of those objects. The | ||
| 754 | objects shown and the details available are product specific. | ||
| 755 | |||
| 756 | **** List all objects. | ||
| 757 | Using `M-x sql-list-all', `C-c C-l a' or selecting "SQL->List all | ||
| 758 | objects" will list all the objects in the database. At a minimum it | ||
| 759 | lists the tables and views in the database. Preceding the command by | ||
| 760 | universal argument may provide additional details or extend the | ||
| 761 | listing to include other schemas objects. The list will appear in a | ||
| 762 | separate window in view-mode. | ||
| 763 | |||
| 764 | **** List Table details. | ||
| 765 | Using `M-x sql-list-table', `C-c C-l t' or selecting "SQL->List Table | ||
| 766 | details" will ask for the name of a database table or view and display | ||
| 767 | the list of columns in the relation. Preceding the command with the | ||
| 768 | universal argument may provide additional details about each column. | ||
| 769 | The list will appear in a separate window in view-mode. | ||
| 770 | |||
| 771 | *** Added option `sql-send-terminator'. | ||
| 772 | When set makes sure that each command sent with `sql-send-*' commands | ||
| 773 | are properly terminated and submitted to the SQL processor. | ||
| 774 | |||
| 775 | *** Added option `sql-oracle-scan-on'. | ||
| 776 | When set commands sent to Oracle's SQL*Plus are scanned for strings | ||
| 777 | starting with an ampersand and the user is asked for replacement text. | ||
| 778 | In general, the SQL*Plus option SCAN should always be set OFF under | ||
| 779 | SQL interactive mode and this option used in its place. | ||
| 780 | |||
| 781 | *** SQL interactive mode will replace tabs with spaces. | ||
| 782 | This prevents the command interpreter for MySQL and Postgres from | ||
| 783 | listing object name completions when being sent text via | ||
| 784 | `sql-send-*' functions. | ||
| 785 | 614 | ||
| 786 | *** An API for manipulating SQL product definitions has been added. | 615 | *** The default value of eshell-directory-name is a directory named |
| 616 | "eshell" in `user-emacs-directory'. If the old "~/.eshell/" directory | ||
| 617 | exists, that is used instead. | ||
| 618 | |||
| 619 | ** gdb-mi | ||
| 620 | |||
| 621 | *** GDB User Interface migrated to GDB Machine Interface and now | ||
| 622 | supports multithread non-stop debugging and debugging of several | ||
| 623 | threads simultaneously. | ||
| 624 | |||
| 625 | ** In ido-mode, C-v is no longer bound to ido-toggle-vc. | ||
| 626 | The reason is that this interferes with cua-mode. | ||
| 787 | 627 | ||
| 788 | ** Image mode | 628 | ** Image mode |
| 789 | 629 | ||
| @@ -793,28 +633,99 @@ image can be animated. | |||
| 793 | *** Option `image-animate-loop', if non-nil, loops the animation. | 633 | *** Option `image-animate-loop', if non-nil, loops the animation. |
| 794 | If nil, `image-toggle-animation' plays the animation once. | 634 | If nil, `image-toggle-animation' plays the animation once. |
| 795 | 635 | ||
| 796 | ** sregex.el is now obsolete, since rx.el is a strict superset. | 636 | ** Info |
| 797 | 637 | ||
| 798 | ** s-region.el and pc-select are now declared obsolete, | 638 | *** New command `info-display-manual' displays an Info manual |
| 799 | superseded by shift-select-mode enabled by default in 23.1. | 639 | specified by its name. If that manual is already visited in some Info |
| 800 | ** pc-mode.el is also declared obsolete. | 640 | buffer within the current session, the command will display that |
| 801 | ** gdb-mi | 641 | buffer. Otherwise, it will load the manual and display it. This is |
| 642 | handy if you have many manuals in many Info buffers, and don't | ||
| 643 | remember the name of the buffer visiting the manual you want to | ||
| 644 | consult. | ||
| 802 | 645 | ||
| 803 | *** GDB User Interface migrated to GDB Machine Interface and now | 646 | ** The Landmark game is now invoked with `landmark', not `lm'. |
| 804 | supports multithread non-stop debugging and debugging of several | ||
| 805 | threads simultaneously. | ||
| 806 | 647 | ||
| 807 | ** D-Bus | 648 | ** MH-E has been upgraded to MH-E version 8.2.93. |
| 649 | See MH-E-NEWS for details. | ||
| 808 | 650 | ||
| 809 | *** It is possible now, to access alternative buses than the default | 651 | ** Modula-2 mode provides auto-indentation. |
| 810 | system or session bus. | ||
| 811 | 652 | ||
| 812 | *** dbus-register-{service,method,property} | 653 | ** mpc.el: Can use pseudo tags of the form tag1|tag2 as a union of two tags. |
| 813 | The -method and -property functions do not automatically register | ||
| 814 | names anymore. | ||
| 815 | 654 | ||
| 816 | The new function dbus-register-service registers a service known name | 655 | ** Prolog mode has been completely revamped, with lots of additional |
| 817 | on a D-Bus without simultaneously registering a property or a method. | 656 | functionality such as more intelligent indentation, electricity, support for |
| 657 | more variants, including Mercury, and a lot more. | ||
| 658 | |||
| 659 | ** Rmail | ||
| 660 | |||
| 661 | *** The command `rmail-epa-decrypt' decrypts OpenPGP data | ||
| 662 | in the Rmail incoming message. | ||
| 663 | |||
| 664 | ** shell-mode can track your cwd by reading it from your prompt. | ||
| 665 | Just set shell-dir-cookie-re to an appropriate regexp. | ||
| 666 | |||
| 667 | ** SQL Mode enhancements. | ||
| 668 | |||
| 669 | *** `sql-dialect' is an alias for `sql-product'. | ||
| 670 | |||
| 671 | *** New variable `sql-port' specifies the port number for connecting | ||
| 672 | to a MySQL or Postgres server. | ||
| 673 | |||
| 674 | *** The command `sql-product-interactive' now takes a prefix argument, | ||
| 675 | which causes it to prompt for an SQL product instead of the current | ||
| 676 | value of `sql-product'. | ||
| 677 | |||
| 678 | *** Product-specific SQL interactive commands now take prefix args. | ||
| 679 | These commands (`sql-sqlite', `sql-postgres', `sql-mysql', etc.), | ||
| 680 | given a prefix argument, prompt for a name for the SQL interactive | ||
| 681 | buffer. This reduces the need for calling `sql-rename-buffer'. | ||
| 682 | |||
| 683 | *** SQL interactive modes suppress command continuation prompts, and | ||
| 684 | replace tabs with spaces. The first change impacts multiple line SQL | ||
| 685 | statements entered with C-j between each line, statements yanked into | ||
| 686 | the buffer and statements sent with `sql-send-*' functions. The | ||
| 687 | second change prevents the MySQL and Postgres interpreters from | ||
| 688 | listing object name completions when sent text via `sql-send-*' | ||
| 689 | functions. | ||
| 690 | |||
| 691 | *** New custom variables control prompting for login parameters. | ||
| 692 | Each supported product has a custom variable `sql-*-login-params', | ||
| 693 | which is a list of the parameters to be prompted for before a | ||
| 694 | connection is established. | ||
| 695 | |||
| 696 | *** New variable `sql-connection-alist' for login parameter values. | ||
| 697 | This can be used to store different username, database and server | ||
| 698 | values. Connections defined in this variable appear in the submenu | ||
| 699 | SQL->Start... for making new SQLi sessions. | ||
| 700 | |||
| 701 | *** New command `sql-connect' starts a predefined SQLi session, | ||
| 702 | using the login parameters from `sql-connection-alist'. | ||
| 703 | |||
| 704 | *** New "Save Connection" menu item in SQLi buffers. | ||
| 705 | This gathers the login params specified for the SQLi session, if it | ||
| 706 | was not started by a connection, and saves them as a new connection. | ||
| 707 | |||
| 708 | *** Commands for listing database objects and details. | ||
| 709 | In an SQLi session, you can get a list of objects in the database. | ||
| 710 | The contents of these lists are product specific. | ||
| 711 | |||
| 712 | **** `C-c C-l a' or the "SQL->List all objects" menu item | ||
| 713 | lists all the objects in the database. With a prefix argument, it | ||
| 714 | displays additional details or extend the listing to include other | ||
| 715 | schemas objects. | ||
| 716 | |||
| 717 | **** `C-c C-l t' or the "SQL->List Table details" menu item | ||
| 718 | prompts for the name of a database table or view and displays the list | ||
| 719 | of columns in the relation. With a prefix argument, it displays | ||
| 720 | additional details about each column. | ||
| 721 | |||
| 722 | *** New options `sql-send-terminator' and `sql-oracle-scan-on'. | ||
| 723 | |||
| 724 | *** An API for manipulating SQL product definitions has been added. | ||
| 725 | |||
| 726 | ** TeX modes | ||
| 727 | |||
| 728 | *** latex-electric-env-pair-mode keeps \begin..\end matched on the fly. | ||
| 818 | 729 | ||
| 819 | ** Tramp | 730 | ** Tramp |
| 820 | 731 | ||
| @@ -826,10 +737,8 @@ on a D-Bus without simultaneously registering a property or a method. | |||
| 826 | *** The option `ange-ftp-binary-file-name-regexp' has changed its | 737 | *** The option `ange-ftp-binary-file-name-regexp' has changed its |
| 827 | default value to "". | 738 | default value to "". |
| 828 | 739 | ||
| 829 | ** Rmail | 740 | ** `url-queue-retrieve' downloads web pages asynchronously, but allow |
| 830 | 741 | controlling the degree of parallelism. | |
| 831 | *** The command `rmail-epa-decrypt' decrypts OpenPGP data | ||
| 832 | in the Rmail incoming message. | ||
| 833 | 742 | ||
| 834 | ** VC and related modes | 743 | ** VC and related modes |
| 835 | 744 | ||
| @@ -865,9 +774,21 @@ binding `log-view-expanded-log-entry-function' to a suitable function. | |||
| 865 | *** New command `vc-ediff' allows visual comparison of two revisions | 774 | *** New command `vc-ediff' allows visual comparison of two revisions |
| 866 | of a file similar to `vc-diff', but using ediff backend. | 775 | of a file similar to `vc-diff', but using ediff backend. |
| 867 | 776 | ||
| 868 | ** CC Mode (C, C++, etc.) | 777 | ** FIXME: xdg-open for browse-url and reportbug, 2010/08. |
| 869 | 778 | ||
| 870 | *** New feature to "guess" the style in an existing buffer. | 779 | ** Obsolete modes |
| 780 | |||
| 781 | *** partial-completion-mode is obsolete. | ||
| 782 | You can get a comparable behavior with: | ||
| 783 | (setq completion-styles '(partial-completion initials)) | ||
| 784 | (setq completion-pcm-complete-word-inserts-delimiters t) | ||
| 785 | |||
| 786 | *** pc-mode.el is obsolete. | ||
| 787 | |||
| 788 | *** sregex.el is obsolete, since rx.el is a strict superset. | ||
| 789 | |||
| 790 | *** s-region.el and pc-select are obsolete. | ||
| 791 | They are superseded by shift-select-mode enabled by default in 23.1. | ||
| 871 | 792 | ||
| 872 | ** Miscellaneous | 793 | ** Miscellaneous |
| 873 | 794 | ||
| @@ -879,14 +800,6 @@ of a file similar to `vc-diff', but using ediff backend. | |||
| 879 | 800 | ||
| 880 | *** New command `nato-region' converts text to NATO phonetic alphabet. | 801 | *** New command `nato-region' converts text to NATO phonetic alphabet. |
| 881 | 802 | ||
| 882 | *** The new command `info-display-manual' will display an Info manual | ||
| 883 | specified by its name. If that manual is already visited in some Info | ||
| 884 | buffer within the current session, the command will display that | ||
| 885 | buffer. Otherwise, it will load the manual and display it. This is | ||
| 886 | handy if you have many manuals in many Info buffers, and don't | ||
| 887 | remember the name of the buffer visiting the manual you want to | ||
| 888 | consult. | ||
| 889 | |||
| 890 | 803 | ||
| 891 | * New Modes and Packages in Emacs 24.1 | 804 | * New Modes and Packages in Emacs 24.1 |
| 892 | 805 | ||
| @@ -972,8 +885,7 @@ has now been removed. | |||
| 972 | 885 | ||
| 973 | ** cl.el no longer provides `cl-19'. | 886 | ** cl.el no longer provides `cl-19'. |
| 974 | 887 | ||
| 975 | ** The following functions and aliases, obsolete since at least Emacs 21.1, | 888 | ** The following obsolete functions and aliases were removed: |
| 976 | have been removed: | ||
| 977 | comint-kill-output, decompose-composite-char, outline-visible, | 889 | comint-kill-output, decompose-composite-char, outline-visible, |
| 978 | internal-find-face, internal-get-face, frame-update-faces, | 890 | internal-find-face, internal-get-face, frame-update-faces, |
| 979 | frame-update-face-colors, x-frob-font-weight, x-frob-font-slant, | 891 | frame-update-face-colors, x-frob-font-weight, x-frob-font-slant, |
| @@ -983,12 +895,11 @@ x-make-font-bold-italic, mldrag-drag-mode-line, mldrag-drag-vertical-line, | |||
| 983 | iswitchb-default-keybindings, char-bytes, isearch-return-char, | 895 | iswitchb-default-keybindings, char-bytes, isearch-return-char, |
| 984 | make-local-hook | 896 | make-local-hook |
| 985 | 897 | ||
| 986 | ** The following variables and aliases, obsolete since at least Emacs 21.1, | 898 | ** The following obsolete variables and varaliases were removed: |
| 987 | have been removed: | 899 | checkdoc-minor-keymap, vc-header-alist, directory-sep-char, and |
| 988 | checkdoc-minor-keymap, vc-header-alist, directory-sep-char, | 900 | font-lock-defaults-alist. |
| 989 | font-lock-defaults-alist | ||
| 990 | 901 | ||
| 991 | ** The following files, obsolete since at least Emacs 21.1, have been removed: | 902 | ** The following obsolete files were removed: |
| 992 | sc.el, x-menu.el, rnews.el, rnewspost.el | 903 | sc.el, x-menu.el, rnews.el, rnewspost.el |
| 993 | 904 | ||
| 994 | ** FIXME finder-inf.el changes. | 905 | ** FIXME finder-inf.el changes. |
| @@ -996,6 +907,43 @@ sc.el, x-menu.el, rnews.el, rnewspost.el | |||
| 996 | 907 | ||
| 997 | * Lisp changes in Emacs 24.1 | 908 | * Lisp changes in Emacs 24.1 |
| 998 | 909 | ||
| 910 | ** Code can now use lexical scoping by default instead of dynamic scoping. | ||
| 911 | The `lexical-binding' variable lets code use lexical scoping for local | ||
| 912 | variables. It is typically set via file-local variables, in which case it | ||
| 913 | applies to all the code in that file. | ||
| 914 | |||
| 915 | *** `eval' takes a new optional argument `lexical' to choose the new lexical | ||
| 916 | binding instead of the old dynamic binding mode. | ||
| 917 | |||
| 918 | *** Lexically scoped interpreted functions are represented with a new form | ||
| 919 | of function value which looks like (closure ENV ARGS &rest BODY). | ||
| 920 | |||
| 921 | *** New macro `letrec' to define recursive local functions. | ||
| 922 | |||
| 923 | *** New function `special-variable-p' to check whether a variable is | ||
| 924 | declared as dynamically bound. | ||
| 925 | |||
| 926 | ** An Emacs Lisp testing tool is now included. | ||
| 927 | Emacs Lisp developers can use this tool to write automated tests for | ||
| 928 | their code. See the ERT info manual for details. | ||
| 929 | |||
| 930 | ** Changes for bidirectional display and editing | ||
| 931 | +++ | ||
| 932 | *** New function `current-bidi-paragraph-direction'. | ||
| 933 | This returns the actual value of paragraph base direction at point. | ||
| 934 | |||
| 935 | +++ | ||
| 936 | *** New function `bidi-string-mark-left-to-right'. | ||
| 937 | Given a string containing right-to-left (RTL) script, this function | ||
| 938 | returns another string which can be safely inserted into a buffer as a | ||
| 939 | distinct RTL "segment", without causing any following text to be | ||
| 940 | displayed as RTL. (This is done by appending a Unicode "left-to-right | ||
| 941 | mark" character.) | ||
| 942 | |||
| 943 | This is useful when the buffer has overall left-to-right (LTR) | ||
| 944 | paragraph direction and you need to insert a string whose contents and | ||
| 945 | directionality are not known in advance. | ||
| 946 | |||
| 999 | ** Window changes | 947 | ** Window changes |
| 1000 | 948 | ||
| 1001 | *** `switch-to-buffer' has a new optional argument FORCE-SAME-WINDOW, | 949 | *** `switch-to-buffer' has a new optional argument FORCE-SAME-WINDOW, |
| @@ -1006,6 +954,7 @@ can be used, e.g. if the selected one is strongly dedicated. | |||
| 1006 | *** FIXME: buffer-display-alist changes | 954 | *** FIXME: buffer-display-alist changes |
| 1007 | 955 | ||
| 1008 | ** Completion | 956 | ** Completion |
| 957 | |||
| 1009 | *** New variable completion-extra-properties used to specify extra properties | 958 | *** New variable completion-extra-properties used to specify extra properties |
| 1010 | of the current completion: | 959 | of the current completion: |
| 1011 | - :annotate-function, same as the old completion-annotate-function. | 960 | - :annotate-function, same as the old completion-annotate-function. |
| @@ -1033,34 +982,6 @@ connection, directly or via STARTTLS. To do STARTTLS, additional | |||
| 1033 | parameters (`:end-of-command', `:success', `:capabilities-command') | 982 | parameters (`:end-of-command', `:success', `:capabilities-command') |
| 1034 | must also be supplied. | 983 | must also be supplied. |
| 1035 | 984 | ||
| 1036 | ** Code can now use lexical scoping by default instead of dynamic scoping. | ||
| 1037 | The `lexical-binding' variable lets code use lexical scoping for local | ||
| 1038 | variables. It is typically set via file-local variables, in which case it | ||
| 1039 | applies to all the code in that file. | ||
| 1040 | |||
| 1041 | *** `eval' takes a new optional argument `lexical' to choose the new lexical | ||
| 1042 | binding instead of the old dynamic binding mode. | ||
| 1043 | |||
| 1044 | *** Lexically scoped interpreted functions are represented with a new form | ||
| 1045 | of function value which looks like (closure ENV ARGS &rest BODY). | ||
| 1046 | |||
| 1047 | *** New macro `letrec' to define recursive local functions. | ||
| 1048 | |||
| 1049 | *** New function `special-variable-p' to check whether a variable is | ||
| 1050 | declared as dynamically bound. | ||
| 1051 | |||
| 1052 | +++ | ||
| 1053 | ** New function `bidi-string-mark-left-to-right'. | ||
| 1054 | Given a string containing right-to-left (RTL) script, this function | ||
| 1055 | returns another string which can be safely inserted into a buffer as a | ||
| 1056 | distinct RTL "segment", without causing any following text to be | ||
| 1057 | displayed as RTL. (This is done by appending a Unicode "left-to-right | ||
| 1058 | mark" character.) | ||
| 1059 | |||
| 1060 | This is useful when the buffer has overall left-to-right (LTR) | ||
| 1061 | paragraph direction and you need to insert a string whose contents and | ||
| 1062 | directionality are not known in advance. | ||
| 1063 | |||
| 1064 | ** pre/post-command-hook are not reset to nil upon error. | 985 | ** pre/post-command-hook are not reset to nil upon error. |
| 1065 | Instead, the offending function is removed. | 986 | Instead, the offending function is removed. |
| 1066 | 987 | ||
| @@ -1072,8 +993,6 @@ Emacs server instances. | |||
| 1072 | ** `call-process' allows a `(:file "file")' spec to redirect STDOUT to | 993 | ** `call-process' allows a `(:file "file")' spec to redirect STDOUT to |
| 1073 | a file. | 994 | a file. |
| 1074 | 995 | ||
| 1075 | ** byte-compile-disable-print-circle is obsolete. | ||
| 1076 | ** deferred-action-list and deferred-action-function are obsolete. | ||
| 1077 | ** Removed the stack-trace-on-error variable. | 996 | ** Removed the stack-trace-on-error variable. |
| 1078 | Also the debugger can now "continue" from an error, which means it will jump | 997 | Also the debugger can now "continue" from an error, which means it will jump |
| 1079 | to the error handler as if the debugger had not been invoked instead of | 998 | to the error handler as if the debugger had not been invoked instead of |
| @@ -1101,13 +1020,16 @@ syntactic rules. | |||
| 1101 | 1020 | ||
| 1102 | +++ | 1021 | +++ |
| 1103 | ** Syntax tables support a new "comment style c" additionally to style b. | 1022 | ** Syntax tables support a new "comment style c" additionally to style b. |
| 1023 | |||
| 1104 | ** frame-local variables cannot be let-bound any more. | 1024 | ** frame-local variables cannot be let-bound any more. |
| 1025 | |||
| 1105 | ** prog-mode is a new major-mode meant to be the parent of programming mode. | 1026 | ** prog-mode is a new major-mode meant to be the parent of programming mode. |
| 1106 | The prog-mode-hook it defines can be used to enable features for | 1027 | The prog-mode-hook it defines can be used to enable features for |
| 1107 | programming modes. For example: | 1028 | programming modes. For example: |
| 1108 | (add-hook 'prog-mode-hook 'flyspell-prog-mode) | 1029 | (add-hook 'prog-mode-hook 'flyspell-prog-mode) |
| 1109 | enables on the fly spell checking for comments and strings for | 1030 | enables on the fly spell checking for comments and strings for |
| 1110 | programming modes. | 1031 | programming modes. |
| 1032 | |||
| 1111 | ** define-minor-mode accepts a new keyword :variable. | 1033 | ** define-minor-mode accepts a new keyword :variable. |
| 1112 | 1034 | ||
| 1113 | ** `delete-file' and `delete-directory' now accept optional arg TRASH. | 1035 | ** `delete-file' and `delete-directory' now accept optional arg TRASH. |
| @@ -1115,8 +1037,6 @@ Trashing is performed if TRASH and `delete-by-moving-to-trash' are | |||
| 1115 | both non-nil. Interactively, TRASH defaults to t, unless a prefix | 1037 | both non-nil. Interactively, TRASH defaults to t, unless a prefix |
| 1116 | argument is supplied (see Trash changes, above). | 1038 | argument is supplied (see Trash changes, above). |
| 1117 | 1039 | ||
| 1118 | ** buffer-substring-filters is obsoleted by filter-buffer-substring-functions. | ||
| 1119 | |||
| 1120 | ** `facemenu-read-color' is now an alias for `read-color'. | 1040 | ** `facemenu-read-color' is now an alias for `read-color'. |
| 1121 | The command `read-color' now requires a match for a color name or RGB | 1041 | The command `read-color' now requires a match for a color name or RGB |
| 1122 | triplet, instead of signalling an error if the user provides a invalid | 1042 | triplet, instead of signalling an error if the user provides a invalid |
| @@ -1139,6 +1059,14 @@ is being animated. | |||
| 1139 | 1059 | ||
| 1140 | *** `image-extension-data' is renamed to `image-metadata'. | 1060 | *** `image-extension-data' is renamed to `image-metadata'. |
| 1141 | 1061 | ||
| 1062 | *** If Emacs is compiled with ImageMagick support (see Startup | ||
| 1063 | Changes), the function `imagemagick-types' returns a list of image | ||
| 1064 | file extensions that your installation of ImageMagick supports. The | ||
| 1065 | function `imagemagick-register-types' enables ImageMagick support for | ||
| 1066 | these image types, minus those listed in `imagemagick-types-inhibit'. | ||
| 1067 | |||
| 1068 | See the Emacs Lisp Reference Manual for more information. | ||
| 1069 | |||
| 1142 | ** XML and HTML parsing | 1070 | ** XML and HTML parsing |
| 1143 | 1071 | ||
| 1144 | *** If Emacs is compiled with libxml2 support (which is the default), | 1072 | *** If Emacs is compiled with libxml2 support (which is the default), |
| @@ -1195,6 +1123,16 @@ as well as those in the -*- line. | |||
| 1195 | This means that the empty symbol can now be read back. Also, #: by itself | 1123 | This means that the empty symbol can now be read back. Also, #: by itself |
| 1196 | (when not immediately followed by a possible symbol character) stands for | 1124 | (when not immediately followed by a possible symbol character) stands for |
| 1197 | an empty uninterned symbol. | 1125 | an empty uninterned symbol. |
| 1126 | |||
| 1127 | ** Obsolete functions and variables | ||
| 1128 | |||
| 1129 | *** buffer-substring-filters is obsolete. | ||
| 1130 | Use `filter-buffer-substring-functions' instead. | ||
| 1131 | |||
| 1132 | *** `byte-compile-disable-print-circle' is obsolete. | ||
| 1133 | |||
| 1134 | *** `deferred-action-list' and `deferred-action-function' are obsolete. | ||
| 1135 | |||
| 1198 | 1136 | ||
| 1199 | * Changes in Emacs 24.1 on non-free operating systems | 1137 | * Changes in Emacs 24.1 on non-free operating systems |
| 1200 | 1138 | ||