summaryrefslogtreecommitdiff
path: root/lisp/map-ynp.el
diff options
context:
space:
mode:
authorRoland McGrath <roland@gnu.org>1991-09-26 06:39:56 +0000
committerRoland McGrath <roland@gnu.org>1991-09-26 06:39:56 +0000
commitad5f52cd8a05aa513456faa577fb7183f8a4d7f6 (patch)
treed9000e267bf84ed408aa3f10705eedaa464ba3f0 /lisp/map-ynp.el
parent0d96dc3130dddc5f666c1d0a3b114f5ae670ba21 (diff)
downloademacs-ad5f52cd8a05aa513456faa577fb7183f8a4d7f6.tar.gz
*** empty log message ***
Diffstat (limited to 'lisp/map-ynp.el')
-rw-r--r--lisp/map-ynp.el16
1 files changed, 9 insertions, 7 deletions
diff --git a/lisp/map-ynp.el b/lisp/map-ynp.el
index 0d78ee69196..db345d66ef8 100644
--- a/lisp/map-ynp.el
+++ b/lisp/map-ynp.el
@@ -69,23 +69,25 @@ Returns the number of actions taken."
(actions 0)
prompt
char
+ elt
(next (if (or (symbolp list)
(subrp list)
(compiled-function-p list)
(and (consp list)
(eq (car list) 'lambda)))
- list
+ (function (lambda ()
+ (setq elt (funcall list))))
(function (lambda ()
(if list
- (prog1
- (car list)
- (setq list (cdr list)))
- nil)))))
- elt)
+ (progn
+ (setq elt (car list)
+ list (cdr list))
+ t)
+ nil))))))
(if (stringp prompter)
(setq prompter (` (lambda (object)
(format (, prompter) object)))))
- (while (setq elt (funcall next))
+ (while (funcall next)
(setq prompt (funcall prompter elt))
(if (stringp prompt)
(progn