diff options
author | Karl Heuer <kwzh@gnu.org> | 1998-09-13 03:36:27 +0000 |
---|---|---|
committer | Karl Heuer <kwzh@gnu.org> | 1998-09-13 03:36:27 +0000 |
commit | 703c3a110b339bda8a24ac69e81cabbaabf451b5 (patch) | |
tree | 4aee0b3d8337de8678f97e2e73991f40d560575f /lisp | |
parent | 65f2da7e910fb135e66f57b54c71d25dfc7718c1 (diff) | |
download | emacs-703c3a110b339bda8a24ac69e81cabbaabf451b5.tar.gz emacs-703c3a110b339bda8a24ac69e81cabbaabf451b5.tar.bz2 emacs-703c3a110b339bda8a24ac69e81cabbaabf451b5.zip |
(widget-menu-max-shortcuts): New variable.
(widget-choose): Don't use single-char shortcuts if # items
exceeds that many. Use minibuffer instead.
Diffstat (limited to 'lisp')
-rw-r--r-- | lisp/wid-edit.el | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/lisp/wid-edit.el b/lisp/wid-edit.el index 583ab54fbc2..70d61a99d23 100644 --- a/lisp/wid-edit.el +++ b/lisp/wid-edit.el @@ -176,7 +176,13 @@ Larger menus are read through the minibuffer." :group 'widgets :type 'integer) -(defcustom widget-menu-minibuffer-flag (string-match "XEmacs" emacs-version) +(defcustom widget-menu-max-shortcuts 40 + "Largest number of items for which it works to choose one with a character. +For a larger number of items, the minibuffer is used." + :group 'widgets + :type 'integer) + +(defcustom widget-menu-minibuffer-flag nil "*Control how to ask for a choice from the keyboard. Non-nil means use the minibuffer; nil means read a single character." @@ -202,7 +208,8 @@ minibuffer." ;; We are in Emacs-19, pressed by the mouse (x-popup-menu event (list title (cons "" items)))) - (widget-menu-minibuffer-flag + ((or widget-menu-minibuffer-flag + (> (length items) widget-menu-max-shortcuts)) ;; Read the choice of name from the minibuffer. (setq items (widget-remove-if 'stringp items)) (let ((val (completing-read (concat title ": ") items nil t))) |