# HG changeset patch # User Richard M. Stallman # Date 1140392258 0 # Node ID 727fe5204470b6faa5b7a3293b54beca98eaee51 # Parent 370c1ad26b94f7e4f83a89ad35fa045d0b451b99 (Using Interactive): Add xrefs about reading input. Clarify remarks about that moving point and mark. diff -r 370c1ad26b94 -r 727fe5204470 lispref/commands.texi --- a/lispref/commands.texi Sun Feb 19 23:35:56 2006 +0000 +++ b/lispref/commands.texi Sun Feb 19 23:37:38 2006 +0000 @@ -150,18 +150,21 @@ arguments. This leads quickly to an error if the command requires one or more arguments. + @item 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. +command. Usually this form will call various functions to read input +from the user, most often through the minibuffer (@pxref{Minibuffer}) +or directly from the keyboard (@pxref{Reading Input}). @cindex argument evaluation form -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. +Providing point or the mark as an argument value is also common, but +if you do this @emph{and} read input (whether using the minibuffer or +not), be sure to get the integer values of point or the mark after +reading. 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. Here's an example of what @emph{not} to do: @@ -172,8 +175,8 @@ @end smallexample @noindent -Here's how to avoid the problem, by examining point and the mark only -after reading the keyboard input: +Here's how to avoid the problem, by examining point and the mark after +reading the keyboard input: @smallexample (interactive