bug-gnu-emacs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Lisp manual missing link from Using Interactive to Minibuffers for read-


From: Kevin Rodgers
Subject: Lisp manual missing link from Using Interactive to Minibuffers for read-* functions
Date: Fri, 17 Feb 2006 11:57:23 -0700
User-agent: Mozilla Thunderbird 0.9 (X11/20041105)

From the Using Interactive node of the Emacs Lisp manual:

|    There are three possibilities for the argument ARG-DESCRIPTOR:
|
|    * It may be omitted or `nil'; then the command is called with no
|      arguments.  This leads quickly to an error if the command requires
|      one or more arguments.
|
|    * It may be a Lisp expression that is not a string; then it should
|      be a form that is evaluated to get a list of arguments to pass to
|      the command.
|
|      If this expression reads keyboard input (this includes using the
|      minibuffer), keep in mind that the integer value of point or the
|      mark before reading input may be incorrect after reading input.
|      This is because the current buffer may be receiving subprocess
|      output; if subprocess output arrives while the command is waiting
|      for input, it could relocate point and the mark.

Before delving into the details of how subprocess output can affect the
point and mark, it would be much more helpful to have a simple statement
that the normal thing to do is to read input from the user via the
minibuffer, and to include a link to the Minibuffers node (whose
subnodes describe most of the various read-* functions).

But since the various read-* functions are scattered across several
nodes at different places in the manual, it would be even better if
there was a single Reading User Input node that listed them all.  That
node could then be referenced from Using Interactive, and might be as
simple as this:

*Note Text from Minibuffer::.
`read-from-minibuffer', `read-string', `read-no-blanks-input'

*Note Object from Minibuffer::.
`read-minibuffer'

* Note High-Level Completion::.
`read-buffer', `read-command', `read-variable'

* Note Reading File Names::.
`read-file-name'

* Note Reading a Password::.
`read-passwd'

* Note Key Sequence Input::.
`read-key-sequence', `read-key-sequence-vector'

* Note Reading One Event::.
`read-event', `read-char', `read-char-exclusive'

* Note Quoted Character Input::.
`read-quoted-char'

* Note User-Chosen Coding Systems::.
`read-coding-system', `read-non-nil-coding-system'

* Note Input Methods::.
`read-input-method-name'

The "wrong" example in the Using Interactive node that follows the cited
text above is actually very illustrative, and could then serve as the
introduction to the digression on subprocess output affecting point and
mark.

Thanks,
--
Kevin Rodgers





reply via email to

[Prev in Thread] Current Thread [Next in Thread]