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}.