* lisp/desktop.el (desktop-auto-save-timeout): Change default to
[bpt/emacs.git] / etc / NEWS
index 247da3f..0977acc 100644 (file)
--- a/etc/NEWS
+++ b/etc/NEWS
@@ -62,6 +62,27 @@ To use the old backend by default, do on the command line:
 \f
 * Startup Changes in Emacs 24.4
 
++++
+** When initializing `load-path', an empty element in the EMACSLOADPATH
+environment variable (either leading, e.g., ":/foo"; trailing, e.g.,
+"/foo:"; or embedded, e.g., "/foo::/bar") is replaced with the default
+load-path (the one that would have been used if EMACSLOADPATH was unset).
+This makes it easier to _extend_ the load-path via EMACSLOADPATH
+(previously, EMACSLOADPATH had to specify the complete load-path,
+including the defaults).  (In older versions of Emacs, an empty element
+was replaced by ".", so use an explicit "." now if that is what you want.)
+
++++
+** The -L option, which normally prepends its argument to load-path,
+will instead append, if the argument begins with `:' (or `;' on MS Windows;
+i.e., `path-separator').
+
++++
+** If you use either site-load.el or site-init.el to customize the dumped
+Emacs executable, any changes to `load-path' that these files make
+will no longer be present after dumping.  To affect a permanent change
+to `load-path', use the `--enable-locallisppath' option of `configure'.
+
 \f
 * Changes in Emacs 24.4
 
@@ -156,10 +177,13 @@ monitor, use the new functions above.  Similar notes also apply to
 `x-display-pixel-width', `x-display-pixel-height', `display-mm-width',
 `display-mm-height', `x-display-mm-width', and `x-display-mm-height'.
 
-** New macro `alternatives-define' can be used to define generic commands.
+** New macro `define-alternatives' can be used to define generic commands.
 Generic commands are interactive functions whose implementation can be
 selected among several alternatives, as a matter of user preference.
 
+** New hooks `focus-in-hook', `focus-out-hook'.
+These are normal hooks run when an Emacs frame gains or loses input focus.
+
 ** The blink cursor stops blinking after 10 blinks (default) on X and NS.
 You can change the default by customizing the variable blink-cursor-blinks.
 Also timers for blinking are stopped when no blinking is done, so Emacs does
@@ -176,9 +200,22 @@ some enhancements, like the ability to restore deleted frames.  Command
 ** The default value of `comment-use-global-state' is changed to t,
 and this variable has been marked obsolete.
 
+** `fill-single-char-nobreak-p' prevents fill from breaking a line after
+a 1-letter word, which is an error according to Polish and
+Czech typography rules.  To globally enable this feature, evaluate:
+
+  (add-hook 'fill-nobreak-predicate 'fill-single-char-nobreak-p)
+
 \f
 * Editing Changes in Emacs 24.4
 
+** `electric-indent-mode' is enabled by default.
+
+** Uniquify is enabled by default with post-forward-angle-brackets style.
+
+** Command `rectangle-mark-mode' bound to C-x SPC makes a rectangular region.
+Most commands are still unaware of it, but kill/yank do work on the rectangle.
+
 ** C-x TAB enters a transient interactive mode.
 You can then use the left/right cursor keys to move the block of text.
 
@@ -216,9 +253,23 @@ You can pick the name of the function and the variables with `C-x 4 a'.
 \f
 * Changes in Specialized Modes and Packages in Emacs 24.4
 
-** The debugger's `e' command evaluates the code in the context at point.
-This includes using the lexical environment at point, which means that
-`e' now lets you access lexical variables as well.
+** CUA-mode
+*** CUA-mode was changed to make use of delete-selection-mode and
+shift-select-mode.  So you can now enable it independently from
+transient-mark-mode, delete-selection-mode, and shift-select-mode.
+As a result, cua-highlight-region-shift-only is obsolete
+(you can disable transient-mark-mode to get the same result).
+*** CUA's rectangles can now be used via `cua-rectangle-mark-mode'.
+
+** `delete-selection-mode' can be used without transient-mark-mode.
+
+** prolog-use-smie has been removed, along with the non-SMIE indentation code.
+
+** SMIE indentation can be customized via `smie-config'.
+The customization can be guessed by Emacs by providing a sample indented
+file and letting SMIE learn from it.
+
+** sh-script now uses its SMIE indentation algorithm by default.
 
 ** `eshell' now supports visual subcommands and options
 Eshell has been able to handle "visual" commands (interactive,
@@ -277,6 +328,12 @@ Use `electric-indent-mode' instead.
 ** completing-read-multiple's separator can now be a regexp.
 The default separator is changed to allow surrounding spaces around the comma.
 
+** The backtrace debugger and local variables:
+*** The debugger's `e' command evaluates the code in the context at point.
+This includes using the lexical environment at point, which means that
+`e' now lets you access lexical variables as well.
+*** The backtrace debugger can display local vars with `v'.
+
 ** Battery
 
 *** Battery information via the BSD `apm' utility is now supported.
@@ -341,8 +398,8 @@ on the given date.
 
 ** Desktop
 
-*** `desktop-auto-save-timeout' defines the number of seconds between
-auto-saves of the desktop.
+*** `desktop-auto-save-timeout' defines the number of seconds idle time
+before auto-save of the desktop.
 
 *** `desktop-restore-frames', enabled by default, allows saving and
 restoring the frame/window configuration (frameset).  Additional options
@@ -387,6 +444,14 @@ This is useful to avoid a query when you have no key for that name.
 will revert to the old behavior.
 
 
+** New features for Octave mode:
+*** Font locking for texinfo comments and new keywords
+*** Completion in Octave file buffers
+*** Eldoc support
+*** Jump to definition
+*** Documentation lookup/search
+*** Code cleanup and various bug fixes
+
 ** Ido
 *** Ido has a manual now.
 *** `ido-use-virtual-buffers' takes a new value 'auto.
@@ -564,8 +629,37 @@ display a `Homepage' header, if it's present.
 
 ** New term.el option `term-suppress-hard-newline'.
 
+** CEDET
+
+*** EDE
+
+**** The cpp-root project now supports executing a compile command.
+It can be set through the new :compile-command slot or the
+buffer-local variable `compile-command'.
+
+**** Better selection of include directories for the 'linux' project.
+Include directories now support out-of-tree build directories and
+target architecture auto-detection.
+
+*** Semantic
+
+**** Improved detection of used namespaces in current scope in C++.
+
+**** Parsing of default values for variables and function arguments in C/C++.
+They are also displayed by the summarize feature in the modeline.
+
+**** Improved parsing of function pointers in C/C++.
+This also includes parsing of function pointers as function arguments.
+
+**** Parsing of C/C++ preprocessor macros which open new scope.
+For example, this enables parsing of macros which open new namespaces.
+
+**** Support for 'this' pointer in inline member functions in C++.
+
 ** Obsolete packages:
 
+*** Iswitchb is made obsolete by icomplete-mode.
+
 *** longlines.el is obsolete; use visual-line-mode instead.
 
 +++
@@ -591,6 +685,36 @@ During initialization, Emacs no longer expends a process to decide
 whether it is safe to use Bash's --noediting option.  These days
 --noediting is ubiquitous; it was introduced in 1996 in Bash version 2.
 
++++
+** There is a new macro `skip-unless' for skipping ERT tests.  See the manual.
+
+** Imenu
+
+*** New option `imenu-generic-skip-comments-and-strings'.
+
+** Ruby mode
+
+*** New option `ruby-encoding-magic-comment-style'.
+
+*** New option `ruby-custom-encoding-magic-comment-template'.
+
+*** New mode menu.
+
+*** Improved syntax highlighting and indentation.
+
+*** Add more Ruby file types to `auto-mode-alist'.
+
+** JS Mode
+
+*** Better indentation of multiple-variable declarations.
+If declaration spans several lines, variables on the following lines
+are lined up to the first one.
+
+*** We now recognize and better indent continuations in array
+comprehensions.
+
+*** New option `js-switch-indent-offset`.
+
 \f
 * New Modes and Packages in Emacs 24.4
 
@@ -620,6 +744,8 @@ low-level libraries gfilenotify.c, inotify.c or w32notify.c.
 \f
 * Incompatible Lisp Changes in Emacs 24.4
 
+** `kill-region' lost its `yank-handler' optional argument.
+
 ** `(input-pending-p)' no longer runs other timers which are ready to
 run.  The new optional CHECK-TIMERS param allows for the prior behavior.
 
@@ -681,6 +807,10 @@ for something (not just adding elements to it), it ought not to affect you.
 \f
 * Lisp Changes in Emacs 24.4
 
+** New function get-pos-property.
+
+** New hook `pre-redisplay-function'.
+
 +++
 ** Functions that pop up menus and dialogs now work on all terminal types,
 including TTYs.
@@ -698,8 +828,8 @@ frame.
 *** `bool-vector-set-difference'
 *** `bool-vector-not'
 *** `bool-vector-subsetp'
-*** `bool-vector-count-matches'
-*** `bool-vector-count-matches-at'
+*** `bool-vector-count-consecutive'
+*** `bool-vector-count-population'
 
 ** Comparison functions =, <, >, <=, >= now take many arguments.
 
@@ -714,6 +844,17 @@ frame.
 +++
 ** New macro with-eval-after-load.  Like eval-after-load, but better behaved.
 
+** New library helpers.el for misc helper functions
+*** `hash-table-keys'
+*** `hash-table-values'
+*** `string-blank-p`
+*** `string-empty-p`
+*** `string-join`
+*** `string-reverse`
+*** `string-trim-left'
+*** `string-trim-right'
+*** `string-trim'
+
 ** Obsoleted functions:
 *** `log10'
 *** `dont-compile'
@@ -730,10 +871,15 @@ The few hooks that used with-wrapper-hook are replaced as follows:
 *** `completion-in-region-function' obsoletes `completion-in-region-functions'.
 *** `filter-buffer-substring-function' obsoletes `filter-buffer-substring-functions'.
 
+** `byte-compile-interactive-only-functions' is now obsolete.
+It has been replaced by the symbol property 'interactive-only.
+
 ** `split-string' now takes an optional argument TRIM.
 The value, if non-nil, is a regexp that specifies what to trim from
 the start and end of each substring.
 
+** New function `string-suffix-p'.
+
 ** `get-upcase-table' is obsoleted by the new `case-table-get-table'.
 
 ** Support for filesystem notifications.
@@ -770,6 +916,10 @@ rather than inheriting from it (as do face specs set via Customize).
 *** New face characteristic (supports :underline (:style wave))
 specifies whether or not the terminal can display a wavy line.
 
+*** New face spec attribute :distant-foreground
+specifies foreground to use if background color is near the foreground
+color that would otherwise have been used.
+
 ** Image API
 
 +++
@@ -787,6 +937,28 @@ and setting the current frame of a multi-frame image.
 
 *** You can change the speed of animated images.
 
+** EIEIO
+
+*** Namespace cleanup by obsolete-aliasing functions to use `eieio-' prefix.
+**** object-name -> eieio-object-name
+**** object-class -> eieio-object-class
+**** object-class-fast -> eieio--object-class
+**** object-name-string -> eieio-object-name-string
+**** object-num-slots -> eieio--object-num-slots
+**** object-set-name-string -> eieio-object-set-name-string
+**** class-parent -> eieio-class-parent
+**** class-parents -> eieio-class-parents
+**** class-children -> eieio-class-children
+**** class-num-slots -> eieio--class-num-slots
+**** class-precedence-list -> eieio-class-precedence-list
+**** All generated class-* and object-* field accessors are now
+prefixed with `eieio-' as well.
+
+*** Obsoleted functions:
+**** class-of
+**** class-direct-subclasses
+**** class-direct-superclasses
+
 ** Changes in encoding and decoding of text
 
 ---
@@ -884,6 +1056,14 @@ files are in share/emacs/VERSION/etc.  (Emacs knows about all these
 directories and will find the files in there automatically; there's no
 need to set any variables due to this change.)
 
++++
+** Emacs on Windows 2000 and later can now access files and directories
+whose names cannot be encoded in the current system codepage.
+
+The new variable `w32-unicode-filenames' controls this feature: if it
+is t, Emacs uses Unicode APIs to pass file names to system calls,
+which lifts the limitation of file names to the current locale.
+
 +++
 ** The "generate a backtrace on fatal error" feature now works on MS Windows.
 The backtrace is written to the 'emacs_backtrace.txt' file in the
@@ -1752,6 +1932,13 @@ reused.
 *** New option `switch-to-buffer-preserve-window-point' to restore a
 window's point when switching buffers.
 
+*** New display action function `display-buffer-no-window' to not
+display the buffer in a window.
+
+*** New display action alist entry `allow-no-window' to indicate the
+caller of `display-buffer' is ready to handle the case of not
+displaying the buffer in a window.
+
 *** New display action alist entries `window-height' and `window-width'
 specify the size of new windows created by `display-buffer'.