]> git.eshelyaron.com Git - emacs.git/commitdiff
(map-y-or-n-p): Check use-dialog-box. Don't lose
authorDave Love <fx@gnu.org>
Tue, 19 Sep 2000 11:57:46 +0000 (11:57 +0000)
committerDave Love <fx@gnu.org>
Tue, 19 Sep 2000 11:57:46 +0000 (11:57 +0000)
with null `help'.  Use modern backquote syntax.

lisp/ChangeLog
lisp/map-ynp.el

index 022505241165373889c59440a2109192f7c0aa2b..41376f5b764d63f4eff564354f20e4381b61c001 100644 (file)
@@ -1,3 +1,8 @@
+2000-09-19  Dave Love  <fx@gnu.org>
+
+       * map-ynp.el (map-y-or-n-p): Check use-dialog-box.  Don't lose
+       with null `help'.  Use modern backquote syntax.
+
 2000-09-19  Gerd Moellmann  <gerd@gnu.org>
 
        * font-lock.el (font-lock-mode): Change message telling the user
index be664e02e1115eed77e212e1c5c321756a171148..d23c31ac4b44995e12118825f5df8d9591474007 100644 (file)
@@ -1,6 +1,6 @@
 ;;; map-ynp.el --- General-purpose boolean question-asker.
 
-;; Copyright (C) 1991, 1992, 1993, 1994, 1995 Free Software Foundation, Inc.
+;; Copyright (C) 1991, 1992, 1993, 1994, 1995, 2000 Free Software Foundation, Inc.
 
 ;; Author: Roland McGrath <roland@gnu.org>
 ;; Maintainer: FSF
@@ -96,20 +96,21 @@ Returns the number of actions taken."
                                         list (cdr list))
                                   t)
                               nil))))))
-    (if (listp last-nonmenu-event)
+    (if (and (listp last-nonmenu-event)
+            use-dialog-box)
        ;; Make a list describing a dialog box.
-       (let ((object (capitalize (nth 0 help)))
-             (objects (capitalize (nth 1 help)))
-             (action (capitalize (nth 2 help))))
-         (setq map (` (("Yes" . act) ("No" . skip) ("Quit" . exit)
-                       ((, (if help (concat action " " object " And Quit")
-                             "Do it and Quit")) . act-and-exit)
-                       ((, (if help (concat action " All " objects)
-                             "Do All")) . automatic)
-                       (,@ (mapcar (lambda (elt)
-                                     (cons (capitalize (nth 2 elt))
-                                           (vector (nth 1 elt))))
-                                   action-alist))))
+       (let ((object (if help (capitalize (nth 0 help))))
+             (objects (if help (capitalize (nth 1 help))))
+             (action (if help (capitalize (nth 2 help)))))
+         (setq map `(("Yes" . act) ("No" . skip) ("Quit" . exit)
+                     (,(if help (concat action " " object " And Quit")
+                         "Do it and Quit") . act-and-exit)
+                     (,(if help (concat action " All " objects)
+                         "Do All") . automatic)
+                     ,@(mapcar (lambda (elt)
+                                 (cons (capitalize (nth 2 elt))
+                                       (vector (nth 1 elt))))
+                               action-alist))
                use-menus t
                mouse-event last-nonmenu-event))                               
       (setq user-keys (if action-alist
@@ -130,8 +131,8 @@ Returns the number of actions taken."
     (unwind-protect
        (progn
          (if (stringp prompter)
-             (setq prompter (` (lambda (object)
-                                 (format (, prompter) object)))))
+             (setq prompter `(lambda (object)
+                               (format ,prompter object))))
          (while (funcall next)
            (setq prompt (funcall prompter elt))
            (cond ((stringp prompt)
@@ -176,9 +177,9 @@ Returns the number of actions taken."
                                next (function (lambda () nil))))
                         ((or (eq def 'quit) (eq def 'exit-prefix))
                          (setq quit-flag t)
-                         (setq next (` (lambda ()
-                                         (setq next '(, next))
-                                         '(, elt)))))
+                         (setq next `(lambda ()
+                                       (setq next ',next)
+                                       ',elt)))
                         ((eq def 'automatic)
                          ;; Act on this and all following objects.
                          (if (funcall prompter elt)
@@ -219,34 +220,34 @@ the current %s and exit."
                              (set-buffer standard-output)
                              (help-mode)))
 
-                         (setq next (` (lambda ()
-                                         (setq next '(, next))
-                                         '(, elt)))))
+                         (setq next (lambda ()
+                                      (setq next ',next)
+                                      ',elt)))
                         ((vectorp def)
                          ;; A user-defined key.
                          (if (funcall (aref def 0) elt) ;Call its function.
                              ;; The function has eaten this object.
                              (setq actions (1+ actions))
                            ;; Regurgitated; try again.
-                           (setq next (` (lambda ()
-                                           (setq next '(, next))
-                                           '(, elt))))))
+                           (setq next (lambda ()
+                                        (setq next ',next)
+                                        ',elt))))
                         ((and (consp char)
                               (eq (car char) 'switch-frame))
                          ;; switch-frame event.  Put it off until we're done.
                          (setq delayed-switch-frame char)
-                         (setq next (` (lambda ()
-                                         (setq next '(, next))
-                                         '(, elt)))))
+                         (setq next (lambda ()
+                                      (setq next ',next)
+                                      ',elt)))
                         (t
                          ;; Random char.
                          (message "Type %s for help."
                                   (key-description (vector help-char)))
                          (beep)
                          (sit-for 1)
-                         (setq next (` (lambda ()
-                                         (setq next '(, next))
-                                         '(, elt)))))))
+                         (setq next (lambda ()
+                                      (setq next ',next)
+                                      ',elt)))))
                  (prompt
                   (funcall actor elt)
                   (setq actions (1+ actions))))))