New interface for choosing Custom themes.
authorChong Yidong <cyd@stupidchicken.com>
Tue, 12 Oct 2010 03:10:21 +0000 (23:10 -0400)
committerChong Yidong <cyd@stupidchicken.com>
Tue, 12 Oct 2010 03:10:21 +0000 (23:10 -0400)
commit6b09b5d118f2870e54a385f6ecd03cbf4508e120
tree2c4523afdc963fe1628268773be8f46bff1c4a9a
parent57b6ae53514ccef149507cfd5f53d2e418810d30
New interface for choosing Custom themes.

* lisp/cus-edit.el (custom--initialize-widget-variables): New function.
(Custom-mode): Use it.

* lisp/cus-face.el (custom-theme-set-faces): Remove dead code.  Obey
custom--inhibit-theme-enable.

* lisp/cus-theme.el (describe-theme, customize-themes)
(custom-theme-save): New commands.
(custom-new-theme-mode-map): Bind C-x C-s.
(custom-new-theme-mode): Use custom--initialize-widget-variables.
(customize-create-theme): New optional arg THEME.
(custom-theme-revert): Use it.
(custom-theme-visit-theme): Remove dead code.
(custom-theme-merge-theme): Use custom-available-themes.
(custom-theme-write): Make interactive.
(custom-theme-write): Use custom-theme-name-valid-p.
(describe-theme-1, custom-theme-choose-revert)
(custom-theme-checkbox-toggle, custom-theme-selections-toggle):
New funs.
(custom-theme-allow-multiple-selections): New option.
(custom-theme-choose-mode): New major mode.

* lisp/custom.el (custom-theme-set-variables): Remove dead code.  Obey
custom--inhibit-theme-enable.
(custom--inhibit-theme-enable): New var.
(provide-theme): Obey it.
(load-theme): Replace load with manual read/eval, in order to
check for correctness.  Use custom-theme-name-valid-p.
(custom-theme-name-valid-p): New function.
(custom-available-themes): Use it.

* lisp/help-mode.el (help-theme-def, help-theme-edit): New buttons.
lisp/ChangeLog
lisp/cus-edit.el
lisp/cus-face.el
lisp/cus-theme.el
lisp/custom.el
lisp/help-mode.el