aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChong Yidong2013-12-21 16:34:49 +0800
committerChong Yidong2013-12-21 16:34:49 +0800
commit70c8f5ca14b1de558e6f01dc745822fb957a11d1 (patch)
tree35ac1efc0e915a950deb03fdbb695502cd3294cc
parent5b2b60f0f88e1785b1edbf9be8427fb6f2e717ff (diff)
downloademacs-70c8f5ca14b1de558e6f01dc745822fb957a11d1.tar.gz
emacs-70c8f5ca14b1de558e6f01dc745822fb957a11d1.zip
Re-organize NEWS.
-rw-r--r--etc/NEWS794
1 files changed, 419 insertions, 375 deletions
diff --git a/etc/NEWS b/etc/NEWS
index 4a5a3f2b243..5d9b84f0504 100644
--- a/etc/NEWS
+++ b/etc/NEWS
@@ -23,32 +23,32 @@ otherwise leave it unmarked.
23 23
24* Installation Changes in Emacs 24.4 24* Installation Changes in Emacs 24.4
25 25
26** Emacs can be compiled with ACL support. 26** Emacs can now be compiled with ACL support.
27This happens by default if a suitable support library is found at 27This happens by default if a suitable support library is found at
28build time, like libacl on GNU/Linux. To prevent this, use the 28build time, like libacl on GNU/Linux. To prevent this, use the
29configure option `--disable-acl'. 29configure option `--disable-acl'.
30 30
31** Emacs can be compiled with file notification support. 31** Emacs can now be compiled with file notification support.
32This happens by default if a suitable system library is found at 32This happens by default if a suitable system library is found at
33build time. To prevent this, use the configure option 33build time. To prevent this, use the configure option
34`--with-file-notification-no'. See below for file-notify features. 34`--with-file-notification-no'. See below for file-notify features.
35FIXME? This feature is not available for the Nextstep port. (?) 35FIXME? This feature is not available for the Nextstep port. (?)
36 36
37** The configure option `without-compress-info' has been generalized, 37** The configure option `--without-compress-info' has been generalized,
38and renamed to `without-compress-install'. It now prevents compression 38and renamed to `--without-compress-install'. It now prevents compression
39of _any_ files during installation. 39of _any_ files during installation.
40 40
41** The configure option --with-crt-dir has been removed. 41** The configure option `--with-crt-dir' has been removed.
42It is no longer needed, as the crt*.o files are no longer linked 42It is no longer needed, as the crt*.o files are no longer linked
43specially. 43specially.
44 44
45** Directories passed to configure option `--enable-locallisppath' are 45** Directories passed to configure option `--enable-locallisppath' are
46no longer created during installation. 46no longer created during installation.
47 47
48** Emacs can be compiled with zlib support. If this library is present 48** Emacs can be compiled with zlib support.
49(which it normally is on most systems), the function 49If this library is present (which it normally is on most systems), the
50`zlib-decompress-region' becomes available, which can decompress gzip- 50function `zlib-decompress-region' becomes available, which can
51and zlib-format compressed data. 51decompress gzip- and zlib-format compressed data.
52 52
53--- 53---
54** Emacs for NS (OSX, GNUStep) can be built with ImageMagick support. 54** Emacs for NS (OSX, GNUStep) can be built with ImageMagick support.
@@ -83,6 +83,10 @@ Emacs executable, any changes to `load-path' that these files make
83will no longer be present after dumping. To affect a permanent change 83will no longer be present after dumping. To affect a permanent change
84to `load-path', use the `--enable-locallisppath' option of `configure'. 84to `load-path', use the `--enable-locallisppath' option of `configure'.
85 85
86+++
87** The user option `initial-buffer-choice' can now specify a function
88to set up the initial buffer.
89
86 90
87* Changes in Emacs 24.4 91* Changes in Emacs 24.4
88 92
@@ -103,59 +107,12 @@ customize the option `tty-menu-open-use-tmm' to a non-nil value.
103`tty-menu-open-use-tmm' is nil.) 107`tty-menu-open-use-tmm' is nil.)
104 108
105+++ 109+++
106** Key ? also describes prefix bindings like C-h. 110** The *Messages* buffer is created in `messages-buffer-mode',
107 111a new major mode, with read-only status. Any code that might create
108+++ 112the *Messages* buffer should call the function `messages-buffer' to do
109** `cache-long-line-scans' has been renamed to `cache-long-scans' 113so and set up the mode.
110because it affects caching of paragraph scanning results as well.
111
112+++
113** `apropos-variable' is now `apropos-user-option'
114`apropos-user-option' shows all user options while `apropos-variable'
115shows all variables. When called with a universal prefix argument,
116the two commands swap their behaviors. When `apropos-do-all' is
117non-nil, they output the same results.
118 114
119+++ 115** Emacs now supports ACLs (access control lists).
120** `eval-defun' on an already defined defcustom calls the :set function,
121if there is one.
122
123** A zero prefix arg of `eval-last-sexp' (`C-x C-e'),
124`eval-expression' (`M-:') and `eval-print-last-sexp' (`C-j') inserts
125a list with no limit on its length and level (by using nil values of
126`print-length' and `print-level'), and inserts additional formats for
127integers (octal, hexadecimal, and character).
128
129** If the new variable `enable-dir-local-variables' is nil,
130directory local variables are ignored. May be useful for some modes
131that want to ignore directory-locals while still respecting file-locals.
132
133---
134** The option `set-mark-default-inactive' has been deleted.
135This unfinished feature was introduced by accident in Emacs 23.1;
136simply disabling Transient Mark mode does the same thing.
137
138+++
139** `initial-buffer-choice' can now specify a function to set up the
140initial buffer.
141
142+++
143** The *Messages* buffer is created in a new major mode `messages-buffer-mode',
144and read-only. Code that might create the *Messages* buffer should
145call the function `messages-buffer' to do so and set the mode.
146
147** `remember-notes' creates a buffer whose content is saved on kill-emacs.
148You may think of it as a *scratch* buffer whose content is preserved.
149In fact, it was designed as a replacement for *scratch* buffer and can
150be used that way by setting `initial-buffer-choice' to `remember-notes'
151and `remember-notes-buffer-name' to "*scratch*". Without the second
152change, *scratch* buffer will still be there for notes that do not
153need to be preserved.
154
155---
156** `write-region-inhibit-fsync' now defaults to t in batch mode.
157
158** ACL support has been added.
159+++ 116+++
160*** Emacs preserves the ACL entries of files when backing up. 117*** Emacs preserves the ACL entries of files when backing up.
161+++ 118+++
@@ -164,17 +121,6 @@ entries of a file. On GNU/Linux, the POSIX ACL interface is used via
164libacl. On MS-Windows, the NT Security APIs are used to emulate the 121libacl. On MS-Windows, the NT Security APIs are used to emulate the
165POSIX ACL interfaces. 122POSIX ACL interfaces.
166 123
167** New option `scroll-bar-adjust-thumb-portion'.
168Available only on X, this option allows to control over-scrolling
169using the scroll bar (i.e. dragging the thumb down even when the end
170of the buffer is visible).
171
172+++
173** New function `add-face-text-property' has been added, which can be
174used to conveniently prepend/append new face attributes to text.
175
176** In compiled Lisp files, the header no longer includes a timestamp.
177
178** Multi-monitor support has been added. 124** Multi-monitor support has been added.
179 125
180*** New functions `display-monitor-attributes-list' and 126*** New functions `display-monitor-attributes-list' and
@@ -189,68 +135,117 @@ monitor, use the new functions above. Similar notes also apply to
189`x-display-pixel-width', `x-display-pixel-height', `display-mm-width', 135`x-display-pixel-width', `x-display-pixel-height', `display-mm-width',
190`display-mm-height', `x-display-mm-width', and `x-display-mm-height'. 136`display-mm-height', `x-display-mm-width', and `x-display-mm-height'.
191 137
192** New macro `define-alternatives' can be used to define generic commands. 138+++
193Generic commands are interactive functions whose implementation can be 139** The cursor stops blinking after 10 blinks (by default) on X and NS.
194selected among several alternatives, as a matter of user preference. 140You can change the default by customizing `blink-cursor-blinks'.
195 141
196** New hooks `focus-in-hook', `focus-out-hook'. 142+++
197These are normal hooks run when an Emacs frame gains or loses input focus. 143** In keymaps where SPC scrolls forward, S-SPC now scrolls backward.
144This affects View mode, etc.
145
146** Help changes
198 147
199+++ 148+++
200** The blink cursor stops blinking after 10 blinks (default) on X and NS. 149*** The command `apropos-variable' is renamed to `apropos-user-option'.
201You can change the default by customizing the variable blink-cursor-blinks. 150`apropos-user-option' shows all user options while `apropos-variable'
202Also timers for blinking are stopped when no blinking is done, so Emacs does 151shows all variables. When called with a universal prefix argument,
203not consume CPU cycles. 152the two commands swap their behaviors. When `apropos-do-all' is
153non-nil, they output the same results.
204 154
205** New command `frameset-to-register' is now bound to `C-x r f', replacing 155+++
206`frame-configuration-to-register'. It offers similar functionality, plus 156*** The key `?' now describes prefix bindings, like `C-h'.
207some enhancements, like the ability to restore deleted frames. Command
208`frame-configuration-to-register' is still available, but unbound.
209 157
210** The command `quail-help' is deleted. Use `C-h C-\' 158*** The command `quail-help' is deleted. Use `C-h C-\'
211(`describe-input-method') instead. 159(`describe-input-method') instead.
212 160
213** The default value of `comment-use-global-state' is changed to t, 161** Frame and window changes
214and this variable has been marked obsolete.
215 162
216** `fill-single-char-nobreak-p' prevents fill from breaking a line after 163+++
217a 1-letter word, which is an error according to Polish and 164*** New commands `toggle-frame-fullscreen' and `toggle-frame-maximized',
218Czech typography rules. To globally enable this feature, evaluate: 165bound to <f11> and M-<f10>, respectively.
219 166
220 (add-hook 'fill-nobreak-predicate 'fill-single-char-nobreak-p) 167*** New command `frameset-to-register' is now bound to `C-x r f', replacing
168`frame-configuration-to-register'. It offers similar functionality,
169plus enhancements like the ability to restore deleted frames. The
170command `frame-configuration-to-register' still exists, but is unbound.
221 171
222 172*** New hooks `focus-in-hook', `focus-out-hook'.
223* Editing Changes in Emacs 24.4 173These are normal hooks run when an Emacs frame gains or loses input focus.
174
175---
176*** `split-window' is now a non-interactive function, not a command.
177As a command, it was a special case of `C-x 2' (`split-window-below'),
178and as such superfluous. After being reimplemented in Lisp, its
179interactive form was mistakenly retained.
180
181*** New option `scroll-bar-adjust-thumb-portion'.
182Available only on X, this option allows to control over-scrolling
183using the scroll bar (i.e. dragging the thumb down even when the end
184of the buffer is visible).
224 185
186** Lisp evaluation changes
225+++ 187+++
226** `electric-indent-mode' is enabled by default. 188*** `eval-defun' on an already defined defcustom calls the :set function,
189if there is one.
190
191*** A zero prefix arg of `eval-last-sexp' (`C-x C-e'),
192`eval-expression' (`M-:') and `eval-print-last-sexp' (`C-j') inserts
193a list with no limit on its length and level (by using nil values of
194`print-length' and `print-level'), and inserts additional formats for
195integers (octal, hexadecimal, and character).
196
197---
198** `write-region-inhibit-fsync' now defaults to t in batch mode.
227 199
228+++ 200+++
229** Uniquify is enabled by default with post-forward-angle-brackets style. 201** `cache-long-line-scans' has been renamed to `cache-long-scans'
202because it affects caching of paragraph scanning results as well.
230 203
231** Command `rectangle-mark-mode' bound to C-x SPC makes a rectangular region. 204---
232Most commands are still unaware of it, but kill/yank do work on the rectangle. 205** The option `set-mark-default-inactive' has been deleted.
206This unfinished feature was introduced by accident in Emacs 23.1;
207simply disabling Transient Mark mode does the same thing.
233 208
234** C-x TAB enters a transient interactive mode. 209** The default value of `comment-use-global-state' is changed to t,
235You can then use the left/right cursor keys to move the block of text. 210and this variable has been marked obsolete.
211
212
213* Editing Changes in Emacs 24.4
214
215** Indentation changes
216
217+++
218*** The behavior of `C-x TAB' (`indent-rigidly') has changed.
219When invoked without a prefix argument, it now activates a transient
220mode in which typing <left>, <right>, <S-left>, and <S-right> adjusts
221the text indentation in the region. Typing any other key resumes
222normal editing behavior.
236 223
237** `tab-stop-list' is now implicitly extended to infinity by repeating 224+++
225*** `electric-indent-mode' is enabled by default.
226
227*** `tab-stop-list' is now implicitly extended to infinity by repeating
238the last step. Its default value is changed to nil which means a tab 228the last step. Its default value is changed to nil which means a tab
239stop every `tab-width' columns. 229stop every `tab-width' columns.
240 230
241--- 231** Filling changes
242** `split-window' is no longer a command, just a non-interactive function.
243As a command it was a special case of `split-window-below', and as such
244superfluous. After being reimplemented in Lisp, its interactive form
245was mistakenly retained.
246 232
247+++ 233*** New command `cycle-spacing' cycles between spacing conventions:
248** New commands `toggle-frame-fullscreen' and `toggle-frame-maximized', 234having just one space, no spaces, or reverting to the original
249bound to <f11> and M-<f10>, respectively. 235spacing. Like `just-one-space', it can handle or ignore newlines and
236leave different number of spaces.
237
238*** `fill-single-char-nobreak-p' prevents fill from breaking a line after
239a 1-letter word, which is an error according to Polish and
240Czech typography rules. To globally enable this feature, evaluate:
241
242 (add-hook 'fill-nobreak-predicate 'fill-single-char-nobreak-p)
250 243
251+++ 244+++
252** In keymaps where SPC scrolls, S-SPC now scrolls in the reverse direction. 245** Uniquify is enabled by default with `post-forward-angle-brackets' style.
253Eg View mode, etc. 246
247** New command `C-x SPC' (`rectangle-mark-mode') makes a rectangular region.
248Most commands are still unaware of it, but kill/yank do work on the rectangle.
254 249
255+++ 250+++
256** New option `visual-order-cursor-movement'. 251** New option `visual-order-cursor-movement'.
@@ -259,46 +254,25 @@ visual order of characters on the screen: <left> always moves to the
259left, <right> always moves to the right, disregarding the surrounding 254left, <right> always moves to the right, disregarding the surrounding
260bidirectional context. 255bidirectional context.
261 256
262** All register commands can now show help with preview. 257** Register changes
263 258
264** New command `kmacro-to-register' to store keyboard macros in registers. 259*** All register commands can now show help with preview.
265 260
266** Shell Script mode 261*** New command `kmacro-to-register' stores keyboard macros in registers.
267 262
268*** `sh-mode' now has the mode own `add-log-current-defun-function'. 263*** New command `C-x r f' (`frameset-to-register').
269You can pick the name of the function and the variables with `C-x 4 a'. 264See Changes in Emacs 24.4, above.
265
266** New command `delete-duplicate-lines'.
267When its arg ADJACENT is non-nil (when called interactively with C-u
268C-u) it works like the utility `uniq'. Otherwise by default it
269deletes duplicate lines everywhere in the region without regard to
270adjacency. When its arg KEEP-BLANKS is non-nil (when called
271interactively with C-u C-u C-u), duplicate blank lines are preserved.
270 272
271 273
272* Changes in Specialized Modes and Packages in Emacs 24.4 274* Changes in Specialized Modes and Packages in Emacs 24.4
273 275
274** CUA-mode
275*** CUA-mode was changed to make use of delete-selection-mode and
276shift-select-mode. So you can now enable it independently from
277transient-mark-mode, delete-selection-mode, and shift-select-mode.
278As a result, cua-highlight-region-shift-only is obsolete
279(you can disable transient-mark-mode to get the same result).
280*** CUA's rectangles can now be used via `cua-rectangle-mark-mode'.
281
282** `delete-selection-mode' can be used without transient-mark-mode.
283
284** prolog-use-smie has been removed, along with the non-SMIE indentation code.
285
286** SMIE indentation can be customized via `smie-config'.
287The customization can be guessed by Emacs by providing a sample indented
288file and letting SMIE learn from it.
289
290** sh-script now uses its SMIE indentation algorithm by default.
291
292** If your Emacs is compiled with libxml2 support, you can use the new
293built-in web browser `eww'.
294
295** `remember' can now store notes in separates files
296You can use the new function `remember-store-in-files' within the
297`remember-handler-functions' option.
298
299See `remember-data-directory' and `remember-directory-file-name-format'
300for new options related to this function.
301
302** More packages look for ~/.emacs.d/<foo> additionally to ~/.<foo>. 276** More packages look for ~/.emacs.d/<foo> additionally to ~/.<foo>.
303Affected files: 277Affected files:
304~/.emacs.d/timelog replaces ~/.timelog 278~/.emacs.d/timelog replaces ~/.timelog
@@ -320,34 +294,16 @@ Also the following files used by the now obsolete otodo-mode.el:
320~/.emacs.d/todo-done replaces ~/.todo-done 294~/.emacs.d/todo-done replaces ~/.todo-done
321~/.emacs.d/todo-top replaces ~/.todo-top 295~/.emacs.d/todo-top replaces ~/.todo-top
322 296
297** Backtrace and debugger
323 298
324** Delphi mode is now called OPascal mode. 299*** The Lisp debugger's `e' command now includes the lexical environment
325*** All delphi-* variables and functions have been renamed to opascal-*. 300when evaluating the code in the context at point. Hence, it now lets
326*** `delphi-newline-always-indents' is not supported any more. 301you access lexical variables.
327Use `electric-indent-mode' instead.
328*** `delphi-tab' is gone, replaced by `indent-for-tab-command'.
329 302
330** Eldoc Mode works properly in the minibuffer. 303*** New command `v' (`debuger-toggle-locals) displays local vars.
331 304
332** jit-lock-debug-mode lets you use the debuggers on code run via jit-lock. 305*** New minor mode `jit-lock-debug-mode' lets you use the debuggers on
333 306code run via JIT Lock.
334** Minibuffer
335
336*** completing-read-multiple's separator can now be a regexp.
337The default separator is changed to allow surrounding spaces around the comma.
338
339*** New option `read-regexp-defaults-function' defines the function
340that provides the default value for commands that ask for a regexp:
341`rgrep', `lgrep' `occur', `multi-occur', `multi-occur-in-matching-buffers',
342`highlight-regexp', `highlight-lines-matching-regexp', `highlight-phrase'.
343This option can be customized to values that provide a default value
344from the regexp last history element or from the symbol found at point.
345
346** The backtrace debugger and local variables:
347*** The debugger's `e' command evaluates the code in the context at point.
348This includes using the lexical environment at point, which means that
349`e' now lets you access lexical variables as well.
350*** The backtrace debugger can display local vars with `v'.
351 307
352** Battery 308** Battery
353 309
@@ -359,41 +315,16 @@ This includes using the lexical environment at point, which means that
359 315
360** Calendar and Diary 316** Calendar and Diary
361 317
362*** New faces: `calendar-weekday-header', `calendar-weekend-header', 318*** New faces `calendar-weekday-header', `calendar-weekend-header',
363`calendar-month-header'. 319and `calendar-month-header'.
364 320
365*** New option `calendar-day-header-array'. 321*** New option `calendar-day-header-array'.
366 322
367*** The variable `calendar-font-lock-keywords' is obsolete.
368
369+++ 323+++
370*** New variable `diary-from-outlook-function', used by the command 324*** New variable `diary-from-outlook-function', used by the command
371`diary-from-outlook'. 325`diary-from-outlook'.
372 326
373** VC and related modes 327*** The variable `calendar-font-lock-keywords' is obsolete.
374
375*** In VC directory mode, `D' displays diffs between VC-controlled
376whole tree revisions.
377
378*** In VC directory mode, `L' lists the change log for the current VC
379controlled tree in a window.
380
381*** In VC directory mode, `I' shows a log of changes that will be
382received with a pull operation.
383
384*** `C-x v G' (globally) and `G' (in VC directory mode) ignores a file
385under current version control system. When called with a prefix
386argument, you can remove a file from the ignored file list.
387
388*** `cvs-append-to-ignore' has been renamed to `vc-cvs-append-to-ignore'
389because it is moved to vc-cvs.el.
390
391** cl-lib
392
393*** New macro cl-tagbody.
394
395+++
396*** letf is now just an alias for cl-letf.
397 328
398** Calc 329** Calc
399 330
@@ -411,6 +342,52 @@ on the given date.
411 342
412*** Support for ISO 8601 dates. 343*** Support for ISO 8601 dates.
413 344
345** CEDET
346
347*** EDE
348
349**** The cpp-root project now supports executing a compile command.
350It can be set through the new :compile-command slot or the
351buffer-local variable `compile-command'.
352
353**** Better selection of include directories for the 'linux' project.
354Include directories now support out-of-tree build directories and
355target architecture auto-detection.
356
357*** Semantic
358
359**** Improved detection of used namespaces in current scope in C++.
360
361**** Parsing of default values for variables and function arguments in C/C++.
362They are also displayed by the summarize feature in the modeline.
363
364**** Improved parsing of function pointers in C/C++.
365This also includes parsing of function pointers as function arguments.
366
367**** Parsing of C/C++ preprocessor macros which open new scope.
368For example, this enables parsing of macros which open new namespaces.
369
370**** Support for 'this' pointer in inline member functions in C++.
371
372** cl-lib
373
374*** New macro cl-tagbody.
375
376+++
377*** letf is now just an alias for cl-letf.
378
379** CUA mode
380
381*** CUA mode was changed to make use of delete-selection-mode and
382shift-select-mode. So you can now enable it independently from
383transient-mark-mode, delete-selection-mode, and shift-select-mode.
384As a result, cua-highlight-region-shift-only is obsolete
385(you can disable transient-mark-mode to get the same result).
386
387*** CUA's rectangles can now be used via `cua-rectangle-mark-mode'.
388
389** Delete Selection mode can now be used without `transient-mark-mode'.
390
414** Desktop 391** Desktop
415 392
416*** `desktop-auto-save-timeout' defines the number of seconds idle time 393*** `desktop-auto-save-timeout' defines the number of seconds idle time
@@ -425,11 +402,7 @@ and `desktop-restore-forces-onscreen' offer further customization.
425 402
426*** New minor mode `dired-hide-details-mode' hides details. 403*** New minor mode `dired-hide-details-mode' hides details.
427 404
428** ERC 405** Eldoc Mode works properly in the minibuffer.
429
430*** New option `erc-accidental-paste-threshold-seconds'.
431If set to a number, this can be used to avoid accidentally paste large
432amounts of data into the ERC input.
433 406
434** EPA 407** EPA
435 408
@@ -447,8 +420,42 @@ that means: when one of the recipients of the message being encrypted
447is `foo@bar.com', ignore that name as regards encryption. 420is `foo@bar.com', ignore that name as regards encryption.
448This is useful to avoid a query when you have no key for that name. 421This is useful to avoid a query when you have no key for that name.
449 422
423** ERC
424
425*** New option `erc-accidental-paste-threshold-seconds'.
426If set to a number, this can be used to avoid accidentally paste large
427amounts of data into the ERC input.
428
429+++
430** ERT
431
432*** New macro `skip-unless' allows skipping ERT tests.
433See the ERT manual for details.
434
435** Eshell
436
437+++
438*** `eshell' now supports visual subcommands and options
439Eshell has been able to handle "visual" commands (interactive,
440non-line oriented commands such as top that require display
441capabilities not provided by eshell) by running them in an Emacs
442terminal emulator. See `eshell-visual-commands'.
443
444This feature has been extended to subcommands and options that make a
445usually line-oriented command a visual command. Typical examples are
446"git log" and "git <command> --help" which display their output in a
447pager by default. See `eshell-visual-subcommands' and
448`eshell-visual-options'.
449
450---
451*** Added Eshell-Tramp module
452External su and sudo commands are now the default; the internal,
453Tramp-using variants can still be used by enabling the eshell-tramp
454module.
455
456** F90 mode
450--- 457---
451** New F90 mode option `f90-smart-end-names'. 458*** New option `f90-smart-end-names'.
452 459
453** Icomplete is a bit more like Ido. 460** Icomplete is a bit more like Ido.
454*** key bindings to navigate through and select the completions. 461*** key bindings to navigate through and select the completions.
@@ -458,15 +465,6 @@ This is useful to avoid a query when you have no key for that name.
458(setq icomplete-with-completion-tables '(internal-complete-buffer)) 465(setq icomplete-with-completion-tables '(internal-complete-buffer))
459will revert to the old behavior. 466will revert to the old behavior.
460 467
461+++
462** New features for Octave mode:
463*** Font locking for texinfo comments and new keywords
464*** Completion in Octave file buffers
465*** Eldoc support
466*** Jump to definition
467*** Documentation lookup/search
468*** Code cleanup and various bug fixes
469
470** Ido 468** Ido
471*** Ido has a manual now. 469*** Ido has a manual now.
472*** `ido-use-virtual-buffers' takes a new value 'auto. 470*** `ido-use-virtual-buffers' takes a new value 'auto.
@@ -483,19 +481,12 @@ directory, respectively.
483next or previous frame. `F' (`image-goto-frame') shows a specific frame. 481next or previous frame. `F' (`image-goto-frame') shows a specific frame.
484 482
485*** New commands to speed up, slow down, or reverse animation. 483*** New commands to speed up, slow down, or reverse animation.
486
487--- 484---
488*** The command `image-mode-fit-frame' deletes other windows. 485*** The command `image-mode-fit-frame' deletes other windows.
489When toggling, it restores the frame's previous window configuration. 486When toggling, it restores the frame's previous window configuration.
490It also has an optional frame argument, which can be used by Lisp 487It also has an optional frame argument, which can be used by Lisp
491callers to fit the image to a frame other than the selected frame. 488callers to fit the image to a frame other than the selected frame.
492 489
493** Info
494
495*** New face `info-index-match' is used to highlight matches in index
496entries displayed by `Info-index-next', `Info-virtual-index' and
497`info-apropos'.
498
499** Hi-Lock 490** Hi-Lock
500 491
501*** New option `hi-lock-auto-select-face'. When non-nil, hi-lock commands 492*** New option `hi-lock-auto-select-face'. When non-nil, hi-lock commands
@@ -506,6 +497,102 @@ will cycle through faces in `hi-lock-face-defaults' without prompting.
506highlights the symbol found near point without prompting, 497highlights the symbol found near point without prompting,
507using the next face automatically. 498using the next face automatically.
508 499
500** Imenu
501
502*** New option `imenu-generic-skip-comments-and-strings'.
503
504** Info
505
506*** New face `info-index-match' is used to highlight matches in index
507entries displayed by `Info-index-next', `Info-virtual-index' and
508`info-apropos'.
509
510** JS Mode
511
512*** Better indentation of multiple-variable declarations.
513If declaration spans several lines, variables on the following lines
514are lined up to the first one.
515
516*** We now recognize and better indent continuations in array
517comprehensions.
518
519*** New option `js-switch-indent-offset`.
520
521** MH-E has been updated to MH-E version 8.5.
522See MH-E-NEWS for details.
523
524+++
525** Octave mode
526*** Font locking for texinfo comments and new keywords
527*** Completion in Octave file buffers
528*** Eldoc support
529*** Jump to definition
530*** Documentation lookup/search
531*** Code cleanup and various bug fixes
532
533** OPascal mode is the new name for Delphi mode.
534
535*** All delphi-* variables and functions have been renamed to opascal-*.
536*** `delphi-newline-always-indents' is not supported any more.
537Use `electric-indent-mode' instead.
538*** `delphi-tab' is gone, replaced by `indent-for-tab-command'.
539
540** Package
541
542*** The format of `archive-contents' files, generated by package
543repositories, has changed to allow a new (fifth) element in the data
544vectors, containing an associative list with extra properties.
545
546*** `describe-package' buffer uses the `:url' extra property to
547display a `Homepage' header, if it's present.
548
549** Prolog mode
550
551*** `prolog-use-smie' has been removed, along with the non-SMIE
552indentation code.
553
554** Remember
555
556*** The new command `remember-notes' creates a buffer which is saved
557on `kill-emacs'.
558
559You may think of it as a *scratch* buffer whose content is preserved.
560In fact, it was designed as a replacement for *scratch* buffer and can
561be used that way by setting `initial-buffer-choice' to
562`remember-notes' and `remember-notes-buffer-name' to "*scratch*".
563Without the second change, *scratch* buffer will still be there for
564notes that do not need to be preserved.
565
566*** The Remember package can now store notes in separates files.
567You can use the new function `remember-store-in-files' within the
568`remember-handler-functions' option.
569
570See `remember-data-directory' and `remember-directory-file-name-format'
571for new options related to this function.
572
573** Rmail
574
575*** Customize `rmail-mbox-format' to influence some minor aspects of
576how Rmail displays non-MIME messages.
577
578---
579*** The `unrmail' command now converts from BABYL to mboxrd format,
580rather than mboxo. Customize `unrmail-mbox-format' to change this.
581
582** Ruby mode
583
584*** New option `ruby-encoding-magic-comment-style'.
585
586*** New option `ruby-custom-encoding-magic-comment-template'.
587
588*** New mode menu.
589
590*** Improved syntax highlighting and indentation.
591
592*** Add more Ruby file types to `auto-mode-alist'.
593
594*** New option `ruby-align-to-stmt-keywords'.
595
509** Search and Replace 596** Search and Replace
510 597
511*** New global command `M-s .' (`isearch-forward-symbol-at-point') 598*** New global command `M-s .' (`isearch-forward-symbol-at-point')
@@ -542,40 +629,32 @@ the first word (in addition to the lax matching of the last word).
542The same rules are now applied to the symbol search with the difference 629The same rules are now applied to the symbol search with the difference
543that it matches symbols, and non-symbol characters between symbols. 630that it matches symbols, and non-symbol characters between symbols.
544 631
545** MH-E has been updated to MH-E version 8.5. 632+++
546See MH-E-NEWS for details. 633** SES
547 634
548--- 635*** New command `ses-rename-cell' allows assigning names to SES cells.
549** The unrmail command converts from BABYL to mboxrd rather than mboxo.
550Customize `unrmail-mbox-format' to change this.
551 636
552--- 637** Shell
553** Similarly, customize `rmail-mbox-format' to influence some minor aspects
554of how Rmail displays non-MIME messages.
555 638
556+++ 639*** `explicit-bash-args' now always defaults to use --noediting.
557** New function `ses-rename-cell' to give SES cells arbitrary names. 640During initialization, Emacs no longer expends a process to decide
641whether it is safe to use Bash's --noediting option. These days
642--noediting is ubiquitous; it was introduced in 1996 in Bash version 2.
558 643
559** trace-function was largely rewritten. 644*** The SMIE indentation engine is now used by default.
560New features include:
561- no prompting for the destination buffer, unless a prefix-arg was used.
562- additionally to prompting for a destination buffer, when a prefix-arg is
563 used, the user can enter a "context", i.e. Lisp expression whose value at the
564 time the function is entered/exited will be printed along with the function
565 name and arguments. Useful to trace the value of (current-buffer) or
566 (point) when the function is invoked.
567 645
568** New command `delete-duplicate-lines' has new types of operation: 646** Shell Script mode
569When its arg ADJACENT is non-nil (when called interactively with C-u C-u)
570it works like the utility `uniq'. Otherwise by default it deletes
571duplicate lines everywhere in the region without regard to adjacency.
572When its arg KEEP-BLANKS is non-nil (when called interactively with
573C-u C-u C-u), duplicate blank lines are preserved.
574 647
575** New `cycle-spacing' command allows cycling between having just one 648*** `sh-mode' now has the mode own `add-log-current-defun-function'.
576space, no spaces, or reverting to the original spacing. Like 649You can pick the name of the function and the variables with `C-x 4 a'.
577`just-one-space' command it can handle or ignore newlines and 650
578leave different number of spaces. 651** SMIE indentation can be customized via `smie-config'.
652The customization can be guessed by Emacs by providing a sample indented
653file and letting SMIE learn from it.
654
655** Term mode
656
657*** New option `term-suppress-hard-newline'.
579 658
580** Todo mode has been rewritten and enhanced. 659** Todo mode has been rewritten and enhanced.
581New features include: 660New features include:
@@ -597,6 +676,15 @@ item files to the new format on initializing the first new todo file, or at any
597later time with the provided conversion command. The old version of 676later time with the provided conversion command. The old version of
598todo-mode.el has been made obsolete and renamed otodo-mode.el. 677todo-mode.el has been made obsolete and renamed otodo-mode.el.
599 678
679** trace-function was largely rewritten.
680New features include:
681- no prompting for the destination buffer, unless a prefix-arg was used.
682- additionally to prompting for a destination buffer, when a prefix-arg is
683 used, the user can enter a "context", i.e. Lisp expression whose value at the
684 time the function is entered/exited will be printed along with the function
685 name and arguments. Useful to trace the value of (current-buffer) or
686 (point) when the function is invoked.
687
600** Tramp 688** Tramp
601 689
602*** The experimental url syntax for remote file names is withdrawn. 690*** The experimental url syntax for remote file names is withdrawn.
@@ -619,75 +707,34 @@ which support POSIX ACLs.
619*** Handlers for `file-notify-add-watch' and `file-notify-rm-watch' 707*** Handlers for `file-notify-add-watch' and `file-notify-rm-watch'
620for remote machines which support filesystem notifications. 708for remote machines which support filesystem notifications.
621 709
622** VHDL mode 710** VC and related modes
623
624*** New options: `vhdl-actual-generic-name', `vhdl-beautify-options'.
625
626*** New commands: `vhdl-fix-statement-region', `vhdl-fix-statement-buffer'.
627
628** Woman
629
630*** The commands `woman-default-faces' and `woman-monochrome-faces'
631are obsolete. Customize the `woman-*' faces instead.
632
633** Eshell
634
635+++
636*** `eshell' now supports visual subcommands and options
637Eshell has been able to handle "visual" commands (interactive,
638non-line oriented commands such as top that require display
639capabilities not provided by eshell) by running them in an Emacs
640terminal emulator. See `eshell-visual-commands'.
641
642This feature has been extended to subcommands and options that make a
643usually line-oriented command a visual command. Typical examples are
644"git log" and "git <command> --help" which display their output in a
645pager by default. See `eshell-visual-subcommands' and
646`eshell-visual-options'.
647
648---
649*** Added Eshell-Tramp module
650External su and sudo commands are now the default; the internal,
651Tramp-using variants can still be used by enabling the eshell-tramp
652module.
653
654** Package
655
656*** The format of `archive-contents' files, generated by package
657repositories, has changed to allow a new (fifth) element in the data
658vectors, containing an associative list with extra properties.
659
660*** `describe-package' buffer uses the `:url' extra property to
661display a `Homepage' header, if it's present.
662
663** New term.el option `term-suppress-hard-newline'.
664 711
665** CEDET 712*** In VC directory mode, `D' displays diffs between VC-controlled
713whole tree revisions.
666 714
667*** EDE 715*** In VC directory mode, `L' lists the change log for the current VC
716controlled tree in a window.
668 717
669**** The cpp-root project now supports executing a compile command. 718*** In VC directory mode, `I' shows a log of changes that will be
670It can be set through the new :compile-command slot or the 719received with a pull operation.
671buffer-local variable `compile-command'.
672 720
673**** Better selection of include directories for the 'linux' project. 721*** `C-x v G' (globally) and `G' (in VC directory mode) ignores a file
674Include directories now support out-of-tree build directories and 722under current version control system. When called with a prefix
675target architecture auto-detection. 723argument, you can remove a file from the ignored file list.
676 724
677*** Semantic 725*** `cvs-append-to-ignore' has been renamed to `vc-cvs-append-to-ignore'
726because it is moved to vc-cvs.el.
678 727
679**** Improved detection of used namespaces in current scope in C++. 728** VHDL mode
680 729
681**** Parsing of default values for variables and function arguments in C/C++. 730*** New options: `vhdl-actual-generic-name', `vhdl-beautify-options'.
682They are also displayed by the summarize feature in the modeline.
683 731
684**** Improved parsing of function pointers in C/C++. 732*** New commands: `vhdl-fix-statement-region', `vhdl-fix-statement-buffer'.
685This also includes parsing of function pointers as function arguments.
686 733
687**** Parsing of C/C++ preprocessor macros which open new scope. 734** Woman
688For example, this enables parsing of macros which open new namespaces.
689 735
690**** Support for 'this' pointer in inline member functions in C++. 736*** The commands `woman-default-faces' and `woman-monochrome-faces'
737are obsolete. Customize the `woman-*' faces instead.
691 738
692** Obsolete packages: 739** Obsolete packages:
693 740
@@ -711,69 +758,33 @@ For example, this enables parsing of macros which open new namespaces.
711*** The Info-edit command is obsolete. Editing Info nodes by hand 758*** The Info-edit command is obsolete. Editing Info nodes by hand
712has not been relevant for some time. 759has not been relevant for some time.
713 760
714** Shell
715
716*** `explicit-bash-args' now always defaults to use --noediting.
717During initialization, Emacs no longer expends a process to decide
718whether it is safe to use Bash's --noediting option. These days
719--noediting is ubiquitous; it was introduced in 1996 in Bash version 2.
720
721+++
722** There is a new macro `skip-unless' for skipping ERT tests. See the manual.
723
724** Imenu
725
726*** New option `imenu-generic-skip-comments-and-strings'.
727
728** Ruby mode
729
730*** New option `ruby-encoding-magic-comment-style'.
731
732*** New option `ruby-custom-encoding-magic-comment-template'.
733
734*** New mode menu.
735
736*** Improved syntax highlighting and indentation.
737
738*** Add more Ruby file types to `auto-mode-alist'.
739
740*** New option `ruby-align-to-stmt-keywords'.
741
742** JS Mode
743
744*** Better indentation of multiple-variable declarations.
745If declaration spans several lines, variables on the following lines
746are lined up to the first one.
747
748*** We now recognize and better indent continuations in array
749comprehensions.
750
751*** New option `js-switch-indent-offset`.
752
753 761
754* New Modes and Packages in Emacs 24.4 762* New Modes and Packages in Emacs 24.4
755 763
756** New `superword-mode' in subword.el 764** New package `eww' is a built-in web browser.
765It is only available if Emacs is compiled with libxml2 support.
766
767** New minor mode `superword-mode', defined in subword.el
757`superword-mode' overrides the default word motion commands to treat 768`superword-mode' overrides the default word motion commands to treat
758symbol_words as a single word, similar to what `subword-mode' does and 769symbol_words as a single word, similar to what `subword-mode' does and
759using the same internal functions. 770using the same internal functions.
760 771
761** New nadvice.el package offering lighter-weight advice facilities. 772** New package nadvice.el offers lighter-weight advice facilities.
762It is layered as: 773It is layered as:
763- add-function/remove-function which can be used to add/remove code on any 774- add-function/remove-function which can be used to add/remove code on any
764 function-carrying place, such as process-filters or `<foo>-function' hooks. 775 function-carrying place, such as process-filters or `<foo>-function' hooks.
765- advice-add/advice-remove to add/remove a piece of advice on a named function, 776- advice-add/advice-remove to add/remove a piece of advice on a named function,
766 much like `defadvice' does. 777 much like `defadvice' does.
767 778
768** New frameset.el package. 779** New package frameset.el.
769It provides a set of operations to save a frameset (the state of all 780It provides a set of operations to save a frameset (the state of all
770or a subset of the existing frames and windows, somewhat similar to a 781or a subset of the existing frames and windows, somewhat similar to a
771frame configuration), both in-session and persistently, and restore it 782frame configuration), both in-session and persistently, and restore it
772at some point in the future. 783at some point in the future.
773 784
774+++ 785+++
775** The package filenotify.el provides an interface for file system 786** New package filenotify.el provides an interface for file system
776notifications. It requires, that Emacs is compiled with one of the 787notifications. It requires that Emacs be compiled with one of the
777low-level libraries gfilenotify.c, inotify.c or w32notify.c. 788low-level libraries gfilenotify.c, inotify.c or w32notify.c.
778 789
779 790
@@ -789,13 +800,16 @@ run. The new optional CHECK-TIMERS param allows for the prior behavior.
789** The syntax of ?» and ?« is now punctuation instead of matched parens. 800** The syntax of ?» and ?« is now punctuation instead of matched parens.
790Some languages match those as »...« and others as «...» so better stay neutral. 801Some languages match those as »...« and others as «...» so better stay neutral.
791 802
803** In compiled Lisp files, the header no longer includes a timestamp.
804
792** The default file coding for Emacs Lisp files is now utf-8. 805** The default file coding for Emacs Lisp files is now utf-8.
793(See file-coding-system-alist.) In most cases, this change is transparent, but 806(See `file-coding-system-alist'.) In most cases, this change is
794files that contain unusual characters without specifying an explicit coding 807transparent, but files that contain unusual characters without
795system may fail to load with obscure errors. 808specifying an explicit coding system may fail to load with obscure
796You should either convert them to utf-8 or add an explicit `coding:' cookie. 809errors. You should either convert them to utf-8 or add an explicit
810`coding:' cookie.
797 811
798** overriding-terminal-local-map does not replace the local keymaps any more. 812** `overriding-terminal-local-map' no longer replaces the local keymaps.
799It used to disable the minor mode, major mode, and text-property keymaps, 813It used to disable the minor mode, major mode, and text-property keymaps,
800whereas now it simply has higher precedence. 814whereas now it simply has higher precedence.
801 815
@@ -842,13 +856,34 @@ for something (not just adding elements to it), it ought not to affect you.
842 856
843* Lisp Changes in Emacs 24.4 857* Lisp Changes in Emacs 24.4
844 858
859** New variable `enable-dir-local-variables'.
860Directory-local variables are ignored if this is set to nil. This may
861be useful for modes that want to ignore directory-locals while still
862respecting file-local variables.
863
864** New macro `define-alternatives' can be used to define generic commands.
865Generic commands are interactive functions whose implementation can be
866selected among several alternatives, as a matter of user preference.
867
868** New function `get-pos-property'.
869
870** Minibuffer changes
871
872*** completing-read-multiple's separator can now be a regexp.
873The default separator is changed to allow surrounding spaces around the comma.
874
875*** New option `read-regexp-defaults-function' defines the function
876that provides the default value for commands that ask for a regexp:
877`rgrep', `lgrep' `occur', `multi-occur', `multi-occur-in-matching-buffers',
878`highlight-regexp', `highlight-lines-matching-regexp', `highlight-phrase'.
879This option can be customized to values that provide a default value
880from the regexp last history element or from the symbol found at point.
881
845** New option `load-prefer-newer', if non-nil, means that when both 882** New option `load-prefer-newer', if non-nil, means that when both
846.el and .elc versions of a file exist, rather than `load' always 883.el and .elc versions of a file exist, rather than `load' always
847choosing the .elc version, it will choose whichever is newer 884choosing the .elc version, it will choose whichever is newer
848(unless you explicitly specify one or the other). 885(unless you explicitly specify one or the other).
849 886
850** New function get-pos-property.
851
852** New hook `pre-redisplay-function'. 887** New hook `pre-redisplay-function'.
853 888
854+++ 889+++
@@ -925,13 +960,33 @@ the start and end of each substring.
925 960
926** `get-upcase-table' is obsoleted by the new `case-table-get-table'. 961** `get-upcase-table' is obsoleted by the new `case-table-get-table'.
927 962
928** Support for filesystem notifications. 963** File-handling changes
964
965*** Support for filesystem notifications.
929Emacs now supports notifications of filesystem changes, such as 966Emacs now supports notifications of filesystem changes, such as
930creation, modification, and deletion of files. This requires the 967creation, modification, and deletion of files. This requires the
931`glib' API, or the 'inotify' API (on GNU/Linux systems only). On 968`glib' API, or the 'inotify' API (on GNU/Linux systems only). On
932MS-Windows systems, this is supported for Windows XP and newer 969MS-Windows systems, this is supported for Windows XP and newer
933versions. 970versions.
934 971
972*** The 9th element returned by `file-attributes' is now unspecified.
973Formerly, it was t if the file's gid would change if file were deleted
974and recreated. This value has been inaccurate for years on many
975platforms, and nobody seems to have noticed or cared.
976
977*** The 6th argument to `copy-file' has been renamed to
978PRESERVE-EXTENDED-ATTRIBUTES as it now handles both SELinux context
979and ACL entries.
980
981*** The function `file-ownership-preserved-p' now has an optional
982argument GROUP which causes it check for file group too. This can be
983used in place of the 9th element of `file-attributes'.
984
985
986*** The function `set-visited-file-modtime' now accepts a 0 or -1
987argument, with the same interpretation as the returned value of
988`visited-file-modtime'.
989
935** Changes in autorevert.el 990** Changes in autorevert.el
936 991
937--- 992---
@@ -953,6 +1008,9 @@ Its third arg now accepts values specifying exactly which face spec to
953set (defface, custom, or user spec), and it directly sets the relevant 1008set (defface, custom, or user spec), and it directly sets the relevant
954property using the supplied face spec. 1009property using the supplied face spec.
955 1010
1011*** New function `add-face-text-property', which can be used to
1012conveniently prepend/append new face properties.
1013
956*** Face specs set via Custom themes now replace the `defface' spec 1014*** Face specs set via Custom themes now replace the `defface' spec
957rather than inheriting from it (as do face specs set via Customize). 1015rather than inheriting from it (as do face specs set via Customize).
958 1016
@@ -1031,11 +1089,10 @@ These attributes are only meaningful for coding-systems of type
1031`:coding-type' attribute and can be accessed by calling the 1089`:coding-type' attribute and can be accessed by calling the
1032`coding-system-type' function.) 1090`coding-system-type' function.)
1033 1091
1034** The function `set-visited-file-modtime' now accepts a 0 or -1 argument 1092** `time-to-seconds' is not obsolete any more.
1035with the same interpretation as the returned value of `visited-file-modtime'. 1093
1094** New functions `special-form-p' and `macrop'.
1036 1095
1037** time-to-seconds is not obsolete any more.
1038** New functions special-form-p and macrop.
1039** Docstrings can be made dynamic by adding a `dynamic-docstring-function' 1096** Docstrings can be made dynamic by adding a `dynamic-docstring-function'
1040text-property on the first char. 1097text-property on the first char.
1041 1098
@@ -1053,21 +1110,8 @@ Emacs now no longer locks DIR/FILE in that case.
1053On file systems that do not support symbolic links, the lock is now a 1110On file systems that do not support symbolic links, the lock is now a
1054regular file with contents being what would have been in the symlink. 1111regular file with contents being what would have been in the symlink.
1055 1112
1056** The 9th element returned by `file-attributes' is now unspecified.
1057Formerly, it was t if the file's gid would change if file were deleted
1058and recreated. This value has been inaccurate for years on many
1059platforms, and nobody seems to have noticed or cared.
1060
1061** The function `file-ownership-preserved-p' now has an optional
1062argument GROUP which causes it check for file group too. This can be
1063used in place of the 9th element of `file-attributes'.
1064
1065** New functions `group-gid' and `group-real-gid'. 1113** New functions `group-gid' and `group-real-gid'.
1066 1114
1067** The 6th argument to `copy-file' has been renamed to
1068`preserve-extended-attributes' as it now handles both SELinux context
1069and ACL entries.
1070
1071** The `common-substring' argument of display-completion-list is obsolete. 1115** The `common-substring' argument of display-completion-list is obsolete.
1072Either use `completion-all-completions' which already returns highlighted 1116Either use `completion-all-completions' which already returns highlighted
1073strings (including for partial or substring completion) or call 1117strings (including for partial or substring completion) or call