Commit graph

234 commits

Author SHA1 Message Date
Chong Yidong
b7617f6d8b Record "safe themes" as sha1 hashes, as suggested by Stefan Monnier.
* lisp/custom.el (custom-safe-themes): Rename from
custom-safe-theme-files.  Add :risky tag.
(load-theme, custom-theme-load-confirm): Save sha1 hashes to
custom-safe-themes, not filenames.  Suggested by Stefan Monnier.
2011-01-08 23:59:56 -05:00
Chong Yidong
278f68456b Load themes using `load', querying if theme file not known safe.
* custom.el (custom-safe-theme-files): New defcustom.
(custom-theme-load-confirm): New function.
(load-theme): Load theme using `load', confirming with
custom-theme-load-confirm if necessary.
2011-01-08 14:19:55 -05:00
Glenn Morris
5df4f04cd3 Add 2011 to FSF/AIST copyright years. 2011-01-02 15:50:46 -08:00
Chong Yidong
7fd8732d2e Revert 2010-10-18 change; use safe-functions instead.
* cus-face.el (custom-theme-set-faces): Revert 2010-10-18 change.
Don't mark as safe.

* custom.el (custom-theme-set-variables): Likewise.
(load-theme): Add custom-theme-set-faces and
custom-theme-set-variables to safe-functions while loading.
(custom-enabled-themes): Mark as risky.
2010-10-19 15:22:40 -04:00
Chong Yidong
e48eb34332 Use unsafep to check for theme safety.
* cus-face.el (custom-theme-set-faces): Mark as a safe function.

* custom.el (custom-theme-set-variables): Mark as a safe function.
(load-theme): Check forms using unsafep.
2010-10-18 13:26:25 -04:00
Chong Yidong
29a4c45b98 Allow Custom settings to be migrated into a custom theme.
* cus-theme.el (custom-theme--migrate-settings): New var.
(customize-create-theme): Allow editing the `user' theme.
(custom-theme-add-variable, custom-theme-add-var-1)
(custom-theme-add-face, custom-theme-add-face-1): Add a checkbox
to the front of each variable or face widget.
(custom-theme-write): Save theme settings in the correct order.
Optionally, remove saved settings from user customizations.
(custom-theme-write-variables, custom-theme-write-faces): Saved
only the checked widgets.
(customize-themes): Add a link for migrating custom settings.

* custom.el (custom-declare-theme, provide-theme): Use
custom-theme-name-valid-p.
(custom-theme-name-valid-p): Remove checks that are now
unnecessary since themes no longer obey load-path.

* cus-edit.el (custom-variable-value-create): For the simple
style, hide documentation string when hidden.
2010-10-16 20:00:34 -04:00
Chong Yidong
647bc5022f Allow hiding of modified custom widgets.
* cus-edit.el (custom-variable, custom-face): Combine the
:inhibit-magic and :display-style properties into a single
:custom-style property.
(custom-toggle-hide-variable, custom-toggle-hide-face): New
functions.  If hiding an edited value, save it to :shown-value.
(custom-variable-value-create, custom-face-value-create): Use
them.
(custom-magic-reset): Allow magic property to be unset.

* cus-theme.el (custom-theme-add-var-1)
(custom-theme-add-face-1): Use the :custom-style property.

* custom.el: (custom-theme-load-path): Doc fix.
2010-10-16 16:36:20 -04:00
Chong Yidong
782b5e8d92 Move built-in theme directory to etc/.
* custom.el: Custom themes no longer use load-path.
(custom-theme-load-path): New option.  Change built-in theme
directory to etc/.
(custom-enabled-themes): Add custom-theme-load-path dependency.
(custom-theme--load-path): New function.
(load-theme, custom-available-themes): Use it.

* cus-theme.el (describe-theme-1): Use custom-theme--load-path.
(customize-themes): Link to custom-theme-load-path variable.
2010-10-16 14:27:08 -04:00
Chong Yidong
4983ddeaa8 Define a cursor defface; minor face optimizations.
* faces.el (face-spec-reset-face): Reset all attributes in one
single call to set-face-attribute.
(face-spec-match-p): Make it a defsubst.
(frame-set-background-mode): New arg KEEP-FACE-SPECS.
(x-create-frame-with-faces, tty-create-frame-with-faces)
(tty-set-up-initial-frame-faces): Don't recompute face specs in
frame-set-background-mode, since they are recomputed immediately
afterwards in face-set-after-frame-default.
(face-set-after-frame-default): Minor optimization.
(cursor): Provide non-trivial defface spec.

* custom.el (custom-theme-recalc-face): Simplify.
2010-10-13 23:55:18 -04:00
Chong Yidong
2919746c64 Add some default custom themes.
* cus-theme.el (custom-theme--listed-faces): Add cursor face.
(describe-theme-1): Extract doc from unloaded themes.

* custom.el (custom-theme-name-valid-p): Don't list color-themes.

* themes/tango-theme.el:
* themes/tango-dark-theme.el:
* themes/wheatgrass-theme.el: New files.
2010-10-12 16:06:20 -04:00
Chong Yidong
6b09b5d118 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.
2010-10-11 23:10:21 -04:00
Chong Yidong
05d22d0217 More cleanups and minor fixes for Customize.
* cus-edit.el (custom-face-edit-fix-value): Use
custom-fix-face-spec.

* custom.el (custom-push-theme): Cleanup (use cond).
(disable-theme): Recompute the saved-face property.
(custom-theme-recalc-face): Follow face alias before setting prop.

* custom.el (custom-fix-face-spec): New function; code moved from
custom-face-edit-fix-value.
(custom-push-theme): Use it when checking if a face has been
changed outside customize.
(custom-available-themes): New function.
(load-theme): Use it.

* image.el (image-checkbox-checked, image-checkbox-unchecked): New
variables, containing checkbox images.

* startup.el (fancy-startup-tail):
* wid-edit.el (checkbox): Use them.
2010-10-11 00:49:59 -04:00
Chong Yidong
bd78fa1d54 Add "Package:" file headers to denote built-in packages. 2010-08-29 12:17:13 -04:00
Juanma Barranquero
440735a764 * custom.el (custom-declare-variable): Give clearer error message (bug#6476). 2010-07-23 03:29:46 +02:00
Stefan Monnier
9892380099 * custom.el (defcustom): Add edebug spec. 2010-04-18 22:32:47 -04:00
Glenn Morris
90a946031a * custom.el (custom-initialize-delay): Doc fix. 2010-02-25 20:42:07 -08:00
Glenn Morris
114f9c9679 Add 2010 to copyright years. 2010-01-13 00:35:10 -08:00
Glenn Morris
7a41cd7f97 (defgroup): Doc fix. 2009-11-14 04:14:49 +00:00
Dan Nicolaescu
af89cf7759 (custom-declare-group): Purecopy load-file-name. 2009-11-11 06:12:21 +00:00
Dan Nicolaescu
b6f8ba09c8 (custom-declare-group): Purecopy standard-value.
(custom-declare-group): Purecopy custom-prefix.
2009-11-04 06:34:37 +00:00
Stefan Monnier
b3c7c12d65 (custom-initialize-default, custom-initialize-set): CSE. 2009-09-15 04:08:02 +00:00
Stefan Monnier
adba8116c3 * mail/sendmail.el (send-mail-function):
* tooltip.el (tooltip-mode):
* simple.el (transient-mark-mode):
* rfn-eshadow.el (file-name-shadow-mode):
* frame.el (blink-cursor-mode):
* font-core.el (global-font-lock-mode):
* files.el (temporary-file-directory)
(small-temporary-file-directory, auto-save-file-name-transforms):
* epa-hook.el (auto-encryption-mode):
* composite.el (global-auto-composition-mode):
Use custom-initialize-delay.
* startup.el (command-line): Don't explicitly call
custom-reevaluate-setting for all the above vars.
* custom.el (custom-initialize-safe-set)
(custom-initialize-safe-default): Delete.
2009-09-13 00:52:55 +00:00
Stefan Monnier
790d02708f * custom.el (custom-delayed-init-variables): New var.
(custom-initialize-delay): New function.
* startup.el (command-line): "Re"evaluate all vars in
custom-delayed-init-variables.  Don't reevaluate abbrev-file-name
explicitly any more.
* abbrev.el (abbrev-file-name): Use custom-initialize-delay
to avoid creating a ~/.emacs.d at build-time (bug#4347).
2009-09-11 21:25:44 +00:00
Glenn Morris
ae940284fa Add 2009 to copyright years. 2009-01-05 03:18:22 +00:00
Glenn Morris
eb3fa2cfcf Switch to recommended form of GPLv3 permissions notice. 2008-05-06 08:06:51 +00:00
Miles Bader
b03f96dc5a Merge from emacs--rel--22
Revision: emacs@sv.gnu.org/emacs--devo--0--patch-1074
2008-02-24 10:09:07 +00:00
Glenn Morris
3d0c2a29ef (custom-theme-set-variables): Sort symbols that are
dependencies before symbols that depend on them.
(custom-enabled-themes): Set after custom-theme-directory.
2008-02-08 07:59:31 +00:00
Glenn Morris
1e281896cf (custom-theme-set-variables): Sort symbols that are
dependencies before symbols that depend on them.
(custom-enabled-themes): Set after custom-theme-directory.
2008-02-08 05:00:46 +00:00
Glenn Morris
279c44082a Richard M. Stallman <rms at gnu.org>
(custom-theme-recalc-face): Use face-spec-set rather than
face-spec-recalc.
2008-01-18 05:41:09 +00:00
Miles Bader
59ce725a3b Merge from emacs--rel--22
Revision: emacs@sv.gnu.org/emacs--devo--0--patch-987
2008-01-08 20:46:54 +00:00
Glenn Morris
409cc4a3ea Add 2008 to copyright years. 2008-01-07 02:45:14 +00:00
Richard M. Stallman
12c29dba8b (custom-theme-recalc-face): Simply call `face-spec-recalc'. 2007-12-30 03:33:21 +00:00
Juri Linkov
06f5c483ca (custom-note-var-changed): Remove the `interactive'
spec from this new non-interactive function.
2007-11-10 23:03:57 +00:00
Richard M. Stallman
400b960e67 (custom-note-var-changed): New function. 2007-10-26 03:50:56 +00:00
Glenn Morris
fd045a341b (custom-declare-variable): Add :risky and :safe keywords.
(defcustom): Doc fix.
2007-10-25 03:51:50 +00:00
Miles Bader
37cc095b6a Merge from emacs--rel--22
Revision: emacs@sv.gnu.org/emacs--devo--0--patch-851
2007-08-13 13:41:28 +00:00
Glenn Morris
4837b516ea Replace `iff' in doc-strings and comments. 2007-08-08 07:40:09 +00:00
Miles Bader
9aecacd08a Merge from emacs--rel--22
Patches applied:

 * emacs--rel--22  (patch 70-73)

   - Update from CVS

2007-07-25  Glenn Morris  <rgm@gnu.org>

   * Relicense all FSF files to GPLv3 or later.

Revision: emacs@sv.gnu.org/emacs--devo--0--patch-828
2007-07-26 05:28:10 +00:00
Glenn Morris
b4aa60262c Switch license to GPLv3 or later. 2007-07-25 04:50:21 +00:00
Chong Yidong
63212d45a1 (custom-theme-directory): Use user-emacs-directory. 2007-06-13 00:04:16 +00:00
Glenn Morris
5cdd251c3d Johan Bockg� <bojohan at dd.chalmers.se>:
(defface): Doc fix.
2007-04-25 04:45:59 +00:00
Glenn Morris
ebdaed17f4 Johan Bockg� <bojohan at dd.chalmers.se>:
(defface): Doc fix.
2007-04-25 04:44:28 +00:00
Glenn Morris
d7a0267c8d Add 2007 to copyright years. 2007-01-21 03:53:13 +00:00
Chong Yidong
467064a42d (custom-add-frequent-value): Alias for custom-add-option. 2006-12-24 00:25:03 +00:00
Glenn Morris
f2276b6985 (defcustom): Doc fix. 2006-09-30 00:45:32 +00:00
Stefan Monnier
9277ee6cd2 (custom-theme-set-variables): Autoload packages before sorting the variables. 2006-08-31 17:10:34 +00:00
Stefan Monnier
d54fbdfd31 (custom-autoload): Add `noset' argument.
(custom-push-theme): Don't autoload the variable, let callers do it.
(custom-theme-set-variables): Autoload the variable if necessary.
2006-07-17 21:26:32 +00:00
Chong Yidong
e58d8ef513 * custom.el (custom-push-theme): Load the variable before checking
its `standard-value'.
2006-05-13 16:16:43 +00:00
Bill Wohler
994019dfac * cus-edit.el (customize-package-emacs-version-alist): Update
docstring.
(customize-package-emacs-version): Use cdr instead of cadr now that
alists use dotted pairs.

* custom.el (defcustom): Fix docstring for :package-version.
2006-04-14 00:46:39 +00:00
Bill Wohler
81117bddbd (defcustom): Create Common Keywords section in docstring.
(defface, defgroup): Replace definitions of a select few keywords with
a reference to the Common Keywords in defcustom.
(defcustom, defface, defgroup): Replace reference to Customization
chapter in manual with hyperlink.
2006-04-11 00:08:56 +00:00