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


#@66 If non-nil, give status messages when reading and writing files.#@2 #@228 Face used for text that must be shown in fixed width.
Currently, Emacs can only display fixed-width fonts, but this may change.
This face is used for text specifically marked as fixed-width, for example
in text/enriched files.
(byte-code "\300\301!\210\302\303\304\305\306\307%\210\310\311\312\313\314DD\315\316\317%\207" [require facemenu custom-declare-group enriched nil "Read and save files in text/enriched format." :group text custom-declare-variable enriched-verbose funcall function #[0 "\300\207" [t] 1 (#$ . 152)] (#$ . 83) :type boolean] 6)
(custom-declare-face 'fixed '((t (:weight bold))) '(#$ . 159))#@134 Face used for text that is an excerpt from another document.
This is used in Enriched mode for text explicitly marked as an excerpt.
(custom-declare-face 'excerpt '((t (:slant italic))) '(#$ . 780))
(defconst enriched-display-table (byte-code "\301!\206 \302 \207" [standard-display-table copy-sequence make-display-table] 2))#@120 Text-properties that usually apply to whole paragraphs.
These are set front-sticky everywhere except at hard newlines.
(byte-code "\301\302\303 S\304\"I\207" [enriched-display-table 12 make-vector frame-width 45] 5)
(defconst enriched-par-props '(left-margin right-margin justification) (#$ . 1115))#@191 What to insert at the start of a text/enriched file.
If this is a string, it is inserted.  If it is a list, it should be a lambda
expression, which is evaluated to get the string to insert.
(defconst enriched-initial-annotation #[0 "\301\302\"\207" [fill-column format "Content-Type: text/enriched\nText-Width: %d\n\n"] 3] (#$ . 1422))#@46 General format of enriched-text annotations.
(defconst enriched-annotation-format "<%s%s>" (#$ . 1764))#@56 Regular expression matching enriched-text annotations.
(defconst enriched-annotation-regexp "<\\(/\\)?\\([-A-Za-z0-9]+\\)>" (#$ . 1873))#@149 List of definitions of text/enriched annotations.
See `format-annotate-region' and `format-deannotate-region' for the definition
of this structure.
(defvar enriched-translations '((face (bold-italic "bold" "italic") (bold "bold") (italic "italic") (underline "underline") (fixed "fixed") (excerpt "excerpt") (default) (nil enriched-encode-other-face)) (left-margin (4 "indent")) (right-margin (4 "indentright")) (justification (none "nofill") (right "flushright") (left "flushleft") (full "flushboth") (center "center")) (PARAMETER (t "param")) (FUNCTION (enriched-decode-foreground "x-color") (enriched-decode-background "x-bg-color") (enriched-decode-display-prop "x-display") (enriched-decode-charset "x-charset")) (read-only (t "x-read-only")) (display (nil enriched-handle-display-prop)) (charset (nil enriched-handle-charset-prop)) (unknown (nil format-annotate-value))) (#$ . 2016))#@176 Properties that are OK to ignore when saving text/enriched files.
Any property that is neither on this list nor dealt with by
`enriched-translations' will generate a warning.
(defconst enriched-ignore '(front-sticky rear-nonsticky hard) (#$ . 2912))#@258 Hook run after entering/leaving Enriched mode.
If you set variables in this hook, you should arrange for them to be restored
to their old values if you leave Enriched mode.  One way to do this is to add
them and their old values to `enriched-old-bindings'.#@586 If non-nil, allow evaluating arbitrary forms in display properties.

Enriched mode recognizes display properties of text stored using
an extension command to the text/enriched format, "x-display".
These properties must not, by default, include evaluation of
Lisp forms, otherwise they are not applied.  Customize this option
to t to turn off this safety feature, and allow Enriched mode to
apply display properties which evaluate arbitrary Lisp forms.
Note, however, that applying unsafe display properties could
execute malicious Lisp code, if that code came from an external source.#@111 Store old variable values that we change when entering mode.
The value is a list of (VAR VALUE VAR VALUE...).
(byte-code "\300\301\302\303\304DD\305\306\307%\210\300\310\302\303\311DD\312\313\314\306\315\316\317&	\207" [custom-declare-variable enriched-mode-hook funcall function #[0 "\300\207" [nil] 1 (#$ . 152)] (#$ . 3168) :type hook enriched-allow-eval-in-display-props #[0 "\300\207" [nil] 1 (#$ . 152)] (#$ . 3431) :risky t boolean :version "26.1"] 10)
(defvar enriched-old-bindings nil (#$ . 4022))
(make-variable-buffer-local 'enriched-old-bindings)
(defvar enriched-default-text-properties-local-flag t)
(defvar enriched-rerun-flag nil)#@27 Keymap for Enriched mode.
(defvar enriched-mode-map (byte-code "\300 \301\302\303#\210\301\304\303#\210\301\305\306#\210\301\307\310#\210\301\311\312#\210\301\313\314#\210\301\315\316#\210\301\317\320#\210\301\321\322#\210\207" [make-sparse-keymap define-key "" reindent-then-newline-and-indent [remap newline-and-indent] "\352" facemenu-justification-menu "\323" set-justification-center "	" increase-left-margin "[" set-left-margin "]" set-right-margin "\357" facemenu-keymap "\357m" enriched-toggle-markup] 5) (#$ . 4674))#@95 Non-nil if Enriched mode is enabled.
Use the command `enriched-mode' to change this variable.
(put 'enriched-mode 'permanent-local t)
(defvar enriched-mode nil (#$ . 5218))#@893 Minor mode for editing text/enriched files.

These are files with embedded formatting information in the MIME standard
text/enriched format.

Turning the mode on or off runs `enriched-mode-hook'.

More information about Enriched mode is available in the file
"enriched.txt" in `data-directory'.

Commands:

\{enriched-mode-map}

This is a minor mode.  If called interactively, toggle the `Enriched
mode' mode.  If the prefix argument is positive, enable the mode, and if
it is zero or negative, disable the mode.

If called from Lisp, toggle the mode if ARG is `toggle'.  Enable the
mode if ARG is nil, omitted, or is a positive number.  Disable the mode
if ARG is a negative number.

To check whether the minor mode is enabled in the current buffer,
evaluate the variable `enriched-mode'.

The mode's hook is called both when the mode is enabled and when it is
disabled.

(fn &optional ARG)
(make-variable-buffer-local 'enriched-mode)
(defalias 'enriched-mode #[256 "\306 \307=\203 ?\202 \247\203 \310W\203 \311\202 \312\313\301!\2031 \314\300	\"\2031 \300	B\204j \315\316\317\320#\210\314\321\n\"\203S \211A\242\211A\242L\210\202@ \f\204[ \322\323!\210\322\304!\210\204\300 \305\324!\210\202\300 \321\n>\203u .\203\300 \325\316\317\311\320$\210\326\302\321\"\210\327\323\305\257\330\304!\210\331\323!\330\323!\210/\305\310.\205\244 \332\"\210\333\3340\335\336\337\"!\"!\211\203\277 \340\337#\210\341\342\203\312 \343\202\313 \344\"\210\345\346!\203\356 \306 \203\337 \211\306 \232\203\356 \347\350\351\203\352 \352\202\353 \353\354$\210\210\355 \207" [enriched-mode local-minor-modes buffer-file-format enriched-old-bindings enriched-default-text-properties-local-flag use-hard-newlines current-message toggle 1 nil t boundp delq remove-hook change-major-mode-hook enriched-before-change-major-mode local text/enriched kill-local-variable default-text-properties 0 add-hook add-to-list buffer-display-table make-local-variable local-variable-p never delete-dups append copy-sequence plist-get front-sticky plist-put run-hooks enriched-mode-hook enriched-mode-on-hook enriched-mode-off-hook called-interactively-p any message "%s %sabled%s" "Enriched mode" "en" "dis" " in current buffer" force-mode-line-update enriched-rerun-flag enriched-display-table enriched-par-props] 10 (#$ . 5397) (byte-code "\203\n \301!\202 \302C\207" [current-prefix-arg prefix-numeric-value toggle] 2)])
(defvar enriched-mode-hook nil)
(byte-code "\301\302N\204\f \303\301\302\304#\210\303\301\305\306#\210\303\301\307\310C#\210\311\312\313\314\300!\205# \310\211%\207" [enriched-mode-map enriched-mode-hook variable-documentation put "Hook run after entering or leaving `enriched-mode'.\nNo problems result if this variable is not bound.\n`add-hook' automatically binds it.  (This is true for all hook variables.)" custom-type hook standard-value nil add-minor-mode enriched-mode " Enriched" boundp] 6)
(defalias 'enriched-before-change-major-mode #[0 "\205 	\205 	\211A\242	\211A\242L\210\202 \207" [enriched-mode enriched-old-bindings] 3])
(defalias 'enriched-after-change-major-mode #[0 "\205\n \302\300\303!)\207" [enriched-mode enriched-rerun-flag t 1] 2])#@412 Apply a function to regions of the buffer based on a text property.
For each contiguous region of the buffer for which the value of PROPERTY is
eq, the FUNCTION will be called.  Optional arguments FROM and TO specify the
region over which to scan.

The specified function receives three arguments: the VALUE of the property in
the region, and the START and END of each region.

(fn PROP FUNC &optional FROM TO)
(byte-code "\301\302\303\"\210\300M\207" [enriched-mode-map add-hook after-change-major-mode-hook enriched-after-change-major-mode] 3)
(defalias 'enriched-map-property-regions #[1026 "\212\214\211\203\n e}\210\206 eb\210`\300\301 \302`\"\303d\n$\211\262\203D \300\223\210\304!#\210\304!\262\302	\"\262\202 dW\205P d#*\207" [nil make-marker get-text-property text-property-not-all marker-position] 13 (#$ . 8604)])#@69 Indent and justify each line in the region.

(fn &optional FROM TO)
(put 'enriched-map-property-regions 'lisp-indent-hook 1)
(defalias 'enriched-insert-indentation #[512 "\212\214\211\203\n e}\210\206 eb\210n\204 \300y\210m?\2051 l\204+ \301 j\210\302\303\304\303#\210\300y\210\202 *\207" [1 current-left-margin justify-current-line t nil] 6 (#$ . 9462)])#@25 

(fn FROM TO ORIG-BUF)#@14 

(fn V B E)
(defalias 'enriched-encode #[771 "\203 \305\306!\210\307\214}\210\310 \210\311 \210b\210\312\313!\210\314\315d\n\316%!\210b\210\f;\2032 \f\202= \212\211\203: \211q\210\f )c\210\317\320\321`\322$\210\203N \305\322!\210d*\207" [enriched-verbose inhibit-read-only enriched-translations enriched-ignore enriched-initial-annotation message "Enriched: encoding document..." t delete-to-left-margin unjustify-region format-replace-strings (("<" . "<<")) format-insert-annotations format-annotate-region enriched-make-annotation enriched-map-property-regions hard #[771 "\205 f\300U\205 b\210\301c\207" [10 "\n"] 5 (#$ . 9857)] nil] 10 (#$ . 9828)])#@227 Format an annotation INTERNAL-ANN.
INTERNAL-ANN may be a string, for a flag, or a list of the form (PARAM VALUE).
If POSITIVE is non-nil, this is the opening annotation;
if nil, the matching close.

(fn INTERNAL-ANN POSITIVE)#@10 

(fn I)
(defalias 'enriched-make-annotation #[514 ";\203 \301\203 \302\202 \303#\207\211\203' @A\301\302#\304\305\302#P\207\301\303@#\207" [enriched-annotation-format format "" "/" mapconcat #[257 "\300\301Q\207" ["<param>" "</param>"] 4 (#$ . 10764)]] 9 (#$ . 10533)])#@133 Generate annotations for random face change.
One annotation each for foreground color, background color, italic, etc.

(fn OLD NEW)
(defalias 'enriched-encode-other-face #[514 "\205 \300!\205 \300!B\207" [enriched-face-ans] 5 (#$ . 11056)])#@210 Return annotations specifying FACE.
FACE may be a list of faces instead of a single face;
it can also be anything allowed as an element of a list
which can be the value of the `face' text property.

(fn FACE)
(defalias 'enriched-face-ans #[257 "\211:\203 \211@\301=\203 \302ADC\207\211:\203$ \211@\303=\203$ \304ADC\207\211<\2037 \211@\305=\2037 \302A@DC\207\211<\203J \211@\306=\203J \304A@DC\207\211<\203W \307\310\311\312\"\"\207\313\305\"\313\306\"\313\314\"\313\315\"\316\317\"\320\321\322$A\323=\204\200 \302DB\262\323=\204\215 \304DB\262\324=\203\231 \325CB\262\326=\203\245 \327CB\262\207" [enriched-translations foreground-color "x-color" background-color "x-bg-color" :foreground :background apply append mapcar enriched-face-ans face-attribute :weight :slant face-font t format-annotate-single-property-change face nil unspecified bold "bold" italic "italic"] 11 (#$ . 11309)])#@16 

(fn FROM TO)
(defalias 'enriched-decode #[514 "\203 \303\304!\210\305\306\307\"\210\212\214}\210b\210\310 \311 \210\312\313\314\315#\2035 \316 \203, \317\320!\210\321\322\224`\"\210\202 \323d	\324$\210\211\203P \211\203J \303\325!\210\326 \210\202] \203X \303\327!\210\330ed\"\210\203e \303\314!\210\210d*\207" [enriched-verbose enriched-translations fill-column message "Enriched: decoding document..." use-hard-newlines 1 never enriched-get-file-width enriched-remove-header search-forward-regexp "\n\n+" nil t current-justification delete-char -1 set-hard-newline-properties 0 format-deannotate-region enriched-next-annotation "Indenting..." enriched-insert-indentation "Filling paragraphs..." fill-region] 8 (#$ . 12232)])#@170 Find and return next text/enriched annotation.
Any "<<" strings encountered are converted to "<".
Return value is (begin end name positive-p), or nil if none was found.
(defalias 'enriched-next-annotation #[0 "\301\302\303\304#\2033 \305\224b\210\306\307 8\204 \310!\2043 \304u\210`f\311=\203* \312\304!\210\202  \313\314`S\"\210\202  m?\205L \305\224\305\225\315\224\315\225{\227\304\224?F\266\204\207" [enriched-annotation-regexp search-forward "<" nil 1 0 3 syntax-ppss looking-at 60 delete-char message "Warning: malformed annotation in file at %s" 2] 8 (#$ . 12978)])#@47 Look for file width information on this line.
(defalias 'enriched-get-file-width #[0 "\212\300\301`\302\\\303#\205 \304p!)\207" [search-forward "Text-Width: " 1000 t read] 4 (#$ . 13562)])#@37 Remove file-format header at point.
(defalias 'enriched-remove-header #[0 "\300\301!\203 `\302\225|\210\202  \300\303!\205 \304\305!\207" [looking-at "^[-A-Za-z]+: .*\n" 0 "^\n" delete-char 1] 2 (#$ . 13757)])#@32 

(fn FROM TO &optional COLOR)
(defalias 'enriched-decode-foreground #[770 "\211\203\f \300\301DF\207\302\303!\304\207" [face :foreground message "Warning: no color specified for <x-color>" nil] 9 (#$ . 13974)])
(defalias 'enriched-decode-background #[770 "\211\203\f \300\301DF\207\302\303!\304\207" [face :background message "Warning: no color specified for <x-bg-color>" nil] 9 (#$ . 13974)])#@31 

(fn FROM TO &optional CSET)
(defalias 'enriched-decode-charset #[770 "\211;\205 \3001 \301!@0\202 \210\302\211\204 \303\304\"\210\305F\207" [(error) read-from-string nil message "Warning: invalid <x-charset> parameter %s" charset] 8 (#$ . 14381)])#@84 Return a list of annotations for a change in the `charset' property.

(fn OLD NEW)
(defalias 'enriched-handle-charset-prop #[514 "\205\n \300\301!DC\205 \300\301!DCB\207" ["x-charset" symbol-name] 6 (#$ . 14645)])#@323 Return a list of annotations for a change in the `display' property.
OLD is the old value of the property, NEW is the new value.  Value
is a list `(CLOSE OPEN)', where CLOSE is a list of annotations to
close and OPEN a list of annotations to open.  Each of these lists
has the form `(ANNOTATION PARAM ...)'.

(fn OLD NEW)
(defalias 'enriched-handle-display-prop #[514 "\300\206 !\204 \301\302DD\207\302DCC\207" [prin1-to-string nil "x-display"] 6 (#$ . 14870)])#@276 Decode a `display' property for text between START and END.
PARAM is a `<param>' found for the property.
Value is a list `(START END SYMBOL VALUE)' with START and END denoting
the range of text to assign text property SYMBOL with value VALUE.

(fn START END &optional PARAM)
(defalias 'enriched-decode-display-prop #[770 "\211;\205 \3011 \302!@0\202 \210\303\211\204 \304\305\"\210\203& \306F\207\306\307DF\207" [enriched-allow-eval-in-display-props (error) read-from-string nil message "Warning: invalid <x-display> parameter %s" display disable-eval] 9 (#$ . 15345)])#@53 Toggle whether to see markup in the current buffer.
(defalias 'enriched-toggle-markup #[0 "\212\214~\210\304 \305\211\305\306\307\"\216\310\303!\203H \203H \311\303!\210\312eb\210\312\313\314!\211\262\203< \315\316!\317!\314\312$\210\202% \210\320ed\"\210\321\322!\202W \311\303!\210\305\323edp#\210\321\324!.\207" [buffer-undo-list inhibit-read-only inhibit-modification-hooks enriched--markup-shown buffer-modified-p t make-closure #[0 "\300\301>\205	 \302\300!\207" [V0 (nil autosaved) restore-buffer-modified-p] 2] boundp make-local-variable nil text-property-search-forward face put-text-property prop-match-beginning prop-match-end enriched-decode enriched-mode 1 enriched-encode -1] 8 (#$ . 15933) nil])
(provide 'enriched)
