# HG changeset patch # User Roland McGrath # Date 679076888 0 # Node ID 828a35833c4a23943738334ce4be9b796bd32b76 # Parent 036865305387bf4d367e120ea34fc6420f36fa29 *** empty log message *** diff -r 036865305387 -r 828a35833c4a lisp/map-ynp.el --- a/lisp/map-ynp.el Tue Jul 09 01:26:26 1991 +0000 +++ b/lisp/map-ynp.el Tue Jul 09 16:28:08 1991 +0000 @@ -115,31 +115,34 @@ (setq actions (1+ actions) next (function (lambda () nil)))) ((= ?! char) - ;; Act on all following objects. + ;; Act on this and all following objects. + (if (eval (funcall prompter elt)) + (progn + (funcall actor elt) + (setq actions (1+ actions)))) (while (setq elt (funcall next)) - (if (funcall prompter elt) + (if (eval (funcall prompter elt)) (progn (funcall actor elt) (setq actions (1+ actions)))))) ((= ?? char) (setq unread-command-char help-char) - (setq next (` (function (lambda () - (setq next (, next)) - t))))) + (setq next (` (lambda () + (setq next '(, next)) + '(, elt))))) (t ;; Random char. (message "Type %s for help." (key-description (char-to-string help-char))) (beep) (sit-for 1) - (setq next (` (function (lambda () - (setq next (, next)) - t))))))) + (setq next (` (lambda () + (setq next '(, next)) + '(, elt))))))) (if (eval prompt) (progn - (funcall actor (car list)) - (setq actions (1+ actions))))) - (setq list (cdr list))) + (funcall actor elt) + (setq actions (1+ actions)))))) ;; Clear the last prompt from the minibuffer. (message "") ;; Return the number of actions that were taken.