]> git.eshelyaron.com Git - emacs.git/commitdiff
(while-no-input): Return t if there is input.
authorRichard M. Stallman <rms@gnu.org>
Tue, 9 Aug 2005 02:51:22 +0000 (02:51 +0000)
committerRichard M. Stallman <rms@gnu.org>
Tue, 9 Aug 2005 02:51:22 +0000 (02:51 +0000)
lisp/subr.el

index 4704dd1e99ea69644eb4b062fd5f6c1a8e41f9c2..f97a2e40f71be39e30004380d91d40c3f48d3bf5 100644 (file)
@@ -1833,14 +1833,14 @@ is allowed once again."
 (defmacro while-no-input (&rest body)
   "Execute BODY only as long as there's no pending input.
 If input arrives, that ends the execution of BODY,
-and `while-no-input' returns nil.  If BODY finishes,
-`while-no-input' returns whatever value BODY produced."
+and `while-no-input' returns t.  Quitting makes it return nil.
+If BODY finishes, `while-no-input' returns whatever value BODY produced."
   (declare (debug t) (indent 0))
   (let ((catch-sym (make-symbol "input")))
     `(with-local-quit
        (catch ',catch-sym
         (let ((throw-on-input ',catch-sym))
-          (when (sit-for 0 0 t)
+          (or (not (sit-for 0 0 t))
             ,@body))))))
 
 (defmacro combine-after-change-calls (&rest body)