Mercurial > emacs
diff lisp/wid-edit.el @ 110811:4d1b1a2c88c6
Improvements to face customization interface.
* lisp/cus-edit.el (custom-variable, custom-face): Doc fix.
(custom-face-edit): Add value-create attribute.
(custom-face-edit-value-create)
(custom-face-edit-value-visibility-action): New functions. Hide
unused face attributes by default, and add a visibility toggle.
(custom-face-edit-deactivate): Show empty values with shadow face.
(custom-face-selected): Only use this for face specs with default
attributes.
(custom-face-value-create): Cleanup.
* lisp/wid-edit.el (widget-checklist-value-create): Use dolist.
(widget-checklist-match-find): Make second arg optional.
author | Chong Yidong <cyd@stupidchicken.com> |
---|---|
date | Thu, 07 Oct 2010 20:05:12 -0400 |
parents | 280c8ae2476d |
children | 7a9a2861c2c2 |
line wrap: on
line diff
--- a/lisp/wid-edit.el Thu Oct 07 22:26:11 2010 +0000 +++ b/lisp/wid-edit.el Thu Oct 07 20:05:12 2010 -0400 @@ -2237,11 +2237,10 @@ (defun widget-checklist-value-create (widget) ;; Insert all values - (let ((alist (widget-checklist-match-find widget (widget-get widget :value))) - (args (widget-get widget :args))) - (while args - (widget-checklist-add-item widget (car args) (assq (car args) alist)) - (setq args (cdr args))) + (let ((alist (widget-checklist-match-find widget)) + (args (widget-get widget :args))) + (dolist (item args) + (widget-checklist-add-item widget item (assq item alist))) (widget-put widget :children (nreverse (widget-get widget :children))))) (defun widget-checklist-add-item (widget type chosen) @@ -2314,9 +2313,10 @@ values nil))))) (cons found rest))) -(defun widget-checklist-match-find (widget vals) +(defun widget-checklist-match-find (widget &optional vals) "Find the vals which match a type in the checklist. Return an alist of (TYPE MATCH)." + (or vals (setq vals (widget-get widget :value))) (let ((greedy (widget-get widget :greedy)) (args (copy-sequence (widget-get widget :args))) found) @@ -2809,11 +2809,10 @@ argument answer found) (while args (setq argument (car args) - args (cdr args) - answer (widget-match-inline argument vals)) - (if answer - (setq vals (cdr answer) - found (append found (car answer))) + args (cdr args)) + (if (setq answer (widget-match-inline argument vals)) + (setq found (append found (car answer)) + vals (cdr answer)) (setq vals nil args nil))) (if answer