# HG changeset patch # User Chong Yidong # Date 1250400321 0 # Node ID 6ee860194ef54548ef3612bedae3f300c1366613 # Parent 012ded1c9caf6b63985fae61b3bc94e85aee2a49 * facemenu.el (facemenu-read-color): Use a completion function that accepts any defined color, such as RGB triplets (Bug#3677). diff -r 012ded1c9caf -r 6ee860194ef5 lisp/ChangeLog --- a/lisp/ChangeLog Sun Aug 16 03:16:33 2009 +0000 +++ b/lisp/ChangeLog Sun Aug 16 05:25:21 2009 +0000 @@ -1,5 +1,8 @@ 2009-08-16 Chong Yidong + * facemenu.el (facemenu-read-color): Use a completion function + that accepts any defined color, such as RGB triplets (Bug#3677). + * files.el (get-free-disk-space): Change fallback default directory to /. Expand DIR argument before switching to fallback. Suggested by Kevin Ryde (Bug#2631, Bug#3911). diff -r 012ded1c9caf -r 6ee860194ef5 lisp/facemenu.el --- a/lisp/facemenu.el Sun Aug 16 03:16:33 2009 +0000 +++ b/lisp/facemenu.el Sun Aug 16 05:25:21 2009 +0000 @@ -460,11 +460,17 @@ (defun facemenu-read-color (&optional prompt) "Read a color using the minibuffer." (let* ((completion-ignore-case t) - (require-match (not (eq window-system 'ns))) - (col (completing-read (or prompt "Color: ") - (or facemenu-color-alist - (defined-colors)) - nil require-match))) + (color-list (or facemenu-color-alist (defined-colors))) + (completer + (lambda (string pred all-completions) + (if all-completions + (or (all-completions string color-list pred) + (if (color-defined-p string) + (list string))) + (or (try-completion string color-list pred) + (if (color-defined-p string) + string))))) + (col (completing-read (or prompt "Color: ") completer nil t))) (if (equal "" col) nil col)))