unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
* Lisp manual missing link from Using Interactive to Minibuffers for read-* functions
@ 2006-02-17 18:57 Kevin Rodgers
  0 siblings, 0 replies; only message in thread
From: Kevin Rodgers @ 2006-02-17 18:57 UTC (permalink / raw)


 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

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2006-02-17 18:57 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2006-02-17 18:57 Lisp manual missing link from Using Interactive to Minibuffers for read-* functions Kevin Rodgers

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).