;ELC ;;; compiled by rms@mole.gnu.ai.mit.edu on Wed Sep 14 04:37:47 1994 ;;; from file /home/fsf/rms/e19/emacs-19.27/lisp/faces.el ;;; emacs version 19.26.1. ;;; 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"))) (error "`/home/fsf/rms/e19/emacs-19.27/lisp/faces.el' was compiled for Emacs 19")) (byte-code "\"#\"" [defalias 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. 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."]) (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. If FRAME is t, report on the defaults for face FACE (for new frames). If FRAME is omitted or nil, use the selected frame."]) (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. If FRAME is t, report on the defaults for face FACE (for new frames). If FRAME is omitted or nil, use the selected frame."]) (put (quote face-background) (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. If FRAME is t, report on the defaults for face FACE (for new frames). If FRAME is omitted or nil, use the selected frame."]) (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-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 "\ 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.") (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)\n90\n=%-, !A\n  !H GUH H=)W\nD\"1\n" [frame t name face internal-get-face 1 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 "\"\"\"" [defalias internal-set-face-1 #[(face name value index frame) "\nO *!H) \n \f@%\fA 96A!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\f \"$ !)" [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!\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]] 3) (defalias 'make-face #[(name) " !_\"I I     !  I J @ !B @!B\" A 0 BB+=^ !) " [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: "]) (defalias (quote make-face-x-resource-internal) #[(face &optional frame set-anyway) "1 -\n@!=&!H)\n@ #\nA )!H)\"!H)!  P\"m m\"H* P\" \"H* P\" \"H* P\"ݝ \"H*)Ꮘ㏈又 &&%+-" [frame frame-list frames framep x 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" resource ("on" "true") 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-face &optional frame new-frame) "  / # @# A#) \"\"B!Ώ  \"H* %+  \"H* %+  \"H* %+)" [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 " \n \n\"H*;  \n# \n%+ć" [new-face old-face frame face internal-get-face 3 new-frame font x-resolve-font-name internal-set-face-1] 6) ((error (byte-code "\n\f;\f # \f %+" [new-face nil new-frame frame font face x-resolve-font-name internal-set-face-1 3] 6))) face 4 color internal-set-face-1 foreground 5 background 7 underline-p underline] 7 "\ 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 'face-equal #[(face1 face2 &optional frame) " \n\" \n\" \n\f\n\"H* \n\f\n\"H*o \n\f\n\"H* \n\f\n\"H*o \n\f\n\"H* \n\f\n\"H*o \n\f\n\"H* \n\f\n\"H*=" [internal-get-face face1 frame face2 face 4 5 3 7] 4 "\ 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*3 \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 4 5 3 7] 4 "\ 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*a\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 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 "Ɖ͉Ɖ QQ." [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 - "\\`\\*?[-?*]" "[-?*]\\*?\\'" "\\`[-?*]" "\\([-*?]\\|\\'\\)"] 27) (defalias 'x-resolve-font-name #[(pattern &optional face frame) "9!H) => #93\"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'" 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 "\"\"" [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] 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]] 3) (defalias 'x-make-font-bold #[(font) " \"" [x-frob-font-weight font "bold"] 3 "\ Given an X font specification, make a bold version of it. If that can't be done, return nil."]) (defalias 'x-make-font-demibold #[(font) " \"" [x-frob-font-weight font "demibold"] 3 "\ Given an X font specification, make a demibold version of it. If that can't be done, return nil."]) (defalias 'x-make-font-unbold #[(font) " \"" [x-frob-font-weight font "medium"] 3 "\ Given an X font specification, make a non-bold version of it. If that can't be done, return nil."]) (defalias 'x-make-font-italic #[(font) " \"" [x-frob-font-slant font "i"] 3 "\ Given an X font specification, make an italic version of it. If that can't be done, return nil."]) (defalias 'x-make-font-oblique #[(font) " \"" [x-frob-font-slant font "o"] 3 "\ Given an X font specification, make an oblique version of it. If that can't be done, return nil."]) (defalias 'x-make-font-unitalic #[(font) " \"" [x-frob-font-slant font "r"] 3 "\ Given an X font specification, make a non-italic version of it. If that can't be done, return nil."]) (defalias 'make-face-bold #[(face &optional frame noerror) "=H\n\n\"H**Ƃ+;>\n#\n%+\n\n\"H*\f \n#~\n@#Al)\n\"\n\"H*\n\n\"H*<\n\"H*!A\n#\f\n\n\"H*??\"*" [frame t face internal-get-face 3 italic (bold italic) (bold) font x-resolve-font-name internal-set-face-1 nil ofont frame-list frames make-face-bold noerror default frame-parameters make-face-bold-internal error "No bold version of %S"] 7 "\ 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 (quote make-face-bold-internal) #[(face frame font) " ! #! !! #)" [nil f2 x-make-font-bold font internal-try-face-font face frame x-make-font-demibold] 4]) (defalias 'make-face-italic #[(face &optional frame noerror) "=H\n\n\"H**Ƃ+;>\n#\n%+\n\n\"H*\f \n#~\n@#Al)\n\"\n\"H*\n\n\"H*<\n\"H*!A\n#\f\n\n\"H*??\"*" [frame t face internal-get-face 3 bold (bold italic) (italic) font x-resolve-font-name internal-set-face-1 nil ofont frame-list frames make-face-italic noerror default frame-parameters make-face-italic-internal error "No italic version of %S"] 7 "\ 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 (quote make-face-italic-internal) #[(face frame font) " ! #! !! #)" [nil f2 x-make-font-italic font internal-try-face-font face frame x-make-font-oblique] 4]) (defalias 'make-face-bold-italic #[(face &optional frame noerror) "=4\n\n\"H*<4\n;*\n#\n%+\n\n\"H*\nn \f\n#\fj\n\f@#\fA\fX)\n\"\n\"H*\n\n\"H*<\n\"H*!A\n#\n\n\n\"H*??\"*" [frame t face internal-get-face 3 (bold italic) font x-resolve-font-name internal-set-face-1 nil ofont frame-list frames make-face-bold-italic noerror default frame-parameters make-face-bold-italic-internal error "No bold italic version of %S"] 7 "\ 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 (quote make-face-bold-italic-internal) #[(face frame font) "\f!*\f\n*\n!*\n * #\f!P\f\nP\n!P\n P #\f!v\f\nv\n!v\n v #\f!\f\n?\n!\n ? #*" [nil f3 f2 x-make-font-italic font x-make-font-bold internal-try-face-font face frame x-make-font-oblique x-make-font-demibold] 4]) (defalias 'make-face-unbold #[(face &optional frame noerror) "=D\n\n\"H*';:\n#\n%+\n\n\"H*ʉ \f \n#}\n@#Ak)\n\"\n\"H*\n\n\"H* <  \n\"H*!A  !\n#\f\n\n\"H*?? \"+" [frame t face internal-get-face 3 italic (italic) font x-resolve-font-name internal-set-face-1 nil font1 ofont frame-list frames make-face-unbold noerror default frame-parameters x-make-font-unbold internal-try-face-font error "No unbold version of %S"] 7 "\ 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) "=D\n\n\"H*';:\n#\n%+\n\n\"H*ʉ \f \n#}\n@#Ak)\n\"\n\"H*\n\n\"H* <  \n\"H*!A  !\n#\f\n\n\"H*?? \"+" [frame t face internal-get-face 3 bold (bold) font x-resolve-font-name internal-set-face-1 nil font1 ofont frame-list frames make-face-unitalic noerror default frame-parameters x-make-font-unitalic internal-try-face-font error "No unitalic version of %S"] 7 "\ 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: "))]) (defvar list-faces-sample-text "abcdefghijklmnopqrstuvwxyz ABCDEFGHIJKLMNOPQRSTUVWXYZ" "\ *Text string to display as the sample text for `list-faces-display'.") (defalias 'list-faces-display #[nil " \" É ʐ q  a @ A !\"c`cc`S$bym]cyP)eb)!\"w !z @=   @ @$ A )-" [sort face-list string-lessp nil selected-frame window disp-frame frame face faces "*Faces*" standard-output t truncate-lines format "%25s " symbol-name beg list-faces-sample-text "\n" put-text-property 1 " " get-buffer-window get-buffer window-frame frame-list copy-face] 7 "\ 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'. It is possible to give a particular face name different appearances in different frames. This command shows the appearance in the selected frame." nil]) (byte-code "\"\"\"\"\" !=% !" [defalias face-initialize #[nil "!!!!!!!!!\n\n!H) \"\"\"\n\n%+\n\n%+\n\n%+\n\n%+ω\n\n%+ @!=@!\"\"\"@@\n\n!\n\"@A#)\"A\"*A)" [make-face default modeline highlight bold italic bold-italic region secondary-selection underline face internal-get-face 2 region-face make-face-bold t make-face-italic make-face-bold-italic ("darkseagreen2" "green" t) frame color internal-set-face-1 background 5 ("gray" underline) ("paleturquoise" "green" t) (t) underline-p 7 frame-list frames framep x global-face-data rest face-differs-from-default-p face-fill-in nil] 7] x-create-frame-with-faces #[(&optional parameters) "\n!\n\nB!! \"\nA\fA\"@ҝB)A{!ABABABABF\"ABC\")  @A @ @A!H) @A!H)щ& @@#) @A# A \f!\fC\"," [global-face-data x-create-frame parameters visibility visibility-spec (visibility) frame copy-alist faces rest set-frame-face-alist reverse default-frame-alist x-get-resource "reverseVideo" "ReverseVideo" resource nil ("on" "true") frame-parameters params modify-frame-parameters foreground-color background-color mouse-color border-color cursor-color global vector face internal-get-face 1 2 face-fill-in make-face-x-resource-internal t make-frame-visible] 11] frame-update-faces #[(frame) "\n}\n@@ \"H*>\n ;? #  %+ \\\n\\ #u j #u\nu #*\nA**" [global-face-data faces rest face t frame internal-get-face 3 font bold italic nil x-resolve-font-name internal-set-face-1 make-face-bold-italic make-face-bold make-face-italic] 7] face-fill-in #[(face data frame) "" [nil (byte-code " \n\"H* \n\"H* \n\"H* \n  \n\"H*\n\f \f\n%+\nO \n\n$ \\  \n$<>>~~ \n\" \n\" \n\"* \n; \n# \n%++" [data nil frame face internal-get-face 4 5 3 font background foreground 7 underline-p internal-set-face-1 underline face-try-color-list set-face-foreground set-face-background bold italic make-face-bold-italic make-face-bold make-face-italic x-resolve-font-name] 7) ((error))] 3] face-try-color-list #[(function face colors frame) ";! ˜? U? #=.\"  ?@;T M@˜ UAa͏@=r\"@=%+ @#A5)" [colors x-display-color-p "gray" x-display-planes 1 function face frame t invert-face nil done (byte-code "@= \f\"2@=* \f \f%+2 @\f#\n" [colors t invert-face face frame underline underline-p internal-set-face-1 7 function done] 6) ((error)) underline underline-p internal-set-face-1 7] 7] framep selected-frame x provide faces] 3)