Mercurial > hg > xemacs-beta
comparison man/lispref/minibuf.texi @ 434:9d177e8d4150 r21-2-25
Import from CVS: tag r21-2-25
author | cvs |
---|---|
date | Mon, 13 Aug 2007 11:30:53 +0200 |
parents | 3ecd8885ac67 |
children | abe6d1db359e |
comparison
equal
deleted
inserted
replaced
433:892ca416f0fb | 434:9d177e8d4150 |
---|---|
23 * Minibuffer History:: Recording previous minibuffer inputs | 23 * Minibuffer History:: Recording previous minibuffer inputs |
24 so the user can reuse them. | 24 so the user can reuse them. |
25 * Completion:: How to invoke and customize completion. | 25 * Completion:: How to invoke and customize completion. |
26 * Yes-or-No Queries:: Asking a question with a simple answer. | 26 * Yes-or-No Queries:: Asking a question with a simple answer. |
27 * Multiple Queries:: Asking a series of similar questions. | 27 * Multiple Queries:: Asking a series of similar questions. |
28 * Reading a Password:: Reading a password from the terminal. | |
28 * Minibuffer Misc:: Various customization hooks and variables. | 29 * Minibuffer Misc:: Various customization hooks and variables. |
29 @end menu | 30 @end menu |
30 | 31 |
31 @node Intro to Minibuffers | 32 @node Intro to Minibuffers |
32 @section Introduction to Minibuffers | 33 @section Introduction to Minibuffers |
35 @emph{within} a buffer, such as editing commands, work normally in a | 36 @emph{within} a buffer, such as editing commands, work normally in a |
36 minibuffer. However, many operations for managing buffers do not apply | 37 minibuffer. However, many operations for managing buffers do not apply |
37 to minibuffers. The name of a minibuffer always has the form @w{@samp{ | 38 to minibuffers. The name of a minibuffer always has the form @w{@samp{ |
38 *Minibuf-@var{number}}}, and it cannot be changed. Minibuffers are | 39 *Minibuf-@var{number}}}, and it cannot be changed. Minibuffers are |
39 displayed only in special windows used only for minibuffers; these | 40 displayed only in special windows used only for minibuffers; these |
40 windows always appear at the bottom of a frame. (Sometime frames have | 41 windows always appear at the bottom of a frame. (Sometimes frames have |
41 no minibuffer window, and sometimes a special kind of frame contains | 42 no minibuffer window, and sometimes a special kind of frame contains |
42 nothing but a minibuffer window; see @ref{Minibuffers and Frames}.) | 43 nothing but a minibuffer window; see @ref{Minibuffers and Frames}.) |
43 | 44 |
44 The minibuffer's window is normally a single line. You can resize it | 45 The minibuffer's window is normally a single line. You can resize it |
45 temporarily with the window sizing commands; it reverts to its normal | 46 temporarily with the window sizing commands; it reverts to its normal |
65 @itemize @bullet | 66 @itemize @bullet |
66 @item | 67 @item |
67 @code{minibuffer-local-map} is for ordinary input (no completion). | 68 @code{minibuffer-local-map} is for ordinary input (no completion). |
68 | 69 |
69 @item | 70 @item |
70 @code{minibuffer-local-ns-map} is similar, except that @key{SPC} exits | |
71 just like @key{RET}. This is used mainly for Mocklisp compatibility. | |
72 | |
73 @item | |
74 @code{minibuffer-local-completion-map} is for permissive completion. | 71 @code{minibuffer-local-completion-map} is for permissive completion. |
75 | 72 |
76 @item | 73 @item |
77 @code{minibuffer-local-must-match-map} is for strict completion and | 74 @code{minibuffer-local-must-match-map} is for strict completion and |
78 for cautious completion. | 75 for cautious completion. |
89 In most cases, you should not call minibuffer input functions in the | 86 In most cases, you should not call minibuffer input functions in the |
90 middle of a Lisp function. Instead, do all minibuffer input as part of | 87 middle of a Lisp function. Instead, do all minibuffer input as part of |
91 reading the arguments for a command, in the @code{interactive} spec. | 88 reading the arguments for a command, in the @code{interactive} spec. |
92 @xref{Defining Commands}. | 89 @xref{Defining Commands}. |
93 | 90 |
94 @defun read-from-minibuffer prompt-string &optional initial-contents keymap read hist | 91 @defun read-from-minibuffer prompt-string &optional initial-contents keymap read hist abbrev-table default |
95 This function is the most general way to get input through the | 92 This function is the most general way to get input through the |
96 minibuffer. By default, it accepts arbitrary text and returns it as a | 93 minibuffer. By default, it accepts arbitrary text and returns it as a |
97 string; however, if @var{read} is non-@code{nil}, then it uses | 94 string; however, if @var{read} is non-@code{nil}, then it uses |
98 @code{read} to convert the text into a Lisp object (@pxref{Input | 95 @code{read} to convert the text into a Lisp object (@pxref{Input |
99 Functions}). | 96 Functions}). |
110 The value of @var{initial-contents} may also be a cons cell of the form | 107 The value of @var{initial-contents} may also be a cons cell of the form |
111 @code{(@var{string} . @var{position})}. This means to insert | 108 @code{(@var{string} . @var{position})}. This means to insert |
112 @var{string} in the minibuffer but put point @var{position} characters | 109 @var{string} in the minibuffer but put point @var{position} characters |
113 from the beginning, rather than at the end. | 110 from the beginning, rather than at the end. |
114 | 111 |
112 When the user types a command to exit the minibuffer, | |
113 @code{read-from-minibuffer} constructs the return value from the text in | |
114 the minibuffer. Normally it returns a string containing that text. | |
115 However, if @var{read} is non-@code{nil}, @code{read-from-minibuffer} | |
116 reads the text and returns the resulting Lisp object, unevaluated. | |
117 (@xref{Input Functions}, for information about reading.) | |
118 | |
119 The argument @var{default} specifies a default value to make available | |
120 through the history commands. It should be a string, or @code{nil}. | |
121 | |
115 If @var{keymap} is non-@code{nil}, that keymap is the local keymap to | 122 If @var{keymap} is non-@code{nil}, that keymap is the local keymap to |
116 use in the minibuffer. If @var{keymap} is omitted or @code{nil}, the | 123 use in the minibuffer. If @var{keymap} is omitted or @code{nil}, the |
117 value of @code{minibuffer-local-map} is used as the keymap. Specifying | 124 value of @code{minibuffer-local-map} is used as the keymap. Specifying |
118 a keymap is the most important way to customize the minibuffer for | 125 a keymap is the most important way to customize the minibuffer for |
119 various applications such as completion. | 126 various applications such as completion. |
127 | |
128 The argument @var{abbrev-table} specifies @code{local-abbrev-table} in | |
129 the minibuffer (@pxref{Standard Abbrev Tables}). | |
120 | 130 |
121 The argument @var{hist} specifies which history list variable to use | 131 The argument @var{hist} specifies which history list variable to use |
122 for saving the input and for history commands used in the minibuffer. | 132 for saving the input and for history commands used in the minibuffer. |
123 It defaults to @code{minibuffer-history}. @xref{Minibuffer History}. | 133 It defaults to @code{minibuffer-history}. @xref{Minibuffer History}. |
124 | 134 |
127 its return value. Normally it simply makes a string containing that | 137 its return value. Normally it simply makes a string containing that |
128 text. However, if @var{read} is non-@code{nil}, | 138 text. However, if @var{read} is non-@code{nil}, |
129 @code{read-from-minibuffer} reads the text and returns the resulting | 139 @code{read-from-minibuffer} reads the text and returns the resulting |
130 Lisp object, unevaluated. (@xref{Input Functions}, for information | 140 Lisp object, unevaluated. (@xref{Input Functions}, for information |
131 about reading.) | 141 about reading.) |
132 @end defun | 142 |
133 | 143 @strong{Usage note:} The @var{initial-contents} argument and the |
134 @defun read-string prompt &optional initial | 144 @var{default} argument are two alternative features for more or less the |
145 same job. It does not make sense to use both features in a single call | |
146 to @code{read-from-minibuffer}. In general, we recommend using | |
147 @var{default}, since this permits the user to insert the default value | |
148 when it is wanted, but does not burden the user with deleting it from | |
149 the minibuffer on other occasions. However, if user is supposed to edit | |
150 default value, @var{initial-contents} may be preferred. | |
151 @end defun | |
152 | |
153 @defun read-string prompt &optional initial history | |
135 This function reads a string from the minibuffer and returns it. The | 154 This function reads a string from the minibuffer and returns it. The |
136 arguments @var{prompt} and @var{initial} are used as in | 155 arguments @var{prompt} and @var{initial} are used as in |
137 @code{read-from-minibuffer}. The keymap used is | 156 @code{read-from-minibuffer}. The keymap used is |
138 @code{minibuffer-local-map}. | 157 @code{minibuffer-local-map}. |
139 | 158 |
140 This is a simplified interface to the | 159 The optional argument @var{history}, if non-nil, specifies a history |
160 list and optionally the initial position in the list. | |
161 | |
162 This function is a simplified interface to the | |
141 @code{read-from-minibuffer} function: | 163 @code{read-from-minibuffer} function: |
142 | 164 |
143 @smallexample | 165 @smallexample |
144 @group | 166 @group |
145 (read-string @var{prompt} @var{initial}) | 167 (read-string @var{prompt} @var{initial}) |
152 @defvar minibuffer-local-map | 174 @defvar minibuffer-local-map |
153 This is the default local keymap for reading from the minibuffer. By | 175 This is the default local keymap for reading from the minibuffer. By |
154 default, it makes the following bindings: | 176 default, it makes the following bindings: |
155 | 177 |
156 @table @asis | 178 @table @asis |
157 @item @key{LFD} | 179 @item @kbd{C-j} |
158 @code{exit-minibuffer} | 180 @code{exit-minibuffer} |
159 | 181 |
160 @item @key{RET} | 182 @item @key{RET} |
161 @code{exit-minibuffer} | 183 @code{exit-minibuffer} |
162 | 184 |
175 @item @kbd{M-s} | 197 @item @kbd{M-s} |
176 @code{previous-matching-history-element} | 198 @code{previous-matching-history-element} |
177 @end table | 199 @end table |
178 @end defvar | 200 @end defvar |
179 | 201 |
180 @c In version 18, initial is required | |
181 @c Emacs 19 feature | |
182 @defun read-no-blanks-input prompt &optional initial | |
183 This function reads a string from the minibuffer, but does not allow | |
184 whitespace characters as part of the input: instead, those characters | |
185 terminate the input. The arguments @var{prompt} and @var{initial} are | |
186 used as in @code{read-from-minibuffer}. | |
187 | |
188 This is a simplified interface to the @code{read-from-minibuffer} | |
189 function, and passes the value of the @code{minibuffer-local-ns-map} | |
190 keymap as the @var{keymap} argument for that function. Since the keymap | |
191 @code{minibuffer-local-ns-map} does not rebind @kbd{C-q}, it @emph{is} | |
192 possible to put a space into the string, by quoting it. | |
193 | |
194 @smallexample | |
195 @group | |
196 (read-no-blanks-input @var{prompt} @var{initial}) | |
197 @equiv{} | |
198 (read-from-minibuffer @var{prompt} @var{initial} minibuffer-local-ns-map) | |
199 @end group | |
200 @end smallexample | |
201 @end defun | |
202 | |
203 @defvar minibuffer-local-ns-map | |
204 This built-in variable is the keymap used as the minibuffer local keymap | |
205 in the function @code{read-no-blanks-input}. By default, it makes the | |
206 following bindings, in addition to those of @code{minibuffer-local-map}: | |
207 | |
208 @table @asis | |
209 @item @key{SPC} | |
210 @cindex @key{SPC} in minibuffer | |
211 @code{exit-minibuffer} | |
212 | |
213 @item @key{TAB} | |
214 @cindex @key{TAB} in minibuffer | |
215 @code{exit-minibuffer} | |
216 | |
217 @item @kbd{?} | |
218 @cindex @kbd{?} in minibuffer | |
219 @code{self-insert-and-exit} | |
220 @end table | |
221 @end defvar | |
222 | |
223 @node Object from Minibuffer | 202 @node Object from Minibuffer |
224 @section Reading Lisp Objects with the Minibuffer | 203 @section Reading Lisp Objects with the Minibuffer |
225 | 204 |
226 This section describes functions for reading Lisp objects with the | 205 This section describes functions for reading Lisp objects with the |
227 minibuffer. | 206 minibuffer. |
228 | 207 |
229 @defun read-minibuffer prompt &optional initial | 208 @defun read-minibuffer prompt &optional initial |
230 This function reads a Lisp object in the minibuffer and returns it, | 209 This function reads a Lisp object using the minibuffer, and returns it |
231 without evaluating it. The arguments @var{prompt} and @var{initial} are | 210 without evaluating it. The arguments @var{prompt} and @var{initial} are |
232 used as in @code{read-from-minibuffer}. | 211 used as in @code{read-from-minibuffer}. |
233 | 212 |
234 This is a simplified interface to the | 213 This is a simplified interface to the |
235 @code{read-from-minibuffer} function: | 214 @code{read-from-minibuffer} function: |
264 The user can type @key{RET} immediately to use the initial input as a | 243 The user can type @key{RET} immediately to use the initial input as a |
265 default, or can edit the input. | 244 default, or can edit the input. |
266 @end defun | 245 @end defun |
267 | 246 |
268 @defun eval-minibuffer prompt &optional initial | 247 @defun eval-minibuffer prompt &optional initial |
269 This function reads a Lisp expression in the minibuffer, evaluates it, | 248 This function reads a Lisp expression using the minibuffer, evaluates |
270 then returns the result. The arguments @var{prompt} and @var{initial} | 249 it, then returns the result. The arguments @var{prompt} and |
271 are used as in @code{read-from-minibuffer}. | 250 @var{initial} are used as in @code{read-from-minibuffer}. |
272 | 251 |
273 This function simply evaluates the result of a call to | 252 This function simply evaluates the result of a call to |
274 @code{read-minibuffer}: | 253 @code{read-minibuffer}: |
275 | 254 |
276 @smallexample | 255 @smallexample |
291 @code{prin1}, so if it is a string, double-quote characters (@samp{"}) | 270 @code{prin1}, so if it is a string, double-quote characters (@samp{"}) |
292 appear in the initial text. @xref{Output Functions}. | 271 appear in the initial text. @xref{Output Functions}. |
293 | 272 |
294 The first thing @code{edit-and-eval-command} does is to activate the | 273 The first thing @code{edit-and-eval-command} does is to activate the |
295 minibuffer with @var{prompt} as the prompt. Then it inserts the printed | 274 minibuffer with @var{prompt} as the prompt. Then it inserts the printed |
296 representation of @var{form} in the minibuffer, and lets the user edit. | 275 representation of @var{form} in the minibuffer, and lets the user edit it. |
297 When the user exits the minibuffer, the edited text is read with | 276 When the user exits the minibuffer, the edited text is read with |
298 @code{read} and then evaluated. The resulting value becomes the value | 277 @code{read} and then evaluated. The resulting value becomes the value |
299 of @code{edit-and-eval-command}. | 278 of @code{edit-and-eval-command}. |
300 | 279 |
301 In the following example, we offer the user an expression with initial | 280 In the following example, we offer the user an expression with initial |
363 elements to the history list automatically, and provide commands to | 342 elements to the history list automatically, and provide commands to |
364 allow the user to reuse items on the list. The only thing your program | 343 allow the user to reuse items on the list. The only thing your program |
365 needs to do to use a history list is to initialize it and to pass its | 344 needs to do to use a history list is to initialize it and to pass its |
366 name to the input functions when you wish. But it is safe to modify the | 345 name to the input functions when you wish. But it is safe to modify the |
367 list by hand when the minibuffer input functions are not using it. | 346 list by hand when the minibuffer input functions are not using it. |
347 | |
348 Here are some of the standard minibuffer history list variables: | |
368 | 349 |
369 @defvar minibuffer-history | 350 @defvar minibuffer-history |
370 The default history list for minibuffer history input. | 351 The default history list for minibuffer history input. |
371 @end defvar | 352 @end defvar |
372 | 353 |
549 @end smallexample | 530 @end smallexample |
550 @end defun | 531 @end defun |
551 | 532 |
552 @defun all-completions string collection &optional predicate nospace | 533 @defun all-completions string collection &optional predicate nospace |
553 This function returns a list of all possible completions of | 534 This function returns a list of all possible completions of |
554 @var{string}. The parameters to this function are the same as to | 535 @var{string}. The arguments to this function are the same as those of |
555 @code{try-completion}. | 536 @code{try-completion}. |
556 | 537 |
557 If @var{collection} is a function, it is called with three arguments: | 538 If @var{collection} is a function, it is called with three arguments: |
558 @var{string}, @var{predicate} and @code{t}; then @code{all-completions} | 539 @var{string}, @var{predicate} and @code{t}; then @code{all-completions} |
559 returns whatever the function returns. @xref{Programmed Completion}. | 540 returns whatever the function returns. @xref{Programmed Completion}. |
590 @subsection Completion and the Minibuffer | 571 @subsection Completion and the Minibuffer |
591 | 572 |
592 This section describes the basic interface for reading from the | 573 This section describes the basic interface for reading from the |
593 minibuffer with completion. | 574 minibuffer with completion. |
594 | 575 |
595 @defun completing-read prompt collection &optional predicate require-match initial hist | 576 @defun completing-read prompt collection &optional predicate require-match initial hist default |
596 This function reads a string in the minibuffer, assisting the user by | 577 This function reads a string in the minibuffer, assisting the user by |
597 providing completion. It activates the minibuffer with prompt | 578 providing completion. It activates the minibuffer with prompt |
598 @var{prompt}, which must be a string. If @var{initial} is | 579 @var{prompt}, which must be a string. If @var{initial} is |
599 non-@code{nil}, @code{completing-read} inserts it into the minibuffer as | 580 non-@code{nil}, @code{completing-read} inserts it into the minibuffer as |
600 part of the input. Then it allows the user to edit the input, providing | 581 part of the input. Then it allows the user to edit the input, providing |
609 If @var{require-match} is neither @code{nil} nor @code{t}, then the exit | 590 If @var{require-match} is neither @code{nil} nor @code{t}, then the exit |
610 commands won't exit unless the input typed is itself an element of | 591 commands won't exit unless the input typed is itself an element of |
611 @var{collection}. If @var{require-match} is @code{nil}, the exit | 592 @var{collection}. If @var{require-match} is @code{nil}, the exit |
612 commands work regardless of the input in the minibuffer. | 593 commands work regardless of the input in the minibuffer. |
613 | 594 |
595 However, empty input is always permitted, regardless of the value of | |
596 @var{require-match}; in that case, @code{completing-read} returns | |
597 @var{default}. The value of @var{default} (if non-@code{nil}) is also | |
598 available to the user through the history commands. | |
599 | |
614 The user can exit with null input by typing @key{RET} with an empty | 600 The user can exit with null input by typing @key{RET} with an empty |
615 minibuffer. Then @code{completing-read} returns @code{nil}. This is | 601 minibuffer. Then @code{completing-read} returns @code{""}. This is how |
616 how the user requests whatever default the command uses for the value | 602 the user requests whatever default the command uses for the value being |
617 being read. The user can return using @key{RET} in this way regardless | 603 read. The user can return using @key{RET} in this way regardless of the |
618 of the value of @var{require-match}. | 604 value of @var{require-match}, and regardless of whether the empty string |
605 is included in @var{collection}. | |
619 | 606 |
620 The function @code{completing-read} works by calling | 607 The function @code{completing-read} works by calling |
621 @code{read-minibuffer}. It uses @code{minibuffer-local-completion-map} | 608 @code{read-minibuffer}. It uses @code{minibuffer-local-completion-map} |
622 as the keymap if @var{require-match} is @code{nil}, and uses | 609 as the keymap if @var{require-match} is @code{nil}, and uses |
623 @code{minibuffer-local-must-match-map} if @var{require-match} is | 610 @code{minibuffer-local-must-match-map} if @var{require-match} is |
705 @code{minibuffer-complete-word} | 692 @code{minibuffer-complete-word} |
706 | 693 |
707 @item @key{TAB} | 694 @item @key{TAB} |
708 @code{minibuffer-complete} | 695 @code{minibuffer-complete} |
709 | 696 |
710 @item @key{LFD} | 697 @item @kbd{C-j} |
711 @code{minibuffer-complete-and-exit} | 698 @code{minibuffer-complete-and-exit} |
712 | 699 |
713 @item @key{RET} | 700 @item @key{RET} |
714 @code{minibuffer-complete-and-exit} | 701 @code{minibuffer-complete-and-exit} |
715 @end table | 702 @end table |
743 @end deffn | 730 @end deffn |
744 | 731 |
745 @deffn Command minibuffer-complete-and-exit | 732 @deffn Command minibuffer-complete-and-exit |
746 This function completes the minibuffer contents, and exits if | 733 This function completes the minibuffer contents, and exits if |
747 confirmation is not required, i.e., if | 734 confirmation is not required, i.e., if |
748 @code{minibuffer-completion-confirm} is non-@code{nil}. If confirmation | 735 @code{minibuffer-completion-confirm} is @code{nil}. If confirmation |
749 @emph{is} required, it is given by repeating this command | 736 @emph{is} required, it is given by repeating this command |
750 immediately---the command is programmed to work without confirmation | 737 immediately---the command is programmed to work without confirmation |
751 when run twice in succession. | 738 when run twice in succession. |
752 @end deffn | 739 @end deffn |
753 | 740 |
954 initial input. It defaults to the current buffer's value of | 941 initial input. It defaults to the current buffer's value of |
955 @code{default-directory}. | 942 @code{default-directory}. |
956 | 943 |
957 @c Emacs 19 feature | 944 @c Emacs 19 feature |
958 If you specify @var{initial}, that is an initial file name to insert in | 945 If you specify @var{initial}, that is an initial file name to insert in |
959 the buffer (after with @var{directory}, if that is inserted). In this | 946 the buffer (after @var{directory}, if that is inserted). In this |
960 case, point goes at the beginning of @var{initial}. The default for | 947 case, point goes at the beginning of @var{initial}. The default for |
961 @var{initial} is @code{nil}---don't insert any file name. To see what | 948 @var{initial} is @code{nil}---don't insert any file name. To see what |
962 @var{initial} does, try the command @kbd{C-x C-v}. | 949 @var{initial} does, try the command @kbd{C-x C-v}. |
963 | 950 |
964 Here is an example: | 951 Here is an example: |
1069 | 1056 |
1070 @itemize @bullet | 1057 @itemize @bullet |
1071 @item | 1058 @item |
1072 @code{nil} specifies @code{try-completion}. The completion function | 1059 @code{nil} specifies @code{try-completion}. The completion function |
1073 should return the completion of the specified string, or @code{t} if the | 1060 should return the completion of the specified string, or @code{t} if the |
1074 string is an exact match already, or @code{nil} if the string matches no | 1061 string is a unique and exact match already, or @code{nil} if the string |
1075 possibility. | 1062 matches no possibility. |
1063 | |
1064 If the string is an exact match for one possibility, but also matches | |
1065 other longer possibilities, the function should return the string, not | |
1066 @code{t}. | |
1076 | 1067 |
1077 @item | 1068 @item |
1078 @code{t} specifies @code{all-completions}. The completion function | 1069 @code{t} specifies @code{all-completions}. The completion function |
1079 should return a list of all possible completions of the specified | 1070 should return a list of all possible completions of the specified |
1080 string. | 1071 string. |
1341 value around the call. | 1332 value around the call. |
1342 | 1333 |
1343 The return value of @code{map-y-or-n-p} is the number of objects acted on. | 1334 The return value of @code{map-y-or-n-p} is the number of objects acted on. |
1344 @end defun | 1335 @end defun |
1345 | 1336 |
1337 @node Reading a Password | |
1338 @section Reading a Password | |
1339 @cindex passwords, reading | |
1340 | |
1341 To read a password to pass to another program, you can use the | |
1342 function @code{read-passwd}. | |
1343 | |
1344 @defun read-passwd prompt &optional confirm default | |
1345 This function reads a password, prompting with @var{prompt}. It does | |
1346 not echo the password as the user types it; instead, it echoes @samp{.} | |
1347 for each character in the password. | |
1348 | |
1349 The optional argument @var{confirm}, if non-@code{nil}, says to read the | |
1350 password twice and insist it must be the same both times. If it isn't | |
1351 the same, the user has to type it over and over until the last two | |
1352 times match. | |
1353 | |
1354 The optional argument @var{default} specifies the default password to | |
1355 return if the user enters empty input. It is translated to @samp{.} | |
1356 and inserted in the minibuffer. If @var{default} is @code{nil}, then | |
1357 @code{read-passwd} returns the null string in that case. | |
1358 @end defun | |
1359 | |
1360 @defopt passwd-invert-frame-when-keyboard-grabbed | |
1361 If non-nil swap the foreground and background colors of all faces while | |
1362 reading a password. Default values is @code{t} unless feature | |
1363 @code{infodock} is provided. | |
1364 @end defopt | |
1365 | |
1366 @defopt passwd-echo | |
1367 This specifies the character echoed when typing a password. When nil, | |
1368 nothing is echoed. | |
1369 @end defopt | |
1370 | |
1346 @node Minibuffer Misc | 1371 @node Minibuffer Misc |
1347 @section Minibuffer Miscellany | 1372 @section Minibuffer Miscellany |
1348 | 1373 |
1349 This section describes some basic functions and variables related to | 1374 This section describes some basic functions and variables related to |
1350 minibuffers. | 1375 minibuffers. |
1450 returns zero. | 1475 returns zero. |
1451 @end defun | 1476 @end defun |
1452 | 1477 |
1453 @defopt enable-recursive-minibuffers | 1478 @defopt enable-recursive-minibuffers |
1454 If this variable is non-@code{nil}, you can invoke commands (such as | 1479 If this variable is non-@code{nil}, you can invoke commands (such as |
1455 @code{find-file}) that use minibuffers even while in the minibuffer | 1480 @code{find-file}) that use minibuffers even while the minibuffer window |
1456 window. Such invocation produces a recursive editing level for a new | 1481 is active. Such invocation produces a recursive editing level for a new |
1457 minibuffer. The outer-level minibuffer is invisible while you are | 1482 minibuffer. The outer-level minibuffer is invisible while you are |
1458 editing the inner one. | 1483 editing the inner one. |
1459 | 1484 |
1460 This variable only affects invoking the minibuffer while the | 1485 This variable only affects invoking the minibuffer while the |
1461 minibuffer window is selected. If you switch windows while in the | 1486 minibuffer window is selected. If you switch windows while in the |
1474 This is not implemented in XEmacs because it is a kludge. If you | 1499 This is not implemented in XEmacs because it is a kludge. If you |
1475 want to explicitly set the value of @code{enable-recursive-minibuffers} | 1500 want to explicitly set the value of @code{enable-recursive-minibuffers} |
1476 in this fashion, just use an evaluated interactive spec and bind | 1501 in this fashion, just use an evaluated interactive spec and bind |
1477 @code{enable-recursive-minibuffers} while reading from the minibuffer. | 1502 @code{enable-recursive-minibuffers} while reading from the minibuffer. |
1478 See the definition of @code{next-matching-history-element} in | 1503 See the definition of @code{next-matching-history-element} in |
1479 @file{lisp/prim/minibuf.el}. | 1504 @file{lisp/minibuf.el}. |