;ELC   
;;; Compiled
;;; in Emacs version 28.2
;;; with all optimizations.



(byte-code "\300\301\302\303\304\305\306\307&\210\310\311\312\313\314DD\315\316\317\304\301&\210\310\320\312\313\321DD\322\316\323\304\301&\210\310\324\312\313\325DD\326\316\327\304\301\330\331&	\207" [custom-declare-group facemenu nil "Create a face menu for interactively adding fonts to text." :group faces :prefix "facemenu-" custom-declare-variable facemenu-keybindings funcall function #[0 "\300\207" [((default . "d") (bold . "b") (italic . "i") (bold-italic . "l") (underline . "u"))] 1 #1=""] "Alist of interesting faces and keybindings.\nEach element is itself a list: the car is the name of the face,\nthe next element is the key to use as a keyboard equivalent of the menu item;\nthe binding is made in `facemenu-keymap'.\n\nThe faces specifically mentioned in this list are put at the top of\nthe menu, in the order specified.  All other faces which are defined\nin `facemenu-listed-faces' are listed after them, but get no\nkeyboard equivalents.\n\nIf you change this variable after loading facemenu.el, you will need to call\n`facemenu-update' to make it take effect." :type (repeat (cons face string)) facemenu-new-faces-at-end #[0 "\300\207" [t] 1 #1#] "Where in the menu to insert newly-created faces.\nThis should be nil to put them at the top of the menu, or t to put them\njust before \"Other\" at the end." boolean facemenu-listed-faces #[0 "\300\207" [nil] 1 #1#] "List of faces to include in the Face menu.\nEach element should be a symbol, the name of a face.\nThe \"basic \" faces in `facemenu-keybindings' are automatically\nadded to the Face menu, and need not be in this list.\n\nThis value takes effect when you load facemenu.el.  If the\nlist includes symbols which are not defined as faces, they\nare ignored; however, subsequently defining or creating\nthose faces adds them to the menu then.  You can call\n`facemenu-update' to recalculate the menu contents, such as\nif you change the value of this variable,\n\nIf this variable is t, all faces that you apply to text\nusing the face menu commands (even by name), and all faces\nthat you define or create, are added to the menu.  You may\nfind it useful to set this variable to t temporarily while\nyou define some faces, so that they will be added.  However,\nif the value is no longer t and you call `facemenu-update',\nit will remove any faces not explicitly in the list." (choice (const :tag "List all faces" t) (const :tag "None" nil) (repeat symbol)) :version "22.1"] 10)
#@24 Menu keymap for faces.
(defvar facemenu-face-menu (byte-code "\300\301!\302\303\304\305B#\210\207" [make-sparse-keymap "Face" define-key "o" "Other..." facemenu-set-face] 6) (#$ . 2550))
(byte-code "\301\300\"\210\302\300\303\304#\207" [facemenu-face-menu defalias put menu-enable (facemenu-enable-faces-p)] 4)
#@36 Menu keymap for foreground colors.
(defvar facemenu-foreground-menu (byte-code "\300\301!\302\303\304\305B#\210\207" [make-sparse-keymap "Foreground Color" define-key "o" "Other..." facemenu-set-foreground] 6) (#$ . 2869))
(byte-code "\301\300\"\210\302\300\303\304#\207" [facemenu-foreground-menu defalias put menu-enable (facemenu-enable-faces-p)] 4)
#@36 Menu keymap for background colors.
(defvar facemenu-background-menu (byte-code "\300\301!\302\303\304\305B#\210\207" [make-sparse-keymap "Background Color" define-key "o" "Other..." facemenu-set-background] 6) (#$ . 3230))
(byte-code "\301\300\"\210\302\300\303\304#\210\305\306\307\310\311DD\312\313\314\315\316&\207" [facemenu-background-menu defalias put menu-enable (facemenu-enable-faces-p) custom-declare-variable facemenu-add-face-function funcall function #[0 "\300\207" [nil] 1 ""] "Function called at beginning of text to change or nil.\nThis function is passed the FACE to set and END of text to change, and must\nreturn a string which is inserted.  It may set `facemenu-end-add-face'." :type (choice (const :tag "None" nil) function) :group facemenu] 8)
(defalias 'facemenu-enable-faces-p #[0 "\205 	?\206\n \n\207" [font-lock-mode font-lock-defaults facemenu-add-face-function] 1])
#@43 Menu keymap for non-face text-properties.
(defvar facemenu-special-menu (byte-code "\300\301!\302\303\304\305B#\210\302\306\307\310B#\210\302\311\312\313B#\210\302\314\315\316B#\210\302\317\320\321B#\210\207" [make-sparse-keymap "Special" define-key [115] "Remove Special" facemenu-remove-special [99] "Charset" facemenu-set-charset [116] "Intangible" facemenu-set-intangible [118] "Invisible" facemenu-set-invisible [114] "Read-Only" facemenu-set-read-only] 6) (#$ . 4136))
(defalias 'facemenu-special-menu facemenu-special-menu)
#@42 Submenu for text justification commands.
(defvar facemenu-justification-menu (byte-code "\300\301!\302\303\304\305B#\210\302\306\307\310B#\210\302\311\312\313B#\210\302\314\315\316B#\210\302\317\320\321B#\210\207" [make-sparse-keymap "Justification" define-key [99] "Center" set-justification-center [98] "Full" set-justification-full [114] "Right" set-justification-right [108] "Left" set-justification-left [117] "Unfilled" set-justification-none] 6) (#$ . 4678))
(defalias 'facemenu-justification-menu facemenu-justification-menu)
#@35 Submenu for indentation commands.
(defvar facemenu-indentation-menu (byte-code "\300\301!\302\303\304\305B#\210\302\306\307\310B#\210\302\311\312\313B#\210\302\314\315\316B#\210\207" [make-sparse-keymap "Indentation" define-key [decrease-right-margin] "Indent Right Less" decrease-right-margin [increase-right-margin] "Indent Right More" increase-right-margin [decrease-left-margin] "Indent Less" decrease-left-margin [increase-left-margin] "Indent More" increase-left-margin] 6) (#$ . 5223))
(defalias 'facemenu-indentation-menu facemenu-indentation-menu)
#@33 Facemenu top-level menu keymap.
(defvar facemenu-menu nil (#$ . 5790))
(byte-code "\303\304!\211\305\306\307\310B#\210\305\311\312\313B#\210\305\314\315\316B#\210\305\317\320\321\322\323\324\257#\210\305\325\320\326\327\323\324\257#\210\305\330\331C#\266\305\332\333\334B#\210\305\335\336\337B#\210\305\340\331C#\210\305\341\342\343B#\210\305\344\345\346B#\210\305\347\350\351B#\210\305\352\353\354B#\266\355\300\"\210\305	\356\300#\210\357\n\360\361#\207" [facemenu-menu global-map menu-bar-edit-menu make-sparse-keymap "Text Properties" define-key [dc] "Display Colors" list-colors-display [df] "Display Faces" list-faces-display [dp] "Describe Properties" describe-text-properties [ra] menu-item "Remove Text Properties" facemenu-remove-all :enable mark-active [rm] "Remove Face Properties" facemenu-remove-face-props [s1] "--" [in] "Indentation" facemenu-indentation-menu [ju] "Justification" facemenu-justification-menu [s2] [sp] "Special Properties" facemenu-special-menu [bg] "Background Color" facemenu-background-menu [fg] "Foreground Color" facemenu-foreground-menu [fc] "Face" facemenu-face-menu defalias [C-down-mouse-2] easy-menu-add-item nil ["Text Properties" facemenu-menu]] 10)
#@137 Keymap for face-changing commands.
`Facemenu-update' fills in the keymap according to the bindings
requested in `facemenu-keybindings'.
(defvar facemenu-keymap (byte-code "\300\301!\302\303\304\305B#\210\302\306\307#\210\207" [make-sparse-keymap "Set face" define-key "o" "Other..." facemenu-set-face "\357" font-lock-fontify-block] 6) (#$ . 7012))
(byte-code "\301\300\"\210\302\303\304\305\306DD\307\310\311\312\313&\210\302\314\304\305\315DD\316\310\317\312\313&\207" [facemenu-keymap defalias custom-declare-variable facemenu-end-add-face funcall function #[0 "\300\207" [nil] 1 #1=""] "String to insert or function called at end of text to change or nil.\nThis function is passed the FACE to set, and must return a string which is\ninserted." :type (choice (const :tag "None" nil) string function) :group facemenu facemenu-remove-face-function #[0 "\300\207" [nil] 1 #1#] "When non-nil, this is a function called to remove faces.\nThis function is passed the START and END of text to change.\nMay also be t meaning to use `facemenu-add-face-function'." (choice (const :tag "None" nil) (const :tag "Use add-face" t) function)] 8)
#@99 Alist of colors, used for completion.
If this is nil, then the value of (defined-colors) is used.
(defvar facemenu-color-alist nil (#$ . 8157))
(make-obsolete-variable 'facemenu-color-alist nil "28.1")
#@138 Add or update the "Face" menu in the menu bar.
You can call this to update things if you change any of the menu configuration
variables.
(defalias 'facemenu-update #[0 "\301\302\303!\"\207" [facemenu-keybindings facemenu-iterate facemenu-add-new-face facemenu-complete-face-list] 4 (#$ . 8366) nil])
#@833 Apply FACE to the region or next character typed.

If the region is active (normally true except in Transient
Mark mode) and nonempty, and there is no prefix argument,
this command applies FACE to the region.  Otherwise, it applies FACE
to the faces to use for the next character
inserted.  (Moving point or switching buffers before typing
a character to insert cancels the specification.)

If FACE is `default', to "apply" it means clearing
the list of faces to be used.  For any other value of FACE,
to "apply" it means putting FACE at the front of the list
of faces to be used, and removing any faces further
along in the list that would be completely overridden by
preceding faces (including FACE).

This command can also add FACE to the menu of faces,
if `facemenu-listed-faces' says to do that.

(fn FACE &optional START END)
(defalias 'facemenu-set-face #[769 "\300!\210\301#\207" [facemenu-add-new-face facemenu-add-face] 7 (#$ . 8674) (byte-code "\302 \210\303\304\305\306!\"\205 	?\205 \307 \205 	?\205 \310 E\207" [mark-active current-prefix-arg barf-if-buffer-read-only read-face-name "Use face" face-at-point t region-beginning region-end] 4)])
#@476 Set the foreground COLOR of the region or next character typed.
This command reads the color in the minibuffer.

If the region is active (normally true except in Transient Mark mode)
and there is no prefix argument, this command sets the region to the
requested face.

Otherwise, this command specifies the face for the next character
inserted.  Moving point or switching buffers before
typing a character to insert cancels the specification.

(fn COLOR &optional START END)
(defalias 'facemenu-set-foreground #[769 "\300\301\302\"#\207" [facemenu-set-face-from-menu facemenu-add-new-color facemenu-foreground-menu] 7 (#$ . 9849) (byte-code "\302 \210\303\304!\205 	?\205 \305 \205 	?\205 \306 E\207" [mark-active current-prefix-arg barf-if-buffer-read-only read-color "Foreground color: " region-beginning region-end] 3)])
#@476 Set the background COLOR of the region or next character typed.
This command reads the color in the minibuffer.

If the region is active (normally true except in Transient Mark mode)
and there is no prefix argument, this command sets the region to the
requested face.

Otherwise, this command specifies the face for the next character
inserted.  Moving point or switching buffers before
typing a character to insert cancels the specification.

(fn COLOR &optional START END)
(defalias 'facemenu-set-background #[769 "\300\301\302\"#\207" [facemenu-set-face-from-menu facemenu-add-new-color facemenu-background-menu] 7 (#$ . 10689) (byte-code "\302 \210\303\304!\205 	?\205 \305 \205 	?\205 \306 E\207" [mark-active current-prefix-arg barf-if-buffer-read-only read-color "Background color: " region-beginning region-end] 3)])
#@739 Set the FACE of the region or next character typed.
This function is designed to be called from a menu; FACE is determined
using the event type of the menu entry.  If FACE is a symbol whose
name starts with "fg:" or "bg:", then this functions sets the
foreground or background to the color specified by the rest of the
symbol's name.  Any other symbol is considered the name of a face.

If the region is active (normally true except in Transient Mark mode)
and there is no prefix argument, this command sets the region to the
requested face.

Otherwise, this command specifies the face for the next character
inserted.  Moving point or switching buffers before typing a character
to insert cancels the specification.

(fn FACE START END)
(defalias 'facemenu-set-face-from-menu #[771 "\300 \210\301\302!\303\304\"\203% \305\306\"\307\230\203 \310\202 \311\305\312\"DC\202& \262#\207" [barf-if-buffer-read-only facemenu-add-face symbol-name string-match "\\`\\([fb]\\)g:\\(.+\\)" match-string 1 "f" :foreground :background 2] 9 (#$ . 11530) (byte-code "	\205\f \n?\205\f \303 	\205 \n?\205 \304 E\207" [last-command-event mark-active current-prefix-arg region-beginning region-end] 3)])
#@134 Make the region invisible.
This sets the `invisible' text property; it can be undone with
`facemenu-remove-special'.

(fn START END)
(defalias 'facemenu-set-invisible #[514 "\300\301#\207" [add-text-properties (invisible t)] 6 (#$ . 12735) "r"])
#@161 Make the region intangible: disallow moving into it.
This sets the `intangible' text property; it can be undone with
`facemenu-remove-special'.

(fn START END)
(defalias 'facemenu-set-intangible #[514 "\300\301#\207" [add-text-properties (intangible t)] 6 (#$ . 12990) "r"])
#@137 Make the region unmodifiable.
This sets the `read-only' text property; it can be undone with
`facemenu-remove-special'.

(fn START END)
(defalias 'facemenu-set-read-only #[514 "\300\301#\207" [add-text-properties (read-only t)] 6 (#$ . 13274) "r"])
#@335 Apply CHARSET text property to the region or next character typed.

If the region is active (normally true except in Transient
Mark mode) and nonempty, and there is no prefix argument,
this command adds CHARSET property to the region.  Otherwise, it
sets the CHARSET property of the character at point.

(fn CSET &optional START END)
(defalias 'facemenu-set-charset #[769 "\204 `dS^\262T\262\300\301#\210\302\303$\207" [remove-text-properties (charset nil) put-text-property charset] 8 (#$ . 13532) (byte-code "\302 \210\303\304\305\306 \"\306 \"\205 	?\205 \307 \205\" 	?\205\" \310 E\207" [mark-active current-prefix-arg barf-if-buffer-read-only read-charset format-prompt "Use charset" charset-after region-beginning region-end] 4)])
#@65 Remove `face' and `mouse-face' text properties.

(fn START END)
(defalias 'facemenu-remove-face-props #[514 "\301\302\303#)\207" [inhibit-read-only t remove-text-properties (face nil mouse-face nil)] 6 (#$ . 14290) "*r"])
#@61 Remove all text properties from the region.

(fn START END)
(defalias 'facemenu-remove-all #[514 "\301\302\303#)\207" [inhibit-read-only t set-text-properties nil] 6 (#$ . 14521) "*r"])
#@151 Remove all the "special" text properties from the region.
These special properties include `invisible', `intangible' and `read-only'.

(fn START END)
(defalias 'facemenu-remove-special #[514 "\301\302\303#)\207" [inhibit-read-only t remove-text-properties (invisible nil intangible nil read-only nil charset nil)] 6 (#$ . 14717) "*r"])
(byte-code "\300\301\302\"\210\303\304\305\306\307DD\310\311\312\313\314\315\316&	\207" [defalias facemenu-read-color read-color custom-declare-variable list-colors-sort funcall function #[0 "\300\207" [nil] 1 ""] "Color sort order for `list-colors-display'.\nnil means default implementation-dependent order (defined in `x-colors').\n`name' sorts by color name.\n`rgb' sorts by red, green, blue components.\n`(rgb-dist . COLOR)' sorts by the RGB distance to the specified color.\n`hsv' sorts by hue, saturation, value.\n`(hsv-dist . COLOR)' sorts by the HSV distance to the specified color\nand excludes grayscale colors.\n`luminance' sorts by relative luminance in the CIE XYZ color space." :type (choice (const :tag "Unsorted" nil) (const :tag "Color Name" name) (const :tag "Red-Green-Blue" rgb) (cons :tag "Distance on RGB cube" (const :tag "Distance from Color" rgb-dist) (color :tag "Source Color Name")) (const :tag "Hue-Saturation-Value" hsv) (cons :tag "Distance on HSV cylinder" (const :tag "Distance from Color" hsv-dist) (color :tag "Source Color Name")) (const :tag "Luminance" luminance)) :group facemenu :version "24.1"] 10)
#@184 Return a list of keys for sorting colors depending on `list-colors-sort'.
COLOR is the name of the color.  When return value is nil,
filter out the color from the output.

(fn COLOR)
(defalias 'list-colors-sort-key #[257 "\301\302!\210\303\267\202 \207\211\227\207\304!\207\242\305=\203 \306A\"\207\307=\203, \310\311\312!\"\207\242\313=\203~ \312!\310\311\"\310\311\312A!\"@A@=\205Q A@\3148=?\205} \315\316\317\316\317@@Z!Z!Z\314\"\315A@A@Z\314\"\\\315\3148\3148Z\314\"\\\207\320=\205\231 \312!\211@\321_A@\322_\\\3148\323_\\\262\207" [list-colors-sort require color #s(hash-table size 3 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (nil 10 name 11 rgb 14)) color-values rgb-dist color-distance hsv apply color-rgb-to-hsv color-name-to-rgb hsv-dist 2 expt 180 abs luminance 0.21266729 0.7151522 0.072175] 11 (#$ . 16204)])
#@70 Value of CALLBACK arg passed to `list-colors-display'; internal use.
(defvar list-colors-callback nil (#$ . 17083))
#@149 Redisplay the colors using `list-colors-sort'.

This is installed as a `revert-buffer-function' in the *Colors* buffer.

(fn IGNORE-AUTO NOCONFIRM)
(defalias 'list-colors-redisplay #[514 "\301\302\303 #\207" [list-colors-callback list-colors-display nil buffer-name] 6 (#$ . 17206)])
#@734 Display names of defined colors, and show what they look like.
If the optional argument LIST is non-nil, it should be a list of
colors to display.  Otherwise, this command computes a list of
colors that the current display can handle.  Customize
`list-colors-sort' to change the order in which colors are shown.
Type \<help-mode-map>\[revert-buffer] after customizing `list-colors-sort' to redisplay colors in
the new order.

If the optional argument BUFFER-NAME is nil, it defaults to "*Colors*".

If the optional argument CALLBACK is non-nil, it should be a
function to call each time the user types RET or clicks on a
color.  The function should accept a single argument, the color name.

(fn &optional LIST BUFFER-NAME CALLBACK)
(defalias 'list-colors-display #[768 "\204: \306 \307V\203: \310\311 !\262\203% \312\313\314\315\316\312\317	\"\"\320\"\"\262\321 \322>\203: \306 S\233\211\2039 \211\316\241\210\210\204A \323\262	\316\211\223\210\324\nB\325B\326 \327!\211\316\211rq\210\330 \210\331\"\210\332\316!\210\333%\334\335!\210\336\211&)\262rq\210\337\316\"\262)\340\341!\203\220 \341\"\210)\266*\211\205\237 \342!\210\343\344!\207" [list-colors-sort help-window-point-marker temp-buffer-window-setup-hook temp-buffer-window-show-hook help-window-old-frame standard-output display-color-cells 0 list-colors-duplicates defined-colors mapcar car sort delq nil #[257 "\300@!\211\205 :\203 \202 CB\207" [list-colors-sort-key] 4 "\n\n(fn C)"] #[514 "AA@@\203) \211\203) \232\203) A\262@\262A\262@\262\202 \247\2037 \211\247\2037 W\207;\205D \211;\205D \231\207" [] 8 "\n\n(fn A B)"] display-visual-class (gray-scale pseudo-color direct-color) "*Colors*" help-mode-setup help-mode-finish selected-frame temp-buffer-window-setup erase-buffer list-colors-print set-buffer-modified-p t make-local-variable list-colors-callback list-colors-redisplay temp-buffer-window-show functionp help-window-setup pop-to-buffer message "Click on a color to select it." truncate-lines revert-buffer-function] 11 (#$ . 17498) nil])
#@32 

(fn LIST &optional CALLBACK)
(defalias 'list-colors-print #[513 "\300!\203 \301\302\"\202 \211\205 \303\304\305\306BBE\211\203\301 \211@\211:\2033 \211A\2037 \307\310\"\262\2027 \211C\262`\311@!@c\210\312j\210\313`\314\315@\316F$\210\313`\317c\210\320\321\322#c\210`\314\316@D$\210\323\317\324\325#c\210\317c\210\323\326\327\330\331\332\333	@!\"#\334\335\336\326\337\340\n@!\"\327\341@A@\3428$\262%c\210\203\265 \343`\344\345\334\315	@\316	F\346\n@\347&\n\210\266\350c\210A\266\202\202 \210eb\207" [functionp make-closure #[257 "\300\301\302\"!\207" [V0 button-get color-name] 5 "\n\n(fn BUTTON)"] lambda (button) funcall ((button-get button 'color-name)) sort #[514 "\227\227\231\207" [] 4 "\n\n(fn A B)"] readable-foreground-color 22 put-text-property face :background :foreground " " mapconcat identity "," propertize display (space :align-to (- right 9)) apply format "#%02x%02x%02x" mapcar #[257 "\300\301\"\207" [ash -8] 4 "\n\n(fn C)"] color-values mouse-face highlight help-echo color-rgb-to-hsv color-name-to-rgb "H:%.2f S:%.2f V:%.2f" 2 make-text-button follow-link t color-name action "\n"] 19 (#$ . 19581)])
#@530 Return a list of colors with grouped duplicate colors.
If a color has no duplicates, then the element of the returned list
has the form (COLOR-NAME).  The element of the returned list with
duplicate colors has the form (COLOR-NAME DUPLICATE-COLOR-NAME ...).
This function uses the predicate `facemenu-color-equal' to compare
color names.  If the optional argument LIST is non-nil, it should
be a list of colors to display.  Otherwise, this function uses
a list of colors that the current display can handle.

(fn &optional LIST)
(defalias 'list-colors-duplicates #[256 "\302\303\206 \304 \"\211\211A\203O \305@@A@@\"\203H \306=\2033 \307@@\310\311\312#)\266\203\204H \211@A@@@AB\241\210\211AA\241\210\202\n \211A\262\202\n \207" [system-type inhibit-changing-match-data mapcar list defined-colors facemenu-color-equal windows-nt "^System" nil t string-match] 10 (#$ . 20751)])
#@261 Return t if colors A and B are the same color.
A and B should be strings naming colors.
This function queries the display system to find out what the color
names mean.  It returns nil if the colors differ or if it can't
determine the correct answer.

(fn A B)
(defalias 'facemenu-color-equal #[514 "\232\203 \300\207\301!\301!\232\207" [t color-values] 5 (#$ . 21650)])
(defvar facemenu-self-insert-data nil)
(defalias 'facemenu-post-self-insert-function #[0 "@\203 	A=\203 \302`S`\303@$\210\304\305\306\307\"\207" [facemenu-self-insert-data last-command put-text-property face nil remove-hook post-self-insert-hook facemenu-post-self-insert-function] 5])
#@73 Arrange for the next self-inserted char to have face `face'.

(fn FACE)
(defalias 'facemenu-set-self-insert-face #[257 "\211B\302\303\304\"\207" [this-command facemenu-self-insert-data add-hook post-self-insert-hook facemenu-post-self-insert-function] 4 (#$ . 22323)])
#@656 Add FACE to text between START and END.
If START is nil or START to END is empty, add FACE to next typed character
instead.  For each section of that region that has a different face property,
FACE will be consed onto it, and other faces that are completely hidden by
that will be removed from the list.
If `facemenu-add-face-function' and maybe `facemenu-end-add-face' are non-nil,
they are used to set the face information.

As a special case, if FACE is `default', then the region is left with NO face
text property.  Otherwise, selecting the default face would not have any
effect.  See `facemenu-remove-face-function'.

(fn FACE &optional START END)
(defalias 'facemenu-add-face #[769 "\305=\2032 \306=\2042 \203 \"\210\202\322 \203+ W\203+ \307\310#\210\202\322 \311\305!\210\202\322 	\203d \212\211\203> \211b\210\212\203F b\210\312	\"!\210)\n\203` \n;\203[ \n\202^ \n!c\210)\202\322 \203\264 W\203\264 \313U\204\257 \314\315\313$\262\316\315\"\317\315\204\220 	\202\246 \320\n\321!\203\237 \202\242 CB\322 \"$\266\211\262\202p \266\202\322 \311\fA=\203\317 \f@<\203\310 \f@\202\313 \f@CB\202\320 !\210\323 ?\205\333 \324\325!\207" [facemenu-remove-face-function facemenu-add-face-function facemenu-end-add-face last-command facemenu-self-insert-data default t remove-list-of-text-properties (face) facemenu-set-self-insert-face insert-before-markers nil next-single-property-change face get-text-property put-text-property facemenu-active-faces face-list-p selected-frame facemenu-enable-faces-p message "Font-lock mode will override any faces you set in this buffer"] 14 (#$ . 22601) (byte-code "\302 \210\303\304\305\306!\"\205 	?\205 \307 \205 	?\205 \310 E\207" [mark-active current-prefix-arg barf-if-buffer-read-only read-face-name "Use face" face-at-point t region-beginning region-end] 4)])
#@395 Return from FACE-LIST those faces that would be used for display.
This means each face attribute is not specified in a face earlier in FACE-LIST
and such a face is therefore active when used to display text.
If the optional argument FRAME is given, use the faces in that frame; otherwise
use the selected frame.  If t, then the global, non-frame faces are used.

(fn FACE-LIST &optional FRAME)
(defalias 'facemenu-active-faces #[513 "\300@:\203 \301@!\202 \302@\"\206 \303@!!@CAG\203{ @:\2033 \301@!\202@ \302@\"\206@ \303@!\304S\211\262\305Y\203i H\306>\204B H\307>\203B \310\211\262I\210\202B \266\202\203t @B\262A\262\202\" \237\207" [copy-sequence face-attributes-as-vector internal-lisp-face-p check-face nil 0 (nil unspecified) (nil unspecified) t] 13 (#$ . 24466)])
#@150 Add FACE (a face) to the Face menu if `facemenu-listed-faces' says so.
This is called whenever you create a new face, and at other times.

(fn FACE)
(defalias 'facemenu-add-new-face #[257 "\303\211C\303\211\304\"A\303\2119\203  \305!\262\240\210\202+ \262\306!\240\210\307\262\310\311\211#\262\312\313\314\"KA\"\204\274 \203y \306\315P!\262\316\317\320\321\322!\323\"\324	\303&M\210\325\326	B#\210\325	B#\266\202\276 	\327=\204\206 \242	>\203\274 \322\242!\262\330\262K\262\n\203\263 \211G\331V\203\263 \332	BG\331Z8@$\266\202\276 \325	B#\210\266\303\207" [facemenu-keybindings facemenu-listed-faces facemenu-new-faces-at-end nil assoc symbol-name intern facemenu-face-menu format "Select face `%s' for subsequent insertion.\nIf the mark is active and there is no prefix argument,\napply face `%s' to the region instead.\nThis command was defined by `facemenu-add-new-face'." facemenu-iterate make-closure #[257 "\211<\205 \211@9\205 \301@!\205 \302@\300\242\"\207" [V0 facep face-equal] 4 "\n\n(fn M)"] "facemenu-set-" make-byte-code 0 "\303\300\242	\205 \n?\205 \304 	\205 \n?\205 \305 #\207" vconcat vector [mark-active current-prefix-arg facemenu-set-face region-beginning region-end] 4 define-key facemenu-keymap t facemenu-set-face-from-menu 3 define-key-after] 16 (#$ . 25282)])
#@257 Add COLOR (a color name string) to the appropriate Face menu.
MENU should be `facemenu-foreground-menu' or `facemenu-background-menu'.
Return the event type (a symbol) of the added menu entry.

This is called whenever you use a new color.

(fn COLOR MENU)
(defalias 'facemenu-add-new-color #[514 "\301C\302!\204 \303\304\"\210\305\267\202) \211\306\307P!\240\210\202- \211\306\310P!\240\210\202- \303\311!\210\312\313\314\"KA\"\204h \315\242!K\203^ \211G\316V\203^ \317\320BG\316Z8@$\266\202h \321\320B#\266\211\242\207" [facemenu-new-faces-at-end nil color-defined-p error "Color `%s' undefined" #s(hash-table size 2 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (facemenu-foreground-menu 19 facemenu-background-menu 30)) intern "fg:" "bg:" "MENU should be `facemenu-foreground-menu' or `facemenu-background-menu'" facemenu-iterate make-closure #[257 "\211<\205\n \211@\300\242=\207" [V0] 3 "\n\n(fn M)"] vector 3 define-key-after facemenu-set-face-from-menu define-key] 11 (#$ . 26644)])
#@273 Return list of all faces that look different.
Starts with given ALIST of faces, and adds elements only if they display
differently from any face already on the list.
The faces on ALIST will end up at the end of the returned list, in reverse
order.

(fn &optional OLDLIST)
(defalias 'facemenu-complete-face-list #[256 "\300\301\"\237C\302\303\304\"\305 \237\"\210\211\242\207" [mapcar car facemenu-iterate make-closure #[257 "\211\300\242>\204 \300\300\242B\240\210\301\207" [V0 nil] 4 "\n\n(fn NEW-FACE)"] face-list] 6 (#$ . 27682)])
#@139 Apply FUNC to each element of LIST until one returns non-nil.
Returns the non-nil value it found, or nil if all were nil.

(fn FUNC LIST)
(defalias 'facemenu-iterate #[514 "\211\203 @!\204 \211A\262\202  \211@\207" [] 4 (#$ . 28227)])
(byte-code "\300 \210\301\302!\207" [facemenu-update provide facemenu] 2)
