710 |
(put 'custom-local-buffer 'permanent-local t) |
(put 'custom-local-buffer 'permanent-local t) |
711 |
|
|
712 |
(defun custom-set-variables (&rest args) |
(defun custom-set-variables (&rest args) |
713 |
"Initialize variables according to user preferences. |
"Install user customizations of variable values specified in ARGS. |
714 |
The settings are registered as theme `user'. |
These settings are registered as theme `user'. |
715 |
The arguments should each be a list of the form: |
The arguments should each be a list of the form: |
716 |
|
|
717 |
(SYMBOL VALUE [NOW [REQUEST [COMMENT]]]) |
(SYMBOL EXP [NOW [REQUEST [COMMENT]]]) |
718 |
|
|
719 |
The unevaluated VALUE is stored as the saved value for SYMBOL. |
This stores EXP (without evaluating it) as the saved value for SYMBOL. |
720 |
If NOW is present and non-nil, VALUE is also evaluated and bound as |
If NOW is present and non-nil, then also evaluate EXP and set |
721 |
the default value for the SYMBOL. |
the default value for the SYMBOL to the value of EXP. |
722 |
|
|
723 |
REQUEST is a list of features we must 'require for SYMBOL. |
REQUEST is a list of features we must require in order to |
724 |
|
handle SYMBOL properly. |
725 |
COMMENT is a comment string about SYMBOL." |
COMMENT is a comment string about SYMBOL." |
726 |
(apply 'custom-theme-set-variables 'user args)) |
(apply 'custom-theme-set-variables 'user args)) |
727 |
|
|
728 |
(defun custom-theme-set-variables (theme &rest args) |
(defun custom-theme-set-variables (theme &rest args) |
729 |
"Initialize variables according to settings specified by args. |
"Initialize variables for theme THEME according to settings in ARGS. |
730 |
Records the settings as belonging to THEME. |
Each of the arguments in ARGS should be a list of this form: |
731 |
|
|
732 |
The arguments should be a list where each entry has the form: |
(SYMBOL EXP [NOW [REQUEST [COMMENT]]]) |
733 |
|
|
734 |
(SYMBOL VALUE [NOW [REQUEST [COMMENT]]]) |
This stores EXP (without evaluating it) as the saved value for SYMBOL. |
735 |
|
If NOW is present and non-nil, then also evaluate EXP and set |
736 |
|
the default value for the SYMBOL to the value of EXP. |
737 |
|
|
738 |
The unevaluated VALUE is stored as the saved value for SYMBOL. |
REQUEST is a list of features we must require in order to |
739 |
If NOW is present and non-nil, VALUE is also evaluated and bound as |
handle SYMBOL properly. |
|
the default value for the SYMBOL. |
|
|
REQUEST is a list of features we must 'require for SYMBOL. |
|
740 |
COMMENT is a comment string about SYMBOL. |
COMMENT is a comment string about SYMBOL. |
741 |
|
|
742 |
Several properties of THEME and SYMBOL are used in the process: |
Several properties of THEME and SYMBOL are used in the process: |
743 |
|
|
744 |
If THEME property `theme-immediate' is non-nil, this is equivalent of |
If THEME's property `theme-immediate' is non-nil, this is equivalent of |
745 |
providing the NOW argument to all symbols in the argument list: SYMBOL |
providing the NOW argument to all symbols in the argument list: |
746 |
is bound to the evaluated VALUE. The only difference is SYMBOL property |
evaluate each EXP and set the corresponding SYMBOL. However, |
747 |
|
there's a difference in the handling of SYMBOL's property |
748 |
`force-value': if NOW is non-nil, SYMBOL's property `force-value' is set to |
`force-value': if NOW is non-nil, SYMBOL's property `force-value' is set to |
749 |
the symbol `rogue', else if THEME's property `theme-immediate' is non-nil, |
the symbol `rogue', else if THEME's property `theme-immediate' is non-nil, |
750 |
FACE's property `force-face' is set to the symbol `immediate'. |
SYMBOL's property `force-value' is set to the symbol `immediate'. |
751 |
|
|
752 |
VALUE itself is saved unevaluated as SYMBOL property `saved-value' and |
EXP itself is saved unevaluated as SYMBOL property `saved-value' and |
753 |
in SYMBOL's list property `theme-value' \(using `custom-push-theme')." |
in SYMBOL's list property `theme-value' \(using `custom-push-theme')." |
754 |
(custom-check-theme theme) |
(custom-check-theme theme) |
755 |
(let ((immediate (get theme 'theme-immediate))) |
(let ((immediate (get theme 'theme-immediate))) |