;ELC ;;; Compiled ;;; in Emacs version 28.0.50 ;;; with all optimizations. (require 'cl) (defconst htmlize-version "1.55") (byte-code "\300\301\302\303\304\305%\210\306\307\310\311\312DD\313\314\315\304\301&\210\306\316\310\311\317DD\320\314\321\304\301&\210\306\322\310\311\323DD\324\314\325\304\301&\210\306\326\310\311\327DD\330\314\325\304\301&\210\306\331\310\311\332DD\333\314\334\304\301&\210\306\335\310\311\336DD\337\314\325\304\301&\210\306\340\310\311\341DD\342\314\325\304\301&\210\306\343\310\311\344DD\345\314\315\304\301&\210\306\346\310\311\347DD\350\314\325\304\301&\210\306\351\310\311\352DD\353\314\354\304\301&\210\306\355\310\311\356DD\357\314\360\304\301&\210\306\361\310\311\362DD\363\314\364\304\301&\210\306\365\310\311\366DD\367\314\315\304\301&\210\306\370\310\311\371DD\372\314\325\304\301&\207" [custom-declare-group htmlize nil "Convert buffer text and faces to HTML." :group hypermedia custom-declare-variable htmlize-head-tags funcall function #[0 "\300\207" [#1=""] 1 #1#] "Additional tags to insert within HEAD of the generated document." :type string htmlize-output-type #[0 "\300\207" [css] 1] "Output type of generated HTML, one of `css', `inline-css', or `font'.\nWhen set to `css' (the default), htmlize will generate a style sheet\nwith description of faces, and use it in the HTML document, specifying\nthe faces in the actual text with .\n\nWhen set to `inline-css', the style will be generated as above, but\nplaced directly in the STYLE attribute of the span ELEMENT: . This makes it easier to paste the resulting HTML to\nother documents.\n\nWhen set to `font', the properties will be set using layout tags\n, , , , and .\n\n`css' output is normally preferred, but `font' is still useful for\nsupporting old, pre-CSS browsers, and both `inline-css' and `font' for\neasier embedding of colorized text in foreign HTML documents (no style\nsheet to carry around)." (choice (const css) (const inline-css) (const font)) htmlize-use-images #[0 "\300\207" [t] 1] "Whether htmlize generates `img' for images attached to buffer contents." boolean htmlize-force-inline-images #[0 "\300\207" [nil] 1] "Non-nil means generate all images inline using data URLs.\nNormally htmlize converts image descriptors with :file properties to\nrelative URIs, and those with :data properties to data URIs. With this\nflag set, the images specified as a file name are loaded into memory and\nembedded in the HTML as data URIs." htmlize-max-alt-text #[0 "\300\207" [100] 1] "Maximum size of text to use as ALT text in images.\n\nNormally when htmlize encounters text covered by the `display' property\nthat specifies an image, it generates an `alt' attribute containing the\noriginal text. If the text is larger than `htmlize-max-alt-text' characters,\nthis will not be done." integer htmlize-transform-image #[0 "\300\207" [htmlize-default-transform-image] 1] "Function called to modify the image descriptor.\n\nThe function is called with the image descriptor found in the buffer and\nthe text the image is supposed to replace. It should return a (possibly\ndifferent) image descriptor property list or a replacement string to use\ninstead of of the original buffer text.\n\nReturning nil is the same as returning the original text." htmlize-generate-hyperlinks #[0 "\300\207" [t] 1] "Non-nil means auto-generate the links from URLs and mail addresses in buffer.\n\nThis is on by default; set it to nil if you don't want htmlize to\nautogenerate such links. Note that this option only turns off automatic\nsearch for contents that looks like URLs and converting them to links.\nIt has no effect on whether htmlize respects the `htmlize-link' property." htmlize-hyperlink-style #[0 "\300\207" [#2="\n a {\n color: inherit;\n background-color: inherit;\n font: inherit;\n text-decoration: inherit;\n }\n a:hover {\n text-decoration: underline;\n }\n"] 1 #2#] "The CSS style used for hyperlinks when in CSS mode." htmlize-replace-form-feeds #[0 "\300\207" [t] 1] "Non-nil means replace form feeds in source code with HTML separators.\nForm feeds are the ^L characters at line beginnings that are sometimes\nused to separate sections of source code. If this variable is set to\n`t', form feed characters are replaced with the
separator. If this\nis a string, it specifies the replacement to use. Note that
 is\ntemporarily closed before the separator is inserted, so the default\nreplacement is effectively \"

\".  If you specify\nanother replacement, don't forget to close and reopen the 
 if you\nwant the output to remain valid HTML.\n\nIf you need more elaborate processing, set this to nil and use\nhtmlize-after-hook." htmlize-html-charset #[0 "\300\207" [nil] 1] "The charset declared by the resulting HTML documents.\nWhen non-nil, causes htmlize to insert the following in the HEAD section\nof the generated HTML:\n\n  \n\nwhere CHARSET is the value you've set for htmlize-html-charset.  Valid\ncharsets are defined by MIME and include strings like \"iso-8859-1\",\n\"iso-8859-15\", \"utf-8\", etc.\n\nIf you are using non-Latin-1 charsets, you might need to set this for\nyour documents to render correctly.  Also, the W3C validator requires\nsubmitted HTML documents to declare a charset.  So if you care about\nvalidation, you can use this to prevent the validator from bitching.\n\nNeedless to say, if you set this, you should actually make sure that\nthe buffer is in the encoding you're claiming it is in.  (This is\nnormally achieved by using the correct file coding system for the\nbuffer.)  If you don't understand what that means, you should probably\nleave this option in its default setting." (choice (const :tag "Unset" nil) string) htmlize-convert-nonascii-to-entities #[0 "\300\207" [t] 1] "Whether non-ASCII characters should be converted to HTML entities.\n\nWhen this is non-nil, characters with codes in the 128-255 range will be\nconsidered Latin 1 and rewritten as \"&#CODE;\".  Characters with codes\nabove 255 will be converted to \"&#UCS;\", where UCS denotes the Unicode\ncode point of the character.  If the code point cannot be determined,\nthe character will be copied unchanged, as would be the case if the\noption were nil.\n\nWhen the option is nil, the non-ASCII characters are copied to HTML\nwithout modification.  In that case, the web server and/or the browser\nmust be set to understand the encoding that was used when saving the\nbuffer.  (You might also want to specify it by setting\n`htmlize-html-charset'.)\n\nNote that in an HTML entity \"&#CODE;\", CODE is always a UCS code point,\nwhich has nothing to do with the charset the page is in.  For example,\n\"©\" *always* refers to the copyright symbol, regardless of charset\nspecified by the META tag or the charset sent by the HTTP server.  In\nother words, \"©\" is exactly equivalent to \"©\".\n\nFor most people htmlize will work fine with this option left at the\ndefault setting; don't change it unless you know what you're doing." sexp htmlize-ignore-face-size #[0 "\300\207" [absolute] 1] "Whether face size should be ignored when generating HTML.\nIf this is nil, face sizes are used.  If set to t, sizes are ignored\nIf set to `absolute', only absolute size specifications are ignored.\nPlease note that font sizes only work with CSS-based output types." (choice (const :tag "Don't ignore" nil) (const :tag "Ignore all" t) (const :tag "Ignore absolute" absolute)) htmlize-css-name-prefix #[0 "\300\207" [#1#] 1 #1#] "The prefix used for CSS names.\nThe CSS names that htmlize generates from face names are often too\ngeneric for CSS files; for example, `font-lock-type-face' is transformed\nto `type'.  Use this variable to add a prefix to the generated names.\nThe string \"htmlize-\" is an example of a reasonable prefix." htmlize-use-rgb-txt #[0 "\300\207" [t] 1] "Whether `rgb.txt' should be used to convert color names to RGB.\n\nThis conversion means determining, for instance, that the color\n\"IndianRed\" corresponds to the (205, 92, 92) RGB triple.  `rgb.txt'\nis the X color database that maps hundreds of color names to such RGB\ntriples.  When this variable is non-nil, `htmlize' uses `rgb.txt' to\nlook up color names.\n\nIf this variable is nil, htmlize queries Emacs for RGB components of\ncolors using `color-instance-rgb-components' and `color-values'.\nThis can yield incorrect results on non-true-color displays.\n\nIf the `rgb.txt' file is not found (which will be the case if you're\nrunning Emacs on non-X11 systems), this option is ignored."] 8)
#@597 Overrides for face definitions.

Normally face definitions are taken from Emacs settings for fonts
in the current frame.  For faces present in this plist, the
definitions will be used instead.  Keys in the plist are symbols
naming the face and values are the overriding definitions.  For
example:

  (setq htmlize-face-overrides
        '(font-lock-warning-face "black"
          font-lock-function-name-face "red"
          font-lock-comment-face "blue"
          default (:foreground "dark-green" :background "yellow")))

This variable can be also be `let' bound when running `htmlize-buffer'.
(defvar htmlize-face-overrides nil (#$ . 8774))
(byte-code "\300\301\302\303\304DD\305\306\307\310\311&\210\300\312\302\303\313DD\314\306\315\310\311&\210\300\316\302\303\317DD\320\306\307\310\311&\207" [custom-declare-variable htmlize-untabify funcall function #[0 "\300\207" [t] 1] "Non-nil means untabify buffer contents during htmlization." :type boolean :group htmlize htmlize-html-major-mode #[0 "\300\207" [nil] 1] "The mode the newly created HTML buffer will be put in.\nSet this to nil if you prefer the default (fundamental) mode." (radio (const :tag "No mode (fundamental)" nil) (function-item html-mode) (function :tag "User-defined major mode")) htmlize-pre-style #[0 "\300\207" [nil] 1] "When non-nil, `
' tags will be decorated with style\ninformation in `font' and `inline-css' modes. This allows a\nconsistent background for captures of regions."] 8)
#@118 Hook run before htmlizing a buffer.
The hook functions are run in the source buffer (not the resulting HTML
buffer).
(defvar htmlize-before-hook nil (#$ . 10252))
#@186 Hook run after htmlizing a buffer.
Unlike `htmlize-before-hook', these functions are run in the generated
HTML buffer.  You may use them to modify the outlook of the final HTML
output.
(defvar htmlize-after-hook nil (#$ . 10422))
#@74 Hook run by `htmlize-file' after htmlizing a file, but before saving it.
(defvar htmlize-file-hook nil (#$ . 10658))
#@33 

(fn POS PROP &optional LIMIT)
(defalias 'htmlize-next-change #[770 "\203\300\301$\207\302\"\207" [next-single-char-property-change nil next-char-property-change] 8 (#$ . 10781)])
#@12 

(fn POS)
(defalias 'htmlize-overlay-faces-at #[257 "\300\301\302\303\304!\"\"\207" [delq nil mapcar #[257 "\300\301\"\207" [overlay-get face] 4 "\n\n(fn O)"] overlays-at] 7 (#$ . 10976)])
#@28 

(fn POS &optional LIMIT)
(defalias 'htmlize-next-face-change #[513 "\211\204d\262\300\301\302$\303!\304!\262W\203#\211\303!\232\204^\262\305\306\"\2038\307\306\302$\262\207" [next-single-property-change face nil htmlize-overlay-faces-at next-overlay-change get-char-property display next-single-char-property-change] 9 (#$ . 11174)])
#@23 

(fn &rest LETFORMS)
(defalias 'htmlize-lexlet '(macro . #[128 "\301\300!\203\203\302B\207\303B\207" [lexical-binding boundp let lexical-let] 3 (#$ . 11540)]))
(byte-code "\300\301\302\303#\304\301\305\306#\207" [function-put htmlize-lexlet lisp-indent-function 1 put edebug-form-spec let] 5)
(defvar htmlize-basic-character-table (byte-code "\300\301\302\"\301\302\211W\2032\211\303Y\203#\304X\203#\305!\202(\306\307\"I\266\211T\262\202\266\211\211\310\311I\266\211\211\312\313I\266\211\211\314\315I\266\211\211\316\317I\266\211\211\320\321I\266\211\211\322\323I\266\207" [make-vector 128 0 32 126 char-to-string format "&#%d;" 10 "\n" 13 "
" 9 "	" 38 "&" 60 "<" 62 ">"] 11))
(defvar htmlize-extended-character-cache (make-hash-table :test 'eq))
#@80 HTML-protect string, escaping HTML metacharacters and I18N chars.

(fn STRING)
(defalias 'htmlize-protect-string #[257 "\300\301\"\204\207\302\303\304#\207" [string-match "[^
\n	 -%'-;=?-~]" mapconcat #[257 "\211\303W\203\nH\207\304	\"\206R\n\204\211	\305\306!#\207\211\307W\2031\211	\305\310\311\"#\207\312\313\"\203G\211	\305\310\311\312\313\"\"#\207\211	\305\306!#\266\202\207" [htmlize-basic-character-table htmlize-extended-character-cache htmlize-convert-nonascii-to-entities 128 gethash puthash char-to-string 256 format "&#%d;" encode-char ucs] 10 "\n\n(fn CHAR)"] ""] 5 (#$ . 12336)])
#@15 

(fn STRING)
(defalias 'htmlize-attr-escape #[257 "\300!\262\301\302\"\204
\207\303\304\305#\207" [htmlize-protect-string string-match "\"" mapconcat #[257 "\211\300=\203\301\207\302!\207" [34 """ char-to-string] 3 "\n\n(fn CHAR)"] ""] 5 (#$ . 12964)])
#@13 

(fn LIST)
(defalias 'htmlize-concat #[257 "\211:\203
\211A\204
\211@\207\300\301\"\207" [apply concat] 4 (#$ . 13237)])
(byte-code "\300\301\302\303#\304\301\305\306#\207" [function-put htmlize-concat speed -1 put byte-optimizer byte-compile-inline-expand] 5)
#@23 

(fn LINKPROPS TEXT)
(defalias 'htmlize-format-link #[514 ";\203	\202
\300\301\"\302!\203\303\304\305!#\207\207" [plist-get :uri htmlize-protect-string format "%s" htmlize-attr-escape] 8 (#$ . 13508)])
#@15 

(fn STRING)
(defalias 'htmlize-escape-or-link #[257 "\300G\301W\203B\302\303#\304\303$O\203'\305\"\2026\302\300\306#\2033\211\2026\307!B\262\262\266\202\211\237\211:\203Q\211A\204Q\211@\207\310\311\"\207" [0 nil get-char-property htmlize-link next-single-property-change htmlize-format-link htmlize-literal htmlize-protect-string apply concat] 11 (#$ . 13747)])
#@21 

(fn DISPLAY TEXT)
(defalias 'htmlize-display-prop-to-html #[514 "\301;\203\n\302!\207\242\303=\204\304!\207A\"\211\262\204$\302!\207\211;\203-\302!\207\305\"\207" [htmlize-transform-image nil htmlize-escape-or-link image htmlize-protect-string htmlize-generate-image] 6 (#$ . 14151)])
#@15 

(fn STRING)
(defalias 'htmlize-string-to-html #[257 "\300G\301W\2036\302\303#\304\303$O\203'\305\"\202*\306!B\262\262\266\202\211\237\211:\203E\211A\204E\211@\207\307\310\"\207" [0 nil get-char-property display next-single-property-change htmlize-display-prop-to-html htmlize-escape-or-link apply concat] 10 (#$ . 14461)])
#@394 Default transformation of image descriptor to something usable in HTML.

If `htmlize-use-images' is nil, the function always returns nil, meaning
use original text.  Otherwise, it tries to find the image for images that
specify a file name.  If `htmlize-force-inline-images' is non-nil, it also
converts the :file attribute to :data and returns the modified property
list.

(fn IMGPROPS TEXT)
(defalias 'htmlize-default-transform-image #[514 "\205_\302\303\"\203!\302\304C!A\303\"\211\203 \305\306!\303#\262\210	\203^\302\303\"\307\203P\310\311\312\"r\211q\210\313\314\"\216\3151M\316!\210\317 \211\2620\210\202N\210*\210\211\205]\305\211\303\307#\320#\207\207" [htmlize-use-images htmlize-force-inline-images plist-get :file find-image plist-put copy-list nil generate-new-buffer " *temp*" t make-closure #[0 "\301\300!\205	\302\300!\207" [V0 buffer-name kill-buffer] 2] (error) insert-file-contents-literally buffer-string :data] 9 (#$ . 14824)])
#@26 

(fn IMGPROPS ORIGTEXT)
(defalias 'htmlize-alt-text #[514 "\211G\301U?\205\211GX\205\302\303\"?\205\211\207" [htmlize-max-alt-text 0 string-match "[-]"] 5 (#$ . 15802)])
#@26 

(fn IMGPROPS ORIGTEXT)
(defalias 'htmlize-generate-image #[514 "\300\"\211\203\301\302\303!\"\202\304\305\306\"\2033\307C!A\305\306\"\206)\305\306\"\301\310\303\311!!#\207\305\312\"\205N\301\313\305\314\"\206E\304\315\305\312\"!$\207" [htmlize-alt-text format " alt=\"%s\"" htmlize-attr-escape "" plist-get :file find-image "" file-relative-name :data "" :type base64-encode-string] 11 (#$ . 15989)])
(defconst htmlize-ellipsis "...")
(byte-code "\301\302G\300\303%\207" [htmlize-ellipsis put-text-property 0 t] 6)
#@12 

(fn INV)
(defalias 'htmlize-match-inv-spec #[257 "\301\302\303$\207" [buffer-invisibility-spec member* :key #[257 "\2119\203\207\211@\207" [] 2 "\n\n(fn I)"]] 6 (#$ . 16598)])
#@18 

(fn INVISIBLE)
(defalias 'htmlize-decode-invisibility-spec #[257 "<\204\211?\207\2119\203\301!\202\302\301\"\211\204\303\207\211@\243\203%\304\207\305\207" [buffer-invisibility-spec htmlize-match-inv-spec some t ellipsis nil] 4 (#$ . 16786)])
#@21 

(fn BEG END TEXT)
(defalias 'htmlize-add-before-after-strings #[771 "\300\301\"\211\203<\211@\302\303\"\302\304\"\211\203#\305!ZBB\262\2033\306!ZBB\262\266A\266\202\202\210\211\203~\300\307\310\311\312\313$\211\203o\211@\211@AOB\262\211B\262\262\266A\266\202\202I\210\300OB\262\314\315\237\"\207\207" [nil overlays-in overlay-get before-string after-string overlay-end overlay-start 0 stable-sort < :key car apply concat] 13 (#$ . 17049)])
#@28 

(fn PROP BEG END STRING)
(defalias 'htmlize-copy-prop #[1028 "\211W\205,\300\"\301#\203'\302ZZ	%\210\266\202\202\207" [get-char-property htmlize-next-change put-text-property] 13 (#$ . 17546)])
#@16 

(fn BEG END)
(defalias 'htmlize-get-text-with-display #[514 "\300\"\301\302$\210\301\303$\210\304#\207" [buffer-substring-no-properties htmlize-copy-prop display htmlize-link htmlize-add-before-after-strings] 8 (#$ . 17773)])
#@16 

(fn BEG END)
(defalias 'htmlize-buffer-substring-no-invisible #[514 "\301\211\211\211\211W\203N\302\303\"\262\304\303	#\262\305!\262\306=\2034\307\"B\262\202E\310=\203E\310=\204EB\262\211\262\262\202\237\211:\203]\211A\204]\211@\207\311\312\"\207" [htmlize-ellipsis nil get-char-property invisible htmlize-next-change htmlize-decode-invisibility-spec t htmlize-get-text-with-display ellipsis apply concat] 12 (#$ . 18018)])
#@13 

(fn TEXT)
(defalias 'htmlize-trim-ellipsis #[257 "\301\302\300#\203\211G\303O\207\207" [htmlize-ellipsis get-text-property 0 nil] 5 (#$ . 18488)])
(defconst htmlize-tab-spaces (byte-code "\300\301\302\"\211G\303\211W\203 \211\304\301\"I\266\211T\262\202\266\207" [make-vector 32 nil 0 make-string] 11))
#@76 Untabify TEXT, assuming it starts at START-COLUMN.

(fn TEXT START-COLUMN)
(defalias 'htmlize-untabify-string #[514 "\211\302\211\303\211\211\304\305	#\203h\302\224\262H\306=\203^OB\262Z\\\262\246Z\262\307\310\n#	H\203K\311\302\310%\210\211B\262\266\\\262T\262\202a\302\262T\262\202\204o\207GW\203\200\303OB\262\237\211:\203\217\211A\204\217\211@\207\312\313\"\207" [tab-width htmlize-tab-spaces 0 nil string-match "[	\n]" 9 get-text-property display put-text-property apply concat] 16 (#$ . 18815)])
#@34 

(fn BEG END TRAILING-ELLIPSIS)
(defalias 'htmlize-extract-text #[771 "\301\"\203
\302!\262\211G\303V\203\304GS\305#\262\203'\306i\"\262\307!\262\211D\207" [htmlize-untabify htmlize-buffer-substring-no-invisible htmlize-trim-ellipsis 0 get-text-property htmlize-ellipsis htmlize-untabify-string htmlize-string-to-html] 8 (#$ . 19386)])
#@136 Replace every occurrence of '@' in STRING with %40.
This is used to protect mailto links without modifying their meaning.

(fn STRING)
(defalias 'htmlize-despam-address #[257 "\300\301\"\203\302\303\304\305$\262\202\207" [string-match "@" replace-match "%40" nil t] 6 (#$ . 19748)])
#@22 

(fn BEG END PROPS)
(defalias 'htmlize-make-tmp-overlay #[771 "\300\"\301\302\303#\210\203!\301\211A\262\242\211A\262\242#\210\202\n\207" [make-overlay overlay-put htmlize-tmp-overlay t] 9 (#$ . 20044)])
(defalias 'htmlize-delete-tmp-overlays #[0 "\300ed\"\211\205\211@\301\302\"\203\303!\210A\266\202\202\207" [overlays-in overlay-get htmlize-tmp-overlay delete-overlay] 5])
#@20 

(fn BEG END URI)
(defalias 'htmlize-make-link-overlay #[771 "\300\301\302DD#\207" [htmlize-make-tmp-overlay htmlize-link :uri] 9 (#$ . 20447)])
#@64 Add `htmlize-link' property to all mailto links in the buffer.
(defalias 'htmlize-create-auto-links #[0 "\212eb\210\300\301\302\303#\203\"\304\305!\306\224\306\225\307\310!P\311#\266\202eb\210\300\312\302\303#\205:\311\306\224\306\225\304\305!#\210\202%)\207" [re-search-forward "<\\(\\(mailto:\\)?\\([-=+_.a-zA-Z0-9]+@[-_.a-zA-Z0-9]+\\)\\)>" nil t match-string 3 0 "mailto:" htmlize-despam-address htmlize-make-link-overlay "<\\(\\(URL:\\)?\\([a-zA-Z]+://[^;]+\\)\\)>"] 8 (#$ . 20602)])
(defalias 'htmlize-shadow-form-feeds #[0 "\300\301\302\303\304\305%\210\306\305D\307\310\311\304#\2057\301\224\301\225T\312\313\314\"!\205'\313\306\"?\211\2032\315#\210\266\202\207" [put-text-property 0 7 htmlize-literal t "\n
" display re-search-forward "\n\f" nil htmlize-decode-invisibility-spec get-char-property invisible htmlize-make-tmp-overlay] 9]) (defalias 'htmlize-defang-local-variables #[0 "eb\210\300\301\302\303#\205\304\305\302\303#\210\202\207" [search-forward "Local Variables:" nil t replace-match "Local Variables:"] 4]) (defvar htmlize-x-library-search-path (cons data-directory '("/etc/X11/rgb.txt" "/usr/share/X11/rgb.txt" "/usr/X11R6/lib/X11/" "/usr/X11R5/lib/X11/" "/usr/lib/X11R6/X11/" "/usr/lib/X11R5/X11/" "/usr/local/X11R6/lib/X11/" "/usr/local/X11R5/lib/X11/" "/usr/local/lib/X11R6/X11/" "/usr/local/lib/X11R5/X11/" "/usr/X11/lib/X11/" "/usr/lib/X11/" "/usr/local/lib/X11/" "/usr/X386/lib/X11/" "/usr/x386/lib/X11/" "/usr/XFree86/lib/X11/" "/usr/unsupported/lib/X11/" "/usr/athena/lib/X11/" "/usr/local/x11r5/lib/X11/" "/usr/lpp/Xamples/lib/X11/" "/usr/openwin/lib/X11/" "/usr/openwin/share/lib/X11/"))) #@349 Return a hash table mapping X color names to RGB values. The keys in the hash table are X11 color names, and the values are the #rrggbb RGB specifications, extracted from `rgb.txt'. If RGB-FILE is nil, the function will try hard to find a suitable file in the system directories. If no rgb.txt file is found, return nil. (fn &optional RGB-FILE) (defalias 'htmlize-get-color-rgb-hash #[256 "\211\206\301\302\"\303\203g\304\305\306\"r\211q\210\307\310\"\216\311!\210\312\313\314\"\262m\204e\315\316!\204_\315\317!\203T\320\321!\227\322\323\324\325\320\326!!\325\320\327!!\325\320\330!!$#\266\202_\331\332`\303\210`{#\210\326y\210\202$*\210\207" [htmlize-x-library-search-path locate-file "rgb.txt" nil generate-new-buffer " *temp*" t make-closure #[0 "\301\300!\205 \302\300!\207" [V0 buffer-name kill-buffer] 2] insert-file-contents make-hash-table :test equal looking-at "^\\s-*\\([!#]\\|$\\)" "[ ]*\\([0-9]+\\)[ ]+\\([0-9]+\\)[ ]+\\([0-9]+\\)[ ]+\\(.*\\)" match-string 4 puthash format "#%02x%02x%02x" string-to-number 1 2 3 error "Unrecognized line in %s: %s"] 15 (#$ . 22267)]) (defvar htmlize-color-rgb-hash (htmlize-get-color-rgb-hash)) #@16 (fn FACE FG) (defalias 'htmlize-face-color-internal #[514 "\211\203\300\202 \301\211\302\303#\304=\203'\211\204'\203 \305\202!\306\307 \236A\262\211\310=\2049\211\311\232\2049\211\312\232\203<\302\262\304=\203Q\211\204Q\203N\313\202O\314\262\207" [face-foreground face-background nil t default foreground-color background-color frame-parameters unspecified "unspecified-fg" "unspecified-bg" "black" "white"] 7 (#$ . 23442)]) #@13 (fn FACE) (defalias 'htmlize-face-foreground #[257 "\300\301\"\207" [htmlize-face-color-internal t] 4 (#$ . 23897)]) #@13 (fn FACE) (defalias 'htmlize-face-background #[257 "\300\301\"\207" [htmlize-face-color-internal nil] 4 (#$ . 24023)]) #@14 (fn COLOR) (defalias 'htmlize-color-to-rgb #[257 "\302\2036\303\304\"\203\262\2026\203$ \203$\305\227 \"\262\2026\306\307\310!\"\211\2035\311\312\313#\262\210\211\206;\207" [htmlize-use-rgb-txt htmlize-color-rgb-hash nil string-match "\\`#" gethash mapcar #[257 "\211\300\245\207" [256] 3 "\n\n(fn ARG)"] color-values apply format "#%02x%02x%02x"] 7 (#$ . 24151)]) #@74 compiler-macro for inlining `htmlize-fstruct-p'. (fn CL-WHOLE-ARG CL-X) (defalias 'htmlize-fstruct-p--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block htmlize-fstruct-p (and (memq (type-of cl-x) cl-struct-htmlize-fstruct-tags) t)) nil] 9 (#$ . 24544)]) (put 'htmlize-fstruct-p 'compiler-macro 'htmlize-fstruct-p--cmacro) #@13 (fn CL-X) (defalias 'htmlize-fstruct-p #[257 "\301!>\205 \302\207" [cl-struct-htmlize-fstruct-tags type-of t] 3 (#$ . 24909)]) (byte-code "\300\301\302\303#\304\305\306\301#\207" [function-put htmlize-fstruct-p side-effect-free error-free put htmlize-fstruct cl-deftype-satisfies] 5) #@83 compiler-macro for inlining `htmlize-fstruct-foreground'. (fn CL-WHOLE-ARG CL-X) (defalias 'htmlize-fstruct-foreground--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block htmlize-fstruct-foreground (progn (or (htmlize-fstruct-p cl-x) (signal 'wrong-type-argument (list 'htmlize-fstruct cl-x))) (aref cl-x 1))) nil] 9 (#$ . 25204)]) (put 'htmlize-fstruct-foreground 'compiler-macro 'htmlize-fstruct-foreground--cmacro) #@71 Access slot "foreground" of `htmlize-fstruct' struct CL-X. (fn CL-X) (defalias 'htmlize-fstruct-foreground #[257 "\301!>\204\302\303\304D\"\210\211\305H\207" [cl-struct-htmlize-fstruct-tags type-of signal wrong-type-argument htmlize-fstruct 1] 5 (#$ . 25664)]) (byte-code "\300\301\302\303#\300\207" [function-put htmlize-fstruct-foreground side-effect-free t] 4) #@83 compiler-macro for inlining `htmlize-fstruct-background'. (fn CL-WHOLE-ARG CL-X) (defalias 'htmlize-fstruct-background--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block htmlize-fstruct-background (progn (or (htmlize-fstruct-p cl-x) (signal 'wrong-type-argument (list 'htmlize-fstruct cl-x))) (aref cl-x 2))) nil] 9 (#$ . 26040)]) (put 'htmlize-fstruct-background 'compiler-macro 'htmlize-fstruct-background--cmacro) #@71 Access slot "background" of `htmlize-fstruct' struct CL-X. (fn CL-X) (defalias 'htmlize-fstruct-background #[257 "\301!>\204\302\303\304D\"\210\211\305H\207" [cl-struct-htmlize-fstruct-tags type-of signal wrong-type-argument htmlize-fstruct 2] 5 (#$ . 26500)]) (byte-code "\300\301\302\303#\300\207" [function-put htmlize-fstruct-background side-effect-free t] 4) #@77 compiler-macro for inlining `htmlize-fstruct-size'. (fn CL-WHOLE-ARG CL-X) (defalias 'htmlize-fstruct-size--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block htmlize-fstruct-size (progn (or (htmlize-fstruct-p cl-x) (signal 'wrong-type-argument (list 'htmlize-fstruct cl-x))) (aref cl-x 3))) nil] 9 (#$ . 26876)]) (put 'htmlize-fstruct-size 'compiler-macro 'htmlize-fstruct-size--cmacro) #@65 Access slot "size" of `htmlize-fstruct' struct CL-X. (fn CL-X) (defalias 'htmlize-fstruct-size #[257 "\301!>\204\302\303\304D\"\210\211\305H\207" [cl-struct-htmlize-fstruct-tags type-of signal wrong-type-argument htmlize-fstruct 3] 5 (#$ . 27306)]) (byte-code "\300\301\302\303#\300\207" [function-put htmlize-fstruct-size side-effect-free t] 4) #@78 compiler-macro for inlining `htmlize-fstruct-boldp'. (fn CL-WHOLE-ARG CL-X) (defalias 'htmlize-fstruct-boldp--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block htmlize-fstruct-boldp (progn (or (htmlize-fstruct-p cl-x) (signal 'wrong-type-argument (list 'htmlize-fstruct cl-x))) (aref cl-x 4))) nil] 9 (#$ . 27664)]) (put 'htmlize-fstruct-boldp 'compiler-macro 'htmlize-fstruct-boldp--cmacro) #@66 Access slot "boldp" of `htmlize-fstruct' struct CL-X. (fn CL-X) (defalias 'htmlize-fstruct-boldp #[257 "\301!>\204\302\303\304D\"\210\211\305H\207" [cl-struct-htmlize-fstruct-tags type-of signal wrong-type-argument htmlize-fstruct 4] 5 (#$ . 28099)]) (byte-code "\300\301\302\303#\300\207" [function-put htmlize-fstruct-boldp side-effect-free t] 4) #@80 compiler-macro for inlining `htmlize-fstruct-italicp'. (fn CL-WHOLE-ARG CL-X) (defalias 'htmlize-fstruct-italicp--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block htmlize-fstruct-italicp (progn (or (htmlize-fstruct-p cl-x) (signal 'wrong-type-argument (list 'htmlize-fstruct cl-x))) (aref cl-x 5))) nil] 9 (#$ . 28460)]) (put 'htmlize-fstruct-italicp 'compiler-macro 'htmlize-fstruct-italicp--cmacro) #@68 Access slot "italicp" of `htmlize-fstruct' struct CL-X. (fn CL-X) (defalias 'htmlize-fstruct-italicp #[257 "\301!>\204\302\303\304D\"\210\211\305H\207" [cl-struct-htmlize-fstruct-tags type-of signal wrong-type-argument htmlize-fstruct 5] 5 (#$ . 28905)]) (byte-code "\300\301\302\303#\300\207" [function-put htmlize-fstruct-italicp side-effect-free t] 4) #@83 compiler-macro for inlining `htmlize-fstruct-underlinep'. (fn CL-WHOLE-ARG CL-X) (defalias 'htmlize-fstruct-underlinep--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block htmlize-fstruct-underlinep (progn (or (htmlize-fstruct-p cl-x) (signal 'wrong-type-argument (list 'htmlize-fstruct cl-x))) (aref cl-x 6))) nil] 9 (#$ . 29272)]) (put 'htmlize-fstruct-underlinep 'compiler-macro 'htmlize-fstruct-underlinep--cmacro) #@71 Access slot "underlinep" of `htmlize-fstruct' struct CL-X. (fn CL-X) (defalias 'htmlize-fstruct-underlinep #[257 "\301!>\204\302\303\304D\"\210\211\305H\207" [cl-struct-htmlize-fstruct-tags type-of signal wrong-type-argument htmlize-fstruct 6] 5 (#$ . 29732)]) (byte-code "\300\301\302\303#\300\207" [function-put htmlize-fstruct-underlinep side-effect-free t] 4) #@82 compiler-macro for inlining `htmlize-fstruct-overlinep'. (fn CL-WHOLE-ARG CL-X) (defalias 'htmlize-fstruct-overlinep--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block htmlize-fstruct-overlinep (progn (or (htmlize-fstruct-p cl-x) (signal 'wrong-type-argument (list 'htmlize-fstruct cl-x))) (aref cl-x 7))) nil] 9 (#$ . 30108)]) (put 'htmlize-fstruct-overlinep 'compiler-macro 'htmlize-fstruct-overlinep--cmacro) #@70 Access slot "overlinep" of `htmlize-fstruct' struct CL-X. (fn CL-X) (defalias 'htmlize-fstruct-overlinep #[257 "\301!>\204\302\303\304D\"\210\211\305H\207" [cl-struct-htmlize-fstruct-tags type-of signal wrong-type-argument htmlize-fstruct 7] 5 (#$ . 30563)]) (byte-code "\300\301\302\303#\300\207" [function-put htmlize-fstruct-overlinep side-effect-free t] 4) #@80 compiler-macro for inlining `htmlize-fstruct-strikep'. (fn CL-WHOLE-ARG CL-X) (defalias 'htmlize-fstruct-strikep--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block htmlize-fstruct-strikep (progn (or (htmlize-fstruct-p cl-x) (signal 'wrong-type-argument (list 'htmlize-fstruct cl-x))) (aref cl-x 8))) nil] 9 (#$ . 30936)]) (put 'htmlize-fstruct-strikep 'compiler-macro 'htmlize-fstruct-strikep--cmacro) #@68 Access slot "strikep" of `htmlize-fstruct' struct CL-X. (fn CL-X) (defalias 'htmlize-fstruct-strikep #[257 "\301!>\204\302\303\304D\"\210\211\305H\207" [cl-struct-htmlize-fstruct-tags type-of signal wrong-type-argument htmlize-fstruct 8] 5 (#$ . 31381)]) (byte-code "\300\301\302\303#\300\207" [function-put htmlize-fstruct-strikep side-effect-free t] 4) #@81 compiler-macro for inlining `htmlize-fstruct-css-name'. (fn CL-WHOLE-ARG CL-X) (defalias 'htmlize-fstruct-css-name--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block htmlize-fstruct-css-name (progn (or (htmlize-fstruct-p cl-x) (signal 'wrong-type-argument (list 'htmlize-fstruct cl-x))) (aref cl-x 9))) nil] 9 (#$ . 31748)]) (put 'htmlize-fstruct-css-name 'compiler-macro 'htmlize-fstruct-css-name--cmacro) #@69 Access slot "css-name" of `htmlize-fstruct' struct CL-X. (fn CL-X) (defalias 'htmlize-fstruct-css-name #[257 "\301!>\204\302\303\304D\"\210\211\305H\207" [cl-struct-htmlize-fstruct-tags type-of signal wrong-type-argument htmlize-fstruct 9] 5 (#$ . 32198)]) (byte-code "\300\301\302\303#\304\305\306\"\207" [function-put htmlize-fstruct-css-name side-effect-free t defalias copy-htmlize-fstruct copy-sequence] 4) #@162 compiler-macro for inlining `make-htmlize-fstruct'. (fn CL-WHOLE &cl-quote &key FOREGROUND BACKGROUND SIZE BOLDP ITALICP UNDERLINEP OVERLINEP STRIKEP CSS-NAME) (defalias 'make-htmlize-fstruct--cmacro #[385 "\300\301\"A@\300\302\"A@\300\303\"A@\300\304\"A@\300\305\"A@\300\306\"A@\300\307\"A@\300\310\"A@\300 \311\"A@ \211\203g\211@\312>\203O\211AA\262\202<\313 >A@\203^\314\262\202<\315\316@\"\210\202<\210\317\320\321\314\314&\207" [plist-member :foreground :background :size :boldp :italicp :underlinep :overlinep :strikep :css-name (:foreground :background :size :boldp :italicp :underlinep :overlinep :strikep :css-name :allow-other-keys) :allow-other-keys nil error "Keyword argument %s not one of (:foreground :background :size :boldp :italicp :underlinep :overlinep :strikep :css-name)" cl--defsubst-expand (foreground background size boldp italicp underlinep overlinep strikep css-name) (cl-block make-htmlize-fstruct (record 'htmlize-fstruct foreground background size boldp italicp underlinep overlinep strikep css-name))] 26 (#$ . 32623)]) (put 'make-htmlize-fstruct 'compiler-macro 'make-htmlize-fstruct--cmacro) #@142 Constructor for objects of type `htmlize-fstruct'. (fn &key FOREGROUND BACKGROUND SIZE BOLDP ITALICP UNDERLINEP OVERLINEP STRIKEP CSS-NAME) (defalias 'make-htmlize-fstruct #[128 "\300\301\"A@\300\302\"A@\300\303\"A@\300\304\"A@\300\305\"A@\300\306\"A@\300\307\"A@\300\310\"A@\300 \311\"A@ \211\203g\211@\312>\203O\211AA\262\202<\313 >A@\203^\314\262\202<\315\316@\"\210\202<\210\317\320\n\n\n\n\n\n\n\n\n&\n\207" [plist-member :foreground :background :size :boldp :italicp :underlinep :overlinep :strikep :css-name (:foreground :background :size :boldp :italicp :underlinep :overlinep :strikep :css-name :allow-other-keys) :allow-other-keys nil error "Keyword argument %s not one of (:foreground :background :size :boldp :italicp :underlinep :overlinep :strikep :css-name)" record htmlize-fstruct] 21 (#$ . 33800)]) (byte-code "\300\301\302\303#\304\305\306\307\310\306\311\312\305\303& \207" [function-put make-htmlize-fstruct side-effect-free t cl-struct-define htmlize-fstruct nil cl-structure-object record ((cl-tag-slot) (foreground) (background) (size) (boldp) (italicp) (underlinep) (overlinep) (strikep) (css-name)) cl-struct-htmlize-fstruct-tags] 11) #@27 (fn FSTRUCT ATTR VALUE) (defalias 'htmlize-face-set-from-keyword-attr #[771 "\301\267\202\355\302!>\204\303\304\305D\"\210\211\306\307!I\207\302!>\204,\303\304\305D\"\210\211\310\307!I\207\302!>\204C\303\304\305D\"\210\211\311I\207\312\313!\314\"\205\356\302!>\204a\303\304\305D\"\210\211\315\316I\207\302!>\204v\303\304\305D\"\210\211\317\320=\206\202\321=I\207\302!>\204\223\303\304\305D\"\210\211\315I\207\302!>\204\250\303\304\305D\"\210\211\317I\207\302!>\204\275\303\304\305D\"\210\211\322I\207\302!>\204\322\303\304\305D\"\210\211\323I\207\302!>\204\347\303\304\305D\"\210\211\324I\207\325\207" [cl-struct-htmlize-fstruct-tags #s(hash-table size 10 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (:foreground 6 :background 29 :height 52 :weight 73 :slant 103 :bold 132 :italic 153 :underline 174 :overline 195 :strike-through 216)) type-of signal wrong-type-argument htmlize-fstruct 1 htmlize-color-to-rgb 2 3 string-match symbol-name "bold" 4 t 5 italic oblique 6 7 8 nil] 8 (#$ . 34999)]) #@13 (fn FACE) (defalias 'htmlize-face-size #[257 "\211C\211\2037\300@\301\"\211<\203 \302!\241\210\303!\266\202\2020\211\304=\204/C\241\210A\262\210A\262\202\305\211\211\211:\203a@\262\300\306\"\262\304=?\205SB\262A\262\305\262\202<\237\266\205\307\310\305B\"\207" [face-attribute :inherit copy-list last unspecified nil :height reduce htmlize-merge-size] 12 (#$ . 36088)]) #@13 (fn FACE) (defalias 'htmlize-face-css-name #[257 "\301!\227\302\303\"\203\304\305\306\211$\262\302\307\"\203\"\304\305\306\211$\262\302\310\"\2034\304\311\306\211$\262\202\"\302\312\"\203@\311P\262\211\305\232\203I\313\262P\207" [htmlize-css-name-prefix symbol-name string-match "\\`font-lock-" replace-match "" t "-face\\'" "[^-a-zA-Z0-9]" "X" "\\`[-0-9]" "face"] 7 (#$ . 36502)]) #@58 Convert Emacs face FACE to fstruct, internal. (fn FACE) (defalias 'htmlize-face-to-fstruct-1 #[257 "\301\302\303\304!!\305\303\306!!$\307\211\2034\211@\310\311\312$\211\203,\211\313=\204,\314#\210\210A\266\202\202\210\315!\316\317\"\204U\320!>\204N\321\322\323D\"\210\211\324I\266\210\320!>\204e\321\322\323D\"\210\211\211\325\326!I\266\207" [cl-struct-htmlize-fstruct-tags make-htmlize-fstruct :foreground htmlize-color-to-rgb htmlize-face-foreground :background htmlize-face-background (:weight :slant :underline :overline :strike-through) face-attribute nil t unspecified htmlize-face-set-from-keyword-attr htmlize-face-size eql 1.0 type-of signal wrong-type-argument htmlize-fstruct 3 9 htmlize-face-css-name] 9 (#$ . 36915)]) #@13 (fn FACE) (defalias 'htmlize-face-to-fstruct #[257 "\2119\203\f\211\236A\206\211C\302\303\304\237\"!9\2033\305! >\204)\306\307\310D\"\210\211\211\311\312!I\266\207" [face-remapping-alist cl-struct-htmlize-fstruct-tags htmlize-merge-faces mapcar #[257 "\2119\203\300!\206\301!\207\302!\207" [htmlize-get-override-fstruct htmlize-face-to-fstruct-1 htmlize-attrlist-to-fstruct] 3 "\n\n(fn FACE)"] type-of signal wrong-type-argument htmlize-fstruct 9 htmlize-face-css-name] 8 (#$ . 37683)]) #@30 (fn ATTR-LIST DEST SOURCE) (defalias 'htmlize-copy-attr-if-set '(macro . #[771 "\300\301\211\211\211:\2037@\262\302\303\304\"!\262\305D\306 D DEEB\262A\262\301\262\202\237\266\205B\207" [progn nil intern format "htmlize-fstruct-%s" when setf] 15 (#$ . 38198)])) #@20 (fn MERGED NEXT) (defalias 'htmlize-merge-size #[514 "\204\207\211\250\203 \207\211\204\207\300!\203_\207\250\205%\301_!\207" [floatp round] 5 (#$ . 38492)]) #@20 (fn MERGED NEXT) (defalias 'htmlize-merge-two-faces #[514 "\301!>\204\302\303\304D\"\210\211\305H\203=\301!>\204$\302\303\304D\"\210\211\305\301!>\2047\302\303\304D\"\210\305HI\266\301!>\204L\302\303\304D\"\210\211\306H\203z\301!>\204a\302\303\304D\"\210\211\306\301!>\204t\302\303\304D\"\210\306HI\266\301!>\204\211\302\303\304D\"\210\211\307H\203\267\301!>\204\236\302\303\304D\"\210\211\307\301!>\204\261\302\303\304D\"\210\307HI\266\301!>\204\306\302\303\304D\"\210\211\310H\203\364\301!>\204\333\302\303\304D\"\210\211\310\301!>\204\356\302\303\304D\"\210\310HI\266\301!>\204\302\303\304D\"\210\211\311H\2031\301!>\204\302\303\304D\"\210\211\311\301!>\204+\302\303\304D\"\210\311HI\266\301!>\204@\302\303\304D\"\210\211\312H\203n\301!>\204U\302\303\304D\"\210\211\312\301!>\204h\302\303\304D\"\210\312HI\266\301!>\204}\302\303\304D\"\210\211\313H\203\253\301!>\204\222\302\303\304D\"\210\211\313\301!>\204\245\302\303\304D\"\210\313HI\266\301!>\204\272\302\303\304D\"\210\211\314\315\301!>\204\317\302\303\304D\"\210\314H\301!>\204\343\302\303\304D\"\210\314H\"I\266\207" [cl-struct-htmlize-fstruct-tags type-of signal wrong-type-argument htmlize-fstruct 1 2 4 5 6 7 8 3 htmlize-merge-size] 11 (#$ . 38674)]) #@21 (fn FSTRUCT-LIST) (defalias 'htmlize-merge-faces #[257 "\211\204\300\301\302\211\211\211\211\211\211\211\211&\n\207\211A\204\211@\207\303\304\300\301\302\211\211\211\211\211\211\211\211&\nB\"\207" [record htmlize-fstruct nil reduce htmlize-merge-two-faces] 14 (#$ . 40039)]) #@32 (fn ATTRLIST &optional NAME) (defalias 'htmlize-attrlist-to-fstruct #[513 "\301\302\303\211\211\211\211\211\211\211\211&\n@\304=\2031\305!>\204#\306\307\302D\"\210\211\211\310\311A!I\266\202z@\312=\203U\305!>\204G\306\307\302D\"\210\211\211\313\311A!I\266\202z\203z\211A\262\242\211A\262\242\211\203u\211\314=\204u\315#\210\266\202U\305!>\204\211\306\307\302D\"\210\211\211\316\206\221\317I\266\207" [cl-struct-htmlize-fstruct-tags record htmlize-fstruct nil foreground-color type-of signal wrong-type-argument 1 htmlize-color-to-rgb background-color 2 unspecified htmlize-face-set-from-keyword-attr 9 "custom"] 13 (#$ . 40327)]) #@70 Turn face property PROP into a list of face-like objects. (fn PROP) (defalias 'htmlize-decode-face-prop #[257 "\211\204\300\207\2119\203\301!\205W\211C\207\211;\203$\301\302!!\205W\211C\207\211:\204+\300\207\211@9\203?\303@!\304H\305=\203?\211C\207\211@\306=\204M\211@\307=\203P\211C\207\310\311\312\313\"\"\207" [nil facep intern-soft symbol-name 0 58 foreground-color background-color apply nconc mapcar htmlize-decode-face-prop] 6 (#$ . 41005)]) #@13 (fn FACE) (defalias 'htmlize-get-override-fstruct #[257 "\301\"\211;\203\302D\202\211<\203\211\202\303\304\305\"!\211\205(\306\307!\"\207" [htmlize-face-overrides plist-get :foreground error format "face override must be an attribute list or string, got %s" htmlize-attrlist-to-fstruct symbol-name] 7 (#$ . 41477)]) #@14 (fn FACES) (defalias 'htmlize-make-face-map #[257 "\301\302\303\"\304\211\203t\211@\305\"\204m\306!\307#\266\310!>\204.\311\312\313D\"\210\211\314H\211\315\235\203H\316\317T\211\262#\262\2023\232\204e\310!>\204^\311\312\313D\"\210\211\314I\266B\262\266A\266\202\202\210\207" [cl-struct-htmlize-fstruct-tags make-hash-table :test equal nil gethash htmlize-face-to-fstruct puthash type-of signal wrong-type-argument htmlize-fstruct 9 0 format "%s-%s"] 14 (#$ . 41816)]) #@84 If FACE is a string, return it interned, otherwise return it unchanged. (fn FACE) (defalias 'htmlize-unstringify-face #[257 "\211;\203 \300!\207\207" [intern] 3 (#$ . 42337)]) #@159 Return a list of faces used in the current buffer. This is the set of faces specified by the `face' text property and by buffer overlays that specify `face'. (defalias 'htmlize-faces-in-buffer #[0 "\300e\300\211dW\203*\301\302\"\262\303\302\"\206d\262\304\305!\306\307$\262\211\262\202\266\310ed\"\211\203L\211@\311\302\"\304\305!\306\307$\262\210A\266\202\2020\210\207" [nil get-text-property face next-single-property-change nunion htmlize-decode-face-prop :test equal overlays-in overlay-get] 9 (#$ . 42523)]) (byte-code "\301Y\203\302\303\304\"\210\202\302\303\305\"\210\301\207" [emacs-major-version 25 defalias htmlize-sorted-overlays-at #[257 "\300\301\"\207" [overlays-at t] 4 "\n\n(fn POS)"] #[257 "\300!\301\302\303\304$\262\305\302\303\306$\262\211\237\207" [overlays-at sort* < :key #[257 "\300!\301!Z\207" [overlay-end overlay-start] 4 "\n\n(fn O)"] stable-sort #[257 "\300\301\"\211\247\203\n\207\302\207" [overlay-get priority 0] 4 "\n\n(fn O)"]] 7 "\n\n(fn POS)"]] 3) (defalias 'htmlize-faces-at-point #[0 "\300\301`\302\"\303!\237\266\202\304\305\306`!\237\"\300\211\211\203/\211@\307\302\"\262\303!\244\262A\266\202\202\210\244\207" [nil get-text-property face htmlize-decode-face-prop delete-if-not #[257 "\300\301\"\207" [overlay-get face] 4 "\n\n(fn O)"] htmlize-sorted-overlays-at overlay-get] 9]) #@26 (fn METHOD &rest ARGS) (defalias 'htmlize-method '(macro . #[385 "\300\301\302DDBB\207" [funcall htmlize-method-function quote] 6 (#$ . 43900)])) #@15 (fn METHOD) (defalias 'htmlize-method-function #[257 "\301\302\303#!\304\305!\203\202&\301\306\307!P!\305!\203#\211\202$\310\262!\207" [htmlize-output-type intern format "htmlize-%s-%s" indirect-function fboundp "htmlize-default-" symbol-name ignore] 7 (#$ . 44056)]) (defvar htmlize-memoization-table (make-hash-table :test 'equal)) #@245 Return the value of GENERATOR, memoized as KEY. That means that GENERATOR will be evaluated and returned the first time it's called with the same value of KEY. All other times, the cached (memoized) value will be returned. (fn KEY GENERATOR) (defalias 'htmlize-memoize '(macro . #[514 "\300 \301\302\303BBDC\304\305E\306\302 \307BBEFF\207" [gensym let gethash (htmlize-memoization-table) unless setq setf (htmlize-memoization-table)] 12 (#$ . 44411)])) #@52  (defalias 'htmlize-default-doctype #[0 "\300\207" [""] 1 (#$ . 44882)]) #@17 (fn FACE-MAP) (defalias 'htmlize-default-body-tag #[257 "\300\207" [""] 2 (#$ . 45063)]) #@17 (fn FACE-MAP) (defalias 'htmlize-default-pre-tag #[257 "\300\207" ["
"] 2 (#$ . 45166)])
#@16 

(fn FSTRUCT)
(defalias 'htmlize-css-specs #[257 "\302\303!>\204\304\305\306D\"\210\307H\203/\310\311\303!>\204(\304\305\306D\"\210\307H\"C\262\303!>\204>\304\305\306D\"\210\312H\203^\310\313\303!>\204V\304\305\306D\"\210\312H\"B\262\303!>\204m\304\305\306D\"\210\314H\211\203\235	\315=\204\235\316!\203\215\310\317\320_\"B\266\202\202\236	\321=\204\235\310\322\323\245\"B\262\210\303!>\204\255\304\305\306D\"\210\324H\203\270\325B\262\303!>\204\307\304\305\306D\"\210\326H\203\322\327B\262\303!>\204\341\304\305\306D\"\210\330H\203\354\331B\262\303!>\204\373\304\305\306D\"\210\332H\203\333B\262\303!>\204\304\305\306D\"\210\334H\203 \335B\262\211\237\207" [cl-struct-htmlize-fstruct-tags htmlize-ignore-face-size nil type-of signal wrong-type-argument htmlize-fstruct 1 format "color: %s;" 2 "background-color: %s;" 3 t floatp "font-size: %d%%;" 100 absolute "font-size: %spt;" 10.0 4 "font-weight: bold;" 5 "font-style: italic;" 6 "text-decoration: underline;" 7 "text-decoration: overline;" 8 "text-decoration: line-through;"] 8 (#$ . 45267)])
#@30 

(fn BUFFER-FACES FACE-MAP)
(defalias 'htmlize-css-insert-head #[514 "\302c\210\303\304\305\306\307\310\"!\311#\312\261\210\313\314!\315\316\317\320\"$\211\203\215\211@\307\"\321!\322\323\"\203>\324\325\326\211$\262\202,\322\327\"\203P\324\330\326\211$\262\202>\211\262\306!\331\332!>\204g\333\334\335D\"\210\336H\261\210\211\204w\337c\210\202\202\340\341\304\305\311#\261\210\312c\266A\266\202\202\210	\342\261\207" [cl-struct-htmlize-fstruct-tags htmlize-hyperlink-style "    \n"] 14 (#$ . 46408)])
#@28 

(fn FSTRUCT-LIST BUFFER)
(defalias 'htmlize-css-text-markup #[514 "\211\203.\211@\301\302\"\210\301\303!>\204\304\305\306D\"\210\307H\"\210\301\310\"\210A\266\202\202\210\311\312#\207" [cl-struct-htmlize-fstruct-tags princ "" make-closure #[0 "\300\211\205\211@\302\303\301\"\210A\266\202\202\207" [V0 V1 princ ""] 5]] 9 (#$ . 47532)])
#@17 

(fn FACE-MAP)
(defalias 'htmlize-inline-css-body-tag #[257 "\300\301\302\303\304\305\306\"!\307#\"\207" [format "" mapconcat identity htmlize-css-specs gethash default " "] 9 (#$ . 47979)])
#@17 

(fn FACE-MAP)
(defalias 'htmlize-inline-css-pre-tag #[257 "\203\301\302\303\304\305\306\307\"!\310#\"\207\301\311!\207" [htmlize-pre-style format "
" mapconcat identity htmlize-css-specs gethash default " " "
"] 9 (#$ . 48198)])
#@28 

(fn FSTRUCT-LIST BUFFER)
(defalias 'htmlize-inline-css-text-markup #[514 "\301!\302\"\211\204&\303!\211\205\304\305\303!\306#\262\262\307#\266\211\262\211\203<\310\311\"\210\310\"\210\310\312\"\210\211\313\314#\207" [htmlize-memoization-table htmlize-merge-faces gethash htmlize-css-specs mapconcat identity " " puthash princ "" make-closure #[0 "\300\205\302\303\301\"\207" [V0 V1 princ ""] 3]] 10 (#$ . 48461)])
#@17 

(fn FACE-MAP)
(defalias 'htmlize-font-body-tag #[257 "\301\302\"\303\304\305!>\204\306\307\310D\"\210\311H\305!>\204(\306\307\310D\"\210\312H#\207" [cl-struct-htmlize-fstruct-tags gethash default format "" type-of signal wrong-type-argument htmlize-fstruct 1 2] 9 (#$ . 48937)])
#@17 

(fn FACE-MAP)
(defalias 'htmlize-font-pre-tag #[257 "\2031\302\303\"\304\305\306!	>\204\307\310\311D\"\210\312H\306!	>\204,\307\310\311D\"\210\313H#\207\304\314!\207" [htmlize-pre-style cl-struct-htmlize-fstruct-tags gethash default format "
" type-of signal wrong-type-argument htmlize-fstruct 1 2 "
"] 9 (#$ . 49270)])
#@28 

(fn FSTRUCT-LIST BUFFER)
(defalias 'htmlize-font-text-markup #[514 "\302!\303\"\211\204\304!	>\204\305\306\307D\"\210\310H\2056\311\312\304!	>\2042\305\306\307D\"\210\310H\"\304!	>\204E\305\306\307D\"\210\313H\205L\314\304!	>\204\\\305\306\307D\"\210\315H\205c\316\304!	>\204s\305\306\307D\"\210\317H\205z\320\304!	>\204\213\305\306\307D\"\210\321H\205\222\322\260\304!	>\204\243\305\306\307D\"\210\321H\205\252\323\304!	>\204\272\305\306\307D\"\210\317H\205\301\324\304!	>\204\321\305\306\307D\"\210\315H\205\330\325\304!	>\204\351\305\306\307D\"\210\313H\205\360\326\304!	>\204\305\306\307	D\"\210\310H\205	\327\260B\262\330#\266\211\262\331@\"\210\211\332\333#\207" [htmlize-memoization-table cl-struct-htmlize-fstruct-tags htmlize-merge-faces gethash type-of signal wrong-type-argument htmlize-fstruct 1 format "" 4 "" 5 "" 6 "" 8 "" "" "" "" "" "" puthash princ make-closure #[0 "\302\300A\301\"\207" [V0 V1 princ] 3]] 13 (#$ . 49647)])
(defalias 'htmlize-buffer-1 #[0 "\212\212\306\307!\210)\310 \210\311!\210\311	!\210\312\313 \203!\314\315\313 !!\202\"\316!\317C\320\321#\216\322 \323\324>\2038\202;\324B!\325 \313 \203J\315\313 !\202L\326 \n\203S\327 \210\203Z\330 \210rq\210\331 \210\332\333! \334\335\336\f
#\337\261\210\340\341\342 #\210\343\344\345!\346@\203\211\335\347@\"\202\212\350A\261\210\332\351!\"\210\352c\210\340\353\342 #\210\354c\210\340\355\342 #\210\332\356!!\357\261\210\340\360\342 #\210\332\361!!\362\261\210)\332\363!\317\211\211\211\211\211\364eb\210m\204'\365`!\262\366 \262\367\317\370\320\371\"\"\"\262\372`#\211@\262\211A@\262\210G\373V\203 \374\"\204\211 \210\262\"\262\375\"\210b\210\202\321\211 \266	rq\210\376c\210\340\377\342 #\210\201Dc\210\340\201E\342 #\210\201Fc\210\201G \210eb\210B\203]B \210\201H\201C!\210\201I!C\306\201J!\210\201K \210)\201L\240\210\266\204)\266\202)\207" [htmlize-extended-character-cache htmlize-memoization-table htmlize-generate-hyperlinks htmlize-replace-form-feeds htmlize-version htmlize-output-type run-hooks htmlize-before-hook htmlize-ensure-fontified clrhash generate-new-buffer buffer-file-name htmlize-make-file-name file-name-nondirectory "*html*" nil make-closure #[0 "\301\242\204	\302\300!\210\303 \207" [V0 V1 kill-buffer htmlize-delete-tmp-overlays] 2] htmlize-faces-in-buffer htmlize-make-face-map default gensym buffer-name htmlize-create-auto-links htmlize-shadow-form-feeds buffer-disable-undo htmlize-method-function doctype 10 format "\n" "\n  " put head-start point-marker "\n" "    " htmlize-protect-string "\n" "    \n" "" insert-head "  " head-end "\n  " body-start body-tag "\n    " content-start pre-tag "\n" text-markup #[0 "\300\207" [nil] 1] htmlize-next-face-change htmlize-faces-at-point delq mapcar #[257 "\301\300\"\207" [V0 gethash] 4 "\n\n(fn F)"] htmlize-extract-text 0 equalp princ "
" content-end htmlize-html-charset htmlize-head-tags htmlize-html-major-mode htmlize-buffer-places "\n " body-end "\n\n" htmlize-defang-local-variables make-local-variable symbol-plist htmlize-after-hook buffer-enable-undo t] 20]) #@19 (fn &rest BODY) (defalias 'htmlize-with-fontify-message '(macro . #[128 "\300\301\302\303\"BB\207" [progn (if (> (buffer-size) 65536) (message "Forcing fontification of %s..." (buffer-name (current-buffer)))) append ((if (> (buffer-size) 65536) (message "Forcing fontification of %s...done" (buffer-name (current-buffer)))))] 6 (#$ . 53085)])) (defalias 'htmlize-ensure-fontified #[0 "\205?\301\302!\2030\302J\2030\303 \304V\203\305\306\307p!\"\210\310ed\"\210\303 \304V\2030\305\311\307p!\"\210\312\313!\2039\313 \207\300\314!\210\315 \207" [font-lock-mode boundp jit-lock-mode buffer-size 65536 message "Forcing fontification of %s..." buffer-name jit-lock-fontify-now "Forcing fontification of %s...done" fboundp font-lock-ensure 1 font-lock-fontify-buffer] 4]) #@686 Convert BUFFER to HTML, preserving colors and decorations. The generated HTML is available in a new buffer, which is returned. When invoked interactively, the new buffer is selected in the current window. The title of the generated document will be set to the buffer's file name or, if that's not available, to the buffer's name. Note that htmlize doesn't fontify your buffers, it only uses the decorations that are already present. If you don't set up font-lock or something else to fontify your buffers, the resulting HTML will be plain. Likewise, if you don't like the choice of colors, fix the mode that created them, or simply alter the faces it uses. (fn &optional BUFFER) (defalias 'htmlize-buffer #[256 "r\211\206pq\210\300 )\301 \203\302!\210\207" [htmlize-buffer-1 interactive-p switch-to-buffer] 4 (#$ . 53868) nil]) #@112 Convert the region to HTML, preserving colors and decorations. See `htmlize-buffer' for details. (fn BEG END) (defalias 'htmlize-region #[514 "\300\301!\203 \301 \210\214}\210\302 )\303 \203\304!\210\207" [fboundp zmacs-deactivate-region htmlize-buffer-1 interactive-p switch-to-buffer] 5 (#$ . 54714) "r"]) #@240 Htmlize the region and return just the HTML as a string. This forces the `inline-css' style and only returns the HTML body, but without the BODY tag. This should make it useful for inserting the text to another HTML buffer. (fn BEG END) (defalias 'htmlize-region-for-paste #[514 "\302\303\"\304\305\"\216r\211q\210\306 \307\"\306 \310\"{+\207" [htmlize-output-type htmlize-buffer-places inline-css htmlize-region make-closure #[0 "\301\300!\207" [V0 kill-buffer] 2] plist-get content-start content-end] 7 (#$ . 55036)]) #@242 Save the htmlized (see `htmlize-region-for-paste') region in the kill ring. Uses `inline-css', with style information in `
' tags, so that the rendering of the marked up text
approximates the buffer as closely as possible.

(fn BEG END)
(defalias 'htmlize-region-save-screenshot #[514 "\301\302\303\"!\210)\304 \207" [htmlize-pre-style t kill-new htmlize-region-for-paste deactivate-mark] 6 (#$ . 55569) "r"])
#@433 Make an HTML file name from FILE.

In its default implementation, this simply appends `.html' to FILE.
This function is called by htmlize to create the buffer file name, and
by `htmlize-file' to create the target file name.

More elaborate transformations are conceivable, such as changing FILE's
extension to `.html' ("file.c" -> "file.html").  If you want them,
overload this function to do it and htmlize will comply.

(fn FILE)
(defalias 'htmlize-make-file-name #[257 "\211\300P\207" [".html"] 3 (#$ . 55993)])
#@850 Load FILE, fontify it, convert it to HTML, and save the result.

Contents of FILE are inserted into a temporary buffer, whose major mode
is set with `normal-mode' as appropriate for the file type.  The buffer
is subsequently fontified with `font-lock' and converted to HTML.  Note
that, unlike `htmlize-buffer', this function explicitly turns on
font-lock.  If a form of highlighting other than font-lock is desired,
please use `htmlize-buffer' directly on buffers so highlighted.

Buffers currently visiting FILE are unaffected by this function.  The
function does not change current buffer or move the point.

If TARGET is specified and names a directory, the resulting file will be
saved there instead of to FILE's directory.  If TARGET is specified and
does not name a directory, it will be used as output file name.

(fn FILE &optional TARGET)
(defalias 'htmlize-file #[513 "\211\203\305!\204\211\202\306\307\310!!\206\311!\"\312\211\211\211\313\314\315\"r\211q\210\316\317\"\216\320!\210\321 \210r\322 q\210\323\216\324\325!\210\326ed#\210-\210,\210\312\207" [font-lock-maximum-size global-font-lock-mode font-lock-auto-fontify font-lock-mode buffer-file-name file-directory-p expand-file-name htmlize-make-file-name file-name-nondirectory file-name-directory nil generate-new-buffer " *temp*" t make-closure #[0 "\301\300!\205	\302\300!\207" [V0 buffer-name kill-buffer] 2] insert-file-contents normal-mode htmlize-buffer-1 #[0 "\300p!\207" [kill-buffer] 2] run-hooks htmlize-file-hook write-region] 8 (#$ . 56515) (byte-code "\300\301\302\211\211\303 \205\304\303 !%C\207" [read-file-name "HTML-ize file: " nil buffer-file-name file-name-nondirectory] 7)])
#@503 Convert FILES to HTML and save the corresponding HTML versions.

FILES should be a list of file names to convert.  This function calls
`htmlize-file' on each file; see that function for details.  When
invoked interactively, you are prompted for a list of files to convert,
terminated with RET.

If TARGET-DIRECTORY is specified, the HTML files will be saved to that
directory.  Normally, each HTML file is saved to the directory of the
corresponding source file.

(fn FILES &optional TARGET-DIRECTORY)
(defalias 'htmlize-many-files #[513 "\211\203\300!\204\301\302\"\210\211\205\"\211@\303\"\210A\266\202\202\207" [file-directory-p error "target-directory must name a directory: %s" htmlize-file] 7 (#$ . 58211) (byte-code "\300\211\301\302\205\f\303@!\304\305$\211\262\304\232\204\211B\262\202\237\266\202C\207" [nil read-file-name "HTML-ize file (RET to finish): " file-name-directory "" t] 7)])
#@66 HTMLize dired-marked files.

(fn ARG &optional TARGET-DIRECTORY)
(defalias 'htmlize-many-files-dired #[513 "\300\301\302\"\"\207" [htmlize-many-files dired-get-marked-files nil] 6 (#$ . 59139) "P"])
(provide 'htmlize)