;ELC ;;; compiled by roland@churchy.gnu.ai.mit.edu on Sat Jun 10 19:33:01 1995 ;;; from file /gd/gnu/emacs/19.0/lisp/faces.el ;;; emacs version 19.28.92.3. ;;; bytecomp version FSF 2.10 ;;; optimization is on. ;;; this file uses opcodes which do not exist in Emacs 18. (if (and (boundp 'emacs-version) (or (and (boundp 'epoch::version) epoch::version) (string-lessp emacs-version "19.28.90"))) (error "`faces.el' was compiled for Emacs 19.29 or later")) (defalias 'internal-facep #[(x) " ! GU H=" [vectorp x 8 0 face] 2]) (put (quote internal-facep) (quote byte-optimizer) (quote byte-compile-inline-expand)) #@58 Return t if X is a face name or an internal face vector. (defalias 'facep #[(x) "!GUH=)#9$ $Ƈ" [x vectorp 8 0 face global-face-data t] 2 (#$ . 644)]) (defalias 'internal-check-face '(macro . #[(face) "\nD\nEEE" [or internal-facep face signal (quote wrong-type-argument) list (quote internal-facep)] 7])) #@31 Return the name of face FACE. (defalias 'face-name #[(face) " !H" [internal-get-face face 1] 2 (#$ . 986)]) #@45 Return the internal ID number of face FACE. (defalias 'face-id #[(face) " !H" [internal-get-face face 2] 2 (#$ . 1103)]) #@367 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. If FRAME is t, report on the defaults for face FACE (for new frames). The font default for a face is either nil, or a list of the form (bold), (italic) or (bold italic). If FRAME is omitted or nil, use the selected frame. (defalias 'face-font #[(face &optional frame) " \n\"H" [internal-get-face face frame 3] 3 (#$ . 1234)]) #@269 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. 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) " \n\"H" [internal-get-face face frame 4] 3 (#$ . 1714)]) #@269 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. 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) " \n\"H" [internal-get-face face frame 5] 3 (#$ . 2102)]) #@267 Return the stipple pixmap name of face 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) " \n\"H" [internal-get-face face frame 6] 3 (#$ . 2490)]) (defalias (quote face-background-pixmap) (quote face-stipple)) #@236 Return t if face 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) " \n\"H" [internal-get-face face frame 7] 3 (#$ . 2936)]) #@150 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. (defalias 'set-face-font #[(face font &optional frame) ";  #  %" [font x-resolve-font-name default frame internal-set-face-1 face 3] 6 (#$ . 3292) (internal-face-interactive "font")]) #@163 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. (defalias 'set-face-foreground #[(face color &optional frame) " %" [internal-set-face-1 face foreground color 4 frame] 6 (#$ . 3644) (internal-face-interactive "foreground")]) #@163 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. (defalias 'set-face-background #[(face color &optional frame) "#=#\nÝ#!#!#\n#M  C!\n @# A /\n#\n)\n%" [frame t color ("gray" "gray1" "gray3") x-display-color-p x-display-grayscale-p set-face-stipple face frame-list frames set-face-background face-name internal-set-face-1 background 5] 7 (#$ . 3995) (internal-face-interactive "background")]) #@467 Change the stipple 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. (defalias 'set-face-stipple #[(face name &optional frame) " %" [internal-set-face-1 face background-pixmap name 6 frame] 6 (#$ . 4562) (internal-face-interactive "stipple")]) (defalias (quote set-face-background-pixmap) (quote set-face-stipple)) #@176 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. (defalias 'set-face-underline-p #[(face underline-p &optional frame) " %" [internal-set-face-1 face underline underline-p 7 frame] 6 (#$ . 5287) (internal-face-interactive "underline-p" "underlined")]) (defalias 'modify-face-read-string #[(face default name alist) " \f $\f #\"ɚ#ʂ0˚. 0)" [completing-read default format "Set face %s %s (default %s): " face name "Set face %s %s: " alist value "none" nil ""] 7]) #@357 Change the display attributes for face FACE. FOREGROUND and BACKGROUND should be color strings or nil. STIPPLE should be a stipple pattern name or nil. BOLD-P, ITALIC-P, and UNDERLINE-P specify whether the face should be set bold, in italic, and underlined, respectively. (Yes if non-nil.) If called interactively, prompts for a face and face attributes. (defalias 'modify-face #[(face foreground background stipple bold-p italic-p underline-p) "ďƏȂ\n#\f(͂)\n#\n\"t< " [nil (set-face-foreground face foreground) ((error)) (set-face-background face background) ((error)) (set-face-stipple face stipple) ((error)) bold-p make-face-bold make-face-unbold face t italic-p make-face-italic make-face-unitalic set-face-underline-p underline-p redraw-display] 4 (#$ . 5920) (byte-code "!!\"  \"\"\" !! $ !! $ !!$ Q! Q! Q!! lPvPP!\"## !!.\n" [t completion-ignore-case symbol-name read-face-name "Modify face: " face mapcar list x-colors colors apply nconc directory-files x-bitmap-file-path stipples modify-face-read-string face-foreground intern "foreground" foreground face-background "background" background face-stipple "stipple" stipple y-or-n-p "Set face " " bold " bold-p " italic " italic-p " underline " underline-p message "Face %s: %s" mapconcat identity delq nil " foreground" " background" " stipple" "bold" "italic" "underline" ", "] 13)]) #@200 Internal data for face support functions. Not for external use. This is an alist associating face names with the default values for their parameters. Newly created frames get their data from here. (defvar global-face-data nil (#$ . 7444)) #@43 Returns a list of all defined face names. (defalias 'face-list #[nil "\n\"" [mapcar car global-face-data] 3 (#$ . 7691)]) #@310 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-find-face #[(name &optional frame) "=\n9\n!\n9*\n=\f'& !A\n!7\nD\"\n" [frame t name face-name global-face-data frame-face-alist selected-frame internal-facep signal wrong-type-argument] 4 (#$ . 7823)]) #@296 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. (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] 4 (#$ . 8395)]) (defalias 'internal-set-face-1 #[(face name value index frame) "\nA #! \n\f@%\fA 9/3!\"\n I )]\n=S! \n$\n\"\n I)" [t inhibit-quit frame frame-list frames internal-set-face-1 face-name face name value index internal-get-face set-face-attribute-internal face-id] 7]) (defalias 'read-face-name #[(prompt) "GU\f \"$ !)" [nil face 0 completing-read prompt mapcar #[(x) " !C" [symbol-name x] 2] face-list t intern] 6]) (defalias 'internal-face-interactive #[(what &optional bool) "\nP!\nQP! !(  \"( \"\f ? ! Ұ!L !R\f\" ך?Z-D" [intern "face-" what fn "Set " " of face" prompt read-face-name ": " face fboundp selected-frame default bool y-or-n-p "Should face " symbol-name " be " "? " read-string " " " to: " value ""] 6]) #@161 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. (defalias 'make-face #[(name) " !i\"I I     !  I J @ !B @!B\" A 0 BB+=^ !!h !) " [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 fboundp facemenu-add-new-face] 6 (#$ . 9757) "SMake face: "]) (defalias 'make-face-x-resource-internal #[(face &optional frame set-anyway) "* &\n@!=!\n@#\nA )!\"!!  P\"NN! P\"cc! P\"xx! P\" P\"! P\"!!❂!)$珈鏈돈폈$$#." [frame frame-list frames framep x make-face-x-resource-internal face-name face set-anyway internal-get-face symbol-name name x-get-resource ".attributeFont" "Face.AttributeFont" face-font fn ".attributeForeground" "Face.AttributeForeground" face-foreground fg ".attributeBackground" "Face.AttributeBackground" face-background bg ".attributeStipple" "Face.AttributeStipple" ".attributeBackgroundPixmap" "Face.AttributeBackgroundPixmap" face-stipple bgp ".attributeUnderline" "Face.AttributeUnderline" resource ("on" "true") face-underline-p ulp nil (set-face-font face fn frame) ((error (message "font `%s' not found for face `%s'" fn name))) (set-face-foreground face fg frame) ((error (message "color `%s' not allocated for face `%s'" fg name))) (set-face-background face bg frame) ((error (message "color `%s' not allocated for face `%s'" bg name))) (set-face-stipple face bgp frame) ((error (message "pixmap `%s' not found for face `%s'" bgp name))) set-face-underline-p] 5]) #@593 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) "  / # @# A#)u \"\"B!Ώ \"# \"# \"# \"#)" [new-frame frame t inhibit-quit frame-list frames copy-face old-face new-face internal-get-face internal-find-face make-face nil (byte-code " \f\" #" [set-face-font new-face face-font old-face frame new-frame] 5) ((error (set-face-font new-face nil new-frame))) set-face-foreground face-foreground set-face-background face-background set-face-stipple face-stipple set-face-underline-p face-underline-p] 6 (#$ . 11692)]) #@60 True if the faces FACE1 and FACE2 display in the same way. (defalias 'face-equal #[(face1 face2 &optional frame) " \n\" \n\" \n\" \n\"C \n\" \n\"C \n\" \n\"C \n\" \n\"=C \n\" \n\"" [internal-get-face face1 frame face2 face-foreground face-background face-font face-underline-p face-stipple] 4 (#$ . 12913)]) #@468 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. The optional argument FRAME specifies which frame to test; if FRAME is t, test the default for new frames. If FRAME is nil or omitted, test the selected frame. (defalias 'face-differs-from-default-p #[(face &optional frame) "\n\" \n\" \n\" \n\" \n\"?c \n\" \n\"2 \n\"?c \n\" \n\"F \n\"?c \n\" \n\"Z \n\"?c \n\" \n\")?" [internal-get-face default frame face face-foreground face-background face-font face-stipple face-underline-p] 4 (#$ . 13255)]) #@207 True if face FACE has some non-nil attribute. The optional argument FRAME specifies which frame to test; if FRAME is t, test the default for new frames. If FRAME is nil or omitted, test the selected frame. (defalias 'face-nontrivial-p #[(face &optional frame) " \n\" \n\"% \n\"% \n\"% \n\"% \n\"" [internal-get-face face frame face-foreground face-background face-font face-stipple face-underline-p] 3 (#$ . 14058)]) #@198 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. (defalias 'invert-face #[(face &optional frame) " \n\" \n\" \n\" ( \n# \n#L \n\"7\n!A\n# \n\"I\n!A\n#* " [internal-get-face face frame face-foreground face-background bg fg set-face-foreground set-face-background default background-color frame-parameters foreground-color] 6 (#$ . 14498) (list (read-face-name "Invert face: "))]) #@69 Like set-face-font, but returns nil on failure instead of an error. (defalias 'internal-try-face-font #[(face font &optional frame) "" [nil (set-face-font face font frame) ((error))] 3 (#$ . 15072)]) (byte-code "\nB\nB\nB\nBljΉlj                   Q  Q." [nil x-font-regexp current-load-list 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 - "\\`\\*?[-?*]" "[-?*]\\*?\\'" "\\`[-?*]" "\\([-*?]\\|\\'\\)"] 27) #@288 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, 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 !\n= a \n#\\W \"@!8!\\\"\\!N \"\\ #\\ \"@) !A" [face face-name frame t nil pattern x-list-fonts fonts 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] 5 (#$ . 15892)]) (defalias 'x-frob-font-weight #[(font which) " \n\" \n\"\f\n\"\"\nƔO\nƕOQ" [string-match x-font-regexp font x-font-regexp-head x-font-regexp-weight 0 1 which nil] 5]) (defalias 'x-frob-font-slant #[(font which) " \n\" \n\"\nŔO\nŕOQ\n\"2\nɔO\nɕOQLJ" [string-match x-font-regexp font x-font-regexp-head 0 2 which nil x-font-regexp-slant 1] 5]) #@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) " \"" [x-frob-font-weight font "bold"] 3 (#$ . 17146)]) #@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) " \"" [x-frob-font-weight font "demibold"] 3 (#$ . 17341)]) #@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) " \"" [x-frob-font-weight font "medium"] 3 (#$ . 17548)]) #@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) " \"" [x-frob-font-slant font "i"] 3 (#$ . 17751)]) #@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) " \"" [x-frob-font-slant font "o"] 3 (#$ . 17947)]) #@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) " \"" [x-frob-font-slant font "r"] 3 (#$ . 18146)]) #@103 Make the font of the given face be bold, if possible. If NOERROR is non-nil, return nil on failure. (defalias 'make-face-bold #[(face &optional frame noerror) "=! \"Ƃ# \" \nT \f #\fP \f@#\fA\f>) \" \"d \" Ƃ# \" \nT \f #\fP \f@#\fA\f>) \" \"d \" # \"lj \nS \f #\fO \f@#\fA\f=) \" \"c \"# \"lj \nS \f #\fO \f@#\fA\f=) \" \"c \"@@@!@A#)Av*A^)" [make-face default modeline highlight bold italic bold-italic region secondary-selection underline face-id region-face make-face-bold t make-face-italic make-face-bold-italic set-face-background ("darkseagreen2" "green" t) ("gray" underline) ("paleturquoise" "green" t) (t) set-face-underline-p frame-list frames framep (t nil) global-face-data rest frame face face-differs-from-default-p face-fill-in nil] 5]) (defalias 'x-create-frame-with-faces #[(&optional parameters) " A \nA\" C!  4 < BB \n #,M !  B!!ڎ\" \n\"B)A!\"\"A$\"A&&B$BD\"$\"A&BC\"$\"A&BC\"$\"A&BC\"+7@A+@@A!@A!ȉ&@@+#)@A#AD!LC\"." [name parameters default-frame-alist x-resource-name x-get-resource "geometry" "Geometry" res-geometry nil parsed x-parse-geometry top left (user-position . t) (user-size . t) append global-face-data x-create-frame visibility visibility-spec (visibility) frame copy-alist faces success rest ((byte-code "\n!" [success delete-frame frame] 2)) set-frame-face-alist reverse "reverseVideo" "ReverseVideo" resource ("on" "true") frame-parameters params foreground-color bg background-color fg modify-frame-parameters border-color mouse-color cursor-color global vector face face-name face-id face-fill-in make-face-x-resource-internal t make-frame-visible] 11]) (defalias 'frame-update-faces #[(frame) "\na\n@@ \">  #>>  #YM  #YY  #*\nA**" [global-face-data faces rest face face-font t font bold italic set-face-font nil frame make-face-bold-italic make-face-bold make-face-italic] 5]) (defalias 'frame-update-face-colors #[(frame) "ď A)" [global-face-data faces nil (byte-code "@A@@ ! !\f<>``\n\f\"{o\n\f\"{{\n\f\"*\n\f# \n \f#," [face-foreground data face-background face-font face-stipple stipple font background foreground set-face-underline-p face face-underline-p frame face-try-color-list set-face-foreground set-face-background bold italic make-face-bold-italic make-face-bold make-face-italic set-face-font set-face-stipple] 6) ((error))] 3]) (defalias 'face-color-supported-p #[(frame color background-p) " !l\nÝl\f\nŝl !l\n \"@ A@\n8\f \nZ! \n\\!ΥWk\n\fZ!\n\f\\!ΥWk\f Z!\f \\!ΥW," [x-display-color-p frame color ("black" "white") background-p ("gray" "gray1" "gray3") x-display-grayscale-p x-color-values values r g 2 b abs 20] 5]) (defalias 'face-try-color-list #[(function face colors frame) ";\n =#{ \n#= \n\" z ?z@>?\n@ =#rAL̏r@=[ \n\"r@=k \n#r @\n#A')" [colors face-color-supported-p frame function set-face-background face t invert-face nil done (t underline) (byte-code "@= \f\"'@= \f#' @\f#" [colors t invert-face face frame underline set-face-underline-p function done] 4) ((error)) underline set-face-underline-p] 6]) (byte-code " !=\f !" [framep selected-frame x face-initialize provide faces] 2)