]> code.delx.au - gnu-emacs/blobdiff - etc/NEWS
Rework count-words-region. New command count-words.
[gnu-emacs] / etc / NEWS
index bbaa46c722221b87e151892f5c827d87b2e8fb9b..e3453b3a92fc48e2041492082c73736e0846c692 100644 (file)
--- a/etc/NEWS
+++ b/etc/NEWS
@@ -96,14 +96,16 @@ and also when HOME is set to C:\ by default.
 
 *** shell-mode uses pcomplete rules, with the standard completion UI.
 
-*** Many packages have been changed to use completion-at-point rather than
-their own completion code.
+*** Many packages have been changed to use `completion-at-point'
+rather than their own completion code.
 
+*** `completion-at-point' now handles tags and semantic completion.
+---
 *** Completion in a non-minibuffer now tries to detect the end of completion
 and pops down the *Completions* buffer accordingly.
 
 *** Completion can cycle, depending on completion-cycle-threshold.
-
++++
 *** New completion style `substring'.
 
 *** Completion style can be set per-category `completion-category-overrides'.
@@ -156,6 +158,15 @@ If you had that set, then then you need to put
 
 in your ~/.authinfo file instead.
 
+*** sendmail changes
++++
+You can now add MIME attachments to outgoing messages with the new
+command `mail-add-attachment'.
+
+---
+The command `mail-attach-file' was renamed to `mail-insert-file'; the
+old name is now an obsolete alias to the new name.
+
 ** Emacs server and client changes
 +++
 *** New option `server-port' specifies the port on which the Emacs
@@ -239,6 +250,7 @@ theme when Emacs is built with GTK.
 *** Emacs uses GTK tooltips by default if built with GTK.  You can turn that
 off by customizing x-gtk-use-system-tooltips.
 
++++
 ** New basic faces `error', `warning', `success' are available to
 highlight strings that indicate failure, caution or successful operation.
 
@@ -278,15 +290,19 @@ If you have code that adds something to kill-emacs-hook, you should
 consider if it is still appropriate to add it in the noninteractive case.
 
 ** Scrolling changes
-
++++
 *** New scrolling commands `scroll-up-command' and `scroll-down-command'
 (bound to C-v/[next] and M-v/[prior]) do not signal errors at top/bottom
 of buffer at first key-press (instead move to top/bottom of buffer)
-when a new variable `scroll-error-top-bottom' is non-nil.
+when `scroll-error-top-bottom' is non-nil.
+
++++
+*** New variable `scroll-error-top-bottom' (see above).
 
 *** New scrolling commands `scroll-up-line' and `scroll-down-line'
 scroll a line instead of full screen.
 
++++
 *** New property `scroll-command' should be set on a command's symbol to
 define it as a scroll command affected by `scroll-preserve-screen-position'.
 
@@ -376,6 +392,51 @@ by default.
 *** `menu-bar-select-buffer-function' lets you choose another operation
 instead of `switch-to-buffer' when selecting an item in the Buffers menu.
 
+** Window changes
+
++++
+*** Resizing an Emacs frame now preserves proportional window sizes,
+modulo restrictions like window minimum sizes and fixed-size windows.
+
+*** The behavior of `display-buffer' is now customizable in detail.
++++
+**** New option `display-buffer-base-action' specifies a list of
+user-determined display "actions" (functions and optional arguments
+for choosing the displaying window).
+
+This takes precedence over the default display action, which is
+specified by `display-buffer-fallback-action'.
+
++++
+**** New option `display-buffer-alist' maps buffer name regexps to
+display actions, taking precedence over `display-buffer-base-action'.
+
++++
+*** New option `window-nest'.
+The new option `window-nest' allows to return the space obtained for
+resizing or creating a window more reliably to the window from which
+such space was obtained.
+
++++
+*** New option `window-splits'.
+The new option `window-splits' allows to split a window that otherwise
+cannot be split because it's too small by stealing space from other
+windows in the same combination.
+
++++
+*** New commands `maximize-window' and `minimize-window'.
+These maximize and minize the size of a window within its frame.
+
++++
+*** New commands `switch-to-prev-buffer' and `switch-to-next-buffer'.
+These functions allow to navigate through the live buffers that have
+been shown in a specific window.
+
++++
+*** New functions `window-state-get' and `window-state-put'.
+These functions allow to save and restore the state of an arbitrary
+frame or window as an Elisp object.
+
 ** The inactive minibuffer has its own major mode `minibuffer-inactive-mode'.
 This is handy for minibuffer-only frames, and is also used for the "mouse-1
 pops up *Messages*" feature, which can now easily be changed.
@@ -394,13 +455,14 @@ isearch-yank-kill.
 *** M-s C-e in Isearch is now bound to isearch-yank-line.
 
 +++
-** New command `count-words-region'.  This does what you expect.
+** New commands `count-words-region' and `count-words'.
 
-** completion-at-point now handles tags and semantic completion.
+*** `count-lines-region' is now an alias for `count-words-region',
+bound to M-=, which shows the number of lines, words, and characters.
 
 ** The default value of `backup-by-copying-when-mismatch' is now t.
 
-** The command `just-one-space' (C-SPC), if given a negative argument,
+** The command `just-one-space' (M-SPC), if given a negative argument,
 also deletes newlines around point.
 
 ** Deletion changes
@@ -483,12 +545,15 @@ between applications.
 To inhibit this, change `x-select-enable-clipboard-manager' to nil.
 
 ** New command `rectangle-number-lines', bound to `C-x r N', numbers
-the lines in the current rectangle.  With an prefix argument, this
+the lines in the current rectangle.  With a prefix argument, this
 prompts for a number to count from and for a format string.
 
-** The command shell prompts for the shell path name, when the default
-directory is a remote file name and neither environment variable
-$ESHELL nor variable `explicit-shell-file-name' is set.
++++
+** The default value of redisplay-dont-change is now t
+This makes Emacs feel more responsive to editing commands that arrive
+at high rate, e.g. if you lean on some key, because stopping redisplay
+in the middle (when this variable is nil) forces more expensive
+updates later on, and Emacs appears to be unable to keep up.
 
 \f
 * Changes in Specialized Modes and Packages in Emacs 24.1
@@ -644,7 +709,7 @@ consult.
 
 ** The Landmark game is now invoked with `landmark', not `lm'.
 
-** MH-E has been upgraded to MH-E version 8.2.93.
+** MH-E has been upgraded to MH-E version 8.3.
 See MH-E-NEWS for details.
 
 ** Modula-2 mode provides auto-indentation.
@@ -660,8 +725,17 @@ more variants, including Mercury, and a lot more.
 *** The command `rmail-epa-decrypt' decrypts OpenPGP data
 in the Rmail incoming message.
 
-** shell-mode can track your cwd by reading it from your prompt.
-Just set shell-dir-cookie-re to an appropriate regexp.
+** Shell mode
+
+*** Shell mode uses pcomplete rules, with the standard completion UI.
+
+*** The `shell' command prompts for the shell path name if the default
+directory is a remote file name and neither the environment variable
+$ESHELL nor the variable `explicit-shell-file-name' is set.
+
+*** New variable `shell-dir-cookie-re'.
+If set to an appropriate regexp, Shell mode can track your cwd by
+reading it from your prompt.
 
 ---
 ** SQL Mode enhancements.
@@ -804,7 +878,7 @@ They are superseded by shift-select-mode enabled by default in 23.1.
 * New Modes and Packages in Emacs 24.1
 
 ** Occur Edit mode applies edits made in *Occur* buffers to the
-original buffers.  It is bound to C-x C-q in Occur mode.
+original buffers.  It is bound to "e" in Occur mode.
 
 ** New global minor modes electric-pair-mode, electric-indent-mode,
 and electric-layout-mode.
@@ -951,12 +1025,93 @@ of the line.
 
 ** Window changes
 
++++
+*** Window tree functions are accessible in Elisp.
+Functions are provided to return the parent, siblings or child windows
+of any window including internal windows (windows not associated with a
+buffer) in the window tree.
+
++++
+*** Window manipulation can deal with internal windows.
+Many window handling functions like `split-window', `delete-window', or
+`delete-other-windows' as well as the window resizing functions can now
+act on any window including internal ones.
+
++++
+*** window-total-height/-width vs window-body-height/-width.
+The function `window-height' has been renamed to `window-total-height'
+and `window-width' has been renamed to `window-body-width'.  The old
+names are provided as aliases.  Two new functions `window-total-width'
+and `window-body-height' are provided.
+
++++
+*** Window parameters specific to window handling functions.
+For each window you can specify a parameter to override the default
+behavior of a number of functions like `split-window', `delete-window'
+and `delete-other-windows'.  The variable `ignore-window-parameters'
+allows to ignore processing such parameters.
+
++++
+*** New semantics of third argument of `split-window'.
+The third argument of `split-window' has been renamed to SIDE and can be
+set to any of the values 'below, 'right, 'above, or 'left to make the
+new window appear on the corresponding side of the window that shall be
+split.  Any other value of SIDE will cause `split-window' to split the
+window into two side-by-side windows as before.
+
++++
+*** Window resizing functions.
+A new standard function for resizing windows called `window-resize' has
+been introduced.  This and all other functions for resizing windows no
+longer delete any windows when they become too small.
+
++++
+*** `adjust-window-trailing-edge' adjustments.
+`adjust-window-trailing-edge' can now deal with fixed-size windows and
+is able to resize other windows if a window adjacent to the trailing
+edge cannot be shrunk any more.  This makes its behavior more similar to
+that of Emacs 21 without compromising, however, its inability to delete
+windows which was introduced in Emacs 22.
+
++++
+*** Window-local buffer lists.
+Windows now have local buffer lists.  This means that removing a buffer
+from display in a window will preferably show the buffer previously
+shown in that window with its previous window-start and window-point
+positions.  This also means that the same buffer may be automatically
+shown twice even if it already appears in another window.
+
++++
 *** `switch-to-buffer' has a new optional argument FORCE-SAME-WINDOW,
 which if non-nil requires the buffer to be displayed in the currently
 selected window, signaling an error otherwise.  If nil, another window
 can be used, e.g. if the selected one is strongly dedicated.
 
-*** FIXME: buffer-display-alist changes
+*** `split-window-vertically' and `split-window-horizontally' renamed
+to `split-window-above-each-other' and `split-window-side-by-side'
+respectively.  The old names are kept as aliases.
+
+*** Display actions
+
+**** The second arg to `display-buffer' and `pop-to-buffer' is now
+named ACTION, and takes a display action of the same form as
+`display-buffer-base-action' (see Changes, above).  A non-nil,
+non-list value is treated specially, as the old meaning.
+
+**** New variable `display-buffer-overriding-action'.
+
+**** The procedure of `display-buffer' etc. to choose a window is
+determined by combining `display-buffer-overriding-action',
+`display-buffer-alist', the ACTION arg, `display-buffer-base-action',
+and `display-buffer-fallback-action'.  The second and fourth of these
+are user-customizable variables.
+
+See the docstring of `display-buffer' for details.
+
++++
+*** New behavior of `quit-window'.
+The behavior of `quit-window' has been changed in order to restore the
+state before the last buffer display operation in that window.
 
 ** Completion