HOME


sh-3ll 1.0
DIR:/proc/self/root/usr/share/emacs/26.1/lisp/gnus/
Upload File :
Current File : //proc/self/root/usr/share/emacs/26.1/lisp/gnus/mm-util.elc
;ELC
;;; Compiled
;;; in Emacs version 26.1
;;; with all optimizations.

;;; This file uses dynamic docstrings, first added in Emacs 19.29.

;;; This file does not contain utf-8 non-ASCII characters,
;;; and so can be loaded in Emacs versions earlier than 23.

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;


(byte-code "\300\301!\210\300\302!\207" [require mail-prsvr timer] 2)
#@41 Convert Unicode codepoint to character.
(defalias 'mm-ucs-to-char #[(codepoint) "\301\302\"\206\303\207" [codepoint decode-char ucs 35] 3 (#$ . 478)])
(defvar mm-coding-system-list nil)
#@29 Get the coding system list.
(defalias 'mm-get-coding-system-list #[nil "\206\301 \211\207" [mm-coding-system-list coding-system-list] 2 (#$ . 673)])
#@37 Return CS if CS is a coding system.
(defalias 'mm-coding-system-p #[(cs) "\301!\205\207" [cs coding-system-p] 2 (#$ . 832)])
#@76 A mapping from unknown or invalid charset names to the real charset names.
(defvar mm-charset-synonym-alist (byte-code "\300\301\302!?\205	\303\301\304!?\205\305\301\306!?\205\307\301\310!?\205'\301\311!\205'\312\301\313!?\2059\301\314!\2038\315\2029\316\301\317!?\205G\301\320!\205G\321\301\322!?\205U\301\323!\205U\324\301\325!?\205c\301\326!\205c\327\301\330!?\205q\301\331!\205q\332\301\333!?\205\301\331!\205\334&\n\207" [append mm-coding-system-p x-ctext ((x-ctext . ctext)) iso-8859-15 ((iso-8859-15 . iso-8859-1)) big5-hkscs ((big5-hkscs . big5)) unicode utf-16-le ((unicode . utf-16-le)) ks_c_5601-1987 cp949 ((ks_c_5601-1987 . cp949)) ((ks_c_5601-1987 . euc-kr)) windows-31j cp932 ((windows-31j . cp932)) gbk cp936 ((gbk . cp936)) utf8 utf-8 ((utf8 . utf-8)) iso8859-1 iso-8859-1 ((iso8859-1 . iso-8859-1)) iso_8859-1 ((iso_8859-1 . iso-8859-1))] 12) (#$ . 967))
(byte-code "\300\301\302\303\304\305\306\307\310\311&	\210\312\301\313\314#\207" [custom-declare-variable mm-charset-eval-alist nil "An alist of (CHARSET . FORM) pairs.\nIf an article is encoded in an unknown CHARSET, FORM is\nevaluated.  This allows the loading of additional libraries\nproviding charsets on demand.  If supported by your Emacs\nversion, you could use `autoload-coding-system' here." :version "22.1" :type (list (repeat :inline t :tag "Other options" (cons (symbol :tag "charset") (symbol :tag "form")))) :group mime put risky-local-variable t] 10)
#@477 Return coding-system corresponding to CHARSET.
CHARSET is a symbol naming a MIME charset.
If optional argument LBT (`unix', `dos' or `mac') is specified, it is
used as the line break code type of the coding system.

If ALLOW-OVERRIDE is given, use `mm-charset-override-alist' to
map undesired charset names to their replacement.  This should
only be used for decoding, not for encoding.

A non-nil value of SILENT means don't issue a warning even if CHARSET
is not available.
(defalias 'mm-charset-to-coding-system #[(charset &optional lbt allow-override silent) ";\203\n\306\227!	\203\306\307\310	#!\204\207\311 \203'\312\313!\204)\207\n\203A\236A\211\205=\314\f!\205=\f)\206\315=\204P\316\317\320!\"\203R\321\207\314!\203Z\207\312\322!\203f\322!\206
\236\211@A\f\205\231\205\231\3231\210\324!0\202\214\210\202\215\210\314\f!\325\326\f\"\210\205\231\f+\206\236A\211\205\256\314\f!\205\256\f)\206\327\311 \327 \211!\203\346!@ \f\204\335\313 \330\"\206\326\313 \331\"=\203\335 !A\211!\204\277*\"\204\f\204\312\332!\203\377\332\333\334#\210\202\325\334\"\210\f)\207" [charset lbt allow-override mm-charset-override-alist cs mm-charset-eval-alist intern format "%s-%s" mm-get-coding-system-list fboundp coding-system-get mm-coding-system-p us-ascii string-match "ansi.x3.4" symbol-name ascii coding-system-from-name (error) eval message "Added charset `%s' via `mm-charset-eval-alist'" nil :mime-charset mime-charset gnus-message 7 "Unknown charset: %s" el form mm-charset-synonym-alist c --dolist-tail-- silent] 6 (#$ . 2436)])
#@202 A mapping from undesired charset names to their replacement.

You may add pairs like (iso-8859-1 . windows-1252) here,
i.e. treat iso-8859-1 as windows-1252.  windows-1252 is a
superset of iso-8859-1.
(custom-declare-variable 'mm-charset-override-alist ''((gb2312 . gbk) (iso-8859-1 . windows-1252) (iso-8859-8 . windows-1255) (iso-8859-9 . windows-1254)) '(#$ . 4058) :type '(list :convert-widget (lambda (widget) (let ((defaults (delq nil (mapcar (lambda (pair) (if (mm-charset-to-coding-system (cdr pair) nil nil t) pair)) '((gb2312 . gbk) (iso-8859-1 . windows-1252) (iso-8859-8 . windows-1255) (iso-8859-9 . windows-1254) (undecided . windows-1252))))) (val (copy-sequence (default-value 'mm-charset-override-alist))) pair rest) (while val (push (if (and (prog1 (setq pair (assq (caar val) defaults)) (setq defaults (delq pair defaults))) (equal (car val) pair)) `(const ,pair) `(cons :format "%v" (const :format "(%v" ,(caar val)) (symbol :size 3 :format " . %v)\n" ,(cdar val)))) rest) (setq val (cdr val))) (while defaults (push `(const ,(pop defaults)) rest)) (widget-convert 'list `(set :inline t :format "%v" ,@(nreverse rest)) `(repeat :inline t :tag "Other options" (cons :format "%v" (symbol :size 3 :format "(%v") (symbol :size 3 :format " . %v)\n"))))))) :set #[(symbol value) "\302\303\304\305\306	\"\"\"\207" [symbol value custom-set-default delq nil mapcar #[(pair) "\301A\302\211\303$\205\207" [pair mm-charset-to-coding-system nil t] 5]] 7] :version "22.1" :group 'mime)
#@28 100% binary coding system.
(defvar mm-binary-coding-system (byte-code "\300\301!\203\301\207\300\302!\203\302\207\303\207" [mm-coding-system-p binary no-conversion nil] 2) (#$ . 5561))
#@44 Text-safe coding system (For removing ^M).
(defvar mm-text-coding-system (byte-code "\302>\203\303\304!\203\304\207\303\305!\203\305\207	\207" [system-type mm-binary-coding-system (windows-nt ms-dos) mm-coding-system-p raw-text-dos raw-text] 2) (#$ . 5756))
#@31 Text coding system for write.
(defvar mm-text-coding-system-for-write nil (#$ . 6027))
#@34 Coding system of auto save file.
(defvar mm-auto-save-coding-system (byte-code "\302\303!\203\304>\203\302\305!\203\305\207	\207\303\207\302\306!\2030\307>\203.\302\310!\203,\310\207	\207\306\207\302\311!\2038\311\207	\207" [system-type mm-binary-coding-system mm-coding-system-p utf-8-emacs (windows-nt ms-dos) utf-8-emacs-dos emacs-mule (windows-nt ms-dos) emacs-mule-dos escape-quoted] 2) (#$ . 6120))
#@30 The universal coding system.
(defvar mm-universal-coding-system mm-auto-save-coding-system (#$ . 6543))
#@38 Alist of MIME-charset/MULE-charsets.
(defvar mm-mime-mule-charset-alist '((us-ascii ascii) (iso-8859-1 latin-iso8859-1) (iso-8859-2 latin-iso8859-2) (iso-8859-3 latin-iso8859-3) (iso-8859-4 latin-iso8859-4) (iso-8859-5 cyrillic-iso8859-5) (koi8-r cyrillic-iso8859-5 gnus-koi8-r) (iso-8859-6 arabic-iso8859-6) (iso-8859-7 greek-iso8859-7) (iso-8859-8 hebrew-iso8859-8) (iso-8859-9 latin-iso8859-9) (iso-8859-14 latin-iso8859-14) (iso-8859-15 latin-iso8859-15) (viscii vietnamese-viscii-lower) (iso-2022-jp latin-jisx0201 japanese-jisx0208 japanese-jisx0208-1978) (euc-kr korean-ksc5601) (gb2312 chinese-gb2312) (gbk chinese-gbk) (gb18030 gb18030-2-byte gb18030-4-byte-bmp gb18030-4-byte-smp gb18030-4-byte-ext-1 gb18030-4-byte-ext-2) (big5 chinese-big5-1 chinese-big5-2) (tibetan tibetan) (thai-tis620 thai-tis620) (windows-1251 cyrillic-iso8859-5) (iso-2022-7bit ethiopic arabic-1-column arabic-2-column) (iso-2022-jp-2 latin-iso8859-1 greek-iso8859-7 latin-jisx0201 japanese-jisx0208-1978 chinese-gb2312 japanese-jisx0208 korean-ksc5601 japanese-jisx0212) (iso-2022-int-1 latin-iso8859-1 greek-iso8859-7 latin-jisx0201 japanese-jisx0208-1978 chinese-gb2312 japanese-jisx0208 korean-ksc5601 japanese-jisx0212 chinese-cns11643-1 chinese-cns11643-2) (iso-2022-int-1 latin-iso8859-1 latin-iso8859-2 cyrillic-iso8859-5 greek-iso8859-7 latin-jisx0201 japanese-jisx0208-1978 chinese-gb2312 japanese-jisx0208 korean-ksc5601 japanese-jisx0212 chinese-cns11643-1 chinese-cns11643-2 chinese-cns11643-3 chinese-cns11643-4 chinese-cns11643-5 chinese-cns11643-6 chinese-cns11643-7) (iso-2022-jp-3 latin-jisx0201 japanese-jisx0208-1978 japanese-jisx0208 japanese-jisx0213-1 japanese-jisx0213-2) (shift_jis latin-jisx0201 katakana-jisx0201 japanese-jisx0208) (utf-8)) (#$ . 6653))
(byte-code "\306\307!\203U\306\310!\203U\310\307\311!!\312\211\211\211\f\203Q\f\211A\242\313\314\"\206/\313\315\"\211\203\313\316\"\211\317=\204\n\236\204\n\320\321	\"BB\202\237-\312\207" [alist mule mime cs css mm-mime-mule-charset-alist fboundp coding-system-list sort-coding-systems base-only nil coding-system-get :mime-charset mime-charset safe-charsets t delq ascii] 6)
#@210 A list of special charsets.
Valid elements include:
`iso-8859-15'    convert ISO-8859-1, -9 to ISO-8859-15 if ISO-8859-15 exists.
`iso-2022-jp-2'  convert ISO-2022-jp to ISO-2022-jp-2 if ISO-2022-jp-2 exists.
(defvar mm-hack-charsets '(iso-8859-15 iso-2022-jp-2) (#$ . 8831))
#@71 ISO-8859-15 exchangeable coding systems and inconvertible characters.
(defvar mm-iso-8859-15-compatible '((iso-8859-1 "\244\246\250\264\270\274\275\276") (iso-8859-9 "\244\246\250\264\270\274\275\276\320\335\336\360\375\376")) (#$ . 9113))
#@73 A table of the difference character between ISO-8859-X and ISO-8859-15.
(defvar mm-iso-8859-x-to-15-table (byte-code "\301\302!\205\303\304!\205\305\306\"\207" [mm-iso-8859-15-compatible fboundp coding-system-p mm-coding-system-p iso-8859-15 mapcar #[(cs) "\302@!\203+\303\304\305@\"!\306	!\303\304\305\307\"!	Z\304A@@\"\310\311\"\262)BB\207\312\207" [cs c mm-coding-system-p string-to-char decode-coding-string "\341" char-charset iso-8859-15 append nil (gnus-charset 0)] 6]] 3) (#$ . 9359))
#@306 Preferred coding systems for encoding outgoing messages.

More than one suitable coding system may be found for some text.
By default, the coding system with the highest priority is used
to encode outgoing messages (see `sort-coding-systems').  If this
variable is set, it overrides the default priority.
(custom-declare-variable 'mm-coding-system-priorities '(and (string-match "\\`Japanese" current-language-environment) '(iso-8859-1 iso-2022-jp utf-8)) '(#$ . 9872) :version "24.4" :type '(repeat (symbol :tag "Coding system")) :group 'mime)
#@199 Use `find-coding-systems-region' to find proper coding systems.

Setting it to nil is useful on Emacsen supporting Unicode if sending
mail with multiple parts is preferred to sending a Unicode one.
(defvar mm-use-find-coding-systems-region t (#$ . 10424))
#@198 *Alist of extra numeric entities and characters other than ISO 10646.
This table is used for decoding extra numeric entities to characters,
like "€" to the euro sign, mainly in html messages.
(custom-declare-variable 'mm-extra-numeric-entities '(mapcar (lambda (item) (cons (car item) (mm-ucs-to-char (cdr item)))) '((128 . 8364) (130 . 8218) (131 . 402) (132 . 8222) (133 . 8230) (134 . 8224) (135 . 8225) (136 . 710) (137 . 8240) (138 . 352) (139 . 8249) (140 . 338) (142 . 381) (145 . 8216) (146 . 8217) (147 . 8220) (148 . 8221) (149 . 8226) (150 . 8211) (151 . 8212) (152 . 732) (153 . 8482) (154 . 353) (155 . 8250) (156 . 339) (158 . 382) (159 . 376))) '(#$ . -10687) :type '(alist :key-type character :value-type character) :group 'mime)
#@66 Return the MIME charset corresponding to the given Mule CHARSET.
(defalias 'mm-mule-charset-to-mime-charset #[(charset) "\304\305\306C!!\307\"\310\211	\2040\2030\211A\242\211\203\311\n\312\"\206+\311\n\313\"\211\203	+\207" [charset mime cs css sort sort-coding-systems find-coding-systems-for-charsets mm-sort-coding-systems-predicate nil coding-system-get :mime-charset mime-charset] 5 (#$ . 11444)])
#@126 Set the multibyte flag of the current buffer.
Only do this if the default value of `enable-multibyte-characters' is
non-nil.
(defalias 'mm-enable-multibyte #[nil "\300\301!\207" [set-buffer-multibyte to] 2 (#$ . 11869)])
#@52 Unset the multibyte flag of in the current buffer.
(defalias 'mm-disable-multibyte #[nil "\300\301!\207" [set-buffer-multibyte nil] 2 (#$ . 12096)])
(defalias 'mm-preferred-coding-system #[(charset) "\301\302\"\206\301\303\"\207" [charset get-charset-property preferred-coding-system prefered-coding-system] 3])
#@51 Guess Mule charset from the language environment.
(defalias 'mm-guess-charset #[nil "\206$\305\306\307	\n\"\236!@\211\203\310=\203#\305\f\236!@\206\"\311\207" [mail-parse-mule-charset current-language-environment language-info-alist mail-parse-charset mm-mime-mule-charset-alist last charset assoc ascii latin-iso8859-1] 6 (#$ . 12418)])
(put 'mm-guess-charset 'byte-optimizer 'byte-compile-inline-expand)
#@157 Return charset of a character in current buffer at position POS.
If POS is nil, it defaults to the current point.
If POS is out of range, the value is nil.
(defalias 'mm-charset-after #[(&optional pos) "f\306\211\307W\203\310\211\202I\311\n!\211\203#	\312>\204#	\202I\206I\313\301\314\f
\"\236!@\211\203;\310=\203H\313\236!@\206G\315*\207" [pos charset char mail-parse-mule-charset current-language-environment language-info-alist nil 128 ascii char-charset (ascii eight-bit-control eight-bit-graphic) last assoc latin-iso8859-1 mail-parse-charset mm-mime-mule-charset-alist] 6 (#$ . 12842)])
#@66 Return the MIME charset corresponding to the given Mule CHARSET.
(defalias 'mm-mime-charset #[(charset) "\301=\203\n\302\303!\210\304!\203\305\304!\306\"\206*\307=\203!\310\207\304!\206*\311!\207" [charset unknown error "The message contains non-printable characters, please use attachment" mm-preferred-coding-system coding-system-get mime-charset ascii us-ascii mm-mule-charset-to-mime-charset] 3 (#$ . 13465)])
#@56 Non-nil if multibyte is enabled in the current buffer.
(defalias 'mm-multibyte-p #[nil "\207" [enable-multibyte-characters] 1 (#$ . 13897)])
(defalias 'mm-iso-8859-x-to-15-region #[(&optional b e) "\306\211\211\211\214\f\203
\f}\210eb\210\307\306w\210m\204S\310\306f\211!
\236\211\2040\306u\210\202L	\nAA>\203@\311\306u\210\202L\312	\nA@\\\313\314!\210!\210\307\306w\210\202),?\207" [inconvertible c item charset e b nil "-" char-charset t insert-before-markers delete-char 1 mm-iso-8859-x-to-15-table] 4])
(defalias 'mm-sort-coding-systems-predicate #[(a b) "\304\305\"\306\n!\211\205&\306!\211\203%\307\n!	>G\307!	>GV\202&\310)\207" [mm-coding-system-priorities priorities a b mapcar #[(cs) "\301!\211\205\302!\207" [cs mm-coding-system-p coding-system-base] 2] mm-coding-system-p coding-system-base t] 3])
#@198 Return the MIME charsets needed to encode the region between B and E.
nil means ASCII, a single-element list represents an appropriate MIME
charset, and a longer list means no appropriate charset.
(defalias 'mm-find-mime-charset-region #[(b e &optional hack-charsets) "\306\307 \203e	\203e\310\n\"
\203\311\f\312\"\313\314\f\"\211\315\232\204`\f\203`\f\211A\242\316\317\"\206<\316\320\"\211 \203\\\321\322\323 !\"\204\\\321\324\323 !\"\204\\\306 C*\202$)\204r\325\326\327\313\330\331\n\"\"\"!G\332V\203\260\333>\203\260\333!>\203\260\212\334\n\")\203\260\"\306#\211$\203\257$@#\313#@\"$A\211$\204\232*\335>\203\302\335!>\203\302\313\336\")\207" [charsets mm-use-find-coding-systems-region b e systems mm-coding-system-priorities nil mm-multibyte-p find-coding-systems-region sort mm-sort-coding-systems-predicate delq compound-text (undecided) coding-system-get :mime-charset mime-charset string-match "^[Xx]-" symbol-name "utf-16" delete-dups mapcar mm-mime-charset ascii mm-find-charset-region 1 iso-8859-15 mm-iso-8859-x-to-15-region iso-2022-jp-2 iso-2022-jp head cs hack-charsets mm-iso-8859-15-compatible x --dolist-tail--] 9 (#$ . 14748)])
#@94 Create a temporary buffer, and evaluate FORMS there like `progn'.
Use unibyte mode for this.
(defalias 'mm-with-unibyte-buffer '(macro . #[(&rest forms) "\301\302BB\207" [forms with-temp-buffer (mm-disable-multibyte)] 3 (#$ . 15961)]))
(byte-code "\300\301\302\303#\210\300\301\304\305#\207" [put mm-with-unibyte-buffer lisp-indent-function 0 edebug-form-spec (body)] 4)
#@96 Create a temporary buffer, and evaluate FORMS there like `progn'.
Use multibyte mode for this.
(defalias 'mm-with-multibyte-buffer '(macro . #[(&rest forms) "\301\302BB\207" [forms with-temp-buffer (mm-enable-multibyte)] 3 (#$ . 16339)]))
(byte-code "\300\301\302\303#\210\300\301\304\305#\207" [put mm-with-multibyte-buffer lisp-indent-function 0 edebug-form-spec (body)] 4)
#@368 Evaluate FORMS with current buffer temporarily made unibyte.

Note: We recommend not using this macro any more; there should be
better ways to do a similar thing.  The previous version of this macro
bound the default value of `enable-multibyte-characters' to nil while
evaluating FORMS but it is no longer done.  So, some programs assuming
it if any may malfunction.
(defalias 'mm-with-unibyte-current-buffer '(macro . #[(&rest forms) "\302\303!\304\305BC\306\307BB\310\311	B\306\312BBEF)\207" [multibyte forms make-symbol "multibyte" let (enable-multibyte-characters) when ((set-buffer-multibyte nil)) prog1 progn ((set-buffer-multibyte t))] 8 (#$ . 16723)]))
(byte-code "\300\301\302\303#\210\304\301\305\306#\307\301\310\311#\207" [make-obsolete mm-with-unibyte-current-buffer nil "25.1" function-put lisp-indent-function 0 put edebug-form-spec t] 5)
#@55 Return a list of Emacs charsets in the region B to E.
(defalias 'mm-find-charset-region #[(b e) "\306 \203%\307	\"\310\311\211\203!\f@\312\n\"\fA\211\204*\n)\207\212\214	}\210eb\210\313\311w\210m\203:\314\202e\311\315\305\316\"\236!@\211\317=\203P\311
\204]\315\236!@\317
\206c\320)D*\207" [b e css cs --dolist-tail-- charset mm-multibyte-p find-charset-region (composition eight-bit-control eight-bit-graphic control-1) nil delq "-" (ascii) last assoc ascii latin-iso8859-1 current-language-environment language-info-alist mail-parse-charset mm-mime-mule-charset-alist] 6 (#$ . 17587)])
#@63 Return an `auto-mode-alist' with only the .gz (etc) thingies.
(defalias 'mm-auto-mode-alist #[nil "\303\n\203\n@A<\203\n@	B\n\211A\210\202	\237*\207" [auto-mode-alist out alist nil] 2 (#$ . 18213)])
#@58 A list of handlers doing (un)compression (etc) thingies.
(defvar mm-inhibit-file-name-handlers '(jka-compr-handler image-file-handler epa-file-handler) (#$ . 18429))
#@365 Like `insert-file-contents', but only reads in the file.
A buffer may be modified in several ways after reading into the buffer due
to advanced Emacs features, such as file-name-handlers, format decoding,
`find-file-hook', etc.
If INHIBIT is non-nil, inhibit `mm-inhibit-file-name-handlers'.
This function ensures that none of these modifications will take place.
(defalias 'mm-insert-file-contents #[(filename &optional visit beg end replace inhibit) "\306	?\205	\307 \310\311!\312\216\313\311\314\"\210\306\211\306	\203$\315\202&	\2035\316\"\2027\306\315%.\n\207" [format-alist inhibit auto-mode-alist #1=#:old enable-local-variables after-insert-file-functions nil mm-auto-mode-alist default-value major-mode #[nil "\301\302\"\207" [#1# set-default major-mode] 3] set-default fundamental-mode insert-file-contents append enable-local-eval inhibit-file-name-operation mm-inhibit-file-name-handlers inhibit-file-name-handlers find-file-hook filename visit beg end replace] 7 (#$ . 18602)])
#@354 Append the contents of the region to the end of file FILENAME.
When called from a function, expects three arguments,
START, END and FILENAME.  START and END are buffer positions
saying what text to write.
Optional fourth argument specifies the coding system to use when
encoding the file.
If INHIBIT is non-nil, inhibit `mm-inhibit-file-name-handlers'.
(defalias 'mm-append-to-file #[(start end filename &optional codesys inhibit) "\206		\206	\n\203\306\202\f\203\307

\"\202 

\310\311\312%\210\313\314\"+\207" [codesys mm-text-coding-system-for-write mm-text-coding-system inhibit inhibit-file-name-operation mm-inhibit-file-name-handlers append-to-file append write-region t no-message message "Appended to %s" inhibit-file-name-handlers coding-system-for-write start end filename] 6 (#$ . 19637)])
#@86 Like `write-region'.
If INHIBIT is non-nil, inhibit `mm-inhibit-file-name-handlers'.
(defalias 'mm-write-region #[(start end filename &optional append visit lockname coding-system inhibit) "\206		\206	\n\203\306\202\f\203\307
\"\202 	\306\n\f
&+\207" [coding-system mm-text-coding-system-for-write mm-text-coding-system inhibit inhibit-file-name-operation mm-inhibit-file-name-handlers write-region append inhibit-file-name-handlers coding-system-for-write start end filename visit lockname] 7 (#$ . 20471)])
(byte-code "\300\301\302\"\210\300\301\302\303#\210\304\301\302\305#\207" [defalias mm-make-temp-file make-temp-file nil make-obsolete "26.1"] 4)
(defvar mm-image-load-path-cache nil)
(defalias 'mm-image-load-path #[(&optional package) "\203	@\232\203A\207\306\211	\306\211\203@
@\211\2039\307\310\311\f!!\312\f\206.\313Q\211!\2039\nB
A\211\204*\n\237	\nB\n*\207" [mm-image-load-path-cache load-path result dir path --dolist-tail-- nil file-directory-p file-name-directory directory-file-name "etc/images/" "gnus/" package] 5])
#@60 Like `detect-coding-region' except returning the best one.
(defalias 'mm-detect-coding-region #[(start end) "\303	\"\211\242\206\n)\207" [start end coding-systems detect-coding-region] 4 (#$ . 21569)])
#@70 Detect MIME charset of the text in the region between START and END.
(defalias 'mm-detect-mime-charset-region #[(start end) "\303	\"\304\n\305\")\207" [start end cs mm-detect-coding-region coding-system-get mime-charset] 3 (#$ . 21781)])
#@57 Return the MIME charset corresponding to CODING-SYSTEM.
(defalias 'mm-coding-system-to-mime-charset #[(coding-system) "\205\301\302\"\207" [coding-system coding-system-get mime-charset] 3 (#$ . 22027)])
#@528 Decompress buffer's contents, depending on jka-compr.
Only when FORCE is t or `auto-compression-mode' is enabled and FILENAME
agrees with `jka-compr-compression-info-list', decompression is done.
Signal an error if FORCE is neither nil nor t and compressed data are
not decompressed because `auto-compression-mode' is disabled.
If INPLACE is nil, return decompressed data or nil without modifying
the buffer.  Otherwise, replace the buffer's contents with the
decompressed data.  The buffer's multibyteness must be turned off.
(defalias 'mm-decompress-buffer #[(filename &optional inplace force) "\205\376	\203\306\307\310!\210\202\311\312!\205\376\312 \205\376\313!\211\205\375	\314\306D>\2044\312 \2044\315\316!\210\317\n!\320\n!\321\322\323\n!#\324 p\211\314\211-./0123\325\3261\"\210\327\330!4r4q\210\331\216\332 \210\333/!\210\3341\271\335\336ed3\306\2110D\3142&5>\204\261\337 \210\340\341\342\3430!\210\344 \337 \210\306\"\345#\346\261\210\321\3473\340\3412\345#$\344 \2110\202\3026\3506!\211)\210+\3510!\203\334\3521\327\3530!0\202\333\210\202\334\2107\203\356\f\204\354ed|\210
c\210\314\325\326\f\206\3701\354P\"\210
.	)\207" [filename force info mm-binary-coding-system err-msg retval t require jka-compr fboundp jka-compr-installed-p jka-compr-get-compression-info nil error "" jka-compr-info-uncompress-program jka-compr-info-uncompress-args format "%s %s..." jka-compr-info-uncompress-message jka-compr-make-temp-name message "%s" generate-new-buffer " *temp*" #[nil "\301!\205	\302!\207" [#1=#:temp-buffer buffer-name kill-buffer] 2] mm-disable-multibyte insert-buffer-substring (error) apply call-process-region erase-buffer mapconcat identity split-string insert-file-contents buffer-string " " "\n" "Error while executing \"%s %s < %s\"" error-message-string file-exists-p (error) delete-file "done" coding-system-for-write coding-system-for-read cur err-file msg args prog #1# jka-compr-acceptable-retval-list err inplace] 10 (#$ . 22241)])
#@316 Find coding system used to decode the contents of the current buffer.
This function looks for the coding system magic cookie or examines the
coding system specified by `file-coding-system-alist' being associated
with FILENAME which defaults to `buffer-file-name'.  Data compressed by
gzip, bzip2, etc. are allowed.
(defalias 'mm-find-buffer-file-coding-system #[(&optional filename) "\204	\212\205\304\305\"?\205\306\307\310#\211\203,\311\312!q\210\313 \210\nc\210\314!eb\210\315\216\203G\316JdeZ\"\206[\317\320\"@\202[\307\3211X\316J\307deZ\"0\202Z\210\307)+\207" [filename buffer-file-name decomp auto-coding-alist string-match "\\.\\(?:tar\\.[^.]+\\|tbz\\|tgz\\)\\'" mm-decompress-buffer nil t generate-new-buffer " *temp*" mm-disable-multibyte file-name-sans-extension #[nil "\205\301p!\207" [decomp kill-buffer] 2] set-auto-coding-function find-operation-coding-system insert-file-contents (error)] 5 (#$ . 24267)])
(provide 'mm-util)