;ELC   
;;; Compiled by buildd@akateko.buildd on Fri Oct 25 13:47:49 2013
;;; from file /build/buildd/emacs23-23.4+1/debian/build-x/lisp/cus-face.el
;;; in Emacs version 23.4
;;; with all optimizations.

;;; This file uses dynamic docstrings, first added in Emacs 19.29.

;;; This file does not contain utf-8 non-ASCII characters,
;;; and so can be loaded in Emacs versions earlier than 23.

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;


(defalias 'custom-facep 'facep)
#@61 Like `defface', but FACE is evaluated as a normal argument.
(defalias 'custom-declare-face #[(face spec doc &rest args) "\306N\204\201 \307\310!\203S \310!\204S \311N\206 	\n\312>\313!\210\314 \315\211\203I @\316\f#\210\317!\320>\203@ \321A\211\204, *\203R \322!\210*\323\306\324	!#\210\325BB\203v \326!\204v \327\324!\"\210\330\331#\210\332\333!\210\207" [face spec initial-window-system have-window-system value frame face-defface-spec fboundp facep saved-face (x w32) make-empty-face frame-list nil face-spec-set-2 window-system (x w32 ns) t make-face-x-resource-internal put purecopy defface face-documentation set-face-documentation custom-handle-all-keywords custom-face run-hooks custom-define-hook #1=#:--cl-dolist-temp-- current-load-list doc args] 5 (#$ . 568)])
#@717 Alist of face attributes.

The elements are of the form (KEY TYPE PRE-FILTER POST-FILTER),
where KEY is the name of the attribute, TYPE is a widget type for
editing the attribute, PRE-FILTER is a function to make the attribute's
value suitable for the customization widget, and POST-FILTER is a
function to make the customized value suitable for storing.  PRE-FILTER
and POST-FILTER are optional.

The PRE-FILTER should take a single argument, the attribute value as
stored, and should return a value for customization (using the
customization type TYPE).

The POST-FILTER should also take a single argument, the value after
being customized, and should return a value suitable for setting the
given face attribute.
(defconst custom-face-attributes '((:family (string :tag "Font Family" :help-echo "Font family or fontset alias name.")) (:foundry (string :tag "Font Foundry" :help-echo "Font foundry name.")) (:width (choice :tag "Width" :help-echo "Font width." :value normal (const :tag "compressed" condensed) (const :tag "condensed" condensed) (const :tag "demiexpanded" semi-expanded) (const :tag "expanded" expanded) (const :tag "extracondensed" extra-condensed) (const :tag "extraexpanded" extra-expanded) (const :tag "medium" normal) (const :tag "narrow" condensed) (const :tag "normal" normal) (const :tag "regular" normal) (const :tag "semicondensed" semi-condensed) (const :tag "semiexpanded" semi-expanded) (const :tag "ultracondensed" ultra-condensed) (const :tag "ultraexpanded" ultra-expanded) (const :tag "wide" extra-expanded))) (:height (choice :tag "Height" :help-echo "Face's font height." :value 1.0 (integer :tag "Height in 1/10 pt") (number :tag "Scale" 1.0))) (:weight (choice :tag "Weight" :help-echo "Font weight." :value normal (const :tag "black" ultra-bold) (const :tag "bold" bold) (const :tag "book" semi-light) (const :tag "demibold" semi-bold) (const :tag "extralight" extra-light) (const :tag "extrabold" extra-bold) (const :tag "heavy" extra-bold) (const :tag "light" light) (const :tag "medium" normal) (const :tag "normal" normal) (const :tag "regular" normal) (const :tag "semibold" semi-bold) (const :tag "semilight" semi-light) (const :tag "ultralight" ultra-light) (const :tag "ultrabold" ultra-bold) (const :tag "thin" thin))) (:slant (choice :tag "Slant" :help-echo "Font slant." :value normal (const :tag "italic" italic) (const :tag "oblique" oblique) (const :tag "normal" normal) (const :tag "roman" roman))) (:underline (choice :tag "Underline" :help-echo "Control text underlining." (const :tag "Off" nil) (const :tag "On" t) (color :tag "Colored"))) (:overline (choice :tag "Overline" :help-echo "Control text overlining." (const :tag "Off" nil) (const :tag "On" t) (color :tag "Colored"))) (:strike-through (choice :tag "Strike-through" :help-echo "Control text strike-through." (const :tag "Off" nil) (const :tag "On" t) (color :tag "Colored"))) (:box (choice :tag "Box around text" :help-echo "Control box around text." (const :tag "Off" nil) (list :tag "Box" :value (:line-width 2 :color "grey75" :style released-button) (const :format #1="" :value :line-width) (integer :tag "Width") (const :format #1# :value :color) (choice :tag "Color" (const :tag "*" nil) color) (const :format #1# :value :style) (choice :tag "Style" (const :tag "Raised" released-button) (const :tag "Sunken" pressed-button) (const :tag "None" nil)))) (lambda (real-value) (and real-value (let ((lwidth (or (and (consp real-value) (plist-get real-value :line-width)) (and (integerp real-value) real-value) 1)) (color (or (and (consp real-value) (plist-get real-value :color)) (and (stringp real-value) real-value) nil)) (style (and (consp real-value) (plist-get real-value :style)))) (list :line-width lwidth :color color :style style)))) (lambda (cus-value) (and cus-value (let ((lwidth (plist-get cus-value :line-width)) (color (plist-get cus-value :color)) (style (plist-get cus-value :style))) (cond ((and (null color) (null style)) lwidth) ((and (null lwidth) (null style)) color) (t (nconc (and lwidth `(:line-width ,lwidth)) (and color `(:color ,color)) (and style `(:style ,style))))))))) (:inverse-video (choice :tag "Inverse-video" :help-echo "Control whether text should be in inverse-video." (const :tag "Off" nil) (const :tag "On" t))) (:foreground (color :tag "Foreground" :help-echo "Set foreground color (name or #RRGGBB hex spec).")) (:background (color :tag "Background" :help-echo "Set background color (name or #RRGGBB hex spec).")) (:stipple (choice :tag "Stipple" :help-echo "Background bit-mask" (const :tag "None" nil) (file :tag "File" :help-echo "Name of bitmap file." :must-match t))) (:inherit (repeat :tag "Inherit" :help-echo "List of faces to inherit attributes from." (face :Tag "Face" default)) (lambda (real-value) (cond ((or (null real-value) (eq real-value 'unspecified)) nil) ((symbolp real-value) (list real-value)) (t real-value))) (lambda (cus-value) (if (and (consp cus-value) (null (cdr cus-value))) (car cus-value) cus-value)))) (#$ . 1387))
#@241 For FACE on FRAME, return an alternating list describing its attributes.
The list has the form (KEYWORD VALUE KEYWORD VALUE...).
Each keyword should be listed in `custom-face-attributes'.

If FRAME is nil, use the global defaults for FACE.
(defalias 'custom-face-attributes-get #[(face frame) "\306\n\2033 \n@@\307\f#\n\nA\n\310=\204/ \n\204( \311>\204/ \n	BB*\202 	*\207" [custom-face-attributes plist attrs attribute face frame nil face-attribute unspecified (:inherit) value] 4 (#$ . 6405)])
#@656 Initialize faces according to user preferences.
This associates the settings with the `user' theme.
The arguments should be a list where each entry has the form:

  (FACE SPEC [NOW [COMMENT]])

SPEC is stored as the saved value for FACE, as well as the value for the
`user' theme.  The `user' theme is one of the default themes known to Emacs.
See `custom-known-themes' for more information on the known themes.
See `custom-theme-set-faces' for more information on the interplay
between themes and faces.
See `defface' for the format of SPEC.

If NOW is present and non-nil, FACE is created now, according to SPEC.
COMMENT is a string comment about FACE.
(defalias 'custom-set-faces #[(&rest args) "\301\302\303#\207" [args apply custom-theme-set-faces user] 4 (#$ . 6922)])
#@1184 Initialize faces for theme THEME.
The arguments should be a list where each entry has the form:

  (FACE SPEC [NOW [COMMENT]])

SPEC is stored as the saved value for FACE, as well as the value for the
`user' theme.  The `user' theme is one of the default themes known to Emacs.
See `custom-known-themes' for more information on the known themes.
See `custom-theme-set-faces' for more information on the interplay
between themes and faces.
See `defface' for the format of SPEC.

If NOW is present and non-nil, FACE is created now, according to SPEC.
COMMENT is a string comment about FACE.

Several properties of THEME and FACE are used in the process:

If THEME property `theme-immediate' is non-nil, this is equivalent of
providing the NOW argument to all faces in the argument list: FACE is
created now.  The only difference is FACE property `force-face': if NOW
is non-nil, FACE property `force-face' is set to the symbol `rogue', else
if THEME property `theme-immediate' is non-nil, FACE property `force-face'
is set to the symbol `immediate'.

SPEC itself is saved in FACE property `saved-face' and it is stored in
FACE's list property `theme-face' (using `custom-push-theme').
(defalias 'custom-theme-set-faces #[(theme &rest args) "\211\211	>)\204 \306\307\"\210)\310N\205\364 @\211<\203\304 \f@\fA@\311\f8\312\f8\313\211\314N\203B \314N\315N\211\203W \211 @@)\316=\204g \317\320#\210\317\321#\210\322\315\323%\210\204z \n\203\212 \317\324\203\207 \325\202\210 \302#\210\204\232 \n\204\232 \326!\203\275 \326!\204\246 \327!\210\317\330#\210\317\331\313#\210\332\333#\210A-\202\360 @A@\211\314N\203\331 \314N\317\320#\210\322\315\323%\210*AA)\202 )\207" [theme custom-known-themes immediate args entry oldspec error "Unknown theme `%s'" theme-immediate 2 3 nil face-alias theme-face user put saved-face saved-face-comment custom-push-theme set force-face rogue facep make-empty-face face-comment face-override-spec face-spec-set t comment now spec face x] 7 (#$ . 7706)])
#@192 Reset the specs in THEME of some faces to their specs in other themes.
Each of the arguments ARGS has this form:

    (FACE IGNORED)

This means reset FACE.  The argument IGNORED is ignored.
(defalias 'custom-theme-reset-faces #[(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-face reset] 7 (#$ . 9780)])
#@227 Reset the specs of some faces to their specs in specified themes.
This creates settings in the `user' theme.

Each of the arguments ARGS has this form:

    (FACE FROM-THEME)

This means reset FACE to its value in FROM-THEME.
(defalias 'custom-reset-faces #[(&rest args) "\301\302\303#\207" [args apply custom-theme-reset-faces user] 4 (#$ . 10282)])
(provide 'cus-face)
