Mercurial > emacs
comparison lispref/minibuf.texi @ 55925:b1e16cd7f843
(Minibuffer Completion): For INITIAL arg,
refer the user to the Initial Input node.
(Text from Minibuffer): Likewise.
(Initial Input): New node. Document this feature
and say it is mostly deprecated.
author | Richard M. Stallman <rms@gnu.org> |
---|---|
date | Sat, 05 Jun 2004 17:39:46 +0000 |
parents | 1f35da88bdd8 |
children | 169058aadeda 4c90ffeb71c5 |
comparison
equal
deleted
inserted
replaced
55924:082785bed641 | 55925:b1e16cd7f843 |
---|---|
21 * Intro to Minibuffers:: Basic information about minibuffers. | 21 * Intro to Minibuffers:: Basic information about minibuffers. |
22 * Text from Minibuffer:: How to read a straight text string. | 22 * Text from Minibuffer:: How to read a straight text string. |
23 * Object from Minibuffer:: How to read a Lisp object or expression. | 23 * Object from Minibuffer:: How to read a Lisp object or expression. |
24 * Minibuffer History:: Recording previous minibuffer inputs | 24 * Minibuffer History:: Recording previous minibuffer inputs |
25 so the user can reuse them. | 25 so the user can reuse them. |
26 * Initial Input:: Specifying initial contents for the minibuffer. | |
26 * Completion:: How to invoke and customize completion. | 27 * Completion:: How to invoke and customize completion. |
27 * Yes-or-No Queries:: Asking a question with a simple answer. | 28 * Yes-or-No Queries:: Asking a question with a simple answer. |
28 * Multiple Queries:: Asking a series of similar questions. | 29 * Multiple Queries:: Asking a series of similar questions. |
29 * Reading a Password:: Reading a password from the terminal. | 30 * Reading a Password:: Reading a password from the terminal. |
30 * Minibuffer Misc:: Various customization hooks and variables. | 31 * Minibuffer Misc:: Various customization hooks and variables. |
166 minibuffer inherits the current input method (@pxref{Input Methods}) and | 167 minibuffer inherits the current input method (@pxref{Input Methods}) and |
167 the setting of @code{enable-multibyte-characters} (@pxref{Text | 168 the setting of @code{enable-multibyte-characters} (@pxref{Text |
168 Representations}) from whichever buffer was current before entering the | 169 Representations}) from whichever buffer was current before entering the |
169 minibuffer. | 170 minibuffer. |
170 | 171 |
171 If @var{initial-contents} is a string, @code{read-from-minibuffer} | 172 Use of @var{initial-contents} is mostly deprecated; we recommend using |
172 inserts it into the minibuffer, leaving point at the end, before the | 173 a non-@code{nil} value only in conjunction with specifying a cons cell |
173 user starts to edit the text. The minibuffer appears with this text as | 174 for @var{hist}. @xref{Initial Input}. |
174 its initial contents. | |
175 | |
176 Alternatively, @var{initial-contents} can be a cons cell of the form | |
177 @code{(@var{string} . @var{position})}. This means to insert | |
178 @var{string} in the minibuffer but put point at @emph{one-indexed} | |
179 @var{position} in the minibuffer, rather than at the end. Any integer | |
180 value less or equal to one puts point at the beginning of the string. | |
181 | |
182 @strong{Usage note:} The @var{initial-contents} argument and the | |
183 @var{default} argument are two alternative features for more or less the | |
184 same job. It does not make sense to use both features in a single call | |
185 to @code{read-from-minibuffer}. In general, we recommend using | |
186 @var{default}, since this permits the user to insert the default value | |
187 when it is wanted, but does not burden the user with deleting it from | |
188 the minibuffer on other occasions. For an exception to this rule, | |
189 see @ref{Minibuffer History}. | |
190 @end defun | 175 @end defun |
191 | 176 |
192 @defun read-string prompt &optional initial history default inherit-input-method | 177 @defun read-string prompt &optional initial history default inherit-input-method |
193 This function reads a string from the minibuffer and returns it. The | 178 This function reads a string from the minibuffer and returns it. The |
194 arguments @var{prompt}, @var{initial}, @var{history} and | 179 arguments @var{prompt}, @var{initial}, @var{history} and |
438 Specifying 0 for @var{startpos} is equivalent to just specifying the | 423 Specifying 0 for @var{startpos} is equivalent to just specifying the |
439 symbol @var{variable}. @code{previous-history-element} will display | 424 symbol @var{variable}. @code{previous-history-element} will display |
440 the most recent element of the history list in the minibuffer. If you | 425 the most recent element of the history list in the minibuffer. If you |
441 specify a positive @var{startpos}, the minibuffer history functions | 426 specify a positive @var{startpos}, the minibuffer history functions |
442 behave as if @code{(elt @var{variable} (1- @var{STARTPOS}))} were the | 427 behave as if @code{(elt @var{variable} (1- @var{STARTPOS}))} were the |
443 history element currently shown in the minibuffer. For consistency, | 428 history element currently shown in the minibuffer. |
444 you should also specify that element of the history as the initial | 429 |
445 minibuffer contents. | 430 For consistency, you should also specify that element of the history |
431 as the initial minibuffer contents, using the @var{initial} argument | |
432 to the minibuffer input function (@pxref{Initial Input}). | |
446 @end table | 433 @end table |
447 | 434 |
448 If you don't specify @var{hist}, then the default history list | 435 If you don't specify @var{hist}, then the default history list |
449 @code{minibuffer-history} is used. For other standard history lists, | 436 @code{minibuffer-history} is used. For other standard history lists, |
450 see below. You can also create your own history list variable; just | 437 see below. You can also create your own history list variable; just |
504 | 491 |
505 @defvar read-expression-history | 492 @defvar read-expression-history |
506 A history list for arguments that are Lisp expressions to evaluate. | 493 A history list for arguments that are Lisp expressions to evaluate. |
507 @end defvar | 494 @end defvar |
508 | 495 |
496 @node Initial Input | |
497 @section Initial Input | |
498 | |
499 Several of the functions for minibuffer input have an argument called | |
500 @var{initial} or @var{initial-contents}. This is a mostly-deprecated | |
501 feature for specifiying that the minibuffer should start out with | |
502 certain text, instead of empty as usual. | |
503 | |
504 If @var{initial} is a string, the minibuffer starts out containing the | |
505 text of the string, with point at the end, when the user starts to | |
506 edit the text. If the user simply types @key{RET} to exit the | |
507 minibuffer, it will use the initial input string to determine the | |
508 value to return. | |
509 | |
510 @strong{We discourage use of a non-@code{nil} value for | |
511 @var{initial}}, because initial input is an intrusive interface. | |
512 History lists and default values provide a much more convenient method | |
513 to offer useful default inputs to the user. | |
514 | |
515 There is just one situation where you should specify a string for an | |
516 @var{initial} argument. This is when you specify a cons cell for the | |
517 @var{hist} or @var{history} argument. @xref{Minibuffer History}. | |
518 | |
519 @var{initial} can also be a cons cell of the form @code{(@var{string} | |
520 . @var{position})}. This means to insert @var{string} in the | |
521 minibuffer but put point at @var{position} within the string's text. | |
522 | |
523 As a historical accident, @var{position} was implemented | |
524 inconsistently in different functions. In @code{completing-read}, | |
525 @var{position}'s value is interpreted as origin-zero; that is, a value | |
526 of 0 means the beginning of the string, 1 means after the first | |
527 character, etc. In @code{read-minibuffer}, and the other | |
528 non-completion minibuffer input functions that support this argument, | |
529 1 means the beginning of the string 2 means after the first character, | |
530 etc. | |
531 | |
532 Use of a cons cell as the value for @var{initial} arguments is | |
533 deprecated in user code. | |
534 | |
509 @node Completion | 535 @node Completion |
510 @section Completion | 536 @section Completion |
511 @cindex completion | 537 @cindex completion |
512 | 538 |
513 @dfn{Completion} is a feature that fills in the rest of a name | 539 @dfn{Completion} is a feature that fills in the rest of a name |
795 | 821 |
796 The argument @var{hist} specifies which history list variable to use for | 822 The argument @var{hist} specifies which history list variable to use for |
797 saving the input and for minibuffer history commands. It defaults to | 823 saving the input and for minibuffer history commands. It defaults to |
798 @code{minibuffer-history}. @xref{Minibuffer History}. | 824 @code{minibuffer-history}. @xref{Minibuffer History}. |
799 | 825 |
800 If @var{initial} is non-@code{nil}, @code{completing-read} inserts it | 826 The argument @var{initial} is mostly deprecated; we recommend using a |
801 into the minibuffer as part of the input, with point at the end. Then | 827 non-@code{nil} value only in conjunction with specifying a cons cell |
802 it allows the user to edit the input, providing several commands to | 828 for @var{hist}. @xref{Initial Input}. For default input, use |
803 attempt completion. @var{initial} can also be a cons cell of the form | 829 @var{default} instead. |
804 @code{(@var{string} . @var{position})}. In that case, point is put at | |
805 @emph{zero-indexed} position @var{position} in @var{string}. Note | |
806 that this is different from @code{read-from-minibuffer} and related | |
807 functions, which use a one-indexed position. In most cases, we | |
808 recommend using @var{default}, and not @var{initial}. | |
809 | |
810 @strong{We discourage use of a non-@code{nil} value for | |
811 @var{initial}}, because it is an intrusive interface. The history | |
812 list feature (which did not exist when we introduced @var{initial}) | |
813 offers a far more convenient and general way for the user to get the | |
814 default and edit it, and it is always available. For an exception to | |
815 this rule, see @ref{Minibuffer History}. | |
816 | 830 |
817 If the argument @var{inherit-input-method} is non-@code{nil}, then the | 831 If the argument @var{inherit-input-method} is non-@code{nil}, then the |
818 minibuffer inherits the current input method (@pxref{Input | 832 minibuffer inherits the current input method (@pxref{Input |
819 Methods}) and the setting of @code{enable-multibyte-characters} | 833 Methods}) and the setting of @code{enable-multibyte-characters} |
820 (@pxref{Text Representations}) from whichever buffer was current before | 834 (@pxref{Text Representations}) from whichever buffer was current before |