;ELC   
;;; Compiled by pot@pot.cnuce.cnr.it on Tue Mar 18 15:41:20 2003
;;; from file /home/pot/gnu/emacs-pretest.new/lisp/faces.el
;;; in Emacs version 21.3
;;; with bytecomp version 2.85.4.1
;;; 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 "`faces.el' was compiled for Emacs 19.29 or later"))

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


(byte-code "\300\301!\210\302\303\304\305\306\307%\207" [require cus-face custom-declare-group font-selection nil "Influencing face font selection." :group faces] 6)
#@498 *A list specifying how face font selection chooses fonts.
Each of the four symbols `:width', `:height', `:weight', and `:slant'
must appear once in the list, and the list must not contain any other
elements.  Font selection tries to find a best matching font for
those face attributes first that appear first in the list.  For
example, if `:slant' appears before `:height', font selection first
tries to find a font with a suitable slant, even if this results in
a font height that isn't optimal.
(custom-declare-variable 'face-font-selection-order ''(:width :height :weight :slant) '(#$ . -779) :tag "Font selection order." :type '(list symbol symbol symbol symbol) :group 'font-selection :set #'(lambda (symbol value) (set-default symbol value) (internal-set-font-selection-order value)))
#@192 *Alist of alternative font family names.
Each element has the form (FAMILY ALTERNATIVE1 ALTERNATIVE2 ...).
If fonts of family FAMILY can't be loaded, try ALTERNATIVE1, then
ALTERNATIVE2 etc.
(custom-declare-variable 'face-font-family-alternatives ''(("courier" "fixed") ("helv" "helvetica" "arial" "fixed")) '(#$ . -1577) :tag "Alternative font families to try." :type '(repeat (repeat string)) :group 'font-selection :set #'(lambda (symbol value) (set-default symbol value) (internal-set-alternative-font-family-alist value)))
#@282 *Alist of alternative font registry names.
Each element has the form (REGISTRY ALTERNATIVE1 ALTERNATIVE2 ...).
If fonts of registry REGISTRY can be loaded, font selection
tries to find a best matching font among all fonts of registry
REGISTRY, ALTERNATIVE1, ALTERNATIVE2, and etc.
(custom-declare-variable 'face-font-registry-alternatives '(if (eq system-type 'windows-nt) '(("iso8859-1" "ms-oemlatin") ("gb2312.1980" "gb2312") ("jisx0208.1990" "jisx0208.1983" "jisx0208.1978") ("ksc5601.1989" "ksx1001.1992" "ksc5601.1987") ("muletibetan-2" "muletibetan-0")) '(("gb2312.1980" "gb2312.80&gb8565.88" "gbk*") ("jisx0208.1990" "jisx0208.1983" "jisx0208.1978") ("ksc5601.1989" "ksx1001.1992" "ksc5601.1987") ("muletibetan-2" "muletibetan-0"))) '(#$ . -2112) :tag "Alternative font registries to try." :type '(repeat (repeat string)) :version "21.1" :group 'font-selection :set #'(lambda (symbol value) (set-default symbol value) (internal-set-alternative-font-registry-alist value)))
#@42 Return a list of all defined face names.
(defalias 'face-list #[nil "\301\302\"\207" [face-new-frame-defaults mapcar car] 3 (#$ . 3098)])
#@299 Define a new face with name FACE, a symbol.
NO-INIT-FROM-RESOURCES non-nil means don't initialize frame-local
variants of FACE from X resources.  (X resources recognized are found
in the global variable `face-x-resources'.)  If FACE is already known
as a face, leave it unmodified.  Value is FACE.
(defalias 'make-face #[(face &optional no-init-from-resources) "\304!\2041 \305 \306\211\203 \n@\307	\"\210\nA\211\204 *\310\311!\203) \311!\210\2041 \312!\210\207" [face frame #1=#:--dolist-temp--97269 no-init-from-resources facep frame-list nil internal-make-lisp-face fboundp facemenu-add-new-face make-face-x-resource-internal] 4 (#$ . 3244) "SMake face: "])
#@109 Define a new, empty face with name FACE.
If the face already exists, it is left unmodified.  Value is FACE.
(defalias 'make-empty-face #[(face) "\301\302\"\207" [face make-face no-init-from-resources] 3 (#$ . 3924) "SMake empty face: "])
#@595 Define a face just like OLD-FACE, with name NEW-FACE.

If NEW-FACE already exists as a face, it is modified to be like
OLD-FACE.  If it doesn't already exist, it is created.

If the optional argument FRAME is given as a frame, NEW-FACE is
changed on FRAME only.
If FRAME is t, the frame-independent default specification for OLD-FACE
is copied to NEW-FACE.
If FRAME is nil, copying is done for the frame-independent defaults
and for each existing frame.

If the optional fourth argument NEW-FRAME is given,
copy the information from face OLD-FACE on frame FRAME
to NEW-FACE on frame NEW-FRAME.
(defalias 'copy-face #[(old-face new-face &optional frame new-frame) "\306	\204) \307 \310\211\203 \n@\311\f	#\210\nA\211\204 *\311\f\306#\210\2020 \312\f	$\210\f)\207" [inhibit-quit frame #1=#:--dolist-temp--97270 old-face new-face new-frame t frame-list nil copy-face internal-copy-lisp-face] 5 (#$ . 4170)])
#@402 Retrieve the face named NAME.
Return nil if there is no such face.
If the optional argument FRAME is given, this gets the face NAME for
that frame; otherwise, it uses the selected frame.
If FRAME is the symbol t, then the global, non-frame face is returned.
If NAME is already a face, it is simply returned.

This function is defined for compatibility with Emacs 20.2.  It
should not be used anymore.
(defalias 'internal-find-face #[(name &optional frame) "\301!\207" [name facep] 2 (#$ . 5093)])
(make-obsolete 'internal-find-face 'facep "21.1")
#@389 Retrieve the face named NAME; error if there is none.
If the optional argument FRAME is given, this gets the face NAME for
that frame; otherwise, it uses the selected frame.
If FRAME is the symbol t, then the global, non-frame face is returned.
If NAME is already a face, it is simply returned.

This function is defined for compatibility with Emacs 20.2.  It
should not be used anymore.
(defalias 'internal-get-face #[(name &optional frame) "\302	\"\206\n \303!\207" [name frame internal-find-face check-face] 3 (#$ . 5648)])
(make-obsolete 'internal-get-face "See `facep' and `check-face'." "21.1")
#@40 Return non-nil if FACE is a face name.
(defalias 'facep #[(face) "\301!\207" [face internal-lisp-face-p] 2 (#$ . 6257)])
#@61 Signal an error if FACE doesn't name a face.
Value is FACE.
(defalias 'check-face #[(face) "\301!\204 \302\303\"\210\207" [face facep error "Not a face: %s"] 3 (#$ . 6385)])
#@118 Return the internal ID of face with name FACE.
If optional argument FRAME is nil or omitted, use the selected frame.
(defalias 'face-id #[(face &optional frame) "\301!\210\300N\207" [face check-face] 2 (#$ . 6570)])
#@305 Non-nil if faces FACE1 and FACE2 are equal.
Faces are considered equal if all their attributes are equal.
If the optional argument FRAME is given, report on face FACE in that frame.
If FRAME is t, report on the defaults for face FACE (for new frames).
If FRAME is omitted or nil, use the selected frame.
(defalias 'face-equal #[(face1 face2 &optional frame) "\303	\n#\207" [face1 face2 frame internal-lisp-face-equal-p] 4 (#$ . 6795)])
#@485 Non-nil if FACE displays differently from the default face.
If the optional argument FRAME is given, report on face FACE in that frame.
If FRAME is t, report on the defaults for face FACE (for new frames).
If FRAME is omitted or nil, use the selected frame.
A face is considered to be ``the same'' as the default face if it is
actually specified in the same way (equal attributes) or if it is
fully-unspecified, and thus inherits the attributes of any face it
is displayed on top of.
(defalias 'face-differs-from-default-p #[(face &optional frame) "\306=\203 \307\202 \204 \310 \311	\"\211\203  \nG\202! \312\311\313\"\314\n\2042 \315\316	\"\210W\203Q \nH\317=\204J \nH\fH\232\203Q T\211\2023 W,\207" [frame face v1 n v2 i t nil selected-frame internal-lisp-face-p 0 default 1 error "Not a face: %S" unspecified] 4 (#$ . 7239)])
#@245 True if face FACE has some non-nil attribute.
If the optional argument FRAME is given, report on face FACE in that frame.
If FRAME is t, report on the defaults for face FACE (for new frames).
If FRAME is omitted or nil, use the selected frame.
(defalias 'face-nontrivial-p #[(face &optional frame) "\302	\"?\207" [face frame internal-lisp-face-empty-p] 3 (#$ . 8097)])
#@304 *List of X resources and classes for face attributes.
Each element has the form (ATTRIBUTE ENTRY1 ENTRY2...) where ATTRIBUTE is
the name of a face attribute, and each ENTRY is a cons of the form
(RESOURCE . CLASS) with RESOURCE being the resource and CLASS being the
X resource class for the attribute.
(custom-declare-variable 'face-x-resources ''((:family (".attributeFamily" . "Face.AttributeFamily")) (:width (".attributeWidth" . "Face.AttributeWidth")) (:height (".attributeHeight" . "Face.AttributeHeight")) (:weight (".attributeWeight" . "Face.AttributeWeight")) (:slant (".attributeSlant" . "Face.AttributeSlant")) (:foreground (".attributeForeground" . "Face.AttributeForeground")) (:background (".attributeBackground" . "Face.AttributeBackground")) (:overline (".attributeOverline" . "Face.AttributeOverline")) (:strike-through (".attributeStrikeThrough" . "Face.AttributeStrikeThrough")) (:box (".attributeBox" . "Face.AttributeBox")) (:underline (".attributeUnderline" . "Face.AttributeUnderline")) (:inverse-video (".attributeInverse" . "Face.AttributeInverse")) (:stipple (".attributeStipple" . "Face.AttributeStipple") (".attributeBackgroundPixmap" . "Face.AttributeBackgroundPixmap")) (:bold (".attributeBold" . "Face.AttributeBold")) (:italic (".attributeItalic" . "Face.AttributeItalic")) (:font (".attributeFont" . "Face.AttributeFont")) (:inherit (".attributeInherit" . "Face.AttributeInherit"))) '(#$ . -8474) :type '(repeat (cons symbol (repeat (cons string string)))) :group 'faces)
#@231 Set FACE's ATTRIBUTE from X resource RESOURCE, class CLASS on FRAME.
Value is the attribute value specified by the resource, or nil
if not present.  This function displays a message if the resource
specifies an invalid attribute.
(defalias 'set-face-attribute-from-resource #[(face attribute resource class frame) "\301!\306	\nP\f#\211\203 \307\310\311\217\210*\207" [face face-name resource class frame value internal-face-x-get-resource nil (byte-code "\304	\n\227$\207" [face attribute value frame internal-set-lisp-face-attribute-from-resource] 5) ((error (message "Face %s, frame %s: invalid attribute %s %s from X resource" face-name frame attribute value)))] 5 (#$ . 9987)])
#@52 Set attributes of FACE from X resources for FRAME.
(defalias 'set-face-attributes-from-resources #[(face frame) "\306!\307>\205B 	\310\211\203@ @\211@\nA\310\211\n\2038 \n@\311\f@A%\210\nA\211\n\204  +A\211\204 *\310\207" [frame face-x-resources definition #1=#:--dolist-temp--97271 attribute entry framep (x w32 mac) nil set-face-attribute-from-resource #2=#:--dolist-temp--97272 face] 8 (#$ . 10683)])
#@105 Fill frame-local FACE on FRAME from X resources.
FRAME nil or not specified means do it for all frames.
(defalias 'make-face-x-resource-internal #[(face &optional frame) "\204 \303 \304\211\203 	@\305\n\"\210	A\211\204 *\304\207\305\n\"\207" [frame #1=#:--dolist-temp--97273 face frame-list nil set-face-attributes-from-resources] 4 (#$ . 11114)])
#@31 Return the name of face FACE.
(defalias 'face-name #[(face) "\301\302!!\207" [face symbol-name check-face] 3 (#$ . 11478)])
#@246 Return the value of FACE's ATTRIBUTE on FRAME.
If the optional argument FRAME is given, report on face FACE in that frame.
If FRAME is t, report on the defaults for face FACE (for new frames).
If FRAME is omitted or nil, use the selected frame.
(defalias 'face-attribute #[(face attribute &optional frame) "\303	\n#\207" [face attribute frame internal-get-lisp-face-attribute] 4 (#$ . 11610)])
#@264 Return the foreground color name of FACE, or nil if unspecified.
If the optional argument FRAME is given, report on face FACE in that frame.
If FRAME is t, report on the defaults for face FACE (for new frames).
If FRAME is omitted or nil, use the selected frame.
(defalias 'face-foreground #[(face &optional frame) "\303\304	#\211\305=?\205 \n)\207" [face frame value internal-get-lisp-face-attribute :foreground unspecified] 5 (#$ . 12012)])
#@264 Return the background color name of FACE, or nil if unspecified.
If the optional argument FRAME is given, report on face FACE in that frame.
If FRAME is t, report on the defaults for face FACE (for new frames).
If FRAME is omitted or nil, use the selected frame.
(defalias 'face-background #[(face &optional frame) "\303\304	#\211\305=?\205 \n)\207" [face frame value internal-get-lisp-face-attribute :background unspecified] 5 (#$ . 12465)])
#@262 Return the stipple pixmap name of FACE, or nil if unspecified.
If the optional argument FRAME is given, report on face FACE in that frame.
If FRAME is t, report on the defaults for face FACE (for new frames).
If FRAME is omitted or nil, use the selected frame.
(defalias 'face-stipple #[(face &optional frame) "\303\304	#\211\305=?\205 \n)\207" [face frame value internal-get-lisp-face-attribute :stipple unspecified] 5 (#$ . 12918)])
(defalias 'face-background-pixmap 'face-stipple)
#@237 Return non-nil if FACE is underlined.
If the optional argument FRAME is given, report on face FACE in that frame.
If FRAME is t, report on the defaults for face FACE (for new frames).
If FRAME is omitted or nil, use the selected frame.
(defalias 'face-underline-p #[(face &optional frame) "\302\303	#\304=\207" [face frame face-attribute :underline t] 4 (#$ . 13412)])
#@252 Return non-nil if FACE is in inverse video on FRAME.
If the optional argument FRAME is given, report on face FACE in that frame.
If FRAME is t, report on the defaults for face FACE (for new frames).
If FRAME is omitted or nil, use the selected frame.
(defalias 'face-inverse-video-p #[(face &optional frame) "\302\303	#\304=\207" [face frame face-attribute :inverse-video t] 4 (#$ . 13789)])
#@292 Return non-nil if the font of FACE is bold on FRAME.
If the optional argument FRAME is given, report on face FACE in that frame.
If FRAME is t, report on the defaults for face FACE (for new frames).
If FRAME is omitted or nil, use the selected frame.
Use `face-attribute' for finer control.
(defalias 'face-bold-p #[(face &optional frame) "\303\304	#\211\305>)\207" [face frame bold face-attribute :weight (semi-bold bold extra-bold ultra-bold)] 5 (#$ . 14189)])
#@294 Return non-nil if the font of FACE is italic on FRAME.
If the optional argument FRAME is given, report on face FACE in that frame.
If FRAME is t, report on the defaults for face FACE (for new frames).
If FRAME is omitted or nil, use the selected frame.
Use `face-attribute' for finer control.
(defalias 'face-italic-p #[(face &optional frame) "\303\304	#\211\305>)\207" [face frame italic face-attribute :slant (italic oblique)] 5 (#$ . 14661)])
#@40 Get the documentation string for FACE.
(defalias 'face-documentation #[(face) "\301N\207" [face face-documentation] 2 (#$ . 15115)])
#@50 Set the documentation string for FACE to STRING.
(defalias 'set-face-documentation #[(face string) "\302\303\304	!#\207" [face string put face-documentation purecopy] 5 (#$ . 15255)])
(byte-code "\300\301\302\"\210\300\303\304\"\207" [defalias face-doc-string face-documentation set-face-doc-string set-face-documentation] 3)
#@4838 Set attributes of FACE on FRAME from ARGS.

FRAME nil means change attributes on all frames.  FRAME t means change
the default for new frames (this is done automatically each time an
attribute is changed on all frames).

ARGS must come in pairs ATTRIBUTE VALUE.  ATTRIBUTE must be a valid
face attribute name.  All attributes can be set to `unspecified';
this fact is not further mentioned below.

The following attributes are recognized:

`:family'

VALUE must be a string specifying the font family, e.g. ``courier'',
or a fontset alias name.  If a font family is specified, wild-cards `*'
and `?' are allowed.

`:width'

VALUE specifies the relative proportionate width of the font to use.
It must be one of the symbols `ultra-condensed', `extra-condensed',
`condensed', `semi-condensed', `normal', `semi-expanded', `expanded',
`extra-expanded', or `ultra-expanded'.

`:height'

VALUE must be either an integer specifying the height of the font to use
in 1/10 pt, a floating point number specifying the amount by which to
scale any underlying face, or a function, which is called with the old
height (from the underlying face), and should return the new height.

`:weight'

VALUE specifies the weight of the font to use.  It must be one of the
symbols `ultra-bold', `extra-bold', `bold', `semi-bold', `normal',
`semi-light', `light', `extra-light', `ultra-light'.

`:slant'

VALUE specifies the slant of the font to use.  It must be one of the
symbols `italic', `oblique', `normal', `reverse-italic', or
`reverse-oblique'.

`:foreground', `:background'

VALUE must be a color name, a string.

`:underline'

VALUE specifies whether characters in FACE should be underlined.  If
VALUE is t, underline with foreground color of the face.  If VALUE is
a string, underline with that color.  If VALUE is nil, explicitly
don't underline.

`:overline'

VALUE specifies whether characters in FACE should be overlined.  If
VALUE is t, overline with foreground color of the face.  If VALUE is a
string, overline with that color.  If VALUE is nil, explicitly don't
overline.

`:strike-through'

VALUE specifies whether characters in FACE should be drawn with a line
striking through them.  If VALUE is t, use the foreground color of the
face.  If VALUE is a string, strike-through with that color.  If VALUE
is nil, explicitly don't strike through.

`:box'

VALUE specifies whether characters in FACE should have a box drawn
around them.  If VALUE is nil, explicitly don't draw boxes.  If
VALUE is t, draw a box with lines of width 1 in the foreground color
of the face.  If VALUE is a string, the string must be a color name,
and the box is drawn in that color with a line width of 1.  Otherwise,
VALUE must be a property list of the form `(:line-width WIDTH
:color COLOR :style STYLE)'.  If a keyword/value pair is missing from
the property list, a default value will be used for the value, as
specified below.  WIDTH specifies the width of the lines to draw; it
defaults to 1.  If WIDTH is negative, the absolute value is the width
of the lines, and draw top/bottom lines inside the characters area,
not around it.  COLOR is the name of the color to draw in, default is
the foreground color of the face for simple boxes, and the background
color of the face for 3D boxes.  STYLE specifies whether a 3D box
should be draw.  If STYLE is `released-button', draw a box looking
like a released 3D button.  If STYLE is `pressed-button' draw a box
that appears like a pressed button.  If STYLE is nil, the default if
the property list doesn't contain a style specification, draw a 2D
box.

`:inverse-video'

VALUE specifies whether characters in FACE should be displayed in
inverse video.  VALUE must be one of t or nil.

`:stipple'

If VALUE is a string, it must be the name of a file of pixmap data.
The directories listed in the `x-bitmap-file-path' variable are
searched.  Alternatively, VALUE may be a list of the form (WIDTH
HEIGHT DATA) where WIDTH and HEIGHT are the size in pixels, and DATA
is a string containing the raw bits of the bitmap.  VALUE nil means
explicitly don't use a stipple pattern.

For convenience, attributes `:family', `:width', `:height', `:weight',
and `:slant' may also be set in one step from an X font name:

`:font'

Set font-related face attributes from VALUE.  VALUE must be a valid
XLFD font name.  If it is a font name pattern, the first matching font
will be used.

For compatibility with Emacs 20, keywords `:bold' and `:italic' can
be used to specify that a bold or italic font should be used.  VALUE
must be t or nil in that case.  A value of `unspecified' is not allowed.

`:inherit'

VALUE is the name of a face from which to inherit attributes, or a list
of face names.  Attributes from inherited faces are merged into the face
like an underlying face would be, with higher priority than underlying faces.
(defalias 'set-face-attribute #[(face frame &rest args) "\204 \305\202	 \306\n!\211\205* \307\n@\306\n\211A@)!	$\210\nAA\211\204 \310)\207" [frame where args face x 0 purecopy internal-set-lisp-face-attribute nil] 6 (#$ . 15590)])
#@228 Make the font of FACE be bold, if possible.
FRAME nil or not specified means change face on all frames.
Argument NOERROR is ignored and retained for compatibility.
Use `set-face-attribute' for finer control of the font weight.
(defalias 'make-face-bold #[(face &optional frame noerror) "\302	\303\304$\207" [face frame set-face-attribute :weight bold] 5 (#$ . 20674) (list (read-face-name "Make which face bold "))])
#@169 Make the font of FACE be non-bold, if possible.
FRAME nil or not specified means change face on all frames.
Argument NOERROR is ignored and retained for compatibility.
(defalias 'make-face-unbold #[(face &optional frame noerror) "\302	\303\304$\207" [face frame set-face-attribute :weight normal] 5 (#$ . 21099) (list (read-face-name "Make which face non-bold "))])
#@229 Make the font of FACE be italic, if possible.
FRAME nil or not specified means change face on all frames.
Argument NOERROR is ignored and retained for compatibility.
Use `set-face-attribute' for finer control of the font slant.
(defalias 'make-face-italic #[(face &optional frame noerror) "\302	\303\304$\207" [face frame set-face-attribute :slant italic] 5 (#$ . 21473) (list (read-face-name "Make which face italic "))])
#@171 Make the font of FACE be non-italic, if possible.
FRAME nil or not specified means change face on all frames.
Argument NOERROR is ignored and retained for compatibility.
(defalias 'make-face-unitalic #[(face &optional frame noerror) "\302	\303\304$\207" [face frame set-face-attribute :slant normal] 5 (#$ . 21904) (list (read-face-name "Make which face non-italic "))])
#@245 Make the font of FACE be bold and italic, if possible.
FRAME nil or not specified means change face on all frames.
Argument NOERROR is ignored and retained for compatibility.
Use `set-face-attribute' for finer control of font weight and slant.
(defalias 'make-face-bold-italic #[(face &optional frame noerror) "\302	\303\304\305\306&\207" [face frame set-face-attribute :weight bold :slant italic] 7 (#$ . 22283) (list (read-face-name "Make which face bold-italic "))])
#@269 Change font-related attributes of FACE to those of FONT (a string).
FRAME nil or not specified means change face on all frames.
This sets the attributes `:family', `:width', `:height', `:weight',
and `:slant'.  When called interactively, prompt for the face and font.
(defalias 'set-face-font #[(face font &optional frame) "\303	\304\n$\207" [face frame font set-face-attribute :font] 5 (#$ . 22762) (read-face-and-attribute :font)])
#@181 Change the background color of face FACE to COLOR (a string).
FRAME nil or not specified means change face on all frames.
When called interactively, prompt for the face and color.
(defalias 'set-face-background #[(face color &optional frame) "\303	\304\n\206	 \305$\207" [face frame color set-face-attribute :background unspecified] 5 (#$ . 23204) (read-face-and-attribute :background)])
#@181 Change the foreground color of face FACE to COLOR (a string).
FRAME nil or not specified means change face on all frames.
When called interactively, prompt for the face and color.
(defalias 'set-face-foreground #[(face color &optional frame) "\303	\304\n\206	 \305$\207" [face frame color set-face-attribute :foreground unspecified] 5 (#$ . 23600) (read-face-and-attribute :foreground)])
#@427 Change the stipple pixmap of face FACE to STIPPLE.
FRAME nil or not specified means change face on all frames.
STIPPLE should be a string, the name of a file of pixmap data.
The directories listed in the `x-bitmap-file-path' variable are searched.

Alternatively, STIPPLE may be a list of the form (WIDTH HEIGHT DATA)
where WIDTH and HEIGHT are the size in pixels,
and DATA is a string, containing the raw bits of the bitmap.
(defalias 'set-face-stipple #[(face stipple &optional frame) "\303	\304\n\206	 \305$\207" [face frame stipple set-face-attribute :stipple unspecified] 5 (#$ . 23996) (read-face-and-attribute :stipple)])
#@376 Specify whether face FACE is underlined.
UNDERLINE nil means FACE explicitly doesn't underline.
UNDERLINE non-nil means FACE explicitly does underlining
with the same of the foreground color.
If UNDERLINE is a string, underline with the color named UNDERLINE.
FRAME nil or not specified means change face on all frames.
Use `set-face-attribute' to ``unspecify'' underlining.
(defalias 'set-face-underline #[(face underline &optional frame) "\303	\304\n$\207" [face frame underline set-face-attribute :underline] 5 (#$ . 24633) (let ((list (read-face-and-attribute :underline))) (list (car list) (eq (car (cdr list)) t)))])
#@274 Specify whether face FACE is underlined.
UNDERLINE-P nil means FACE explicitly doesn't underline.
UNDERLINE-P non-nil means FACE explicitly does underlining.
FRAME nil or not specified means change face on all frames.
Use `set-face-attribute' to ``unspecify'' underlining.
(defalias 'set-face-underline-p #[(face underline-p &optional frame) "\303	\304\n$\207" [face frame underline-p set-face-attribute :underline] 5 (#$ . 25264) (let ((list (read-face-and-attribute :underline))) (list (car list) (eq (car (cdr list)) t)))])
#@319 Specify whether face FACE is in inverse video.
INVERSE-VIDEO-P non-nil means FACE displays explicitly in inverse video.
INVERSE-VIDEO-P nil means FACE explicitly is not in inverse video.
FRAME nil or not specified means change face on all frames.
Use `set-face-attribute' to ``unspecify'' the inverse video attribute.
(defalias 'set-face-inverse-video-p #[(face inverse-video-p &optional frame) "\303	\304\n$\207" [face frame inverse-video-p set-face-attribute :inverse-video] 5 (#$ . 25799) (let ((list (read-face-and-attribute :inverse-video))) (list (car list) (eq (car (cdr list)) t)))])
#@273 Specify whether face FACE is bold.
BOLD-P non-nil means FACE should explicitly display bold.
BOLD-P nil means FACE should explicitly display non-bold.
FRAME nil or not specified means change face on all frames.
Use `set-face-attribute' or `modify-face' for finer control.
(defalias 'set-face-bold-p #[(face bold-p &optional frame) "\204	 \303	\n\"\207\304	\n\"\207" [bold-p face frame make-face-unbold make-face-bold] 3 (#$ . 26399)])
#@283 Specify whether face FACE is italic.
ITALIC-P non-nil means FACE should explicitly display italic.
ITALIC-P nil means FACE should explicitly display non-italic.
FRAME nil or not specified means change face on all frames.
Use `set-face-attribute' or `modify-face' for finer control.
(defalias 'set-face-italic-p #[(face italic-p &optional frame) "\204	 \303	\n\"\207\304	\n\"\207" [italic-p face frame make-face-unitalic make-face-italic] 3 (#$ . 26842)])
(defalias 'set-face-background-pixmap 'set-face-stipple)
#@279 Swap the foreground and background colors of FACE.
If FRAME is omitted or nil, it means change face on all frames.
If FACE specifies neither foreground nor background color,
set its foreground and background to the background and foreground
of the default face.  Value is FACE.
(defalias 'invert-face #[(face &optional frame) "\304\305	#\304\306	#\211\307=\203 \n\307=\204% \310	\305\n\306&\210\2027 \310	\305\304\311\306	#\306\304\311\305	#&\210*\207" [face frame bg fg face-attribute :foreground :background unspecified set-face-attribute default] 11 (#$ . 27362) (list (read-face-name "Invert face "))])
#@94 Read and return a face symbol, prompting with PROMPT.
Value is a symbol naming a known face.
(defalias 'read-face-name #[(prompt) "\304\305\302 \"\306\307!\310\311	\n\"\203 \312	\313R\202\" \310\314P\315\n\310\316\310\211	&\211\317\232\204\" \320!+\207" [face def face-list prompt mapcar #[(x) "\301!B\207" [x symbol-name] 2] thing-at-point symbol nil assoc " (default " "): " ": " completing-read t "" intern] 8 (#$ . 27986)])
#@347 Return valid values for face attribute ATTRIBUTE.
The optional argument FRAME is used to determine available fonts
and colors.  If it is nil or not specified, the selected frame is
used.  Value is an alist of (NAME . VALUE) if ATTRIBUTE expects a value
out of a set of discrete values.  Value is `integerp' if ATTRIBUTE expects
an integer value.
(defalias 'face-valid-attribute-values #[(attribute &optional frame) "\305=\203 	\203 \306\307\310 \"\202\220 \311\211BC\202\220 \312>\203( \306\313\314!\"\202\220 \315>\203K 	\203B \306\316\314!\"\306\317\320\n!\"\244\202\220 \306\321\314!\"\202\220 \322>\203Z \306\323\324\n!\"\202\220 \325=\203d \326\202\220 \327=\203} 	\330>\205\220 \306\331\332\333\306\334\"\"\"\202\220 \335=\203\215 \336\306\337\340 \"B\202\220 \341\342!\211<\203\245 \343>\204\245 \344\345BC\f\244\202\246 \f)\207" [attribute window-system frame x-bitmap-file-path valid :family mapcar #[(x) "@@B\207" [x] 2] x-font-family-list "default" (:width :weight :slant :inverse-video) #[(x) "\301!B\207" [x symbol-name] 2] internal-lisp-face-attribute-values (:underline :overline :strike-through :box) #[(x) "\301!B\207" [x symbol-name] 2] #[(c) "\211B\207" [c] 2] x-defined-colors #[(x) "\301!B\207" [x symbol-name] 2] (:foreground :background) #[(c) "\211B\207" [c] 2] defined-colors :height integerp :stipple (x w32 mac) list apply nconc #[(dir) "\301!\205 \302!\205 \303!\207" [dir file-readable-p file-directory-p directory-files] 2] :inherit ("none") #[(c) "\301!B\207" [c symbol-name] 2] face-list error "Internal error" (:inherit) "unspecified" unspecified] 8 (#$ . 28436)])
#@233 An alist of descriptive names for face attributes.
Each element has the form (ATTRIBUTE-NAME . DESCRIPTION) where
ATTRIBUTE-NAME is a face attribute name (a keyword symbol), and
DESCRIPTION is a descriptive name for ATTRIBUTE-NAME.
(defvar face-attribute-name-alist '((:family . "font family") (:width . "character set width") (:height . "height in 1/10 pt") (:weight . "weight") (:slant . "slant") (:underline . "underline") (:overline . "overline") (:strike-through . "strike-through") (:box . "box") (:inverse-video . "inverse-video display") (:foreground . "foreground color") (:background . "background color") (:stipple . "background stipple") (:inherit . "inheritance")) (#$ . 30073))
#@42 Return a descriptive name for ATTRIBUTE.
(defalias 'face-descriptive-attribute-name #[(attribute) "	\236A\207" [attribute face-attribute-name-alist] 2 (#$ . 30771)])
#@381 Interactively read a face attribute string value.
FACE is the face whose attribute is read.  If non-nil, DEFAULT is the
default string to return if no new value is entered.  NAME is a
descriptive name of the attribute for prompting.  COMPLETION-ALIST is an
alist of valid values, if non-nil.

Entering nothing accepts the default string DEFAULT.
Value is the new attribute value.
(defalias 'face-read-string #[(face default name &optional completion-alist) "\306\307O\226\307\310OP\311\312\n\203 \313\314\n$\202  \313\315#\f\"\211\316\232\203- \n\202. *\207" [name completion-ignore-case default face completion-alist value 0 1 nil t completing-read format "%s for face `%s' (default %s): " "%s for face `%s': " ""] 7 (#$ . 30945)])
#@258 Interactively read an integer face attribute value.
FACE is the face whose attribute is read.  DEFAULT is the default
value to return if no new value is entered.  NAME is a descriptive
name of the attribute for prompting.  Value is the new attribute value.
(defalias 'face-read-integer #[(face default name) "\304\305\306	\"\n\307\310BC$\211\307\232\203 \310\202$ \311\235\203! \202$ \312!)\207" [face default name new-value face-read-string format "%s" "unspecified" unspecified ("unspecified-fg" "unspecified-bg") string-to-int] 7 (#$ . 31696)])
#@180 Interactively read a new value for FACE's ATTRIBUTE.
Optional argument FRAME nil or unspecified means read an attribute value
of a global face.  Value is the new attribute value.
(defalias 'read-face-attribute #[(face attribute &optional frame) "\306	\n#\307	!\310	\n\"\311	\312=\204 	\313=\203- :\204) \314!\203- \315!<\203\206 \316\"@\206> \317\320\"\321\f$\211\232\203V \202\202 	\322>\203r  \323>\204r \324\235\204r \325\n\"@\326\"\203\202 \326\"A)\202\232 \327=\203\226 \330\f#\202\232 \331\332!\210	\312=\204\246 	\313=\203\272 ;\203\272 \333\334\"\203\272 \335!,\207" [face attribute frame old-value attribute-name valid face-attribute face-descriptive-attribute-name face-valid-attribute-values nil :stipple :box vectorp prin1-to-string rassoc format "%s" face-read-string (:foreground :background) (x w32 mac) ("unspecified" "unspecified-fg" "unspecified-bg") tty-color-desc assoc integerp face-read-integer error "Internal error" string-match "^[[(]" read new-value default window-system] 6 (#$ . 32257)])
#@114 Read the name of a font for FACE on FRAME.
If optional argument FRAME Is nil or omitted, use the selected frame.
(defalias 'read-face-font #[(face &optional frame) "\303\304\305\306	\"\307\310\311\312\313\n#\"\")\207" [completion-ignore-case face frame t completing-read format "Set font attributes of face `%s' from font: " mapcar list x-list-fonts "*" nil] 8 (#$ . 33338)])
#@175 Interactively read all attributes for FACE.
If optional argument FRAME Is nil or omitted, use the selected frame.
Value is a property list of attribute names and new values.
(defalias 'read-all-face-attributes #[(face &optional frame) "\306	\306\211\203  @\211@\307\f\n@#BBA\211\204\n \306+\207" [result face-attribute-name-alist attribute #1=#:--dolist-temp--97274 face frame nil read-face-attribute] 6 (#$ . 33722)])
#@358 Modify attributes of faces interactively.
If optional argument FRAME is nil or omitted, modify the face used
for newly created frame, i.e. the global face.
For non-interactive use, `set-face-attribute' is preferred.
When called from elisp, if FACE is nil, all arguments but FRAME are ignored
and the face and its settings are obtained by querying the user.
(defalias 'modify-face #[(&optional face foreground background stipple bold-p italic-p underline-p inverse-p frame) "\203# \306	\307\n\206 \310\311\206 \310\312\f\313\314\315\316&\207\317\320!\321\306	\322	\"$\207" [face frame foreground background stipple bold-p set-face-attribute :foreground unspecified :background :stipple :bold :italic :underline :inverse-video read-face-name "Modify face" apply read-all-face-attributes italic-p underline-p inverse-p] 17 (#$ . 34160) nil])
#@264 Read face name and face attribute value.
ATTRIBUTE is the attribute whose new value is read.
FRAME nil or unspecified means read attribute value of global face.
Value is a list (FACE NEW-VALUE) where FACE is the face read
(a symbol), and NEW-VALUE is value read.
(defalias 'read-face-and-attribute #[(attribute &optional frame) "\306=\203 \307\310	!\311\n\"\n\f+D\207\312!\313\314\"\310	!\315\n#\n,D\207" [attribute prompt face frame font attribute-name :font "Set font-related attributes of face" read-face-name read-face-font face-descriptive-attribute-name format "Set %s of face" read-face-attribute new-value] 4 (#$ . 35022)])
#@70 *Text string to display as the sample text for `list-faces-display'.
(defvar list-faces-sample-text "abcdefghijklmnopqrstuvwxyz ABCDEFGHIJKLMNOPQRSTUVWXYZ" (#$ . -35677))
#@136 List all faces, using the same sample text in each.
The sample text is a string that comes from the variable
`list-faces-sample-text'.
(defalias 'list-faces-display #[nil "\306\307 \310\"\311\312 \311\211\211\313\220\212*q\210\314+\315\316\317 \205# \320\321\322R!c\210\311,\203\222 @A\323\f!\324\325\"c\210\212\326 -\327\216\330!\210\331\332\333\334$\210+`./c\210\212\326 -\335\216\330/!\210\331\332\336\f\337$\210+\340c\210\341.`S\304\f$\210.b\210\342y\210m\204\216 \343c\210\342y\210\202\201 )\202, eb\210)\344 \221\210\345\346\313!\314\"\211\203\253 \347	!\202\256 \350 @\n=\206\316 \307 \211\205\315 \351@@\n$\210A\211\204\274 \311).\207" [face-name window disp-frame frame face faces sort face-list string-lessp nil selected-frame "*Faces*" t substitute-command-keys "Use " display-mouse-p "\\[help-follow-mouse] or " "\\[help-follow] on a face name to customize it\n" "or on its sample text for a description of the face.\n\n" symbol-name format "%25s " match-data ((set-match-data save-match-data-internal)) search-backward help-xref-button 0 #[(f) "\203\n \211A@\210\302	!\207" [help-xref-stack f customize-face] 2] "mouse-2: customize this face" ((set-match-data save-match-data-internal)) describe-face "mouse-2: describe this face" "\n" put-text-property 1 "                          " print-help-return-message get-buffer-window get-buffer window-frame frame-list copy-face standard-output truncate-lines help-xref-stack save-match-data-internal beg list-faces-sample-text] 7 (#$ . 35855) nil])
#@245 Display the properties of face FACE on FRAME.
If the optional argument FRAME is given, report on face FACE in that frame.
If FRAME is t, report on the defaults for face FACE (for new frames).
If FRAME is omitted or nil, use the selected frame.
(defalias 'describe-face #[(face &optional frame) "\306\307\310\311\312\"\"\313\220\212\nq\210\314\211\203@ \f@\315@(#)\316	AGZ\317\"A\320\321\322)\"\323\261\210)\fA\211\204 *\324\325!\206I \326\261\210\327*\330 \210\330 \210\331\332*\333Q!\210r\313q\210\212\334\335*\336Q\314\337#\210\340\341\342\343$\210,\344 \210r\313q\210\345\346Dt\"\210\347 )\221*\207" [attrs max-width standard-output a #1=#:--dolist-temp--97275 face ((:family . "Family") (:width . "Width") (:height . "Height") (:weight . "Weight") (:slant . "Slant") (:foreground . "Foreground") (:background . "Background") (:underline . "Underline") (:overline . "Overline") (:strike-through . "Strike-through") (:box . "Box") (:inverse-video . "Inverse") (:stipple . "Stipple") (:font . "Font or fontset") (:inherit . "Inherit")) apply max mapcar #[(x) "AG\207" [x] 1] "*Help*" nil face-attribute make-string 32 ": " format "%s" "\n" "\nDocumentation:\n\n" face-documentation "not documented as a face." "customize" terpri princ "You can " " this face." re-search-backward "\\(" "\\)" t help-xref-button 1 customize-face "mouse-2, RET: customize face" print-help-return-message help-setup-xref describe-face buffer-string frame attr customize-label] 8 (#$ . 37408) (list (read-face-name "Describe face"))])
#@240 Return a defface-style attribute list for FACE on FRAME.
Value is a property list of pairs ATTRIBUTE VALUE for all specified
face attributes of FACE where ATTRIBUTE is the attribute name and
VALUE is the specified value of that attribute.
(defalias 'face-attr-construct #[(face &optional frame) "\306	\306\211\203+ @\211@\307\f\"\211	\310=\204# \f	D\244*A\211\204\n \306+\207" [result face-attribute-name-alist entry #1=#:--dolist-temp--97276 attribute face nil face-attribute unspecified value] 4 (#$ . 38954)])
#@139 Non-nil if DISPLAY matches FRAME.
DISPLAY is part of a spec such as can be used in `defface'.
If FRAME is nil, the current FRAME is used.
(defalias 'face-spec-set-match-display #[(display frame) "\306\306\306\307	\307=\203 \306	\203\222 \203\222 	@	A\n@\nA\310=\203i \f>\206\216 \204> \311\f>\206\216 \312\f>\203J \313\312!\206\216 \314\f>\203] \313\315!\203] \313\312!?\206\216 \315\f>\205\216 \313\315!\202\216 \316=\203y \317\320\"\f>\202\216 \321=\203\211 \317\322\"\f>\202\216 \323\324\f#\202 -\207" [display conjuncts conjunct req options match nil t type tty motif featurep lucid x-toolkit class frame-parameter display-type background background-mode error "Unknown req `%S' with options `%S'" window-system frame] 4 (#$ . 39489)])
#@82 Choose the proper attributes for FRAME, out of SPEC.
If SPEC is nil, return nil.
(defalias 'face-spec-choose #[(spec &optional frame) "\204 \306 	\307\2039 \211A@\211@\fA	\310\"\2035 	@<\2030 	@\2022 	\307+\202 \n*\207" [frame spec result tail entry display selected-frame nil face-spec-set-match-display attrs] 4 (#$ . 40263)])
#@55 Reset all attributes of FACE on FRAME to unspecified.
(defalias 'face-spec-reset-face #[(face &optional frame) "\211\205 	@\305\f\n@\306$\210)	A\211\204 \307)\207" [face-attribute-name-alist attrs attr-and-name face frame set-face-attribute unspecified nil] 6 (#$ . 40617)])
#@229 Set FACE's attributes according to the first matching entry in SPEC.
FRAME is the frame whose frame-local face is set.  FRAME nil means
do it on all frames.  See `defface' for information about SPEC.
If SPEC is nil, do nothing.
(defalias 'face-spec-set #[(face spec &optional frame) "\306	\"\211\203 \307	\"\210\n\205p \n@\nA@\211\310=\203. \311\f\203) \312\202* \313\202[ \314=\203C \315\f\203> \316\202? \313\202[ \317>\203R \f\204[ \320\202[ \236\204[ \321\203f \322	\f$\210*\nAA\211\204 \321)\207" [spec frame attrs face value attribute face-spec-choose face-spec-reset-face :bold :weight bold normal :italic :slant italic (:foreground :background) unspecified nil set-face-attribute face-x-resources] 6 (#$ . 40906)])
#@177 Return t if attributes of FACE match values in plist ATTRS.
Optional parameter FRAME is the frame whose definition of FACE
is used.  If nil or omitted, use the selected frame.
(defalias 'face-attr-match-p #[(face attrs &optional frame) "\204 \306 	\307\n\203= \203= @@\310\f\"\203% \311\f\"\202& \312\f\313\f#\f\232A+\202 \n*\207" [frame face-attribute-name-alist match list attr attrs selected-frame t plist-member plist-get unspecified face-attribute specified-value face value-now] 4 (#$ . 41658)])
#@73 Return t if FACE, on FRAME, matches what SPEC says it should look like.
(defalias 'face-spec-match-p #[(face spec &optional frame) "\303\304	\n\"\n#\207" [face spec frame face-attr-match-p face-spec-choose] 5 (#$ . 42189)])
#@118 Return the default face-spec for FACE, ignoring any user customization.
If there is no default for FACE, return nil.
(defalias 'face-default-spec #[(face) "\301N\207" [face face-defface-spec] 2 (#$ . 42421)])
(put 'face-default-spec 'byte-optimizer 'byte-compile-inline-expand)
#@145 Return the user's customized face-spec for FACE, or the default if none.
If there is neither a user setting nor a default for FACE, return nil.
(defalias 'face-user-default-spec #[(face) "\301N\206\f \211\302N)\207" [face saved-face face-defface-spec] 3 (#$ . 42707)])
(put 'face-user-default-spec 'byte-optimizer 'byte-compile-inline-expand)
#@225 Return a list of colors supported for a particular frame.
The argument FRAME specifies which frame to try.
The value may be different for frames on different display types.
If FRAME doesn't support colors, the value is nil.
(defalias 'defined-colors #[(&optional frame) "\301\206 \302 !\303>\203 \304!\207\305\306\307!\"\207" [frame framep selected-frame (x w32 mac) xw-defined-colors mapcar car tty-color-alist] 4 (#$ . 43060)])
(defalias 'x-defined-colors 'defined-colors)
#@227 Return non-nil if color COLOR is supported on frame FRAME.
If FRAME is omitted or nil, use the selected frame.
If COLOR is the symbol `unspecified' or one of the strings
"unspecified-fg" or "unspecified-bg", the value is nil.
(defalias 'color-defined-p #[(color &optional frame) "\302\235?\205 \303	\206 \304 !\305\235\203 \306	\"\207\307	\"\247\207" [color frame (unspecified "unspecified-bg" "unspecified-fg") framep selected-frame (x w32 mac) xw-color-defined-p tty-color-translate] 3 (#$ . 43547)])
(defalias 'x-color-defined-p 'color-defined-p)
#@413 Return a description of the color named COLOR on frame FRAME.
The value is a list of integer RGB values--(RED GREEN BLUE).
These values appear to range from 0 65535; white is (65535 65535 65535).
If FRAME is omitted or nil, use the selected frame.
If FRAME cannot display COLOR, the value is nil.
If COLOR is the symbol `unspecified' or one of the strings
"unspecified-fg" or "unspecified-bg", the value is nil.
(defalias 'color-values #[(color &optional frame) "\302\235?\205 \303	\206 \304 !\305>\203 \306	\"\207\307	\"\207" [color frame (unspecified "unspecified-fg" "unspecified-bg") framep selected-frame (x w32 mac) xw-color-values tty-color-values] 3 (#$ . 44110)])
(defalias 'x-color-values 'color-values)
#@233 Return t if DISPLAY supports color.
The optional argument DISPLAY specifies which display to ask about.
DISPLAY should be either a frame or a display name (a string).
If omitted or nil, that stands for the selected frame's display.
(defalias 'display-color-p #[(&optional display) "\301!\302>\203\f \303!\207\304!\207" [display framep-on-display (x w32 mac) xw-display-color-p tty-display-color-p] 2 (#$ . 44837)])
(defalias 'x-display-color-p 'display-color-p)
#@65 Return non-nil if frames on DISPLAY can display shades of gray.
(defalias 'display-grayscale-p #[(&optional display) "\302!\211\303>\203 \304!\202 \305!\306V)\207" [display frame-type framep-on-display (x w32 mac) x-display-grayscale-p tty-color-gray-shades 2] 3 (#$ . 45308)])
#@282 *The brightness of the background.
Set this to the symbol `dark' if your background color is dark, `light' if
your background is light, or nil (default) if you want Emacs to
examine the brightness for you.  Don't set this variable with `setq';
this won't have the expected effect.
(custom-declare-variable 'frame-background-mode 'nil '(#$ . -45599) :group 'faces :set #'(lambda (var value) (set-default var value) (mapc 'frame-set-background-mode (frame-list))) :initialize 'custom-initialize-changed :type '(choice (choice-item dark) (choice-item light) (choice-item :tag "default" nil)))
#@181 Set up display-dependent faces on FRAME.
Display-dependent faces are those which have different definitions
according to the `background-mode' and `display-type' frame parameters.
(defalias 'frame-set-background-mode #[(frame) "\205 \306\307\310\"\311\n\312\"\f\206V 	\203 \313	\227!\202V \204) \204) \314\202V \315\235\2033 \314\202V \316\232\203= \317\202V \320\321\322\n\"\"\320\321\322\323\n\"\"\324_Y\203U \317\202V \314\204i \325\n!\203e \326\202~ \327\202~ \330\n!\203s \326\202~ \331\n!\203} \332\202~ \327\311\n\333\"%\311\n\334\"&%=\205\230 &=?\205!\335'\336 \335(\211)\203\332 )@(\337(\211(\211\340N\206\303 (\211(\341N))\342 #\204\321 ('B')A\211)\204\252 *\343\n\333B\334BD\"\210\336 \335(\211*\203*@\211('>\204\344(\211(\211\340N\206(\211(\341N))\n#\210*A\211*\204\362 +\335.\207" [window-system bg-resource frame bg-color frame-background-mode bg-mode x-get-resource "backgroundMode" "BackgroundMode" frame-parameter background-color intern dark (unspecified "unspecified-bg") "unspecified-fg" light apply + x-color-values "white" 0.6 tty-display-color-p color mono x-display-color-p x-display-grayscale-p grayscale background-mode display-type nil face-list face-spec-match-p saved-face face-defface-spec selected-frame modify-frame-parameters face-spec-set old-bg-mode old-display-type locally-modified-faces face #1=#:--dolist-temp--97277 #2=#:--dolist-temp--97278] 6 (#$ . 46196)])
#@106 Add geometry parameters for a named frame to parameter list PARAMETERS.
Value is the new parameter list.
(defalias 'x-handle-named-frame-geometry #[(parameters) "\302\236A\206 \302	\236A\211\n\205 \306\307\310\"\211\2037 \311\f!\312\236\204+ \313\236\2030 \314\315\"\314	#)+\207" [parameters default-frame-alist name x-resource-name res-geometry parsed x-get-resource "geometry" "Geometry" x-parse-geometry top left append ((user-position . t) (user-size . t))] 5 (#$ . 47660)])
#@101 Handle the reverse-video frame parameter and X resource.
`x-create-frame' does not handle this one.
(defalias 'x-handle-reverse-video #[(frame parameters) "\306\236\206 \306	\236\206 \307\310\311\"\211\205 \312\n\227\313\235B)A\205q \314!\315\f\236A\316\f\236A\317\315B\316BD\"\210\320\f\236A\232\203M \317\320BC\"\210\321\f\236A\232\203_ \317\321BC\"\210\322\f\236A\232\205p \317\322BC\"+\207" [parameters default-frame-alist resource frame params bg reverse x-get-resource "reverseVideo" "ReverseVideo" nil ("on" "true") frame-parameters foreground-color background-color modify-frame-parameters border-color mouse-color cursor-color fg] 6 (#$ . 48161)])
#@387 Create a frame from optional frame parameters PARAMETERS.
Parameters not specified by PARAMETERS are taken from
`default-frame-alist'.  If PARAMETERS specify a frame name,
handle X geometry resources for that name.  If either PARAMETERS
or `default-frame-alist' contains a `reverse' parameter, or
the X resource ``reverseVideo'' is present, handle that.
Value is the new frame created.
(defalias 'x-create-frame-with-faces #[(&optional parameters) "\305!\306\236\303 \307\310B!\311\312\216\313\n\"\210\314\n!\210\315\n!\210\203* \f\2041 \316\n!\210\2027 \317\n\fC\"\210\320)\n,\207" [parameters success frame frame-list visibility-spec x-handle-named-frame-geometry visibility x-create-frame (visibility) nil ((byte-code "\204 \302	!\210\302\207" [success frame delete-frame] 2)) x-handle-reverse-video frame-set-background-mode face-set-after-frame-default make-frame-visible modify-frame-parameters t] 5 (#$ . 48851)])
#@121 Set frame-local faces of FRAME from face specs and resources.
Initialize colors of certain faces from frame parameters.
(defalias 'face-set-after-frame-default #[(frame) "\306 \307\211\203I 	@\211\310\232\204B \311\211\211\312N\206\" \211\313N))\n#\210\314\n\"\210\315>\203B \316\317!\203= \310=\204B \320\n\"\210	A\211\204	 *\321\321\307\211\203\213 @\322\n@\"A@\3238\211\203\201 \324\325#\326=\203\201 \327\n$\210+A\211\204U +\307\207" [face #1=#:--dolist-temp--97279 frame window-system params param face-list nil default face-spec-set saved-face face-defface-spec internal-merge-in-global-face (x w32 mac) boundp inhibit-default-face-x-resources make-face-x-resource-internal ((foreground-color default :foreground) (background-color default :background) (border-color border :background) (cursor-color cursor :background) (scroll-bar-foreground scroll-bar :foreground) (scroll-bar-background scroll-bar :background) (mouse-color mouse :background)) frame-parameter 2 face-attribute t unspecified set-face-attribute #2=#:--dolist-temp--97280 attr frame-param] 6 (#$ . 49792)])
#@63 Handle the reverse-video frame parameter for terminal frames.
(defalias 'tty-handle-reverse-video #[(frame parameters) "\306\236\206	 \306	\236A\205H \307\n!\310\236A\311\236A\312\n\310B\311\fBD\"\210\f\313\236A\232\2037 \312\n\313BC\"\210\f\314\236A\232\205G \312\n\314BC\"+\207" [parameters default-frame-alist frame params bg fg reverse frame-parameters foreground-color background-color modify-frame-parameters mouse-color cursor-color] 5 (#$ . 50918)])
#@261 Create a frame from optional frame parameters PARAMETERS.
Parameters not specified by PARAMETERS are taken from
`default-frame-alist'.  If either PARAMETERS or `default-frame-alist'
contains a `reverse' parameter, handle that.  Value is the new frame
created.
(defalias 'tty-create-frame-with-faces #[(&optional parameters) "\303!\304\305\216\306\n\307\n!\"\210\310\n!\210\311\n!\210\312)\n*\207" [parameters success frame make-terminal-frame nil ((byte-code "\204 \302	!\210\302\207" [success frame delete-frame] 2)) tty-handle-reverse-video frame-parameters frame-set-background-mode face-set-after-frame-default t] 4 (#$ . 51394)])
(defalias 'tty-set-up-initial-frame-faces #[nil "\301 \302!\210\303!)\207" [frame selected-frame frame-set-background-mode face-set-after-frame-default] 2])
(byte-code "\306\307\310\"\210\311\307\312\313#\210\306\314\315\"\210\311\314\315\313#\210\316\317\320\321\322\323%\210\324\325\326\327\322\317%\210\324\330\331\332\333\313\322\334\322\317&	\210\335\334\336\330#\210\324\337\340\341\333\313\322\317&\210\324\342\343\344\333\313\322\317&\210\324\345\346\347\333\313\322\317&\210\324\350\351\352\333\313\322\353\322\317&	\210\324\354\320\355\333\313\322\353\322\317&	\210\324\356\357\360\333\313\322\356\322\317&	\210\324\361\320\362\333\313\322\353\322\317&	\210\324\363\320\364\333\313\322\363\322\317&	\210\324\365\320\366\333\313\322\365\322\317&	\210\324\367\370\371\322\317%\210\324\372\373\374\322\317%\210\324\375\376\377\322\317%\210\324\201T \201U \201V \322\317%\210\324\201W \201X \201Y \322\317%\210\324\201Z \201[ \201\\ \322\317%\210\324\201] \201^ \201_ \322\317%\210\324\201` \201a \201b \322\317%\210\324\201c \201d \201e \333\313\322\201f \322\317&	\210\301B\201g \301!\204)\320\302B\201g \302!\2047\320\303B\201g \303!\204E\320\304B\201g \304!\204S\320\305B\201h \201@ B\201i @\201A B\201j A\201B B\201k B\201l \201m \211\201n \201o \201p \201q \201o \211\201r \201s \211\211\201t \201r \201m \211CDEFGHIJKLMNOPQRS\201u RSQSOSMSLSKSJSISHSGSFSESDSC\201v \260\201w RSQSOSM\201x \260	SNSQSPSQ.\320\207" [current-load-list x-font-regexp x-font-regexp-head x-font-regexp-weight x-font-regexp-slant x-font-regexp-weight-subnum defalias frame-update-faces ignore make-obsolete "No longer necessary" "21.1" frame-update-face-colors frame-set-background-mode custom-declare-group basic-faces nil "The standard faces of Emacs." :group faces custom-declare-face default ((t nil)) "Basic default face." mode-line ((((type x w32 mac) (class color)) (:box (:line-width -1 :style released-button) :background "grey75" :foreground "black")) (t (:inverse-video t))) "Basic mode line face." :version modeline put face-alias header-line ((((type tty)) :underline t) (((class color grayscale) (background light)) :inherit mode-line :background "grey90" :foreground "grey20" :box nil) (((class color grayscale) (background dark)) :inherit mode-line :background "grey20" :foreground "grey90" :box nil) (((class mono) (background light)) :inherit mode-line :background "white" :foreground "black" :inverse-video nil :box nil :underline t) (((class mono) (background dark)) :inherit mode-line :background "black" :foreground "white" :inverse-video nil :box nil :underline t) (t :inverse-video t)) "Basic header-line face." tool-bar ((((type x w32 mac) (class color)) (:box (:line-width 1 :style released-button) :background "grey75" :foreground "black")) (((type x) (class mono)) (:box (:line-width 1 :style released-button) :background "grey" :foreground "black")) (t nil)) "Basic tool-bar face." region ((((type tty) (class color)) (:background "blue" :foreground "white")) (((type tty) (class mono)) (:inverse-video t)) (((class color) (background dark)) (:background "blue3")) (((class color) (background light)) (:background "lightgoldenrod2")) (t (:background "gray"))) "Basic face for highlighting the region." fringe ((((class color) (background light)) (:background "grey95")) (((class color) (background dark)) (:background "grey10")) (t (:background "gray"))) "Basic face for the fringes to the left and right of windows under X." frames scroll-bar "Basic face for the scroll bar colors under X." menu ((((type tty)) :inverse-video t) (((type x-toolkit))) (t :inverse-video t)) "Basic face for the font and colors of the menu bar and popup menus." border "Basic face for the frame border under X." cursor "Basic face for the cursor color under X." mouse "Basic face for the mouse color under X." bold ((t (:weight bold))) "Basic bold face." italic ((t (:slant italic))) "Basic italic font." bold-italic ((t (:weight bold :slant italic))) "Basic bold-italic face." x-font-regexp-slant-subnum x-font-regexp-swidth-subnum x-font-regexp-adstyle-subnum encoding registry avgwidth spacing resy resx pointsize pixelsize adstyle swidth slant\? slant weight\? weight family foundry - underline ((t (:underline t))) "Basic underlined face." highlight ((((type tty) (class color)) (:background "green")) (((class color) (background light)) (:background "darkseagreen2")) (((class color) (background dark)) (:background "darkolivegreen")) (t (:inverse-video t))) "Basic face for highlighting." secondary-selection ((((type tty) (class color)) (:background "cyan" :foreground "black")) (((class color) (background light)) (:background "yellow")) (((class color) (background dark)) (:background "SkyBlue4")) (t (:inverse-video t))) "Basic face for displaying the secondary selection." fixed-pitch ((t (:family "courier"))) "The basic fixed-pitch face." variable-pitch ((t (:family "helv"))) "The basic variable-pitch face." trailing-whitespace ((((class color) (background light)) (:background "red")) (((class color) (background dark)) (:background "red")) (t (:inverse-video t))) "Basic face for highlighting trailing whitespace." font-lock boundp 1 2 3 4 "[-?]" "[^-]+" "\\(bold\\|demibold\\|medium\\)" "\\([^-]*\\)" "\\([ior]\\)" "\\([^-]?\\)" "[0-9]+" "[0-9][0-9]+" "[cmp?*]" "\\`\\*?[-?*]" "\\*?\\'" "\\`[-?*]" "\\([-*?]\\|\\'\\)"] 29)
#@284 Return a font name matching PATTERN.
All wildcards in PATTERN are instantiated.
If PATTERN is nil, return the name of the frame's base font, which never
contains wildcards.
Given optional arguments FACE and FRAME, return a font which is
also the same size as FACE on FRAME, or fail.
(defalias 'x-resolve-font-name #[(pattern &optional face frame) "9\204	 \304!	\305=\203 \306\n\203` \307\n	\310$\211\204\\ \203W \311\312\n\"\203@ \313!\2048 \314\315!\210\202\\ \314\316\"\210\202\\ \313!\204N \314\317\n\"\210\202\\ \314\320\n#\210\202\\ \314\321\n\"\210@)\207\322\323\324 !\236A\207" [face frame pattern fonts face-name t nil x-list-fonts 1 string-match "\\*" face-font error "No matching fonts are the same height as the frame default font" "No matching fonts are the same height as face `%s'" "Height of font `%s' doesn't match the frame default font" "Height of font `%s' doesn't match face `%s'" "No fonts match `%s'" font frame-parameters selected-frame] 6 (#$ . 57478)])
(defalias 'x-frob-font-weight #[(font which) "\306\307	\n\"\203  \n\310\224O\f\n\225\224O\311\n\225\312O\260\202K \307\f\n\"\2037 \n\310\313\224O\f\n\313\225\312OQ\202K \307\n\"\205K \n\310\313\224O\f\n\313\225\312OQ)\207" [case-fold-search x-font-regexp font x-font-regexp-weight-subnum which x-font-regexp-adstyle-subnum t string-match 0 "*" nil 1 x-font-regexp-head x-font-regexp-weight] 7])
(make-obsolete 'x-frob-font-weight 'make-face-\.\.\. "21.1")
(defalias 'x-frob-font-slant #[(font which) "\306\307	\n\"\203  \n\310\224O\f\n\225\224O\311\n\225\312O\260\202K \307\n\"\2037 \n\310\313\224O\f\n\313\225\312OQ\202K \307\n\"\205K \n\310\314\224O\f\n\314\225\312OQ)\207" [case-fold-search x-font-regexp font x-font-regexp-slant-subnum which x-font-regexp-adstyle-subnum t string-match 0 "*" nil 2 1 x-font-regexp-head x-font-regexp-slant] 7])
(make-obsolete 'x-frob-font-slant 'make-face-\.\.\. "21.1")
#@94 Given an X font specification, make a bold version of it.
If that can't be done, return nil.
(defalias 'x-make-font-bold #[(font) "\301\302\"\207" [font x-frob-font-weight "bold"] 3 (#$ . 59402)])
(make-obsolete 'x-make-font-bold 'make-face-bold "21.1")
#@98 Given an X font specification, make a demibold version of it.
If that can't be done, return nil.
(defalias 'x-make-font-demibold #[(font) "\301\302\"\207" [font x-frob-font-weight "demibold"] 3 (#$ . 59663)])
(make-obsolete 'x-make-font-demibold 'make-face-bold "21.1")
#@98 Given an X font specification, make a non-bold version of it.
If that can't be done, return nil.
(defalias 'x-make-font-unbold #[(font) "\301\302\"\207" [font x-frob-font-weight "medium"] 3 (#$ . 59940)])
(make-obsolete 'x-make-font-unbold 'make-face-unbold "21.1")
#@97 Given an X font specification, make an italic version of it.
If that can't be done, return nil.
(defalias 'x-make-font-italic #[(font) "\301\302\"\207" [font x-frob-font-slant "i"] 3 (#$ . 60213)])
(make-obsolete 'x-make-font-italic 'make-face-italic "21.1")
#@98 Given an X font specification, make an oblique version of it.
If that can't be done, return nil.
(defalias 'x-make-font-oblique #[(font) "\301\302\"\207" [font x-frob-font-slant "o"] 3 (#$ . 60479)])
(make-obsolete 'x-make-font-oblique 'make-face-italic "21.1")
#@100 Given an X font specification, make a non-italic version of it.
If that can't be done, return nil.
(defalias 'x-make-font-unitalic #[(font) "\301\302\"\207" [font x-frob-font-slant "r"] 3 (#$ . 60749)])
(make-obsolete 'x-make-font-unitalic 'make-face-unitalic "21.1")
#@105 Given an X font specification, make a bold and italic version of it.
If that can't be done, return nil.
(defalias 'x-make-font-bold-italic #[(font) "\301!\211\205 \302!\207" [font x-make-font-bold x-make-font-italic] 2 (#$ . 61025)])
(byte-code "\300\301\302\303#\210\304\305!\207" [make-obsolete x-make-font-bold-italic make-face-bold-italic "21.1" provide faces] 4)
