Mercurial > emacs
changeset 18638:ac27714a02cf
(widget-field-use-before-change): Reenable for Emacs 20.
(widget-choose): Using keyboard, if all choices are
diabled, just report an error.
author | Richard M. Stallman <rms@gnu.org> |
---|---|
date | Sun, 06 Jul 1997 23:12:14 +0000 |
parents | 62cf644c438b |
children | 2ad503f49fd7 |
files | lisp/wid-edit.el |
diffstat | 1 files changed, 7 insertions(+), 3 deletions(-) [+] |
line wrap: on
line diff
--- a/lisp/wid-edit.el Sat Jul 05 21:33:06 1997 +0000 +++ b/lisp/wid-edit.el Sun Jul 06 23:12:14 1997 +0000 @@ -300,6 +300,7 @@ (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 @@ (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 @@ (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