]> code.delx.au - gnu-emacs/commitdiff
Fix and docfix for the minibuffer-eldef-shorten-default feature.
authorChong Yidong <cyd@gnu.org>
Wed, 7 Nov 2012 20:43:38 +0000 (04:43 +0800)
committerChong Yidong <cyd@gnu.org>
Wed, 7 Nov 2012 20:43:38 +0000 (04:43 +0800)
* lisp/minibuf-eldef.el (minibuffer-eldef-shorten-default): Convert to
a defcustom with an appropriate :set function.
(minibuffer-default--in-prompt-regexps): New function.

* doc/emacs/mini.texi (Basic Minibuffer): New node.  Document
minibuffer-electric-default-mode.

* doc/emacs/display.texi (Visual Line Mode): Fix index entry.

doc/emacs/ChangeLog
doc/emacs/display.texi
doc/emacs/emacs.texi
doc/emacs/mini.texi
etc/NEWS
lisp/ChangeLog
lisp/minibuf-eldef.el

index 489da45983843a0b7812aded871c09255bd23eea..5804af2733acfe61006c4802fd564bfe3fdda9b9 100644 (file)
@@ -1,5 +1,10 @@
 2012-11-07  Chong Yidong  <cyd@gnu.org>
 
+       * 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.
index c40c545ec53512b6ffbfbb89ea73caff37211cf8..b6ab4913f9c41e1fbef4b60c59f272e1224a323d 100644 (file)
@@ -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
index e7e0feb9e885031786530531e63ae5b1465a3be5..74da3d9587b098e0ce9d94b032d1c80afa69ddda 100644 (file)
@@ -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.
index e5a84bda56dcd0d4fc71f2a3714583e43ef86840..ebccedacc05523ed38724513a5cda6e3b7a41076 100644 (file)
@@ -13,24 +13,54 @@ 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.
 
+@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.
+* Minibuffer History::    Reusing recent minibuffer arguments.
+* Repetition::            Re-executing commands that used the minibuffer.
+* Passwords::             Entering passwords in the echo area.
+* 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} in a distinct
-color, usually ending with a colon.  The prompt states what kind of
-input is expected, and how it will be used.
+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.  You
-can cancel the minibuffer, and the command that wants the argument, by
-typing @kbd{C-g}.
+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, a @dfn{default argument} appears in the prompt, inside
+  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
@@ -38,16 +68,6 @@ 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
-* Minibuffer File::       Entering file names with the minibuffer.
-* Minibuffer Edit::       How to edit in the minibuffer.
-* Completion::            An abbreviation facility for minibuffer input.
-* Minibuffer History::    Reusing recent minibuffer arguments.
-* Repetition::            Re-executing commands that used the minibuffer.
-* Passwords::             Entering passwords in the echo area.
-* Yes or No Prompts::     Replying yes or no in the echo area.
-@end menu
-
 @node Minibuffer File
 @section Minibuffers for File Names
 
index ed69ae3fa6ff3dce26e87df50479dca1474cd294..cbbe17cfccf2178536f434fe76f2c28a0a7cf9e2 100644 (file)
--- 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
index ff9684ad1751141c0ee1113037e2db6ec59d4ba4..98e47dd83d910f1faac24f87b5268607986c20c3 100644 (file)
@@ -1,3 +1,9 @@
+2012-11-07  Chong Yidong  <cyd@gnu.org>
+
+       * 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  <rgm@gnu.org>
 
        * emacs-lisp/cl.el (define-setf-expander, defsetf)
index 92d5ec821b0bba798868ffa010b337ef6a4c0219..950c28b227f89d1f18101d694ad052c102923f85 100644 (file)
 
 ;;; 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.