Add :distant-foreground to faces.
[bpt/emacs.git] / etc / NEWS
index 8bf72dd..4fed04d 100644 (file)
--- a/etc/NEWS
+++ b/etc/NEWS
@@ -34,6 +34,10 @@ build time.  To prevent this, use the configure option
 `--with-file-notification-no'.  See below for file-notify features.
 FIXME?  This feature is not available for the Nextstep port. (?)
 
+** The configure option `without-compress-info' has been generalized,
+and renamed to `without-compress-install'.  It now prevents compression
+of _any_ files during installation.
+
 ** The configure option --with-crt-dir has been removed.
 It is no longer needed, as the crt*.o files are no longer linked
 specially.
@@ -50,12 +54,33 @@ and zlib-format compressed data.
 ** Emacs for NS (OSX, GNUStep) can be built with ImageMagick support.
 pkg-config is required to find ImageMagick libraries.
 
+** For OSX >= 10.5, the Core text based font backend from the Mac port is used.
+For GNUStep and OSX 10.4 the old backend is used.
+To use the old backend by default, do on the command line:
+% defaults write org.gnu.Emacs FontBackend ns
+
 \f
 * Startup Changes in Emacs 24.4
 
 \f
 * Changes in Emacs 24.4
 
++++
+** Emacs now supports menus on text-mode terminals.
+If the terminal supports a mouse, clicking on the menu bar, or on
+sensitive portions of the mode line or header line, will drop down the
+menu defined at that position.  Likewise, clicking C-mouse-2 or
+C-mouse-2 or C-mouse-3 on the text area will pop up the menus defined
+for those locations.
+
+If the text terminal does not support a mouse, you can activate the
+first menu-bar menu by typing F10, which invokes `menu-bar-open'.
+
+If you want the previous behavior, whereby F10 invoked `tmm-menubar',
+customize the option `tty-menu-open-use-tmm' to a non-nil value.
+(Typing M-` will always invoke `tmm-menubar', even if
+`tty-menu-open-use-tmm' is nil.)
+
 ** Key ? also describes prefix bindings like C-h.
 
 +++
@@ -84,6 +109,10 @@ simply disabling Transient Mark mode does the same thing.
 ** `initial-buffer-choice' can now specify a function to set up the
 initial buffer.
 
+** The *Messages* buffer is created in a new major mode `messages-buffer-mode',
+and read-only.  Code that might create the *Messages* buffer should
+call the function `messages-buffer' to do so and set the mode.
+
 ** `remember-notes' creates a buffer whose content is saved on kill-emacs.
 You may think of it as a *scratch* buffer whose content is preserved.
 In fact, it was designed as a replacement for *scratch* buffer and can
@@ -141,9 +170,25 @@ not consume CPU cycles.
 some enhancements, like the ability to restore deleted frames.  Command
 `frame-configuration-to-register' is still available, but unbound.
 
+** The command `quail-help' is deleted.  Use `C-h C-\'
+(`describe-input-method') instead.
+
+** The default value of `comment-use-global-state' is changed to t,
+and this variable has been marked obsolete.
+
 \f
 * Editing Changes in Emacs 24.4
 
+** New command `rectangle-mark' 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.
+
+** `tab-stop-list' is now implicitly extended to infinity by repeating
+the last step.  Its default value is changed to nil which means a tab
+stop every `tab-width' columns.
+
 ** `split-window' is no longer a command, just a non-interactive function.
 As a command it was a special case of `split-window-below', and as such
 superfluous.  After being reimplemented in Lisp, its interactive form
@@ -162,6 +207,8 @@ visual order of characters on the screen: <left> always moves to the
 left, <right> always moves to the right, disregarding the surrounding
 bidirectional context.
 
+** All register commands can now show help with preview.
+
 ** New command `kmacro-to-register' to store keyboard macros in registers.
 
 ** Shell Script mode
@@ -172,6 +219,14 @@ 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
 
+** prolog-use-smie has been removed, along with the non-SMIE indentation code.
+
+** SMIE indentation can be customized via `smie-config'.
+The customizaton 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.
+
 ** 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.
@@ -262,8 +317,15 @@ whole tree revisions.
 *** In VC directory mode, `L' lists the change log for the current VC
 controlled tree in a window.
 
-*** `C-x v G' (globally) and `G' (in VC directory mode) ignores a
-file under current version control system.
+*** In VC directory mode, `I' shows a log of changes that will be
+received with a pull operation.
+
+*** `C-x v G' (globally) and `G' (in VC directory mode) ignores a file
+under current version control system.  When called with a prefix
+argument, you can remove a file from the ignored file list.
+
+*** `cvs-append-to-ignore' has been renamed to `vc-cvs-append-to-ignore'
+because it is moved to vc-cvs.el.
 
 ** cl-lib
 
@@ -331,6 +393,10 @@ This is useful to avoid a query when you have no key for that name.
 *** key bindings to navigate through and select the completions.
 *** The icomplete-separator is customizable, and its default has changed.
 *** Removed icomplete-show-key-bindings.
+*** Icomplete-mode by defaults applies to all forms of minibuffer completion.
+(setq icomplete-with-completion-tables '(internal-complete-buffer))
+will revert to the old behavior.
+
 
 ** Ido
 *** Ido has a manual now.
@@ -460,6 +526,8 @@ todo-mode.el has been made obsolete and renamed otodo-mode.el.
 
 ** Tramp
 
+*** The experimental url syntax for remote file names is withdrawn.
+
 +++
 *** New connection method "adb", which allows to access Android
 devices by the Android Debug Bridge.  The variable `tramp-adb-program'
@@ -496,6 +564,15 @@ External su and sudo commands are now the default; the internal,
 Tramp-using variants can still be used by enabling the eshell-tramp
 module.
 
+** Package
+
+*** The format of `archive-contents' files, generated by package
+repositories, has changed to allow a new (fifth) element in the data
+vectors, containing an associative list with extra properties.
+
+*** `describe-package' buffer uses the `:url' extra property to
+display a `Homepage' header, if it's present.
+
 ** New term.el option `term-suppress-hard-newline'.
 
 ** Obsolete packages:
@@ -525,6 +602,9 @@ 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.
+
 \f
 * New Modes and Packages in Emacs 24.4
 
@@ -554,6 +634,11 @@ 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.
+
 ** `defvar' and `defcustom' in a let-binding affect the "external" default.
 
 ** The syntax of ?» and ?« is now punctuation instead of matched parens.
@@ -603,9 +688,42 @@ file using `set-file-extended-attributes'.
 ** `visited-file-modtime' now returns -1 for nonexistent files.
 Formerly it returned a list (-1 LOW USEC PSEC), but this was ambiguous
 in the presence of files with negative time stamps.
+
+** The cars of the elements in `interpreter-mode-alist' are now treated
+as regexps rather than literal strings.  Technically this is an
+incompatible change, but unless you are using interpreter-mode-alist
+for something (not just adding elements to it), it ought not to affect you.
+
 \f
 * Lisp Changes in Emacs 24.4
 
+** New hook `pre-redisplay-function'.
+
++++
+** Functions that pop up menus and dialogs now work on all terminal types,
+including TTYs.
+This includes `x-popup-menu', `x-popup-dialog', `message-box',
+`yes-or-no-p', etc.
+
+The function `display-popup-menus-p' will now return non-nil for a
+display or frame whenever a mouse is supported on that display or
+frame.
+
+** New bool-vector set operation functions:
+*** `bool-vector-exclusive-or'
+*** `bool-vector-union'
+*** `bool-vector-intersection'
+*** `bool-vector-set-difference'
+*** `bool-vector-not'
+*** `bool-vector-subsetp'
+*** `bool-vector-count-matches'
+*** `bool-vector-count-matches-at'
+
+** Comparison functions =, <, >, <=, >= now take many arguments.
+
+** The second argument of `eval' can now be a lexical-environment.
+
+** `with-demoted-errors' takes an additional argument `format'.
 +++
 ** New function `define-error'.
 
@@ -670,6 +788,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 is near the foreground that would
+otherwise have been used.
+
 ** Image API
 
 +++
@@ -753,6 +875,11 @@ used in place of the 9th element of `file-attributes'.
 `preserve-extended-attributes' as it now handles both SELinux context
 and ACL entries.
 
+** The `common-substring' argument of display-completion-list is obsolete.
+Either use `completion-all-completions' which already returns highlighted
+strings (including for partial or substring completion) or call
+`completion-hilit-commonality' to add the highlight.
+
 ** Changes to the Emacs Lisp Coding Conventions in Emacs 24.4
 
 *** The package descriptor and name of global variables, constants,
@@ -762,12 +889,10 @@ meant to be used by other packages.
 \f
 * Changes in Emacs 24.4 on Non-Free Operating Systems
 
-** Emacs for MS-Windows can now be built by running the configure script
-using the MSYS environment and MinGW development tools.
-This is from now on the preferred method of building Emacs on
-MS-Windows.  The Windows-specific configure.bat and makefile.w32-in
-files are deprecated.  See the file nt/INSTALL.MSYS for detailed
-instructions.
+** The procedure for building Emacs on MS-Windows has changed.
+It is now built by running the same configure script as on all other
+platforms.  This requires the MSYS environment and MinGW development
+tools.  See the updated instructions in nt/INSTALL for details.
 
 Using the Posix configure script and Makefile's also means a change in
 the directory structure of the Emacs installation on Windows.  It is