]> git.eshelyaron.com Git - emacs.git/commitdiff
(Event Input Misc): Update while-no-input.
authorRichard M. Stallman <rms@gnu.org>
Tue, 9 Aug 2005 12:00:09 +0000 (12:00 +0000)
committerRichard M. Stallman <rms@gnu.org>
Tue, 9 Aug 2005 12:00:09 +0000 (12:00 +0000)
lispref/commands.texi

index 5ded722155c350af4350afd3cddcaae18282705b..47025fb0c2869c48c8872fd547135292dcdd5cbe 100644 (file)
@@ -2435,15 +2435,26 @@ Emacs version 18.
 @end defvar
 
 @defmac while-no-input body...
-This construct runs the @var{body} forms and returns the value
-of the last one---but only if no input arrives.  If any input
-arrives during the execution of the @var{body} forms, it aborts
-them (working much like a quit), and the @code{while-no-input}
-form returns @code{nil}.
+This construct runs the @var{body} forms and returns the value of the
+last one---but only if no input arrives.  If any input arrives during
+the execution of the @var{body} forms, it aborts them (working much
+like a quit).  The @code{while-no-input} form returns @code{nil} if
+aborted by a real quit, and returns @code{t} if aborted by arrival of
+other input.
 
 If a part of @var{body} binds @code{inhibit-quit} to non-@code{nil},
 arrival of input during those parts won't cause an abort until
 the end of that part.
+
+If you want to be able to distingish all possible values computed
+by @var{body} from both kinds of abort conditions, write the code
+like this:
+
+@example
+(while-no-input
+  (list
+    (progn . @var{body})))
+@end example
 @end defmac
 
 @defun discard-input