;;; compiled by rms@mole.gnu.ai.mit.edu on Mon May 31 20:09:05 1993
;;; from file /gd/gnu/emacs/19.0/lisp/faces.el
;;; emacs version 19.10.3.
;;; bytecomp version FSF 2.08
;;; optimization is on.

(byte-code "M#M" [internal-facep #[(x) "	! 	GU 	H=" [vectorp x 8 0 face] 2] put byte-optimizer byte-compile-inline-expand internal-check-face (macro . #[(face) "DDEEEE" [while not internal-facep face setq signal (quote wrong-type-argument) list (quote internal-facep)] 9])] 4)
(defalias 'face-name #[(face) "	!H" [internal-get-face face 1] 2 "\
Return the name of face FACE."])
(put (quote face-name) (quote byte-optimizer) (quote byte-compile-inline-expand))
(defalias 'face-id #[(face) "	!H" [internal-get-face face 2] 2 "\
Return the internal ID number of face FACE."])
(put (quote face-id) (quote byte-optimizer) (quote byte-compile-inline-expand))
(defalias 'face-font #[(face &optional frame) "	\n\"H" [internal-get-face face frame 3] 3 "\
Return the font name of face FACE, or nil if it is unspecified.
If the optional argument FRAME is given, report on face FACE in that frame.
Otherwise report on the defaults for face FACE (for new frames)."])
(put (quote face-font) (quote byte-optimizer) (quote byte-compile-inline-expand))
(defalias 'face-foreground #[(face &optional frame) "	\n\"H" [internal-get-face face frame 4] 3 "\
Return the foreground color name of face FACE, or nil if unspecified.
If the optional argument FRAME is given, report on face FACE in that frame.
Otherwise report on the defaults for face FACE (for new frames)."])
(put (quote face-foreground) (quote byte-optimizer) (quote byte-compile-inline-expand))
(defalias 'face-background #[(face &optional frame) "	\n\"H" [internal-get-face face frame 5] 3 "\
Return the background color name of face FACE, or nil if unspecified.
If the optional argument FRAME is given, report on face FACE in that frame.
Otherwise report on the defaults for face FACE (for new frames)."])
(put (quote face-background) (quote byte-optimizer) (quote byte-compile-inline-expand))
(defalias 'face-background-pixmap #[(face &optional frame) "	\n\"H" [internal-get-face face frame 6] 3 "\
Return the background pixmap name of face FACE, or nil if unspecified.
If the optional argument FRAME is given, report on face FACE in that frame.
Otherwise report on the defaults for face FACE (for new frames)."])
(put (quote face-background-pixmap) (quote byte-optimizer) (quote byte-compile-inline-expand))
(defalias 'face-underline-p #[(face &optional frame) "	\n\"H" [internal-get-face face frame 7] 3 "\
Return t if face FACE is underlined.
If the optional argument FRAME is given, report on face FACE in that frame.
Otherwise report on the defaults for face FACE (for new frames)."])
(put (quote face-underline-p) (quote byte-optimizer) (quote byte-compile-inline-expand))
(defalias 'set-face-font #[(face font &optional frame) "; \n#\n%" [font x-resolve-font-name face frame internal-set-face-1 3] 6 "\
Change the font of face FACE to FONT (a string).
If the optional FRAME argument is provided, change only
in that frame; otherwise change each frame." (internal-face-interactive "font")])
(put (quote set-face-font) (quote byte-optimizer) (quote byte-compile-inline-expand))
(defalias 'set-face-foreground #[(face color &optional frame) "	%" [internal-set-face-1 face foreground color 4 frame] 6 "\
Change the foreground color of face FACE to COLOR (a string).
If the optional FRAME argument is provided, change only
in that frame; otherwise change each frame." (internal-face-interactive "foreground")])
(put (quote set-face-foreground) (quote byte-optimizer) (quote byte-compile-inline-expand))
(defalias 'set-face-background #[(face color &optional frame) "	%" [internal-set-face-1 face background color 5 frame] 6 "\
Change the background color of face FACE to COLOR (a string).
If the optional FRAME argument is provided, change only
in that frame; otherwise change each frame." (internal-face-interactive "background")])
(put (quote set-face-background) (quote byte-optimizer) (quote byte-compile-inline-expand))
(defalias 'set-face-background-pixmap #[(face name &optional frame) "	%" [internal-set-face-1 face background-pixmap name 6 frame] 6 "\
Change the background pixmap of face FACE to PIXMAP.
PIXMAP 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, PIXMAP 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.  

If the optional FRAME argument is provided, change only
in that frame; otherwise change each frame." (internal-face-interactive "background-pixmap")])
(put (quote set-face-background-pixmap) (quote byte-optimizer) (quote byte-compile-inline-expand))
(defalias 'set-face-underline-p #[(face underline-p &optional frame) "	%" [internal-set-face-1 face underline underline-p 7 frame] 6 "\
Specify whether face FACE is underlined.  (Yes if UNDERLINE-P is non-nil.)
If the optional FRAME argument is provided, change only
in that frame; otherwise change each frame." (internal-face-interactive "underline-p" "underlined")])
(put (quote set-face-underline-p) (quote byte-optimizer) (quote byte-compile-inline-expand))
(defvar global-face-data nil "\
do not use this")
(defalias 'face-list #[nil "\n\"" [mapcar car global-face-data] 3 "\
Returns a list of all defined face names."])
(defalias 'internal-find-face #[(name &optional frame) "= \n9 \n!H)\n91 \n=& . -  !\"A\n\n\n!I \nGUI \nH=)X \nD\"2 \n" [frame t name face internal-get-face 1 assq global-face-data frame-face-alist selected-frame x vectorp 8 0 signal wrong-type-argument internal-facep] 5 "\
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."])
(defalias 'internal-get-face #[(name &optional frame) "	\n\"+ 	! GU H=)?+ 	D\" " [internal-find-face name frame x vectorp 8 0 face signal wrong-type-argument internal-facep] 5 "\
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."])
(byte-code "MMM" [internal-set-face-1 #[(face name value index frame) "\nO  * !H)	\n@%A 96 A !H)\"\nI\n)r \n=h !H)	\n\n$\n\"\nI)" [t inhibit-quit frame frame-list frames internal-set-face-1 face internal-get-face 1 name value index set-face-attribute-internal 2] 7] read-face-name #[(prompt) "GU  \"$ 	!)" [nil face 0 completing-read prompt mapcar #[(x) "	!C" [symbol-name x] 2] face-list t intern] 6] internal-face-interactive #[(what &optional bool) "\nP!\nQP!	!( 	 \"(  \"? 	!%!L 	!R\"	\"?[ -D" [intern "face-" what fn "Set " " of face" prompt read-face-name ": " face fboundp selected-frame default bool y-or-n-p concat "Should face " symbol-name " be " "? " read-string " " " to: " value equal ""] 7]] 2)
(defalias 'make-face #[(name) "	!` \"I	I 	 !I	J 	@	!B	@!B\"	A	0 	BB+=^ !)" [internal-find-face name make-vector 8 nil face 0 1 frame-list frames t inhibit-quit internal-next-face-id id make-face-internal 2 set-frame-face-alist copy-sequence frame-face-alist global-face-data window-system x make-face-x-resource-internal] 6 "\
Define a new FACE on all frames.  
You can modify the font, color, etc of this face with the set-face- functions.
If the face already exists, it is unmodified." "SMake face: "])
(fset (quote make-face-x-resource-internal) #[(face &optional frame set-anyway) "%  ! !H)\n@#\nA ) !H)\"!H)!		P\"W W \"H*	P\"s s \"H*	P\"  \"H*	P\"  \"H* ݏ ߏ Ꮘ  \"\"%+-" [frame frame-list frames make-face-x-resource-internal face internal-get-face 1 set-anyway symbol-name name x-get-resource ".attributeFont" "Face.AttributeFont" nil 3 fn ".attributeForeground" "Face.AttributeForeground" 4 fg ".attributeBackground" "Face.AttributeBackground" 5 bg ".attributeUnderline" "Face.AttributeUnderline" 7 ulp (byte-code "	\n; \n#\n%+ć" [face fn frame font x-resolve-font-name internal-set-face-1 3] 6) ((error (message "font `%s' not found for face `%s'" fn name))) (byte-code "	\n\n%+ć" [face fg frame color internal-set-face-1 foreground 4] 6) ((error (message "color `%s' not allocated for face `%s'" fg name))) (byte-code "	\n\n%+ć" [face bg frame color internal-set-face-1 background 5] 6) ((error (message "color `%s' not allocated for face `%s'" bg name))) underline-p internal-set-face-1 underline] 7])
(defalias 'copy-face #[(old-face new-name &optional frame) "	\n\"\n\" !\n>  \n3 	\n@#\nA\n! 	#) 	\n\n\"H*\n;b \n#\n%+	\n\n\"H*\n\n%+	\n\n\"H*\n\n%+	\n\n\"H*\n\n%+*" [internal-get-face old-face frame t inhibit-quit internal-find-face new-name make-face new-face frame-list frames copy-face face 3 font x-resolve-font-name internal-set-face-1 4 color foreground 5 background 7 underline-p underline] 7 "\
Define a face just like OLD-FACE, with name NEW-NAME.
If NEW-NAME already exists as a face, it is modified to be like OLD-FACE.
If the optional argument FRAME is given, this applies only to that frame.
Otherwise it applies to each frame separately."])
(defalias 'face-equal #[(face1 face2 &optional frame) "	\n\"\n\"	\n\n\"H*\n\n\"H*\"s 	\n\n\"H*\n\n\"H*\"s 	\n\n\"H*\n\n\"H*\"s 	\n\n\"H*\n\n\"H*\"" [internal-get-face face1 frame face2 equal face 4 5 3 6] 5 "\
True if the faces FACE1 and FACE2 display in the same way."])
(defalias 'face-differs-from-default-p #[(face &optional frame) "\n\"\n\"	\n\n\"H*\n\n\"H*\"4 \n\n\"H*? 	\n\n\"H*\n\n\"H*\"^ \n\n\"H*? 	\n\n\"H*\n\n\"H*\" \n\n\"H*? 	\n\n\"H*\n\n\"H*\")?" [internal-get-face default frame face equal 4 5 3 7] 5 "\
True if face FACE displays differently from the default face, on FRAME.
A face is considered to be ``the same'' as the default face if it is 
actually specified in the same way (equivalent fonts, etc) or if it is 
fully unspecified, and thus inherits the attributes of any face it 
is displayed on top of."])
(defalias 'invert-face #[(face &optional frame) "	\n\"\n	\n\"H*	\n	\n\"H*& L 	\n	\n%+	\n	\n%+ 	\n	\n\"H*b \n!\"A\n	\n%+	\n	\n\"H* \n!\"A\n	\n%+*	" [internal-get-face face frame 4 5 bg fg color internal-set-face-1 foreground background default assq background-color frame-parameters foreground-color] 7 "\
Swap the foreground and background colors of face FACE.
If the face doesn't specify both foreground and background, then
set its foreground and background to the default background and foreground." (list (read-face-name "Invert face: "))])
(defalias 'internal-try-face-font #[(face font &optional frame) "" [nil (byte-code "	\n	; 	\n#	\n%+" [face font frame x-resolve-font-name internal-set-face-1 3] 6) ((error))] 3 "\
Like set-face-font, but returns nil on failure instead of an error."])
(byte-code "Ɖ͉Ɖ&&	QQ." [nil x-font-regexp x-font-regexp-head x-font-regexp-weight x-font-regexp-slant "[-?]" "[^-]+" "\\(bold\\|demibold\\|medium\\)" "\\([^-]*\\)" "\\([ior]\\)" "\\([^-]?\\)" "[^-]*" "[0-9]+" "[0-9][0-9]+" "[cmp?*]" encoding registry avgwidth spacing resy resx pointsize pixelsize adstyle swidth slant\? slant weight\? weight family foundry - concat "\\`\\*?[-?*]" "[-?*]\\*?\\'" "\\`[-?*]" "\\([-*?]\\|\\'\\)"] 28)
(defalias 'x-resolve-font-name #[(pattern &optional face frame) "9 !H)= > #9 3 \"9 \"@) !\"A" [face internal-get-face 1 frame t nil pattern x-list-fonts fonts error "No fonts matching pattern are the same size as `%s'" "No fonts match `%s'" assq font frame-parameters selected-frame] 5 "\
Return a font name matching PATTERN.
All wildcards in PATTERN become substantiated.
If PATTERN is nil, return the name of the frame's base font, which never
contains wildcards.
Given optional arguments FACE and FRAME, try to return a font which is
also the same size as FACE on FRAME."])
(byte-code "MM" [x-frob-font-weight #[(font which) "	\n\" \n\" \n\"$ \n!O\n!OQ" [string-match x-font-regexp font x-font-regexp-head x-font-regexp-weight 0 match-beginning 1 which match-end nil] 5] x-frob-font-slant #[(font which) "	\n\" \n\" \n!O\n!OQ\n\n\"6 \n!O\n!OQɇ" [string-match x-font-regexp font x-font-regexp-head 0 match-beginning 2 which match-end nil x-font-regexp-slant 1] 5]] 2)
(defalias 'x-make-font-bold #[(font) "	\"" [x-frob-font-weight font "bold"] 3 "\
Given an X font specification, this attempts to make a `bold' version
of it.  If it fails, it returns nil."])
(defalias 'x-make-font-demibold #[(font) "	\"" [x-frob-font-weight font "demibold"] 3 "\
Given an X font specification, this attempts to make a `demibold' version
of it.  If it fails, it returns nil."])
(defalias 'x-make-font-unbold #[(font) "	\"" [x-frob-font-weight font "medium"] 3 "\
Given an X font specification, this attempts to make a non-bold version
of it.  If it fails, it returns nil."])
(defalias 'x-make-font-italic #[(font) "	\"" [x-frob-font-slant font "i"] 3 "\
Given an X font specification, this attempts to make an `italic' version
of it.  If it fails, it returns nil."])
(defalias 'x-make-font-oblique #[(font) "	\"" [x-frob-font-slant font "o"] 3 "\
Given an X font specification, this attempts to make an `italic' version
of it.  If it fails, it returns nil."])
(defalias 'x-make-font-unitalic #[(font) "	\"" [x-frob-font-slant font "r"] 3 "\
Given an X font specification, this attempts to make a non-italic version
of it.  If it fails, it returns nil."])
(defalias 'make-face-bold #[(face &optional frame noerror) "		\"H*ĉ	2  	. 	@\"	A	 ) 	\"		\"H*h 	\"H*h 		\"H*h 	!\"A!z \" ! \"	\"H*\"? ? #+" [face frame internal-get-face 3 nil f2 font ofont frame-list frames make-face-bold t default assq frame-parameters x-make-font-bold internal-try-face-font x-make-font-demibold equal noerror error "No %s version of %S"] 6 "\
Make the font of the given face be bold, if possible.  
If NOERROR is non-nil, return nil on failure." (list (read-face-name "Make which face bold: "))])
(defalias 'make-face-italic #[(face &optional frame noerror) "		\"H*ĉ	2  	. 	@\"	A	 ) 	\"		\"H*h 	\"H*h 		\"H*h 	!\"A!z \" ! \"	\"H*\"? ? #+" [face frame internal-get-face 3 nil f2 font ofont frame-list frames make-face-italic t default assq frame-parameters x-make-font-italic internal-try-face-font x-make-font-oblique equal noerror error "No %s version of %S"] 6 "\
Make the font of the given face be italic, if possible.  
If NOERROR is non-nil, return nil on failure." (list (read-face-name "Make which face italic: "))])
(defalias 'make-face-bold-italic #[(face &optional frame noerror) "		\"H*ĉ	5  \n1 \n@\"\nA\n! )	\"		\"H*k 	\"H*k 		\"H*k 	!\"A! \" ! \" \"! \" ! \" \"! \" ! \" \"!\"!\"\"	\"H*\"?6?6#," [face frame internal-get-face 3 nil f3 f2 font ofont frame-list frames make-face-bold-italic t default assq frame-parameters x-make-font-italic equal x-make-font-bold internal-try-face-font x-make-font-oblique x-make-font-demibold noerror error "No %s version of %S"] 6 "\
Make the font of the given face be bold and italic, if possible.  
If NOERROR is non-nil, return nil on failure." (list (read-face-name "Make which face bold-italic: "))])
(defalias 'make-face-unbold #[(face &optional frame noerror) "		\"H*ĉ	2  	. 	@\"	A	 )x 	\"		\"H*h 	\"H*h 		\"H*h 	!\"A!x \"	\"H*\"? ? #+" [face frame internal-get-face 3 nil font1 font ofont frame-list frames make-face-unbold t default assq frame-parameters x-make-font-unbold internal-try-face-font equal noerror error "No %s version of %S"] 6 "\
Make the font of the given face be non-bold, if possible.  
If NOERROR is non-nil, return nil on failure." (list (read-face-name "Make which face non-bold: "))])
(defalias 'make-face-unitalic #[(face &optional frame noerror) "		\"H*ĉ	2  	. 	@\"	A	 )x 	\"		\"H*h 	\"H*h 		\"H*h 	!\"A!x \"	\"H*\"? ? #+" [face frame internal-get-face 3 nil font1 font ofont frame-list frames make-face-unitalic t default assq frame-parameters x-make-font-unitalic internal-try-face-font equal noerror error "No %s version of %S"] 6 "\
Make the font of the given face be non-italic, if possible.  
If NOERROR is non-nil, return nil on failure." (list (read-face-name "Make which face non-italic: "))])
(byte-code "MMMM !=  !" [face-initialize #[nil "!!!!!!!!		!H) N @!=D @!A4 )" [make-face default modeline highlight bold italic bold-italic region secondary-selection face internal-get-face 2 region-face frame-list frames framep x x-initialize-frame-faces nil] 3] x-initialize-frame-faces #[(frame) "\n\" \n# \n# \n\"\n\"6 \n#6 \n#\n\"\n\"h \n#h \n#h \n#] \n#h \n#\n\"\n\"t Ώ\n\" я\n\" \n\"\n\" ֏" [face-differs-from-default-p bold frame make-face-bold t make-face-unbold internal-x-complain-about-font italic make-face-italic bold-italic make-face-bold-italic highlight nil (byte-code "" [nil (byte-code "\n\n%+" [highlight "darkseagreen2" frame color face internal-set-face-1 background 5] 6) ((error (byte-code "\n\n%+" [highlight "green" frame color face internal-set-face-1 background 5] 6)))] 3) ((error (byte-code "\n\"" [invert-face highlight frame] 3))) region (byte-code "\n\n%+" [region "gray" frame color face internal-set-face-1 background 5] 6) ((error (byte-code "\n\"" [invert-face region frame] 3))) modeline invert-face secondary-selection (byte-code "" [nil (byte-code "\n\n%+" [secondary-selection "paleturquoise" frame color face internal-set-face-1 background 5] 6) ((error (byte-code "\n\n%+" [secondary-selection "green" frame color face internal-set-face-1 background 5] 6)))] 3) ((error (byte-code "\n\"" [invert-face secondary-selection frame] 3)))] 4] internal-x-complain-about-font (lambda (face frame)) x-create-frame-with-faces #[(&optional parameters) " \n!\n!!\"\n\"- \n\"- \"BAe !\"AB\"AB\"AB\"AB\"AB%\") @@A!\"@A#Aj !+" [global-face-data x-create-frame parameters frame copy-alist faces rest set-frame-face-alist assq reverse default-frame-alist nil x-get-resource "reverseVideo" "Reversevideo" frame-parameters params modify-frame-parameters list foreground-color background-color mouse-color cursor-color border-color setcdr copy-sequence make-face-x-resource-internal t x-initialize-frame-faces] 12] framep selected-frame x provide faces] 2)
