;;; wid-edit.el --- Functions for creating and using widgets -*-byte-compile-dynamic: t;-*-
;;
-;; Copyright (C) 1996, 1997, 1999, 2000, 2001, 2002, 2003,
-;; 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
+;; Copyright (C) 1996, 1997, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
+;; 2006, 2007, 2008, 2009 Free Software Foundation, Inc.
;;
;; Author: Per Abrahamsen <abraham@dina.kvl.dk>
;; Maintainer: FSF
:type 'integer)
(defcustom widget-menu-minibuffer-flag nil
- "*Control how to ask for a choice from the keyboard.
+ "Control how to ask for a choice from the keyboard.
Non-nil means use the minibuffer;
nil means read a single character."
:group 'widgets
(if (and (display-graphic-p)
(setq image (widget-image-find image)))
(progn (widget-put widget :suppress-face t)
- (insert-image image
- (propertize
- ;; Use a `list' so it's unique and won't get
- ;; accidentally merged with neighbouring images.
- tag 'mouse-face (list widget-button-pressed-face))))
+ (insert-image image tag))
(insert tag)))
(defun widget-move-and-invoke (event)
;;; Keymap and Commands.
-;;;###autoload
+;; This alias exists only so that one can choose in doc-strings (e.g.
+;; Custom-mode) which key-binding of widget-keymap one wants to refer to.
+;; http://lists.gnu.org/archive/html/emacs-devel/2008-11/msg00480.html
(defalias 'advertised-widget-backward 'widget-backward)
;;;###autoload
:complete-function 'ispell-complete-word
:prompt-history 'widget-string-prompt-value-history)
-(eval-when-compile (defvar widget))
+(defvar widget)
(defun widget-string-complete ()
"Complete contents of string field.
(message "Only match"))
((null completion)
(error "No match"))
- ((not (eq t (compare-strings prefix nil nil completion nil nil
+ ((not (eq t (compare-strings prefix nil nil completion nil nil
completion-ignore-case)))
(when completion-ignore-case
;; Replace field with completion in case its case is different.
(require 'facemenu) ; for facemenu-color-alist
(let* ((prefix (buffer-substring-no-properties (widget-field-start widget)
(point)))
- (list (or facemenu-color-alist (defined-colors)))
+ (list (or facemenu-color-alist
+ (sort (defined-colors) 'string-lessp)))
(completion (try-completion prefix list)))
(cond ((eq completion t)
(message "Exact match."))