%PDF- %PDF-
Direktori : /usr/local/share/emacs/27.2/lisp/mh-e/ |
Current File : //usr/local/share/emacs/27.2/lisp/mh-e/mh-mime.elc |
;ELC ;;; Compiled ;;; in Emacs version 27.2 ;;; 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!\210\300\303!\210\300\304!\210\300\305!\210\300\306!\210\300\307!\210\300\310!\210\311\312\313\"\210\311\314\315\"\210\311\316\317\"\210\311\320\317\"\210\311\321\317\"\210\311\322\317\"\210\311\323\324\"\210\311\325\326\"\210\311\327\326\"\210\311\330\326\"\210\311\331\332\"\210\311\333\334\"\210\311\335\336\"\210\311\337\340\"\210\311\341\342\"\207" [require mh-e mh-gnus font-lock gnus-util mailcap mm-decode mm-view mml autoload article-emphasize "gnus-art" gnus-eval-format "gnus-spec" mail-content-type-get "mail-parse" mail-decode-encoded-word-string mail-header-parse-content-type mail-header-strip-cte mail-strip-quoted-names "mail-utils" message-options-get "message" message-options-set message-options-set-recipient mm-decode-body "mm-bodies" mm-uu-dissect "mm-uu" mml-unsecure-message "mml-sec" rfc2047-decode-region "rfc2047" widget-convert-button "wid-edit"] 3) #@74 Convenience macro to get the MIME data structures of the current buffer. (defalias 'mh-buffer-data '(macro . #[nil "\300\207" [(gethash (current-buffer) mh-globals-hash)] 1 (#$ . 1321)])) #@49 compiler-macro for inlining `mh-buffer-data-p'. (defalias 'mh-buffer-data-p--cmacro #[(_cl-whole-arg cl-x) "\301\302\303\304\211\211&\207" [cl-x cl--defsubst-expand (cl-x) (cl-block mh-buffer-data-p (and (memq (type-of cl-x) cl-struct-mh-buffer-data-tags) t)) nil] 7 (#$ . 1515)]) (put 'mh-buffer-data-p 'compiler-macro 'mh-buffer-data-p--cmacro) (defalias 'mh-buffer-data-p #[(cl-x) "\302! >\205 \303\207" [cl-x cl-struct-mh-buffer-data-tags type-of t] 2]) (byte-code "\300\301\302\303#\304\305\306\301#\207" [function-put mh-buffer-data-p side-effect-free error-free put mh-buffer-data cl-deftype-satisfies] 5) #@48 compiler-macro for inlining `mh-mime-handles'. (defalias 'mh-mime-handles--cmacro #[(_cl-whole-arg cl-x) "\301\302\303\304\211\211&\207" [cl-x cl--defsubst-expand (cl-x) (cl-block mh-mime-handles (progn (or (mh-buffer-data-p cl-x) (signal 'wrong-type-argument (list 'mh-buffer-data cl-x))) (aref cl-x 1))) nil] 7 (#$ . 2138)]) (put 'mh-mime-handles 'compiler-macro 'mh-mime-handles--cmacro) #@56 Access slot "handles" of `mh-buffer-data' struct CL-X. (defalias 'mh-mime-handles #[(cl-x) "\302! >\204 \303\304\305D\"\210\306H\207" [cl-x cl-struct-mh-buffer-data-tags type-of signal wrong-type-argument mh-buffer-data 1] 4 (#$ . 2537)]) (byte-code "\300\301\302\303#\300\207" [function-put mh-mime-handles side-effect-free t] 4) #@54 compiler-macro for inlining `mh-mime-handles-cache'. (defalias 'mh-mime-handles-cache--cmacro #[(_cl-whole-arg cl-x) "\301\302\303\304\211\211&\207" [cl-x cl--defsubst-expand (cl-x) (cl-block mh-mime-handles-cache (progn (or (mh-buffer-data-p cl-x) (signal 'wrong-type-argument (list 'mh-buffer-data cl-x))) (aref cl-x 2))) nil] 7 (#$ . 2878)]) (put 'mh-mime-handles-cache 'compiler-macro 'mh-mime-handles-cache--cmacro) #@62 Access slot "handles-cache" of `mh-buffer-data' struct CL-X. (defalias 'mh-mime-handles-cache #[(cl-x) "\302! >\204 \303\304\305D\"\210\306H\207" [cl-x cl-struct-mh-buffer-data-tags type-of signal wrong-type-argument mh-buffer-data 2] 4 (#$ . 3307)]) (byte-code "\300\301\302\303#\300\207" [function-put mh-mime-handles-cache side-effect-free t] 4) #@52 compiler-macro for inlining `mh-mime-parts-count'. (defalias 'mh-mime-parts-count--cmacro #[(_cl-whole-arg cl-x) "\301\302\303\304\211\211&\207" [cl-x cl--defsubst-expand (cl-x) (cl-block mh-mime-parts-count (progn (or (mh-buffer-data-p cl-x) (signal 'wrong-type-argument (list 'mh-buffer-data cl-x))) (aref cl-x 3))) nil] 7 (#$ . 3666)]) (put 'mh-mime-parts-count 'compiler-macro 'mh-mime-parts-count--cmacro) #@60 Access slot "parts-count" of `mh-buffer-data' struct CL-X. (defalias 'mh-mime-parts-count #[(cl-x) "\302! >\204 \303\304\305D\"\210\306H\207" [cl-x cl-struct-mh-buffer-data-tags type-of signal wrong-type-argument mh-buffer-data 3] 4 (#$ . 4085)]) (byte-code "\300\301\302\303#\300\207" [function-put mh-mime-parts-count side-effect-free t] 4) #@56 compiler-macro for inlining `mh-mime-part-index-hash'. (defalias 'mh-mime-part-index-hash--cmacro #[(_cl-whole-arg cl-x) "\301\302\303\304\211\211&\207" [cl-x cl--defsubst-expand (cl-x) (cl-block mh-mime-part-index-hash (progn (or (mh-buffer-data-p cl-x) (signal 'wrong-type-argument (list 'mh-buffer-data cl-x))) (aref cl-x 4))) nil] 7 (#$ . 4438)]) (put 'mh-mime-part-index-hash 'compiler-macro 'mh-mime-part-index-hash--cmacro) #@64 Access slot "part-index-hash" of `mh-buffer-data' struct CL-X. (defalias 'mh-mime-part-index-hash #[(cl-x) "\302! >\204 \303\304\305D\"\210\306H\207" [cl-x cl-struct-mh-buffer-data-tags type-of signal wrong-type-argument mh-buffer-data 4] 4 (#$ . 4877)]) (byte-code "\300\301\302\303#\304\305\306\"\207" [function-put mh-mime-part-index-hash side-effect-free t defalias copy-mh-buffer-data copy-sequence] 4) #@132 compiler-macro for inlining `mh-make-buffer-data'. (fn CL-WHOLE &cl-quote &key HANDLES HANDLES-CACHE PARTS-COUNT PART-INDEX-HASH) (defalias 'mh-make-buffer-data--cmacro #[(cl-whole &rest #1=#:--cl-rest--) "\306\307\"A@\306\310\"\206 \311A@\306\312\"\206 \313A@\306\314\"\206% \315A@ \203T @\316>\203= AA\211\202+ \317>A@\203K \320\211\202+ \321\322 @\"\210\202* )\323\324\325\320\320 \n\f& ,\207" [#1# handles handles-cache parts-count part-index-hash #2=#:--cl-keys-- plist-member :handles :handles-cache (nil (make-hash-table)) :parts-count (nil 0) :part-index-hash (nil (make-hash-table)) (:handles :handles-cache :parts-count :part-index-hash :allow-other-keys) :allow-other-keys nil error "Keyword argument %s not one of (:handles :handles-cache :parts-count :part-index-hash)" cl--defsubst-expand (handles handles-cache parts-count part-index-hash) (cl-block mh-make-buffer-data (record 'mh-buffer-data handles handles-cache parts-count part-index-hash)) cl-whole] 11 (#$ . 5296)]) (put 'mh-make-buffer-data 'compiler-macro 'mh-make-buffer-data--cmacro) #@112 Constructor for objects of type `mh-buffer-data'. (fn &key HANDLES HANDLES-CACHE PARTS-COUNT PART-INDEX-HASH) (defalias 'mh-make-buffer-data #[(&rest #1=#:--cl-rest--) "\306\307\"A@\306\310\"\206 \311\312 DA@\306\313\"\206 \314A@\306\315\"\206+ \311\312 DA@ \203Z @\316>\203C AA\211\2021 \317>A@\203Q \311\211\2021 \320\321 @\"\210\2020 )\322\323 \n\f%,\207" [#1# handles handles-cache parts-count part-index-hash #2=#:--cl-keys-- plist-member :handles :handles-cache nil make-hash-table :parts-count (nil 0) :part-index-hash (:handles :handles-cache :parts-count :part-index-hash :allow-other-keys) :allow-other-keys error "Keyword argument %s not one of (:handles :handles-cache :parts-count :part-index-hash)" record mh-buffer-data] 7 (#$ . 6384)]) (cl-struct-define 'mh-buffer-data nil 'cl-structure-object 'record nil '((cl-tag-slot) (handles nil) (handles-cache (make-hash-table)) (parts-count 0) (part-index-hash (make-hash-table))) 'cl-struct-mh-buffer-data-tags 'mh-buffer-data t) #@74 Alist of media types/tests saying whether types can be displayed inline. (defvar mh-mm-inline-media-tests (byte-code "\300\301\302\303\304\305\306\307\310\311\312\313\314\315\316\317\320\321\322!\203 \322\202 \323\324BB\325BBBBBBBBBBBBBBBBB\207" [("image/jpeg" mm-inline-image (lambda (handle) (mm-valid-and-fit-image-p 'jpeg handle))) ("image/png" mm-inline-image (lambda (handle) (mm-valid-and-fit-image-p 'png handle))) ("image/gif" mm-inline-image (lambda (handle) (mm-valid-and-fit-image-p 'gif handle))) ("image/tiff" mm-inline-image (lambda (handle) (mm-valid-and-fit-image-p 'tiff handle))) ("image/xbm" mm-inline-image (lambda (handle) (mm-valid-and-fit-image-p 'xbm handle))) ("image/x-xbitmap" mm-inline-image (lambda (handle) (mm-valid-and-fit-image-p 'xbm handle))) ("image/xpm" mm-inline-image (lambda (handle) (mm-valid-and-fit-image-p 'xpm handle))) ("image/x-pixmap" mm-inline-image (lambda (handle) (mm-valid-and-fit-image-p 'xpm handle))) ("image/bmp" mm-inline-image (lambda (handle) (mm-valid-and-fit-image-p 'bmp handle))) ("image/x-portable-bitmap" mm-inline-image (lambda (handle) (mm-valid-and-fit-image-p 'pbm handle))) ("text/plain" mm-inline-text identity) ("text/enriched" mm-inline-text identity) ("text/richtext" mm-inline-text identity) ("text/x-patch" mm-display-patch-inline (lambda (handle) (locate-library "diff-mode"))) ("application/emacs-lisp" mm-display-elisp-inline identity) ("application/x-emacs-lisp" mm-display-elisp-inline identity) "text/html" fboundp mm-inline-text-html mm-inline-text ((lambda (handle) (or (and (boundp 'mm-inline-text-html-renderer) mm-inline-text-html-renderer) (and (boundp 'mm-text-html-renderer) mm-text-html-renderer)))) (("text/x-vcard" mh-mm-inline-text-vcard (lambda (handle) (or (featurep 'vcard) (locate-library "vcard")))) ("message/delivery-status" mm-inline-text identity) ("message/rfc822" mh-mm-inline-message identity) ("text/.*" mm-inline-text identity) ("audio/wav" mm-inline-audio (lambda (handle) (and (or (featurep 'nas-sound) (featurep 'native-sound)) (device-sound-enabled-p)))) ("audio/au" mm-inline-audio (lambda (handle) (and (or (featurep 'nas-sound) (featurep 'native-sound)) (device-sound-enabled-p)))) ("application/pgp-signature" ignore identity) ("application/x-pkcs7-signature" ignore identity) ("application/pkcs7-signature" ignore identity) ("application/x-pkcs7-mime" ignore identity) ("application/pkcs7-mime" ignore identity) ("multipart/alternative" ignore identity) ("multipart/mixed" ignore identity) ("multipart/related" ignore identity) ("audio/.*" ignore ignore) ("image/.*" ignore ignore) (".*" mm-inline-text mh-mm-readable-p))] 19) (#$ . 7399)) #@79 Default to use for `mh-mime-save-parts-default-directory'. Set from last use. (defvar mh-mime-save-parts-directory nil (#$ . 10066)) (defvar mh-mime-button-commands '((mh-press-button " " "Toggle Display"))) (defvar mh-mime-button-map (byte-code "\306 \307 !\310Y\204 \311\n\"\210\312\313\314#\210\315\211\2031 @\312\fA@\f@#\210 A\211\204 *)\207" [map emacs-version mh-show-mode-map mh-mime-button-commands c --dolist-tail-- make-sparse-keymap string-to-number 21 set-keymap-parent define-key [mouse-2] mh-push-button nil] 5)) (defvar mh-mime-button-line-format-alist '((84 long-type 115) (100 description 115) (112 index 115) (101 dots 115))) (defvar mh-mime-button-line-format "%{%([%p. %d%T]%)%}%e\n") (defvar mh-mime-security-button-pressed nil) (defvar mh-mime-security-button-line-format "%{%([[%t:%i]%D]%)%}\n") (defvar mh-mime-security-button-end-line-format "%{%([[End of %t]%D]%)%}\n") (defvar mh-mime-security-button-line-format-alist '((116 type 115) (105 info 115) (100 details 115) (68 pressed-details 115))) (defvar mh-mime-security-button-map (byte-code "\303 \304 !\305Y\204 \306\n\"\210\307\310\311#\210\307\312\313#\210)\207" [map emacs-version mh-show-mode-map make-sparse-keymap string-to-number 21 set-keymap-parent define-key " " mh-press-button [mouse-2] mh-push-button] 4)) #@917 View attachment externally. If Emacs does not know how to view an attachment, you could save it into a file and then run some program to open it. It is easier, however, to launch the program directly from MH-E with this command. While you'll most likely use this to view spreadsheets and documents, it is also useful to use your browser to view HTML attachments with higher fidelity than what Emacs can provide. This command displays the attachment associated with the button under the cursor. If the cursor is not located over a button, then the cursor first moves to the next button, wrapping to the beginning of the message if necessary. You can provide a numeric prefix argument PART-INDEX to view the attachment labeled with that number. This command tries to provide a reasonable default for the viewer by calling the Emacs function `mailcap-mime-info'. This function usually reads the file "/etc/mailcap". (defalias 'mh-display-with-external-viewer #[(part-index) ":\203 @\301\302\303#\207" [part-index mh-folder-mime-action #[nil "\306`\307\"\211\211@;\203 \211@\262\202 \211A@@\262\310\311\312 \313\"\"\211@@\314\315\2033 \314\316\"\2024 \317\"\320\f\n\321\211\211\211&\321\322\323 \"\203S \324P\325\326K\327\216\326M\210\330\216\331 \".\f\207" [part type methods def prompt method get-text-property mh-data mapcar #[(x) "\301\302\"AC\207" [x assoc viewer] 3] mailcap-mime-info all format "Viewer%s: " " (default %s)" "" completing-read nil string-match "^[^% ]+$" " %s" #[(handle function) "\303 \n#\207" [folder handle function mh-handle-set-external-undisplayer] 4] mm-handle-set-external-undisplayer #[nil "\301M\207" [#1=#:old mm-handle-set-external-undisplayer] 2] #[nil "\300\301!\207" [set-buffer-modified-p nil] 2] mm-display-external mh-show-folder-buffer folder buffer-read-only #2=#:vnew #1#] 9] nil] 4 (#$ . 11391) "P"]) #@467 Show attachment verbatim. You can view the raw contents of an attachment with this command. This command displays (or hides) the contents of the attachment associated with the button under the cursor verbatim. If the cursor is not located over a button, then the cursor first moves to the next button, wrapping to the beginning of the message if necessary. You can also provide a numeric prefix argument PART-INDEX to view the attachment labeled with that number. (defalias 'mh-folder-inline-mime-part #[(part-index) ":\203 @\301\302\303#\207" [part-index mh-folder-mime-action mh-mime-inline-part nil] 4 (#$ . 13282) "P"]) #@38 Toggle display of the raw MIME part. (defalias 'mh-mime-inline-part #[nil "\306\307`\310\"\307`\311\"\312 !`\306\211 \203S \n\204S \204S \313 !\314\315 \316 \317#\210\320 \321y\210\322 \"\210\320 \314 \211b\210\316 \323 BD#\210)\202f \203f \n\204_ \203f \324 \210\325\326!\210\fb\210\327\306!.\207" [buffer-read-only data inserted-flag displayed-flag point start nil get-text-property mh-data mh-mime-inserted mm-handle-displayed-p mm-get-part add-text-properties mh-line-beginning-position mh-line-end-position (mh-mime-inserted t) point-marker 1 mm-insert-inline mh-region mh-press-button message "MIME part already inserted" set-buffer-modified-p end contents] 7 (#$ . 13919) nil]) #@452 Save (output) attachment. This command saves the attachment associated with the button under the cursor. If the cursor is not located over a button, then the cursor first moves to the next button, wrapping to the beginning of the message if necessary. You can also provide a numeric prefix argument PART-INDEX to save the attachment labeled with that number. This command prompts you for a filename and suggests a specific name if it is available. (defalias 'mh-folder-save-mime-part #[(part-index) ":\203 @\301\302\303#\207" [part-index mh-folder-mime-action mh-mime-save-part nil] 4 (#$ . 14632) "P"]) #@26 Save MIME part at point. (defalias 'mh-mime-save-part #[nil "\304`\305\"\211\205 \306 \206 \n!\307!\210\211))\207" [data mh-mime-save-parts-directory default-directory mm-default-directory get-text-property mh-data file-name-as-directory mh-mm-save-part] 4 (#$ . 15250) nil]) #@564 View attachment. This command displays (or hides) the attachment associated with the button under the cursor. If the cursor is not located over a button, then the cursor first moves to the next button, wrapping to the beginning of the message if necessary. This command has the advantage over related commands of working from the MH-Folder buffer. You can also provide a numeric prefix argument PART-INDEX to view the attachment labeled with that number. If Emacs does not know how to display the attachment, then Emacs offers to save the attachment in a file. (defalias 'mh-folder-toggle-mime-part #[(part-index) ":\203 @\301\302\303#\207" [part-index mh-folder-mime-action mh-press-button t] 4 (#$ . 15540) "P"]) #@404 Save attachments. You can save all of the attachments at once with this command. The attachments are saved in the directory specified by the option `mh-mime-save-parts-default-directory' unless you use a prefix argument PROMPT in which case you are prompted for the directory. These directories may be superseded by MH profile components, since this function calls on "mhstore" ("mhn") to do the work. (defalias 'mh-mime-save-parts #[(prompt) "\306=\203 \307 \202 \310\311!\306=\203 \202 \n\312\313!\203# \314\202$ \315\2044 \f\316=\2044 \f\311=\203A \204A \317\320\316\211\311$\202f \204K \f\311=\203\\ \203\\ \317\321\322 \"\323 \311\323%\202f \f;\203e \f\202f &'()&\323\232\203| \203| &\324&!\204\211 \325\326!\202\333 \f\316=\203\222 &r\327*!q\210\330&!\210&\331 +\332\333\334',\"\316\311\316\335()\336\312\313!?\205\276 \337F!&\210\340 +V\205\332 \341 -\342\216\343*!\210\344\345!**,\207" [major-mode mh-show-folder-buffer mh-current-folder prompt mh-mime-save-parts-default-directory mh-mime-save-parts-directory mh-show-mode mh-show-buffer-message-number mh-get-msg-num t mh-variant-p nmh "mhstore" "mhn" nil read-directory-name "Store in directory: " format "Store in directory (default %s): " "" file-directory-p message "No directory specified" get-buffer-create cd mh-truncate-log-buffer apply call-process expand-file-name mh-list-to-string "-auto" "-store" buffer-size current-window-configuration #[nil "\301!\207" [#1=#:wconfig set-window-configuration] 2] switch-to-buffer-other-window sit-for 3 directory command folder msg mh-log-buffer initial-size mh-progs #1#] 12 (#$ . 16269) "P"]) #@44 Toggle the value of `mh-decode-mime-flag'. (defalias 'mh-toggle-mh-decode-mime-flag #[nil "?\301\302\303\"\210\304\305\203 \306\202 \307\"\207" [mh-decode-mime-flag mh-show nil t message "%s" "Processing attachments normally" "Displaying raw message"] 3 (#$ . 17917) nil]) #@59 Toggle option `mh-display-buttons-for-inline-parts-flag'. (defalias 'mh-toggle-mime-buttons #[nil "?\301\302\303\"\207" [mh-display-buttons-for-inline-parts-flag mh-show nil t] 3 (#$ . 18201) nil]) #@128 Display message, HANDLE. The function decodes the message and displays it. It avoids decoding the same message multiple times. (defalias 'mh-mm-inline-message #[(handle) "` \306\212\214 \211}\210\307'!\210\310\311'\311p(\")\312)!*>\2040 \313\314\315)D\"\210)\316H)\"\206\300 '+\311p(\")\312)!*>\204V \313\314\315)D\"\210)\316H),\317+\320\306!\211-\203q \321-!\210\202u \322 -\311p(\")\312)!*>\204\216 \313\314\315)D\"\210)\211.\323\324-\311p(\")\312)!*>\204\260 \313\314\315)D\"\210)\323H)\"I\210*-),#*!\210eb\210\325 \210\f\203\330 \326e\n#\210eb\210\202\333 \327 \210\330 \210\331 \210/\332=\203\353 \333 \210eb\210\334c\210\335 \210\336 \210\337'\233\340\306\341\342\343\344\345 \346 EFE\240.\207" [mh-clean-message-header-flag mh-invisible-header-fields-compiled visible-headers invisible-headers clean-message-header b nil mm-insert-part mh-mime-display gethash type-of signal wrong-type-argument mh-buffer-data 2 puthash mm-dissect-buffer mh-mm-uu-dissect-text-parts mm-uu-dissect 1 mh-mm-merge-handles mh-show-xface mh-clean-msg-header mh-start-of-uncleaned-message mh-decode-message-header mh-show-addr gnus mh-gnus-article-highlight-citation "\n------- Forwarded Message\n\n" mh-display-smileys mh-display-emphasis 3 lambda let (buffer-read-only) (if (fboundp 'remove-specifier) (mapcar (lambda (prop) (remove-specifier (face-property 'default prop) (current-buffer))) '(background background-pixmap foreground))) delete-region point-min-marker point-max-marker handle mh-globals-hash cl-x cl-struct-mh-buffer-data-tags #1=#:v #2=#:v handles #3=#:v mh-highlight-citation-style] 12 (#$ . 18408)]) #@47 Decode RFC2047 encoded message header fields. (defalias 'mh-decode-message-header #[nil "\205\f \302\303e\304 \")\207" [mh-decode-mime-flag buffer-read-only nil rfc2047-decode-region mh-mail-header-end] 3 (#$ . 20065)]) #@47 Decode RFC2047 encoded message header fields. (defalias 'mh-decode-message-subject #[nil "\205 \212\302\303\304\305!\210`\306 \210`\"*\207" [mh-decode-mime-flag buffer-read-only nil rfc2047-decode-region mh-goto-header-field "Subject:" mh-header-field-end] 3 (#$ . 20293)]) #@194 Display (and possibly decode) MIME handles. Optional argument, PRE-DISSECTED-HANDLES is a list of MIME handles. If present they are displayed otherwise the buffer is parsed and then displayed. (defalias 'mh-mime-display #[(&optional pre-dissected-handles) "\306\307 \310\311K\312\216\311\fM\210eb\210\313\314\306\315#\204# db\210\314c\210\3161\273 \2032 \202\216 \317\306!\211\203A \320!\210\202D \321 \322p \"!\323!!\">\204] \324\325\326!D\"\210!\211#\327\330\322p \"!\323!!\">\204~ \324\325\326!D\"\210!\327H)\"I\210*\204\216 \331 \210\203\265 @;\203\235 A\203\265 eb\210\313\314\306\315#\204\253 db\210`d|\210\332!\202\267 \333 0\202\314 $\334\335\336$!\"\210ed|\210 c).\207" [mh-show-folder-buffer raw-message-data folder handles #1=#:vnew #2=#:old nil buffer-string #[(handle function) "\303 \n#\207" [folder handle function mh-handle-set-external-undisplayer] 4] mm-handle-set-external-undisplayer #[nil "\301M\207" [#2# mm-handle-set-external-undisplayer] 2] search-forward "\n\n" t (error) mm-dissect-buffer mh-mm-uu-dissect-text-parts mm-uu-dissect gethash type-of signal wrong-type-argument mh-buffer-data 1 mh-mm-merge-handles mh-decode-message-body mh-mime-display-part mh-signature-highlight message "Could not display body: %s" error-message-string pre-dissected-handles mh-globals-hash cl-x cl-struct-mh-buffer-data-tags #3=#:v err] 9 (#$ . 20577)]) #@99 Decode message based on charset. If message has been encoded for transfer take that into account. (defalias 'mh-decode-message-body #[nil "\303\211\211eb\210\304\305\303\306#\210\214e`}\210\3071\"