;ELC ;;; Compiled by cyd@localhost on Mon Apr 23 22:20:36 2007 ;;; from file /home/cyd/emacs/lisp/custom.el ;;; in Emacs version 22.0.99 ;;; with all optimizations. ;;; This file uses dynamic docstrings, first added in Emacs 19.29. (if (and (boundp 'emacs-version) (< (aref emacs-version (1- (length emacs-version))) ?A) (or (and (boundp 'epoch::version) epoch::version) (string-lessp emacs-version "19.29"))) (error "`custom.el' was compiled for Emacs 19.29 or later")) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; (require 'widget) #@51 Hook called after defining each customize option. (defvar custom-define-hook nil (#$ . 577)) #@145 Non-nil means `defcustom' should not initialize the variable. That is used for the sake of `custom-make-dependencies'. Users should not set it. (defvar custom-dont-initialize nil (#$ . 677)) #@71 Alist of (FILE . GROUP) indicating the current group to use for FILE. (defvar custom-current-group-alist nil (#$ . 874)) #@302 Initialize SYMBOL with VALUE. This will do nothing if symbol already has a default binding. Otherwise, if symbol has a `saved-value' property, it will evaluate the car of that and use it as the default binding for symbol. Otherwise, VALUE will be evaluated and used as the default binding for symbol. (defalias 'custom-initialize-default #[(symbol value) "\302!?\205\303\211\304N\203\305\304N@!\202\305 !\"\207" [symbol value default-boundp set-default saved-value eval] 5 (#$ . 1002)]) #@250 Initialize SYMBOL based on VALUE. If the symbol doesn't have a default binding already, then set it using its `:set' function (or `set-default' if it has none). The value is either the value in the symbol's `saved-value' property, if any, or VALUE. (defalias 'custom-initialize-set #[(symbol value) "\302!?\205\"\303N\206\304\211\305N\203\306\305N@!\202!\306 !\"\207" [symbol value default-boundp custom-set set-default saved-value eval] 5 (#$ . 1505)]) #@356 Like `custom-initialize-set', but catches errors. If an error occurs during initialization, SYMBOL is set to nil and no error is thrown. This is meant for use in pre-loaded files where some variables or functions used to compute VALUE may not yet be defined. You can then re-evaluate VALUE in startup.el, for instance using `custom-reevaluate-setting'. (defalias 'custom-initialize-safe-set #[(symbol value) "\300\301\302\217\207" [nil (custom-initialize-set symbol value) ((error (set-default symbol nil)))] 3 (#$ . 1976)]) #@360 Like `custom-initialize-default', but catches errors. If an error occurs during initialization, SYMBOL is set to nil and no error is thrown. This is meant for use in pre-loaded files where some variables or functions used to compute VALUE may not yet be defined. You can then re-evaluate VALUE in startup.el, for instance using `custom-reevaluate-setting'. (defalias 'custom-initialize-safe-default #[(symbol value) "\300\301\302\217\207" [nil (custom-initialize-default symbol value) ((error (set-default symbol nil)))] 3 (#$ . 2510)]) #@293 Initialize SYMBOL based on VALUE. Set the symbol, using its `:set' function (or `set-default' if it has none). The value is either the symbol's current value (as obtained using the `:get' function), if any, or the value in the symbol's `saved-value' property if any, or (last of all) VALUE. (defalias 'custom-initialize-reset #[(symbol value) "\302N\206\303\304!\203\305N\206\306!\202,\307N\203)\310\307N@!\202,\310 !\"\207" [symbol value custom-set set-default default-boundp custom-get default-value saved-value eval] 5 (#$ . 3056)]) #@176 Initialize SYMBOL with VALUE. Like `custom-initialize-reset', but only use the `:set' function if not using the standard setting. For the standard setting, use `set-default'. (defalias 'custom-initialize-changed #[(symbol value) "\302!\203\303N\206 \304\211\305N\206\306!\"\207\307N\203/\303N\206&\304\310\307N@!\"\207\304\310 !\"\207" [symbol value default-boundp custom-set set-default custom-get default-value saved-value eval] 5 (#$ . 3616)]) #@366 Like `defcustom', but SYMBOL and DEFAULT are evaluated as normal arguments. DEFAULT should be an expression to evaluate to compute the default value, not the default value itself. DEFAULT is stored as SYMBOL's standard value, in SYMBOL's property `standard-value'. At the same time, SYMBOL's property `force-value' is set to nil, as the value is no longer rogue. (defalias 'custom-declare-variable #[(symbol default doc &rest args) "\306\307 C#\210\310N\203\306\310\311#\210\n\203\306\312\n#\210\313\311\314 >\204.\315\316 \317#\210 \203\331 @% A%9\204D\320\321 \"\210% @&' \204V\320\322'\"\210 A'\323=\203f&\202\325'\324=\203w\306\325&#\210\202\325'\326=\203\210\306\327&#\210\202\325'\330=\203\227& B\202\325'\331=\203\252\306\332\333&!#\210\202\325'\334=\203\314\335N\203\300\336\337&\"\210\202\325\306\335\340&!#\210\202\325\341'&\317$\210+\202.\306\342 #\210(\204\351\f \"\210*)B)\343\344!\210\207" [symbol default doc requests initialize args put standard-value force-value nil variable-documentation custom-initialize-reset :group custom-add-to-group custom-current-group custom-variable error "Junk in args %S" "Keyword %s is missing an argument" :initialize :set custom-set :get custom-get :require :type custom-type purecopy :options custom-options mapc #[(option) "\302 \"\207" [symbol option custom-add-option] 3] copy-sequence custom-handle-keyword custom-requests run-hooks custom-define-hook arg value keyword custom-dont-initialize current-load-list] 5 (#$ . 4086)])(if macro-declaration-function (funcall macro-declaration-function (quote defcustom) (quote (declare (doc-string 3))))) #@4502 Declare SYMBOL as a customizable variable that defaults to VALUE. DOC is the variable documentation. Neither SYMBOL nor VALUE need to be quoted. If SYMBOL is not already bound, initialize it to VALUE. The remaining arguments should have the form [KEYWORD VALUE]... The following keywords are meaningful: :type VALUE should be a widget type for editing the symbol's value. :options VALUE should be a list of valid members of the widget type. :initialize VALUE should be a function used to initialize the variable. It takes two arguments, the symbol and value given in the `defcustom' call. The default is `custom-initialize-reset'. :set VALUE should be a function to set the value of the symbol. It takes two arguments, the symbol to set and the value to give it. The default choice of function is `set-default'. :get VALUE should be a function to extract the value of symbol. The function takes one argument, a symbol, and should return the current value for that symbol. The default choice of function is `default-value'. :require VALUE should be a feature symbol. If you save a value for this option, then when your `.emacs' file loads the value, it does (require VALUE) first. The following common keywords are also meaningful. :group VALUE should be a customization group. Add SYMBOL (or FACE with `defface') to that group. :link LINK-DATA Include an external link after the documentation string for this item. This is a sentence containing an active field which references some other documentation. There are several alternatives you can use for LINK-DATA: (custom-manual INFO-NODE) Link to an Info node; INFO-NODE is a string which specifies the node name, as in "(emacs)Top". (info-link INFO-NODE) Like `custom-manual' except that the link appears in the customization buffer with the Info node name. (url-link URL) Link to a web page; URL is a string which specifies the URL. (emacs-commentary-link LIBRARY) Link to the commentary section of LIBRARY. (emacs-library-link LIBRARY) Link to an Emacs Lisp LIBRARY file. (file-link FILE) Link to FILE. (function-link FUNCTION) Link to the documentation of FUNCTION. (variable-link VARIABLE) Link to the documentation of VARIABLE. (custom-group-link GROUP) Link to another customization GROUP. You can specify the text to use in the customization buffer by adding `:tag NAME' after the first element of the LINK-DATA; for example, (info-link :tag "foo" "(emacs)Top") makes a link to the Emacs manual which appears in the buffer as `foo'. An item can have more than one external link; however, most items have none at all. :version VALUE should be a string specifying that the variable was first introduced, or its default value was changed, in Emacs version VERSION. :package-version VALUE should be a list with the form (PACKAGE . VERSION) specifying that the variable was first introduced, or its default value was changed, in PACKAGE version VERSION. This keyword takes priority over :version. The PACKAGE and VERSION must appear in the alist `customize-package-emacs-version-alist'. Since PACKAGE must be unique and the user might see it in an error message, a good choice is the official name of the package, such as MH-E or Gnus. :tag LABEL Use LABEL, a string, instead of the item's name, to label the item in customization menus and buffers. :load FILE Load file FILE (a string) before displaying this customization item. Loading is done with `load', and only if the file is not already loaded. :set-after VARIABLES Specifies that SYMBOL should be set after the list of variables VARIABLES when both have been customized. If SYMBOL has a local binding, then this form affects the local binding. This is normally not what you want. Thus, if you need to load a file defining variables with this form, or with `defvar' or `defconst', you should always load that file _outside_ any bindings for these variables. (`defvar' and `defconst' behave similarly in this respect.) See Info node `(elisp) Customization' in the Emacs Lisp manual for more information. (defalias 'defcustom '(macro . #[(symbol value doc &rest args) "\304\305D\305 D\nF \244\207" [symbol value doc args custom-declare-variable quote] 4 (#$ . 5768)]))(if macro-declaration-function (funcall macro-declaration-function (quote defface) (quote (declare (doc-string 3))))) #@2656 Declare FACE as a customizable face that defaults to SPEC. FACE does not need to be quoted. Third argument DOC is the face documentation. If FACE has been set with `custom-set-faces', set the face attributes as specified by that function, otherwise set the face attributes according to SPEC. The remaining arguments should have the form [KEYWORD VALUE]... For a list of valid keywords, see the common keywords listed in `defcustom'. SPEC should be an alist of the form ((DISPLAY ATTS)...). In the first element, DISPLAY can be :default. The ATTS in that element then act as defaults for all the following elements. Aside from that, DISPLAY specifies conditions to match some or all frames. For each frame, the first element of SPEC where the DISPLAY conditions are satisfied is the one that applies to that frame. The ATTRs in this element take effect, and the following elements are ignored, on that frame. In the last element, DISPLAY can be t. That element applies to a frame if none of the previous elements (except the :default if any) did. ATTS is a list of face attributes followed by their values: (ATTR VALUE ATTR VALUE...) The possible attributes are `:family', `:width', `:height', `:weight', `:slant', `:underline', `:overline', `:strike-through', `:box', `:foreground', `:background', `:stipple', `:inverse-video', and `:inherit'. DISPLAY can be `:default' (only in the first element), the symbol t (only in the last element) to match all frames, or an alist of conditions of the form (REQ ITEM...). For such an alist to match a frame, each of the conditions must be satisfied, meaning that the REQ property of the frame must match one of the corresponding ITEMs. These are the defined REQ values: `type' (the value of `window-system') Under X, in addition to the values `window-system' can take, `motif', `lucid', `gtk' and `x-toolkit' are allowed, and match when the Motif toolkit, Lucid toolkit, GTK toolkit or any X toolkit is in use. `class' (the frame's color support) Should be one of `color', `grayscale', or `mono'. `background' (what color is used for the background text) Should be one of `light' or `dark'. `min-colors' (the minimum number of colors the frame should support) Should be an integer, it is compared with the result of `display-color-cells'. `supports' (only match frames that support the specified face attributes) Should be a list of face attributes. See the documentation for the function `display-supports-face-attributes-p' for more information on exactly how testing is done. See Info node `(elisp) Customization' in the Emacs Lisp manual for more information. (defalias 'defface '(macro . #[(face spec doc &rest args) "\304\305D \nF \244\207" [face spec doc args custom-declare-face quote] 4 (#$ . 10559)])) (defalias 'custom-current-group #[nil "\302 \"A\207" [load-file-name custom-current-group-alist assoc] 3]) #@64 Like `defgroup', but SYMBOL is evaluated as a normal argument. (defalias 'custom-declare-group #[(symbol members doc &rest args) "\203\306\307 @#\210A\211\204\n\203\310 \311\312\n!#\210 \203a @ A\f9\2042\313\314 \"\210\f @ \204B\313\315\"\210 A\316=\203U\310 \317 #\210\202]\320  \321$\210+\202\322\"\211\203u \241\210\202~ BB)\323\324!\210 \207" [members symbol doc args arg value apply custom-add-to-group put group-documentation purecopy error "Junk in args %S" "Keyword %s is missing an argument" :prefix custom-prefix custom-handle-keyword custom-group assoc run-hooks custom-define-hook keyword load-file-name custom-current-group-alist elt] 6 (#$ . 13477)])(if macro-declaration-function (funcall macro-declaration-function (quote defgroup) (quote (declare (doc-string 3))))) #@631 Declare SYMBOL as a customization group containing MEMBERS. SYMBOL does not need to be quoted. Third arg DOC is the group documentation. MEMBERS should be an alist of the form ((NAME WIDGET)...) where NAME is a symbol and WIDGET is a widget for editing that symbol. Useful widgets are `custom-variable' for editing variables, `custom-face' for edit faces, and `custom-group' for editing groups. The remaining arguments should have the form [KEYWORD VALUE]... For a list of valid keywords, see the common keywords listed in `defcustom'. See Info node `(elisp) Customization' in the Emacs Lisp manual for more information. (defalias 'defgroup '(macro . #[(symbol members doc &rest args) "\304\305D \nF \244\207" [symbol members doc args custom-declare-group quote] 4 (#$ . 14312)])) #@121 To existing GROUP add a new OPTION of type WIDGET. If there already is an entry for OPTION and WIDGET, nothing is done. (defalias 'custom-add-to-group #[(group option widget) "\305N \nD \f\235?\205\306\305\f C\244#*\207" [group option widget entry members custom-group put] 5 (#$ . 15110)]) #@106 Return the custom group corresponding to the major or minor MODE. If no such group is found, return nil. (defalias 'custom-group-of-mode #[(mode) "\301N\206&\302N\204%\303\304\305!\"\205&\306\305!\307\211\224O!\211\302N\205&\207" [mode custom-mode-group custom-group string-match "-mode\\'" symbol-name intern 0] 4 (#$ . 15414)]) #@112 For customization option SYMBOL, handle keyword arguments ARGS. Third argument TYPE is the custom option type. (defalias 'custom-handle-all-keywords #[(symbol args type) "\306>\204 \307\310 \n#\210\205=@A 9\204!\311\312\"\210 @\204/\311\313 \"\210A\314 \f\n$\210+\202 \207" [args symbol type arg value keyword :group custom-add-to-group custom-current-group error "Junk in args %S" "Keyword %s is missing an argument" custom-handle-keyword] 5 (#$ . 15761)]) #@109 For customization option SYMBOL, handle KEYWORD with VALUE. Fourth argument TYPE is the custom option type. (defalias 'custom-handle-keyword #[(symbol keyword value type) "\203\305 !\n\306=\203\307 \f#\207\n\310=\203\311 \"\207\n\312=\203*\313 \"\207\n\314=\2035\315 \"\207\n\316=\203@\317 \"\207\n\320=\203L\321 \322 #\207\n\323=\203W\324 \"\207\325\326\n\"\207" [purify-flag value keyword symbol type purecopy :group custom-add-to-group :version custom-add-version :package-version custom-add-package-version :link custom-add-link :load custom-add-load :tag put custom-tag :set-after custom-add-dependencies error "Unknown keyword %s"] 4 (#$ . 16246)]) #@260 To the custom option SYMBOL, add dependencies specified by VALUE. VALUE should be a list of symbols. For each symbol in that list, this specifies that SYMBOL should be set after the specified symbol, if both appear in constructs like `custom-set-variables'. (defalias 'custom-add-dependencies #[(symbol value) "<\204\n\305\306\"\210 \307N\211\2032@\2119\204!\305\306\f\"\210\f >\204+\f BA)\202\n =?\205>\310 \307 #*\207" [value symbol deps new-deps dep error "Invalid custom dependency `%s'" custom-dependencies put] 5 (#$ . 16927)]) #@264 To the variable SYMBOL add OPTION. If SYMBOL's custom type is a hook, OPTION should be a hook member. If SYMBOL's custom type is an alist, OPTION specifies a symbol to offer to the user as a possible key in the alist. For other custom types, this has no effect. (defalias 'custom-add-option #[(symbol option) "\303N\n \235?\205\304\303\n B#)\207" [symbol options option custom-options put] 5 (#$ . 17486)]) (defalias 'custom-add-frequent-value 'custom-add-option) #@50 To the custom option SYMBOL add the link WIDGET. (defalias 'custom-add-link #[(symbol widget) "\303N\n \235?\205\304\303\305\n! B#)\207" [symbol links widget custom-links put purecopy] 5 (#$ . 17962)]) #@54 To the custom option SYMBOL add the version VERSION. (defalias 'custom-add-version #[(symbol version) "\302\303\304 !#\207" [symbol version put custom-version purecopy] 5 (#$ . 18175)]) #@62 To the custom option SYMBOL add the package version VERSION. (defalias 'custom-add-package-version #[(symbol version) "\302\303\304 !#\207" [symbol version put custom-package-version purecopy] 5 (#$ . 18368)]) #@116 To the custom option SYMBOL add the dependency LOAD. LOAD should be either a library file name, or a feature name. (defalias 'custom-add-load #[(symbol load) "\303N\n \235?\205\304\303\305\n! B#)\207" [symbol loads load custom-loads put purecopy] 5 (#$ . 18586)]) #@146 Mark SYMBOL as autoloaded custom variable and add dependency LOAD. If NOSET is non-nil, don't bother autoloading LOAD when setting the variable. (defalias 'custom-autoload #[(symbol load &optional noset) "\303\304 \203 \301\202\f\305#\210\306\n\"\207" [symbol noset load put custom-autoload t custom-add-load] 4 (#$ . 18862)]) #@84 Return non-nil if VARIABLE is a custom variable. This recursively follows aliases. (defalias 'custom-variable-p #[(variable) "\301!\211\302N\206 \303N\207" [variable indirect-variable standard-value custom-autoload] 3 (#$ . 19199)]) #@39 Hack to avoid recursive dependencies. (defvar custom-load-recursion nil (#$ . 19442)) #@35 Load all dependencies for SYMBOL. (defalias 'custom-load-symbol #[(symbol) "?\205\200\306\307\310\311\217\210\307\312\313\217\210 \314N\307\211\203~ @\2119\203+\307\315\316\217\210\202w\317\n\f\"\204w\320\321\n!\322Q\307\f\307\211\203f@\211@;\203]\323@\"\203]\306A\211\204F* *\204w\n\324\232\204w\307\325\326\217\210 A\211\204+\307\207" [custom-load-recursion symbol load #1=#:--cl-dolist-temp-- load-history found t nil (byte-code "\300\301!\207" [require cus-load] 2) ((error)) (byte-code "\300\301!\207" [require cus-start] 2) ((error)) custom-loads (require load) ((error)) assoc "\\(\\`\\|/\\)" regexp-quote "\\(\\'\\|\\.\\)" string-match "cus-edit" (load load) ((error)) regexp loaded #2=#:--cl-dolist-temp--] 5 (#$ . 19534)]) #@285 Non-nil, in a Customization buffer, means customize a specific buffer. If this variable is non-nil, it should be a buffer, and it means customize the local bindings of that buffer. This variable is a permanent local, and it normally has a local binding in every Customization buffer. (defvar custom-local-buffer nil (#$ . 20313)) (put 'custom-local-buffer 'permanent-local t) #@205 Default :set function for a customizable variable. Normally, this sets the default value of VARIABLE to VALUE, but if `custom-local-buffer' is non-nil, this sets the local binding in that buffer instead. (defalias 'custom-set-default #[(variable value) "\203 rq\210 \nL)\207\303 \n\"\207" [custom-local-buffer variable value set-default] 3 (#$ . 20696)]) #@227 :set function for minor mode variables. Normally, this sets the default value of VARIABLE to nil if VALUE is nil and to t otherwise, but if `custom-local-buffer' is non-nil, this sets the local binding in that buffer instead. (defalias 'custom-set-minor-mode #[(variable value) "\203rq\210 \n\203\303\202\304!)\207 \n\203\303\202\304!\207" [custom-local-buffer variable value 1 0] 2 (#$ . 21061)]) #@40 Quote SEXP iff it is not self quoting. (defalias 'custom-quote #[(sexp) "\301>\204(\302!\204(<\203@\303>\204(;\204(\247\204(\304!\203*\207\305D\207" [sexp (t nil) keywordp (lambda) vectorp quote] 2 (#$ . 21477)]) #@329 Mark SYMBOL for later saving. If the default value of SYMBOL is different from the standard value, set the `saved-value' property to a list whose car evaluates to the default value. Otherwise, set it to nil. To actually save the value, call `custom-save-all'. Return non-nil iff the `saved-value' property actually changed. (defalias 'customize-mark-to-save #[(symbol) "\306!\210\307N\206 \310\211!\311N\312N\313N\f\203)\n\314\315\316\217\232\2045\317\311\320\n!C#\210\202;\317\311\314#\210\317\321\314#\210 \203K\317\322 #\210 \311N\232-?\207" [symbol get value saved standard comment custom-load-symbol custom-get default-value saved-value standard-value customized-variable-comment nil (byte-code "\301@!\207" [standard eval] 2) ((error)) put custom-quote customized-value saved-variable-comment] 6 (#$ . 21714)]) #@370 Mark current value of SYMBOL as being set from customize. If the default value of SYMBOL is different from the saved value if any, or else if it is different from the standard value, set the `customized-value' property to a list whose car evaluates to the default value. Otherwise, set it to nil. Return non-nil iff the `customized-value' property actually changed. (defalias 'customize-mark-as-set #[(symbol) "\305!\210\306N\206 \307\211!\310N\311N\206\312N\211\203+\n\313\314\315\217\232\204A\316\310\317\n!C#\210\320\321\322\323\317\n!%\210\202G\316\310\313#\210 \310N\232,?\207" [symbol get value customized old custom-load-symbol custom-get default-value customized-value saved-value standard-value nil (byte-code "\301@!\207" [old eval] 2) ((error)) put custom-quote custom-push-theme theme-value user set] 8 (#$ . 22564)]) #@284 Reset the value of SYMBOL by re-evaluating its saved or standard value. Use the :set function to do so. This is useful for customizable options that are defined before their standard value can really be computed. E.g. dumped variables whose default depends on run-time information. (defalias 'custom-reevaluate-setting #[(symbol) "\301N\206\302\303\304N\206\305N@!\"\207" [symbol custom-set set-default eval saved-value standard-value] 5 (#$ . 23425)]) #@340 Themes that have been defined with `deftheme'. The default value is the list (user changed). The theme `changed' contains the settings before custom themes are applied. The theme `user' contains all the settings the user customized and saved. Additional themes declared with the `deftheme' macro will be added to the front of this list. (defvar custom-known-themes '(user changed) (#$ . 23894)) #@38 Non-nil when THEME has been defined. (defalias 'custom-theme-p #[(theme) " >\207" [theme custom-known-themes] 2 (#$ . 24297)]) (put 'custom-theme-p 'byte-optimizer 'byte-compile-inline-expand) #@65 Check whether THEME is valid, and signal an error if it is not. (defalias 'custom-check-theme #[(theme) "\211 >)?\205\302\303\"\207" [theme custom-known-themes error "Unknown theme `%s'"] 4 (#$ . 24497)]) (put 'custom-check-theme 'byte-optimizer 'byte-compile-inline-expand) #@392 Record VALUE for face or variable SYMBOL in custom theme THEME. PROP is `theme-face' for a face, `theme-value' for a variable. MODE can be either the symbol `set' or the symbol `reset'. If it is the symbol `set', then VALUE is the value to use. If it is the symbol `reset', then SYMBOL will be removed from THEME (VALUE is ignored). See `custom-known-themes' for a list of known themes. (defalias 'custom-push-theme #[(prop symbol theme mode &optional value) "\306>\204\n\307\310!\210 N \n\236 \305N\311=\203k\f\205\312 \312\211\203T@\211@=\203K\211A@) =\203KA\211\204.*\313 \305\314 \"#\210)\313 \314\f\n\"#\202\f\203\275\312 \312\211\203\242@\211@=\203\231\211A@) =\203\231A\211\204|*\313 \305 F\314 \"B#\210\fA\240)\202\n\204\315=\203\353\316 !\203\353 \317N\211\203\341\320@! J\232\204\347\321 JDC)\202\322 !\203\323 \211\324N\"\204\321\325\326\327 \312\"\"CDC\313  D\nB#\210\313 \305 F B#+\207" [prop symbol old theme setting theme-settings (theme-value theme-face) error "Unknown theme property" reset nil put delq theme-value boundp standard-value eval changed facep face-spec-match-p face-defface-spec append (t) custom-face-attributes-get mode res theme-setting #1=#:--cl-dolist-temp-- x #2=#:--cl-dolist-temp-- value sv] 8 (#$ . 24784)]) #@518 Install user customizations of variable values specified in ARGS. These settings are registered as theme `user'. The arguments should each be a list of the form: (SYMBOL EXP [NOW [REQUEST [COMMENT]]]) This stores EXP (without evaluating it) as the saved value for SYMBOL. If NOW is present and non-nil, then also evaluate EXP and set the default value for the SYMBOL to the value of EXP. REQUEST is a list of features we must require in order to handle SYMBOL properly. COMMENT is a comment string about SYMBOL. (defalias 'custom-set-variables #[(&rest args) "\301\302\303#\207" [args apply custom-theme-set-variables user] 4 (#$ . 26150)]) #@624 Initialize variables for theme THEME according to settings in ARGS. Each of the arguments in ARGS should be a list of this form: (SYMBOL EXP [NOW [REQUEST [COMMENT]]]) This stores EXP (without evaluating it) as the saved value for SYMBOL. If NOW is present and non-nil, then also evaluate EXP and set the default value for the SYMBOL to the value of EXP. REQUEST is a list of features we must require in order to handle SYMBOL properly. COMMENT is a comment string about SYMBOL. EXP itself is saved unevaluated as SYMBOL property `saved-value' and in SYMBOL's list property `theme-value' (using `custom-push-theme'). (defalias 'custom-theme-set-variables #[(theme &rest args) "\211\211 >)\204\306\307\"\210)\n\310\211\203;\f@\311 @!\211\312N\2043 \313N\314>\2043\315 !\210)\fA\211\204*\316\n\317\"\n\205\352\n@\211<\203\273\311 @! A@'\320 8(\321 8)\322 8*\310)\203{\323 \324)#\210\325\326)\"\210 \327N\206\202\330\323 \331'C#\210\323 \332*#\210\333\334 \335'%\210\336\337\340\217\210\nA(\204\257\341 !\203\266\323 \342*#\210.\202\346\343\344!\210\345 \210\346\320!\210\311\n@!\nA@'\323 \331'C#\210\333\334 \335'%\210*\nAA)\202A\207" [theme custom-known-themes args entry #1=#:--cl-dolist-temp-- symbol error "Unknown theme `%s'" nil indirect-variable standard-value custom-autoload (nil noset) custom-load-symbol sort #[(a1 a2) "@\n@ \306N> \306N>\f\203\" \203\"\307\310 #\2025 \203*\311\2025\312\n8\2065 \313N\314=,\207" [a1 sym1 a2 sym2 1-then-2 2-then-1 custom-dependencies error "Circular custom dependency between `%s' and `%s'" nil 3 custom-set custom-set-minor-mode] 4] 2 3 4 put custom-requests mapc require custom-set custom-set-default saved-value saved-variable-comment custom-push-theme theme-value set data (byte-code "\203\304 \305\306#\210\n \307 !\"\210\202!\310 !\203!\n \307 !\"\210\304\207" [now symbol set value put force-value t eval default-boundp] 4) ((error (message "Error setting %s: %s" symbol data))) default-boundp variable-comment message "Warning: old format `custom-set-variables'" ding sit-for value now requests comment] 7 (#$ . 26804)]) #@223 Declare THEME to be a Custom theme. The optional argument DOC is a doc string describing the theme. Any theme `foo' should be defined in a file called `foo-theme.el'; see `custom-make-theme-feature' for more information. (defalias 'deftheme '(macro . #[(theme &optional doc &rest ignored) "\303!\304\305D\305 D\nF)\207" [theme feature doc custom-make-theme-feature custom-declare-theme quote] 4 (#$ . 28960)])) #@186 Like `deftheme', but THEME is evaluated as a normal argument. FEATURE is the feature this theme provides. Normally, this is a symbol created from THEME by `custom-make-theme-feature'. (defalias 'custom-declare-theme #[(theme feature &optional doc &rest ignored) "\303>\203 \304\305\"\210\306\307\"\210\310\311 #\210\n\205\310\312\n#\207" [theme feature doc (user changed) error "Custom theme cannot be named %S" add-to-list custom-known-themes put theme-feature theme-documentation] 4 (#$ . 29382)]) #@407 Given a symbol THEME, create a new symbol by appending "-theme". Store this symbol in the `theme-feature' property of THEME. Calling `provide-theme' to provide THEME actually puts `THEME-theme' into `features'. This allows for a file-name convention for autoloading themes: Every theme X has a property `provide-theme' whose value is "X-theme". (load-theme X) then attempts to load the file `X-theme.el'. (defalias 'custom-make-theme-feature #[(theme) "\301\302!\303P!\207" [theme intern symbol-name "-theme"] 3 (#$ . 29898)]) #@208 Directory in which Custom theme files should be written. `load-theme' searches this directory in addition to load-path. The command `customize-create-theme' writes the files it produces into this directory. (custom-declare-variable 'custom-theme-directory '(if (eq system-type 'ms-dos) "~/_emacs.d/" "~/.emacs.d/") '(#$ . 30434) :type 'string :group 'customize :version "22.1") #@201 Indicate that this file provides THEME. This calls `provide' to provide the feature name stored in THEME's property `theme-feature' (which is usually a symbol created by `custom-make-theme-feature'). (defalias 'provide-theme #[(theme) "\304>\203 \305\306\"\210\211\211 >)\204\305\307\"\210)\310\311N!\210\nB\312\313\314!)\207" [theme custom-known-themes custom-enabled-themes custom-enabling-themes (user changed) error "Custom theme cannot be named %S" "Unknown theme `%s'" provide theme-feature t enable-theme user] 5 (#$ . 30819)]) #@104 Load a theme's settings from its file. This also enables the theme; use `disable-theme' to disable it. (defalias 'load-theme #[(theme) "\211 >)\203\304!\210\305\306\307#\210\305\310\307#\210\305\311\307#\210\312\n!\203+\n B\202, \313\314\315!!!)\207" [theme custom-known-themes custom-theme-directory load-path disable-theme put theme-settings nil theme-feature theme-documentation file-directory-p load symbol-name custom-make-theme-feature] 5 (#$ . 31374) "SCustom theme name: "]) (byte-code "\301B\302\301!\204\303\301\304\"\210\304\207" [current-load-list custom-enabling-themes default-boundp set-default nil] 3) #@323 Reenable all variable and face settings defined by THEME. The newly enabled theme gets the highest precedence (after `user'). If it is already enabled, just give it highest precedence (after `user'). If THEME does not specify any theme settings, this tries to load the theme from its theme file, by calling `load-theme'. (defalias 'enable-theme #[(theme) "\211 >)\204 \306!\207\307N\211\310\211\203[\f@\211@ \211A@)\211 N\311 \211AA)\312\"B#\210 \313=\203N\314!\210\202S\315!\210+\fA\211\204+\316=?\205u\317\"B?\205u\320\316!\207" [theme custom-known-themes settings s #1=#:--cl-dolist-temp-- prop load-theme theme-settings nil put assq-delete-all theme-value custom-theme-recalc-variable custom-theme-recalc-face user delq enable-theme x symbol spec-list custom-enabled-themes custom-enabling-themes] 9 (#$ . 32015) "SEnable Custom theme: "]) #@180 List of enabled Custom Themes, highest precedence first. This does not include the `user' theme, which is set by Customize, and always takes precedence over other Custom Themes. (custom-declare-variable 'custom-enabled-themes 'nil '(#$ . 32912) :group 'customize :type '(repeat symbol) :set #[(symbol themes) "?\205h\306\307\310\311\312\n!\"\313 !\2034 J\307\211\2033 @\211\n>\204,\314\f!\210 A\211\204*\315\n!\307\211\203Q@\307\316\317\217\210A\211\204?*\320\311!\210\321 \n\"\210 \205g\322\323\324\325 \326#\"*\207" [custom-enabling-themes failures themes symbol theme #1=#:--cl-dolist-temp-- t nil delq user delete-dups boundp disable-theme reverse (enable-theme theme) ((error (byte-code " B\303\n\"\303\207" [theme failures themes delq] 3))) enable-theme custom-set-default message "Failed to enable themes: %s" mapconcat symbol-name " " #2=#:--cl-dolist-temp--] 6]) #@37 Return non-nil if THEME is enabled. (defalias 'custom-theme-enabled-p #[(theme) " >\207" [theme custom-enabled-themes] 2 (#$ . 33822)]) (put 'custom-theme-enabled-p 'byte-optimizer 'byte-compile-inline-expand) #@116 Disable all variable and face settings defined by THEME. See `custom-enabled-themes' for a list of enabled themes. (defalias 'disable-theme #[(theme) "\211 >)\205V\306N\211\307\211\203O\f@\211@ \211A@)\211 N\310 \311\"#\210 \312=\203B\313!\210\202G\314!\210+\fA\211\204+\315 \"\211\207" [theme custom-enabled-themes settings s #1=#:--cl-dolist-temp-- prop theme-settings nil put assq-delete-all theme-value custom-theme-recalc-variable custom-theme-recalc-face delq x symbol spec-list] 8 (#$ . 34040) (list (intern (completing-read "Disable Custom theme: " (mapcar 'symbol-name custom-enabled-themes) nil t)))]) #@246 Return (list VALUE) indicating the custom theme value of VARIABLE. That is to say, it specifies what the value should be according to currently enabled custom themes. This function returns nil if no custom theme specifies a value for VARIABLE. (defalias 'custom-variable-theme-value #[(variable) "\301N\211\205 @A)\207" [variable theme-value] 3 (#$ . 34691)]) #@60 Set VARIABLE according to currently enabled custom themes. (defalias 'custom-theme-recalc-variable #[(variable) "\302!\211\203\303\304 #\210\202\305N \2052\306N\204%\307!\2052\310N\206,\311\312 @!\")\207" [variable valspec custom-variable-theme-value put saved-value standard-value force-value default-boundp custom-set set-default eval] 5 (#$ . 35062)]) #@56 Set FACE according to currently enabled custom themes. (defalias 'custom-theme-recalc-face #[(face) "\305!\205*\306\307N!\211\310\211\203( @\311\n\211A@)\"\210 A\211\204+\310\207" [face theme-faces spec #1=#:--cl-dolist-temp-- x facep reverse theme-face nil face-spec-set] 5 (#$ . 35440)]) #@202 Reset some variable settings in THEME to their values in other themes. Each of the arguments ARGS has this form: (VARIABLE IGNORED) This means reset VARIABLE. (The argument IGNORED is ignored). (defalias 'custom-theme-reset-variables #[(theme &rest args) "\211\211 >)\204\305\306\"\210)\n\307\211\203+\f@\310\311 @\312$\210\fA\211\204*\307\207" [theme custom-known-themes args arg #1=#:--cl-dolist-temp-- error "Unknown theme `%s'" nil custom-push-theme theme-value reset] 7 (#$ . 35750)]) #@242 Reset the specs of some variables to their values in other themes. This creates settings in the `user' theme. Each of the arguments ARGS has this form: (VARIABLE IGNORED) This means reset VARIABLE. (The argument IGNORED is ignored). (defalias 'custom-reset-variables #[(&rest args) "\301\302\303#\207" [args apply custom-theme-reset-variables user] 4 (#$ . 36268)]) (byte-code "\203\301\302@\"\210A\211\204\303\304!\207" [custom-declare-variable-list apply custom-declare-variable provide custom] 4)