%PDF- %PDF-
Direktori : /usr/local/share/emacs/27.2/lisp/mh-e/ |
Current File : //usr/local/share/emacs/27.2/lisp/mh-e/mh-e.elc |
;ELC ;;; Compiled ;;; in Emacs version 27.2 ;;; with all optimizations. ;;; This file contains utf-8 non-ASCII characters, ;;; and so cannot be loaded into Emacs 22 or earlier. (and (boundp 'emacs-version) (< (aref emacs-version (1- (length emacs-version))) ?A) (string-lessp emacs-version "23") (error "`%s' was compiled for Emacs 23 or later" #$)) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;; (byte-code "\300\301!\210\300\302!\210\300\303!\210\300\304!\210\305\306\307\"\207" [require mh-loaddefs cl-lib mh-buffers mh-compat mh-font-lock-add-keywords emacs-lisp-mode (("(\\(\\(def\\(un\\|macro\\)-mh\\)\\|\\(def\\(custom\\|face\\)-mh\\)\\|\\(defgroup-mh\\)\\)\\>[ '(]*\\(setf[ ]+\\sw+)\\|\\sw+\\)?" (1 font-lock-keyword-face) (7 (cond ((match-beginning 2) font-lock-function-name-face) ((match-beginning 4) font-lock-variable-name-face) (t font-lock-type-face)) nil t)))] 3) #@25 Version number of MH-E. (defconst mh-version "8.6+git" (#$ . 893)) #@239 List of directories to search for variants of the MH variant. The list `exec-path' is searched in addition to this list. There's no need for users to modify this list. Instead add extra directories to the customizable variable `mh-path'. (defvar mh-sys-path '("/usr/local/nmh/bin" "/usr/local/bin/mh/" "/usr/local/mh/" "/usr/bin/mh/" "/usr/new/mh/" "/usr/contrib/mh/bin/" "/usr/pkg/bin/" "/usr/local/bin/" "/usr/local/bin/mu-mh/" "/usr/bin/mu-mh/") (#$ . 967)) #@154 List describing known MH variants. Do not access this variable directly as it may not have yet been initialized. Use the function `mh-variants' instead. (defvar mh-variants nil (#$ . 1435)) #@147 The MH variant currently in use; a string with variant and version number. This differs from `mh-variant' when the latter is set to "autodetect". (defvar mh-variant-in-use nil (#$ . 1632)) #@63 Directory containing MH commands, such as inc, repl, and rmm. (defvar mh-progs nil (#$ . 1827)) (put 'mh-progs 'risky-local-variable t) #@104 Directory containing the MH library. This directory contains, among other things, the components file. (defvar mh-lib nil (#$ . 1970)) (put 'mh-lib 'risky-local-variable t) #@104 Directory containing MH helper programs. This directory contains, among other things, the mhl program. (defvar mh-lib-progs nil (#$ . 2150)) (put 'mh-lib-progs 'risky-local-variable t) #@135 Cached value of the "Draft-Folder:" MH profile component. Name of folder containing draft messages. Do not use a draft folder if nil. (defvar mh-draft-folder nil (#$ . 2342)) #@116 Cached value of the "Inbox:" MH profile component. Set to "+inbox" if no such component. Name of the Inbox folder. (defvar mh-inbox nil (#$ . 2524)) #@81 Cached value of the "Path:" MH profile component. User's mail folder directory. (defvar mh-user-path nil (#$ . 2679)) #@28 Keymap for MH-Folder mode. (defvar mh-folder-mode-map (make-keymap) (#$ . 2803)) #@32 Keymap for MH-Folder tool bar. (defvar mh-folder-seq-tool-bar-map nil (#$ . 2890)) #@32 Keymap for MH-Folder tool bar. (defvar mh-folder-tool-bar-map nil (#$ . 2979)) #@42 Keymap for MH-E's mh-inc-spool commands. (defvar mh-inc-spool-map (make-sparse-keymap) (#$ . 3064)) #@28 Keymap for MH-Letter mode. (defvar mh-letter-mode-map (copy-keymap text-mode-map) (#$ . 3170)) #@32 Keymap for MH-Letter tool bar. (defvar mh-letter-tool-bar-map nil (#$ . 3271)) #@28 Keymap for MH-Search mode. (defvar mh-search-mode-map (make-sparse-keymap) (#$ . 3356)) #@22 Keymap MH-Show mode. (defvar mh-show-mode-map (make-sparse-keymap) (#$ . 3450)) #@30 Keymap for MH-Show tool bar. (defvar mh-show-seq-tool-bar-map nil (#$ . 3536)) #@30 Keymap for MH-Show tool bar. (defvar mh-show-tool-bar-map nil (#$ . 3621)) #@37 Marker for arrow display in fringe. (defvar mh-arrow-marker nil (#$ . 3702)) #@117 List of messages to use to train the junk filter. This variable can be used by `mh-before-commands-processed-hook'. (defvar mh-blacklist nil (#$ . 3786)) #@37 Non-nil means colors are available. (defvar mh-colors-available-flag nil (#$ . 3946)) #@35 Name of current folder, a string. (defvar mh-current-folder nil (#$ . 4038)) #@102 List of message numbers to delete. This variable can be used by `mh-before-commands-processed-hook'. (defvar mh-delete-list nil (#$ . 4122)) #@33 Stack of previous folder views. (defvar mh-folder-view-stack nil (#$ . 4269)) #@34 Info about index search results. (defvar mh-index-data nil (#$ . 4353)) (defvar mh-index-previous-search nil) (defvar mh-index-msg-checksum-map nil) (defvar mh-index-checksum-origin-map nil) (defvar mh-index-sequence-search-flag nil) #@36 Message range displayed in buffer. (defvar mh-mode-line-annotation nil (#$ . 4593)) #@36 Direction to move to next message. (defvar mh-next-direction 'forward (#$ . 4683)) #@43 Window configuration before MH-E command. (defvar mh-previous-window-config nil (#$ . 4772)) #@106 List of folder names in `mh-seq-list'. This variable can be used by `mh-before-commands-processed-hook'. (defvar mh-refile-list nil (#$ . 4872)) #@70 List of displayed messages to be removed from the "Unseen" sequence. (defvar mh-seen-list nil (#$ . 5023)) #@81 Alist of this folder's sequences. Elements have the form (SEQUENCE . MESSAGES). (defvar mh-seq-list nil (#$ . 5136)) #@66 Remember original notation that is overwritten by `mh-note-seq'. (defvar mh-sequence-notation-history nil (#$ . 5259)) #@47 Buffer that displays message for this folder. (defvar mh-show-buffer nil (#$ . 5384)) #@99 Non-nil if Mh-Showing mode is enabled. Use the command `mh-showing-mode' to change this variable. (defvar mh-showing-mode nil (#$ . 5476)) (make-variable-buffer-local 'mh-showing-mode) #@297 Minor mode to show the message in a separate window. If called interactively, enable Mh-Showing mode if ARG is positive, and disable it if ARG is zero or negative. If called from Lisp, also enable the mode if ARG is omitted or nil, and toggle it if ARG is `toggle'; disable the mode otherwise. (defalias 'mh-showing-mode #[(&optional arg) "\304 \305=\203 \n?\202 \306 !\307V\310\311\n\203 \312\202 \313\"\210\314\315!\203D \304 \2033 \304 \232\203D \316\317\320\n\203? \321\202@ \322#\210))\323 \210\n\207" [#1=#:last-message arg mh-showing-mode local current-message toggle prefix-numeric-value 0 run-hooks mh-showing-mode-hook mh-showing-mode-on-hook mh-showing-mode-off-hook called-interactively-p any " in current buffer" message "Mh-Showing mode %sabled%s" "en" "dis" force-mode-line-update] 4 (#$ . 5668) (list (or current-prefix-arg 'toggle))]) (defvar mh-showing-mode-hook nil) (byte-code "\301\302N\204\f \303\301\302\304#\210\305\306\307\310\300!\205 \311\211%\207" [mh-showing-mode-map mh-showing-mode-hook variable-documentation put "Hook run after entering or leaving `mh-showing-mode'.\nNo problems result if this variable is not bound.\n`add-hook' automatically binds it. (This is true for all hook variables.)" add-minor-mode mh-showing-mode " Show" boundp nil] 6) #@99 Stack of operations that change the folder view. These operations include narrowing or threading. (defvar mh-view-ops nil (#$ . 6970)) #@117 List of messages to use to train the junk filter. This variable can be used by `mh-before-commands-processed-hook'. (defvar mh-whitelist nil (#$ . 7112)) #@49 Keeps track of MIME data on a per buffer basis. (defvar mh-globals-hash (make-hash-table) (#$ . 7272)) #@57 Keeps track of folder whose message is being displayed. (defvar mh-show-folder-buffer nil (#$ . 7381)) #@194 Lists which folders were affected by deletes and refiles. This list will always include the current folder `mh-current-folder'. This variable can be used by `mh-after-commands-processed-hook'. (defvar mh-folders-changed nil (#$ . 7491)) #@521 Line used by MH to separate headers from text in messages being composed. This variable should not be used directly in programs. Programs should use `mail-header-separator' instead. `mail-header-separator' is initialized to `mh-mail-header-separator' in `mh-letter-mode'; in other contexts, you may have to perform this initialization yourself. Do not make this a regular expression as it may be the argument to `insert' and it is passed through `regexp-quote' before being used by functions like `re-search-forward'. (custom-declare-variable 'mh-mail-header-separator "--------" '(#$ . 7735) :group 'mh-e :type 'string) #@39 Folder of msg assoc with this letter. (defvar mh-sent-from-folder nil (#$ . 8364)) #@39 Number of msg assoc with this letter. (defvar mh-sent-from-msg nil (#$ . 8453)) #@91 Cached value of the "Unseen-Sequence:" MH profile component. Name of the Unseen sequence. (defvar mh-unseen-seq nil (#$ . 8539)) #@95 Cached value of the "Previous-Sequence:" MH profile component. Name of the Previous sequence. (defvar mh-previous-seq nil (#$ . 8674)) #@38 Non-nil means that we have "flists". (defvar mh-flists-present-flag nil (#$ . 8815)) #@55 MH-E specific file where index search info is stored. (defvar mh-index-data-file ".mhe_index" (#$ . 8906)) (defvar mh-letter-header-field-regexp "^\\([A-Za-z][A-Za-z0-9-]*\\):") #@68 Non-nil means next SPC or whatever goes to next undeleted message. (defvar mh-page-to-next-msg-flag nil (#$ . 9090)) #@41 Non-nil means PGP support is available. (defvar mh-pgp-support-flag (byte-code "\300\301!??\207" [locate-library "mml2015"] 2) (#$ . 9213)) #@324 Text of a signature separator. A signature separator is used to separate the body of a message from the signature. This can be used by user agents such as MH-E to render the signature differently or to suppress the inclusion of the signature in a reply. Use `mh-signature-separator-regexp' when searching for a separator. (defvar mh-signature-separator "-- \n" (#$ . 9360)) #@88 This regular expression matches the signature separator. See `mh-signature-separator'. (defvar mh-signature-separator-regexp "^-- $" (#$ . 9741)) #@57 Map of message index to various parts of the scan line. (defvar mh-thread-scan-line-map nil (#$ . 9893)) (make-variable-buffer-local 'mh-thread-scan-line-map) #@130 Old map of message index to various parts of the scan line. This is the original map that is stored when the folder is narrowed. (defvar mh-thread-scan-line-map-stack nil (#$ . 10059)) (byte-code "\300\301!\210\302\303\304\305\306\307\310\311&\207" [make-variable-buffer-local mh-thread-scan-line-map-stack custom-declare-variable mh-x-mailer-string nil "String containing the contents of the X-Mailer header field.\nIf nil, this variable is initialized to show the version of MH-E,\nEmacs, and MH the first time a message is composed." :group mh-e :type (choice (const :tag "Default" nil) string)] 8) #@185 Return Gnus version available at macro expansion time. The macro evaluates the Gnus version at macro expansion time. If MH-E was compiled then macro expansion happens at compile time. (defalias 'mh-macro-expansion-time-gnus-version '(macro . #[nil "\207" [gnus-version] 1 (#$ . 10669)])) #@44 Return Gnus version available at run time. (defalias 'mh-run-time-gnus-version #[nil "\301\302!\210\207" [gnus-version require gnus] 2 (#$ . 10964)]) #@73 Display version information about MH-E and the MH mail handling system. (defalias 'mh-version #[nil "\306!q\210\307 \210\310 \311\261\210\312c\210\313\301K!\211\203 \314\202 \315\316\n\203) \317\202* \320\321\322\321\323\324 \311\261 \210*\325 \311\261\210\f\204D \326 !\210\f\203\\ \f\321\327\"\321\330#\321\331$\311\261\210\202_ \332c\210\3331n \334\335\336\337\336\340%0\202r \210\202s \210eb\210\341!\207" [mh-info-buffer mh-version compiled-mhe gnus-compiled-version mh-variant-in-use mh-variant get-buffer-create erase-buffer "MH-E " "\n\n" "MH-E compilation details:\n" byte-code-function-p "Gnus v5.13" "N/A" " Byte compiled: " "yes" "no" "\n" " Gnus (compile-time): " " Gnus (run-time): " mh-run-time-gnus-version emacs-version mh-variant-set " mh-progs: " " mh-lib: " " mh-lib-progs: " "No MH variant detected\n" (file-error) call-process "uname" nil t "-a" display-buffer mh-progs mh-lib mh-lib-progs] 12 (#$ . 11121) nil]) #@74 Flatten the list L and make every element of the new list into a string. (defalias 'mh-list-to-string #[(l) "\301!\237\207" [l mh-list-to-string-1] 2 (#$ . 12076)]) #@74 Flatten the list L and make every element of the new list into a string. (defalias 'mh-list-to-string-1 #[(l) "\304 \304\211\203Y @\211\203R \n9\203 \305\n!B\202R \n\247\203- \306\n!B\202R \n\307\232\204R \n;\203? \nB\202R \n<\203M \310\n!\244\202R \311\312\n\"\210A\211\204\n *)\207" [new-list l element --dolist-tail-- nil symbol-name int-to-string "" mh-list-to-string-1 error "Bad element: %s"] 4 (#$ . 12248)]) #@38 Maximum number of command line args. (defvar mh-index-max-cmdline-args 500 (#$ . 12687)) #@250 Partial imitation of xargs. The current buffer contains a list of strings, one on each line. The function will execute CMD with ARGS and pass the first `mh-index-max-cmdline-args' strings to it. This is repeated till all the strings have been used. (defalias 'mh-xargs #[(cmd &rest args) "eb\210p\306\307!r q\210\310\216pq\210m\204L \311!\312m\204: \fW\203: \313`\314 \" B\fT\315y\210\202 \316\317\315\n\315D\315 \237&\210*\202 \320 \210\321\n!-\207" [current-buffer #1=#:temp-buffer out args count arg-list generate-new-buffer " *temp*" #[nil "\301!\205 \302!\207" [#1# buffer-name kill-buffer] 2] reverse 0 buffer-substring-no-properties mh-line-end-position nil apply call-process erase-buffer insert-buffer-substring mh-index-max-cmdline-args cmd] 7 (#$ . 12783)]) #@123 Quote STRING for /bin/sh. Adds double-quotes around entire string and quotes the characters \, `, and $ with a backslash. (defalias 'mh-quote-for-shell #[(string) "\305\306\307\310\nT\211 GW\203+ \nH\f\311\312>\203# \313\202$ \314\"P\202 \f,\305Q\207" [string #1=#:--cl-vec-- #2=#:--cl-idx-- x #3=#:--cl-var-- "\"" -1 nil "" format (92 96 36) "\\%c" "%c"] 5 (#$ . 13578)]) #@182 Execute mh-command COMMAND with ARGS. The side effects are what is desired. Any output is assumed to be an error and is shown to the user. The output is not read or parsed by MH-E. (defalias 'mh-exec-cmd #[(command &rest args) "r\306!q\210\307 `\310!\311\312\313\f \"\314\315\314&\210\316 V\205_ \212\nb\210\317\f\261\210\314:\203L @\320\261\210A\211\2024 *\321c\210)\322 \323\216\324!\210\325\326!*,\207" [mh-log-buffer initial-size start args command mh-progs get-buffer-create mh-truncate-log-buffer mh-list-to-string apply call-process expand-file-name nil t buffer-size "Errors when executing: " " " "\n" current-window-configuration #[nil "\301!\207" [#1=#:wconfig set-window-configuration] 2] switch-to-buffer-other-window sit-for 5 #2=#:--cl-var-- arg #1#] 8 (#$ . 13970)]) #@183 In environment ENV, execute mh-command COMMAND with ARGS. ENV is nil or a string of space-separated "var=value" elements. Signals an error if process does not complete successfully. (defalias 'mh-exec-cmd-error #[(env command &rest args) "r\306!q\210\307 \210 \n;\205 \310\n\311\"\312\211\203) \f@\211 B\fA\211\204 *\313 \314\315\316 \"\312\317\312\320!&\"*\207" [mh-temp-buffer process-environment env elem --dolist-tail-- command get-buffer-create erase-buffer split-string " " nil mh-handle-process-error apply call-process expand-file-name t mh-list-to-string mh-progs args] 11 (#$ . 14790)]) #@273 Execute MH command COMMAND in the background. If FILTER is non-nil then it is used to process the output otherwise the default filter `mh-process-daemon' is used. See `set-process-filter' for more details of FILTER. ARGS are passed to COMMAND as command line arguments. (defalias 'mh-exec-cmd-daemon #[(command filter &rest args) "r\306!q\210\307 \210)\310\311\312\n\310\313\n\"\314\f!%\315 \206! \316\"\210 *\207" [mh-log-buffer process-connection-type command mh-progs args process get-buffer-create mh-truncate-log-buffer nil apply start-process expand-file-name mh-list-to-string set-process-filter mh-process-daemon filter] 7 (#$ . 15408)]) #@418 In environment ENV, execute mh-command COMMAND in the background. ENV is nil or a string of space-separated "var=value" elements. Signals an error if process does not complete successfully. If FILTER is non-nil then it is used to process the output otherwise the default filter `mh-process-daemon' is used. See `set-process-filter' for more details of FILTER. ARGS are passed to COMMAND as command line arguments. (defalias 'mh-exec-cmd-env-daemon #[(env command filter &rest args) " ;\205 \306 \307\"\310\211\203 @\211BA\211\204 *\311\312\f $)\207" [process-environment env elem --dolist-tail-- command filter split-string " " nil apply mh-exec-cmd-daemon args] 6 (#$ . 16069)]) #@133 PROCESS daemon that puts OUTPUT into a temporary buffer. Any output from the process is displayed in an asynchronous pop-up window. (defalias 'mh-process-daemon #[(_process output) "r\302!q\210\303 !\210\304!)\207" [mh-log-buffer output get-buffer-create insert-before-markers display-buffer] 2 (#$ . 16774)]) #@341 Signal RAISE-ERROR if COMMAND with ARGS fails. Execute MH command COMMAND with ARGS. ARGS is a list of strings. Return at start of mh-temp buffer, where output can be parsed and used. Returns value of `call-process', which is 0 for success, unless RAISE-ERROR is non-nil, in which case an error is signaled if `call-process' returns non-0. (defalias 'mh-exec-cmd-quiet #[(raise-error command &rest args) "\306!q\210\307 \210\310\311\312 \n\"\313\314\313&eb\210 \203# \315 \f\"\202$ \f)\207" [mh-temp-buffer command mh-progs args value raise-error get-buffer-create erase-buffer apply call-process expand-file-name nil t mh-handle-process-error] 7 (#$ . 17093)]) #@186 Execute MH command COMMAND with DISPLAY flag and ARGS. Put the output into buffer after point. Set mark after inserted text. Output is expected to be shown to user, not parsed by MH-E. (defalias 'mh-exec-cmd-output #[(command display &rest args) "\304`\305\"\210\306\307\310 \"\311\305\n\312!&\210\313 \207" [command mh-progs display args push-mark t apply call-process expand-file-name nil mh-list-to-string mh-exchange-point-and-mark-preserving-active-mark] 8 (#$ . 17766)]) #@169 Put the mark where point is now, and point where the mark is now. This command works even when the mark is not active, and preserves whether the mark is active or not. (defalias 'mh-exchange-point-and-mark-preserving-active-mark #[nil "\303\300!\205 \304\305!\211\204 \306\307!\210\310`!\210\nb\210\303\300!\203# *\311\207" [mark-active is-active omark boundp mark t error "No mark set in this buffer" set-mark nil] 3 (#$ . 18253) nil]) #@117 Execute MH library command COMMAND with ARGS. Put the output into buffer after point. Set mark after inserted text. (defalias 'mh-exec-lib-cmd-output #[(command &rest args) "\303\304\305 \"\306\n$\207" [command mh-lib-progs args apply mh-exec-cmd-output expand-file-name nil] 5 (#$ . 18704)]) #@75 Raise error if COMMAND returned non-zero STATUS, otherwise return STATUS. (defalias 'mh-handle-process-error #[(command status) "\304\232\203 \207eb\210\250\203 \305\306 #\202 \305\307 #c\210ed{r\310!q\210\311 \210\nc\210*\312\313 #\207" [status command error-message mh-log-buffer 0 format "%s: exit code %d\n" "%s: %s\n" get-buffer-create mh-truncate-log-buffer error "%s failed, check buffer %s for error message"] 4 (#$ . 19004)]) #@146 Strip :package-version keyword and its value from ARGS. In Emacs versions that support the :package-version keyword, ARGS is returned unchanged. (defalias 'mh-strip-package-version '(macro . #[(args) "\301\302\303\304\305\306\307\310\311BBBBBEF\207" [args if (boundp 'customize-package-emacs-version-alist) let (seen) cl-loop for keyword in (if (cond ((eq keyword ':package-version) (setq seen t) nil) (seen (setq seen nil) nil) (t t)) collect keyword)] 11 (#$ . 19457)])) #@261 Declare SYMBOL as a customization group containing MEMBERS. See documentation for `defgroup' for a description of the arguments SYMBOL, MEMBERS, DOC and ARGS. This macro is used by Emacs versions that lack the :package-version keyword, introduced in Emacs 22. (defalias 'defgroup-mh '(macro . #[(symbol members doc &rest args) "\306 \n\307\310!\203 \202G \311\311\211\f :\203C @\211\f\312=\203, \313\202<