diff options
author | Roland McGrath <roland@gnu.org> | 1991-07-09 16:28:08 +0000 |
---|---|---|
committer | Roland McGrath <roland@gnu.org> | 1991-07-09 16:28:08 +0000 |
commit | 0af46a8b5413c346fa87d076109309e97c68836f (patch) | |
tree | dbd88388e1f050443bcd8e76c51867a842e389ee /lisp/map-ynp.el | |
parent | c888bcc33fbfe1043bb40fc9f532ea3fd62fe7c8 (diff) | |
download | emacs-0af46a8b5413c346fa87d076109309e97c68836f.tar.gz |
*** empty log message ***
Diffstat (limited to 'lisp/map-ynp.el')
-rw-r--r-- | lisp/map-ynp.el | 25 |
1 files changed, 14 insertions, 11 deletions
diff --git a/lisp/map-ynp.el b/lisp/map-ynp.el index f55d6e62713..270e137c521 100644 --- a/lisp/map-ynp.el +++ b/lisp/map-ynp.el @@ -115,31 +115,34 @@ Returns the number of actions taken." (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. |