Commit 7d806bfe authored by Chong Yidong's avatar Chong Yidong
Browse files

Fix and docfix for the minibuffer-eldef-shorten-default feature.

* 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.
parent 8a3afaf9
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.
......
......@@ -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
......
......@@ -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.
......
......@@ -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
......
......@@ -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
......
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)
......
......@@ -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.
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment