diff --git a/doc/emacs/ChangeLog b/doc/emacs/ChangeLog index 489da459838..5804af2733a 100644 --- a/doc/emacs/ChangeLog +++ b/doc/emacs/ChangeLog @@ -1,5 +1,10 @@ 2012-11-07 Chong Yidong + * mini.texi (Basic Minibuffer): New node. Document + minibuffer-electric-default-mode. + + * display.texi (Visual Line Mode): Fix index entry. + * buffers.texi (Several Buffers): List Buffer Menu command anmes, and index the keybindings. Document tabulated-list-sort. (Kill Buffer): Capitalize Buffer Menu. diff --git a/doc/emacs/display.texi b/doc/emacs/display.texi index c40c545ec53..b6ab4913f9c 100644 --- a/doc/emacs/display.texi +++ b/doc/emacs/display.texi @@ -1500,6 +1500,7 @@ attempts to wrap the line at word boundaries near the right window edge. This makes the text easier to read, as wrapping does not occur in the middle of words. +@cindex mode, Visual Line @cindex Visual Line mode @findex visual-line-mode @findex global-visual-line-mode diff --git a/doc/emacs/emacs.texi b/doc/emacs/emacs.texi index e7e0feb9e88..74da3d9587b 100644 --- a/doc/emacs/emacs.texi +++ b/doc/emacs/emacs.texi @@ -261,6 +261,7 @@ Basic Editing Commands The Minibuffer +* Basic Minibuffer:: Basic usage of the minibuffer. * Minibuffer File:: Entering file names with the minibuffer. * Minibuffer Edit:: How to edit in the minibuffer. * Completion:: An abbreviation facility for minibuffer input. diff --git a/doc/emacs/mini.texi b/doc/emacs/mini.texi index e5a84bda56d..ebccedacc05 100644 --- a/doc/emacs/mini.texi +++ b/doc/emacs/mini.texi @@ -13,32 +13,8 @@ special-purpose buffer with a small amount of screen space. You can use the usual Emacs editing commands in the minibuffer to edit the argument text. -@cindex prompt - When the minibuffer is in use, it appears in the echo area, with a -cursor. The minibuffer starts with a @dfn{prompt} in a distinct -color, usually ending with a colon. The prompt states what kind of -input is expected, and how it will be used. - - The simplest way to enter a minibuffer argument is to type the text, -then @key{RET} to submit the argument and exit the minibuffer. You -can cancel the minibuffer, and the command that wants the argument, by -typing @kbd{C-g}. - -@cindex default argument - Sometimes, a @dfn{default argument} appears in the prompt, inside -parentheses before the colon. This default will be used as the -argument if you just type @key{RET}. For example, commands that read -buffer names usually show a buffer name as the default; you can type -@key{RET} to operate on that default buffer. - - Since the minibuffer appears in the echo area, it can conflict with -other uses of the echo area. If an error message or an informative -message is emitted while the minibuffer is active, the message hides -the minibuffer for a few seconds, or until you type something; then -the minibuffer comes back. While the minibuffer is in use, keystrokes -do not echo. - @menu +* Basic Minibuffer:: Basic usage of the minibuffer. * Minibuffer File:: Entering file names with the minibuffer. * Minibuffer Edit:: How to edit in the minibuffer. * Completion:: An abbreviation facility for minibuffer input. @@ -48,6 +24,50 @@ do not echo. * Yes or No Prompts:: Replying yes or no in the echo area. @end menu +@node Basic Minibuffer +@section Using the Minibuffer + +@cindex prompt + When the minibuffer is in use, it appears in the echo area, with a +cursor. The minibuffer starts with a @dfn{prompt}, usually ending +with a colon. The prompt states what kind of input is expected, and +how it will be used. The prompt is highlighted using the +@code{minibuffer-prompt} face (@pxref{Faces}). + + The simplest way to enter a minibuffer argument is to type the text, +then @key{RET} to submit the argument and exit the minibuffer. +Alternatively, you can type @kbd{C-g} to exit the minibuffer by +cancelling the command asking for the argument (@pxref{Quitting}). + +@cindex default argument + Sometimes, the prompt shows a @dfn{default argument}, inside +parentheses before the colon. This default will be used as the +argument if you just type @key{RET}. For example, commands that read +buffer names usually show a buffer name as the default; you can type +@key{RET} to operate on that default buffer. + +@cindex Minibuffer Electric Default mode +@cindex mode, Minibuffer Electric Default +@findex minibuffer-electric-default-mode +@vindex minibuffer-eldef-shorten-default + If you enable Minibuffer Electric Default mode, a global minor mode, +Emacs hides the default argument as soon as you modify the contents of +the minibuffer (since typing @key{RET} would no longer submit that +default). If you ever bring back the original minibuffer text, the +prompt again shows the default. Furthermore, if you change the +variable @code{minibuffer-eldef-shorten-default} to a non-@code{nil} +value, the default argument is displayed as @samp{[@var{default}]} +instead of @samp{(default @var{default})}, saving some screen space. +To enable this minor mode, type @kbd{M-x +minibuffer-electric-default-mode}. + + Since the minibuffer appears in the echo area, it can conflict with +other uses of the echo area. If an error message or an informative +message is emitted while the minibuffer is active, the message hides +the minibuffer for a few seconds, or until you type something; then +the minibuffer comes back. While the minibuffer is in use, keystrokes +do not echo. + @node Minibuffer File @section Minibuffers for File Names diff --git a/etc/NEWS b/etc/NEWS index ed69ae3fa6f..cbbe17cfccf 100644 --- a/etc/NEWS +++ b/etc/NEWS @@ -127,15 +127,14 @@ autoloads have been redefined as functions). --- *** In minibuffer filename prompts, `C-M-f' and `C-M-b' now move to the next and previous path separator, respectively. - ++++ *** minibuffer-electric-default-mode can rewrite (default ...) to [...]. Just set minibuffer-eldef-shorten-default to t before enabling the mode. ** ImageMagick support, if available, is automatically enabled. It is no longer necessary to call `imagemagick-register-types' explicitly to install ImageMagick image types; that function is called -automatically at startup, or when customizing a relevant imagemagick- -option. +automatically at startup, or when customizing an imagemagick- option. +++ *** Setting `imagemagick-types-inhibit' to t now disables the use of ImageMagick to view images. You must call imagemagick-register-types diff --git a/lisp/ChangeLog b/lisp/ChangeLog index ff9684ad175..98e47dd83d9 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,3 +1,9 @@ +2012-11-07 Chong Yidong + + * minibuf-eldef.el (minibuffer-eldef-shorten-default): Convert to + a defcustom with an appropriate :set function. + (minibuffer-default--in-prompt-regexps): New function. + 2012-11-07 Glenn Morris * emacs-lisp/cl.el (define-setf-expander, defsetf) diff --git a/lisp/minibuf-eldef.el b/lisp/minibuf-eldef.el index 92d5ec821b0..950c28b227f 100644 --- a/lisp/minibuf-eldef.el +++ b/lisp/minibuf-eldef.el @@ -33,13 +33,25 @@ ;;; Code: -(defvar minibuffer-eldef-shorten-default nil - "If non-nil, shorten \"(default ...)\" to \"[...]\" in minibuffer prompts.") +(defvar minibuffer-eldef-shorten-default) -(defvar minibuffer-default-in-prompt-regexps +(defun minibuffer-default--in-prompt-regexps () `(("\\( (default\\(?: is\\)? \\(.*\\))\\):? \\'" 1 ,(if minibuffer-eldef-shorten-default " [\\2]")) - ("\\( \\[.*\\]\\):? *\\'" 1)) + ("\\( \\[.*\\]\\):? *\\'" 1))) + +(defcustom minibuffer-eldef-shorten-default nil + "If non-nil, shorten \"(default ...)\" to \"[...]\" in minibuffer prompts." + :set (lambda (symbol value) + (set-default symbol value) + (setq-default minibuffer-default-in-prompt-regexps + (minibuffer-default--in-prompt-regexps))) + :type 'boolean + :group 'minibuffer + :version "24.3") + +(defvar minibuffer-default-in-prompt-regexps + (minibuffer-default--in-prompt-regexps) "A list of regexps matching the parts of minibuffer prompts showing defaults. When `minibuffer-electric-default-mode' is active, these regexps are used to identify the portions of prompts to elide.