]> git.eshelyaron.com Git - emacs.git/commitdiff
(widget-field-use-before-change): Reenable for Emacs 20.
authorRichard M. Stallman <rms@gnu.org>
Sun, 6 Jul 1997 23:12:14 +0000 (23:12 +0000)
committerRichard M. Stallman <rms@gnu.org>
Sun, 6 Jul 1997 23:12:14 +0000 (23:12 +0000)
(widget-choose): Using keyboard, if all choices are
diabled, just report an error.

lisp/wid-edit.el

index 31b8be64dddf3586458272ea01a7f7d5fa4cc83a..ba431611815c20ea4d812c49ce550113ba0f6ba3 100644 (file)
@@ -300,6 +300,7 @@ minibuffer."
         (let* ((overriding-terminal-local-map
                 (make-sparse-keymap))
                map choice (next-digit ?0)
+               some-choice-enabled
                value)
           ;; Define SPC as a prefix char to get to this menu.
           (define-key overriding-terminal-local-map " "
@@ -314,11 +315,14 @@ minibuffer."
                   (let* ((name (car choice))
                         (function (cdr choice)))
                     (insert (format "%c = %s\n" next-digit name))
-                    (define-key map (vector next-digit) function)))
+                    (define-key map (vector next-digit) function)
+                    (setq some-choice-enabled t)))
               ;; Allocate digits to disabled alternatives
               ;; so that the digit of a given alternative never varies.
               (setq next-digit (1+ next-digit)))
             (insert "\nC-g = Quit"))
+          (or some-choice-enabled
+              (error "None of the choices is currently meaningful"))
           (define-key map [?\C-g] 'keyboard-quit)
           (define-key map [t] 'keyboard-quit)
           (setcdr map (nreverse (cdr map)))
@@ -375,10 +379,10 @@ size field."
 
 (defcustom widget-field-use-before-change
   (or (> emacs-minor-version 34)
-      (> emacs-major-version 20)
+      (>= emacs-major-version 20)
       (string-match "XEmacs" emacs-version))
   "Non-nil means use `before-change-functions' to track editable fields.
-This enables the use of undo, but doesn'f work on Emacs 19.34 and earlier. 
+This enables the use of undo, but doesn't work on Emacs 19.34 and earlier. 
 Using before hooks also means that the :notify function can't know the
 new value."
   :type 'boolean