MMCT TEAM
Server IP : 111.118.215.189  /  Your IP : 18.218.164.141
Web Server : Apache
System : Linux md-in-83.webhostbox.net 4.19.286-203.ELK.el7.x86_64 #1 SMP Wed Jun 14 04:33:55 CDT 2023 x86_64
User : a1673wkz ( 2475)
PHP Version : 8.2.25
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : ON
Directory (0755) :  /usr/share/emacs/24.3/lisp/mh-e/

[  Home  ][  C0mmand  ][  Upload File  ]

Current File : //usr/share/emacs/24.3/lisp/mh-e/mh-alias.elc
;ELC
;;; Compiled by mockbuild@buildfarm06-new.corp.cloudlinux.com on Fri Oct 11 10:11:36 2024
;;; from file /builddir/build/BUILD/emacs-24.3/lisp/mh-e/mh-alias.el
;;; in Emacs version 24.3.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 mh-e goto-addr] 2)
#@22 Alist of MH aliases.
(defvar mh-alias-alist 'not-read (#$ . 624))
#@43 Alist of MH aliases that are blind lists.
(defvar mh-alias-blind-alist nil (#$ . 696))
#@67 Alist of aliases extracted from passwd file and their expansions.
(defvar mh-alias-passwd-alist nil (#$ . 789))
#@32 Time aliases were last loaded.
(defvar mh-alias-tstamp nil (#$ . 907))
(defvar mh-alias-read-address-map (byte-code "\302!\303	\304\305#\210\303	\306\307#\210	)\207" [minibuffer-local-completion-map map copy-keymap define-key "," mh-alias-minibuffer-confirm-address " " self-insert-command] 4))
#@349 *A list of system files which are a source of aliases.
If these files are modified, they are automatically reread. This list
need include only system aliases and the passwd file, since personal
alias files listed in your "Aliasfile:" MH profile component are
automatically included. You can update the alias list manually using
\[mh-alias-reload].
(defvar mh-alias-system-aliases '("/etc/nmh/MailAliases" "/etc/mh/MailAliases" "/usr/lib/mh/MailAliases" "/usr/share/mailutils/mh/MailAliases" "/etc/passwd") (#$ . -1211))
#@208 Check whether alias files have been modified.
Return t if any file listed in the Aliasfile MH profile component has
been modified since the timestamp.
If ARG is non-nil, set timestamp with the current time.
(defalias 'mh-alias-tstamp #[(arg) "\203\304 \211@	A@D\211)\207\305\306\307\310\311\306!\">@)\207" [arg time mh-alias-tstamp stamp current-time nil t mapcar #[(file) "\205-\304!\205-\305\306!8\211@\n@V\206-	@\n@U\205-	\211A@)\n\211A@)V\207" [file stamp mh-alias-tstamp x file-exists-p 5 file-attributes] 4] mh-alias-filenames] 6 (#$ . 1738)])
#@201 Return list of filenames that contain aliases.
The filenames come from the Aliasfile profile component and are
expanded.
If ARG is non-nil, filenames listed in `mh-alias-system-aliases' are
appended.
(defalias 'mh-alias-filenames #[(arg) "\204\306 \210\212\307\310!\211\205\311	\312\"\313\314\n\"\f\2032
;\203+\315
C\"\2023\315
\"\2023,\207" [mh-progs filename filelist userlist arg mh-alias-system-aliases mh-find-path mh-profile-component "Aliasfile" split-string "[ 	]+" mapcar #[(file) "\205	\205\302\303	\"!\205\303	\"\207" [mh-user-path file file-exists-p expand-file-name] 4] append] 4 (#$ . 2311)])
#@149 Return a usable address string from a GECOS-NAME and USERNAME.
Use only part of the GECOS-NAME up to the first comma if
COMMA-SEPARATOR is non-nil.
(defalias 'mh-alias-gecos-name #[(gecos-name username comma-separator) "\n\203\304\305	\"\203\306\307	\"\304\310	\"\203!\311\310\312!	#\304\313	\"\203.\311\313\314	#	\314\230\2036\304\315	\"\204B\313	\313Q	)\207" [gecos-name res comma-separator username string-match "^\\([^,]+\\)," match-string 1 "&" mh-replace-regexp-in-string capitalize "\"" "" "^[ a-zA-Z0-9-]+$"] 4 (#$ . 2949)])
#@109 Return an alist of local users from /etc/passwd.
Exclude all aliases already in `mh-alias-alist' from "ali"
(defalias 'mh-alias-local-users #[nil "\306r\307	!q\210\310 \210\n\311=\203\312\313!\2032\314\313!\210\2022\n;\2032\n\315\261\210\316ed\n\311$\210eb\210`dW\203\231\317\320!\203\223\321\322\323!!\324V\203\223\322\325!\322\326!\327\f
#\203g\330\311\"P\202h\230\203x\331\332Q\202~\333\332R \334!\311#\204\222 DB-\325y\210\2022))\207" [passwd-alist mh-temp-buffer mh-alias-local-users username gecos-name mh-alias-passwd-gecos-comma-separator-flag nil get-buffer-create erase-buffer t file-readable-p "/etc/passwd" insert-file-contents "\n" shell-command-on-region looking-at "\\([^:]*\\):[^:]*:\\([^:]*\\):[^:]*:\\([^:]*\\):" string-to-number match-string 2 200 1 3 mh-alias-gecos-name mh-alias-suggest-alias "<" ">" " <" mh-assoc-string realname mh-alias-local-users-prefix alias-name alias-translation mh-alias-alist] 5 (#$ . 3506)])
#@457 Reload MH aliases.

Since aliases are updated frequently, MH-E reloads aliases
automatically whenever an alias lookup occurs if an alias source has
changed. Sources include files listed in your "Aliasfile:" profile
component and your password file if option `mh-alias-local-users' is
turned on. However, you can reload your aliases manually by calling
this command directly.

This function runs `mh-alias-reloaded-hook' after the aliases have
been loaded.
(defalias 'mh-alias-reload #[nil "\212\306\307!\210\310\311!\210\312\311\313\314\315$\210\316\211`dW\203^\317\320!\204X\317\321!\203A\322\323\324!	\311#\204X\323\324!C	B\323\324!CB\202X\317\325!\203X\322\323\324!\311#\204X\323\324!CB\324y\210\202)\n\203\210\302 \211\316\211\203\207
@\322\f@\311#\204\200\326\fC\"
A\211\204n*\327\330!\210\306\331!\207" [mh-alias-alist mh-alias-blind-alist mh-alias-local-users mh-alias-passwd-alist user local-users message "Loading MH aliases..." mh-alias-tstamp t mh-exec-cmd-quiet "ali" "-nolist" "-nouser" nil looking-at "^[ 	]" "\\(.+\\): .+: .*$" mh-assoc-string match-string 1 "\\(.+\\): .*$" append run-hooks mh-alias-reloaded-hook "Loading MH aliases...done"] 6 (#$ . 4501) nil])
#@22 Load new MH aliases.
(defalias 'mh-alias-reload-maybe #[nil "\301=\204\f\302\303!\205\304 \207" [mh-alias-alist not-read mh-alias-tstamp nil mh-alias-reload] 2 (#$ . 5715)])
#@214 Return ali expansion for ALIAS.
ALIAS must be a string for a single alias.
If USER is t, then assume ALIAS is an address and call ali -user. ali
returns the string unchanged if not defined. The same is done here.
(defalias 'mh-alias-ali #[(alias &optional user) "\300\301\302\217\207" [err (byte-code "\212\203	\303\202\n\304\305\306\307	\310\n%\210)db\210\311\312!\203!\313\314!\210ed{)\207" [user user-arg alias "-user" "-nouser" mh-exec-cmd-quiet t "ali" "-nolist" looking-at "^$" delete-char -1] 6) ((error (byte-code "\302\303\304!\"\210	\207" [err alias message "%s" error-message-string] 4)))] 3 (#$ . 5900)])
#@87 Return expansion for ALIAS.
Blind aliases or users from /etc/passwd are not expanded.
(defalias 'mh-alias-expand #[(alias) "\304	\305#\203\n\207\304\n\305#\203\304\n\305#\211A@)\207\306!\207" [alias mh-alias-blind-alist mh-alias-passwd-alist x mh-assoc-string t mh-alias-ali] 5 (#$ . 6529)])
(byte-code "\300\301\302\303#\210\300\304\302\303#\207" [mh-require crm nil t multi-prompt] 4)
#@50 Read an address from the minibuffer with PROMPT.
(defalias 'mh-read-address #[(prompt) "\306 \210\204\307	!\207\n\f\310\311!\203$\310\311!\2057\311	\312\211$\2027\313\314!\203.\312\2027\315\316	\312\211$\317\"\204G\320\321\322#\202M\320\323\324#+\207" [mh-alias-alist prompt mh-alias-read-address-map minibuffer-local-completion-map mh-alias-completion-ignore-case-flag completion-ignore-case mh-alias-reload-maybe read-string fboundp completing-read-multiple nil featurep multi-prompt split-string completing-read "," mapconcat identity ", " mh-alias-expand ",\n " the-answer mh-alias-expand-aliases-flag] 6 (#$ . 6931)])
#@70 Display the alias expansion if `mh-alias-flash-on-comma' is non-nil.
(defalias 'mh-alias-minibuffer-confirm-address #[nil "\2035\212\305\306 \307\n`\"\310\f\305#\203\"\311\312\313!#\210\2024\314\232\2034\315\316\"\2044\311\317\"\210,\320\314!\207" [mh-alias-flash-on-comma case-fold-search beg the-name mh-alias-alist t mh-beginning-of-word buffer-substring-no-properties mh-assoc-string message "%s -> %s" mh-alias-expand 1 string-match " " "No alias for %s" self-insert-command] 5 (#$ . 7582) nil])
#@33 Expand mail alias before point.
(defalias 'mh-alias-letter-expand-alias #[nil "\304 \210\305 \212b\210\305\306!)\211`Y\205+\307\310!\203 	\202!`\n\204)\202*\311E*\207" [begin end mh-alias-expand-aliases-flag mh-alias-alist mh-alias-reload-maybe mh-beginning-of-word -1 fboundp completion-at-point #[(string pred action) "\305\306\"\2038\307	\n#\211\310=\204\"\f;\2035\307\f\n#\310=\2035\311\f;\203,\f\202-	!\2066\f\2026\f)\207\305\312\"\203E\313	\n#\207\305\314\"\205Q\315	\n#\207" [action string mh-alias-alist pred res memql (nil) try-completion t mh-alias-expand (t) all-completions (lambda) mh-test-completion] 5]] 4 (#$ . 8104)])
#@115 Suggest an alias for STRING.
Don't reverse the order of strings separated by a comma if
NO-COMMA-SWAP is non-nil.
(defalias 'mh-alias-suggest-alias #[(string &optional no-comma-swap) "\303\304\"\203\305\306\307\"	\"\207\303\310\"\203\227\207\303\311\"\203-\312\313\306\307\"\306\314\"#\227\207\303\315\"\203:\306\307\"\227\207\303\316\"\203I\305\306\307\"	\"\207\303\317\"\203X\305\306\307\"	\"\207\303\n\320P\"\203i\305\306\307\"	\"\207\303\321\"\203x\305\306\314\"	\"\207\303\322\"\203\207\305\306\307\"	\"\207\303\323\"\203\226\305\306\307\"	\"\207\303\324\"\203\254\305\312\325\306\307\"\306\314\"#	\"\207	\204\306\303\326\"\203\306\305\312\325\306\314\"\306\307\"#	\"\207\327!\207" [string no-comma-swap goto-address-mail-regexp string-match "^<\\(.*\\)>$" mh-alias-suggest-alias match-string 1 "^\\sw+$" "^\\(\\sw+\\)\\s-+\\(\\sw+\\)$" format "%s.%s" 2 "^\\([-a-zA-Z0-9._]+\\)@[-a-zA-z0-9_]+\\.+[a-zA-Z0-9]+$" "^\"\\(.*\\)\".*" "^\\(.*\\) +<.*>$" " +(\\(.*\\))$" "^\\(Dr\\|Prof\\)\\.? +\\(.*\\)" "^\\(.*\\), +\\(Jr\\.?\\|II+\\)$" "^\\(.*\\) +\\(Jr\\.?\\|II+\\)$" "^\\(\\sw+\\) +[A-Z]\\.? +\\(.*\\)$" "%s %s" "^\\([^,]+\\), +\\(.*\\)$" mh-alias-canonicalize-suggestion] 7 (#$ . 8774)])
#@219 Process STRING to replace spaces by periods.
First all spaces and commas are replaced by periods. Then every run of
consecutive periods are replaced with a single period. Finally the
string is converted to lower case.
(defalias 'mh-alias-canonicalize-suggestion #[(string) "\302\303!rq\210\304\216	c\210eb\210\305\306\307\310#\203!\311\312\307\211#\210\202eb\210\305\313\307\310#\2035\311\312\307\211#\210\202$eb\210\305\314\307\310#\203I\311\312\307\211#\210\2028\315ed\"\210\316 +\207" [#1=#:temp-buffer string generate-new-buffer " *temp*" ((byte-code "\301!\203\n\302!\210\301\207" [#1# buffer-name kill-buffer] 2)) re-search-forward " +" nil t replace-match "." ",+" "\\.\\.+" downcase-region buffer-string] 4 (#$ . 10015)])
#@75 Return the name of writable file which defines ALIAS from list FILE-LIST.
(defalias 'mh-alias-which-file-has-alias #[(alias file-list) "r\305!q\210	\306\203:\307 \210\310	@!\203\n\311	@!\210\312\313\314\f!\315Q\306\316#\2033	@\306\211\202A\211\204\n+\207" [mh-temp-buffer file-list found the-list alias get-buffer-create nil erase-buffer file-writable-p insert-file-contents re-search-forward "^" regexp-quote ":" t] 5 (#$ . 10763)])
#@268 Return filename which should be used to add ALIAS.
The value of the option `mh-alias-insert-file' is used if non-nil;
otherwise the value of the "Aliasfile:" profile component is used.
If the alias already exists, try to return the name of the file that
contains it.
(defalias 'mh-alias-insert-file #[(&optional alias) "\2039<\2039\303\234\204@\207	\203	\304	!\230\203(\305\306\307\310\"\311\312$\207\313	\"\2068\305\306\307\310\"\311\312$\207\203D;\203D\207\314\311\307\315\316\312!\"\"\211\204X\317\320!\202\213\n\303\234\204c\n@\202\213	\203o	\304	!\230\203{\305\306\307\310\n\"\311\312$\202\213\313	\n\"\206\213\305\306\307\310\n\"\311\312$)\207" [mh-alias-insert-file alias autolist 1 mh-alias-ali completing-read "Alias file: " mapcar list nil t mh-alias-which-file-has-alias delq #[(file) "\301!\205\302\230?\205\207" [file file-writable-p "/etc/passwd"] 2] mh-alias-filenames error "No writable alias file;\nset `mh-alias-insert-file' or the \"Aliasfile:\" profile component"] 7 (#$ . 11219)])
#@46 Return the ADDRESS alias if defined, or nil.
(defalias 'mh-alias-address-to-alias #[(address) "\302\303\"\211\230?\205\304\305\306\307\310	\311\"\"\"@)\207" [address aliases mh-alias-ali t delq nil mapcar #[(alias) "\302\303\"\304\305	\"?\205)\207" [alias recurse mh-alias-ali nil string-match ".*,.*"] 3] split-string ", +"] 8 (#$ . 12263)])
#@57 Return t if sender's address has a corresponding alias.
(defalias 'mh-alias-for-from-p #[nil "\303 \210\212\304 \205\305=\203	q\210\306 \211\205\307\n!))\207" [major-mode mh-show-buffer from-header mh-alias-reload-maybe mh-folder-line-matches-show-buffer-p mh-folder-mode mh-extract-from-header-value mh-alias-address-to-alias] 3 (#$ . 12622)])
#@428 Add ALIAS for ADDRESS in alias FILE without alias check or prompts.
Prompt for alias file if not provided and there is more than one
candidate.

If the alias exists already, you will have the choice of
inserting the new alias before or after the old alias. In the
former case, this alias will be used when sending mail to this
alias. In the latter case, the alias serves as an additional
folder name hint when filing messages.
(defalias 'mh-alias-add-alias-to-file #[(alias address &optional file) "\204\306	!r\307!q\210eb\210	\310P\311\312\313\314\315\f!\316Q\311\312#\203M\317\320\321\322\323!\"!\312\324\325
\"\204I\324\326
\"\203E\323y\210\202I\327\330!\210*\202\256$\331=\203\227\f\332\311O\f\333\332O\211\334\232\204~\313\314\315\f!P\311\312#\204~\f\332\311O\f\333\332O\211\202_\335 \210\313\314\315\f!\336\337\260\311\312#\203\256\323y\210\202\201$\340=\203\244db\210\202\256$\341=\203\256eb\210+\335 \210\320\342	%#c\210\343 )\207" [file alias case-fold-search letter alias-search answer mh-alias-insert-file find-file-noselect ":" nil t re-search-forward "^" regexp-quote " *\\(.*\\)" read-string format "Alias %s exists; insert new address [b]efore or [a]fter: " match-string 1 string-match "^b" "^a" error "Unrecognized response" sorted -1 0 "" beginning-of-line "[a-" "]" bottom top "%s: %s\n" save-buffer mh-alias-insertion-location address] 7 (#$ . 12982)])
#@382 Add ALIAS for ADDRESS in personal alias file.

This function prompts you for an alias and address. If the alias
exists already, you will have the choice of inserting the new
alias before or after the old alias. In the former case, this
alias will be used when sending mail to this alias. In the latter
case, the alias serves as an additional folder name hint when
filing messages.
(defalias 'mh-alias-add-alias #[(alias address) "\305 \210\306\307\310\211	%\n\203\311\312\n\"\203\313\314\n\"\315\316\n\"\311\312\n\"\203,\313\314\n\"\317\n!\320	!	\230\203<\310	\f\232\203O\n\232\203O\321\322\"\202g\f\203c\323\324\325\f\"!\205g\326	\n\"\202g\326	\n\"*\207" [mh-alias-alist alias address alias-address address-alias mh-alias-reload-maybe completing-read "Alias: " nil string-match "^<\\(.*\\)>$" match-string 1 read-string "Address: " mh-alias-address-to-alias mh-alias-expand message "Already defined as %s" y-or-n-p format "Address has alias %s; set new one? " mh-alias-add-alias-to-file] 6 (#$ . 14395) "P\nP"])
#@50 Add alias for the sender of the current message.
(defalias 'mh-alias-grab-from-field #[nil "\305 \210\212\306 \203q\210\2025	\307=\203+\310\311!\203+\312\n!q\210\313\314\310\315!!!\210\2025	\307=\2035\316\317!\210\320 \206=\316\321!\322!\323\f\"+\207" [mh-show-buffer major-mode mh-temp-buffer address alias mh-alias-reload-maybe mh-folder-line-matches-show-buffer-p mh-folder-mode mh-get-msg-num nil get-buffer-create insert-file-contents mh-msg-filename t error "Cursor not pointing to a message" mh-extract-from-header-value "Message has no From: header" mh-alias-suggest-alias mh-alias-add-alias] 4 (#$ . 15437) nil])
#@42 Insert an alias for address under point.
(defalias 'mh-alias-add-address-under-point #[nil "\301 \211\203\302\303\"\202\304\305!)\207" [address goto-address-find-address-at-point mh-alias-add-alias nil message "No email address found under point"] 4 (#$ . 16078) nil])
#@71 Show all aliases or addresses that match a regular expression REGEXP.
(defalias 'mh-alias-apropos #[(regexp) "\203\306 \210\307\211\310\212\311\312!\210\313\314\315\316\317$\210\311\320!\210\321\f\310\314#\203Y\322 \210\323\324!\203L\n\212\325\326\310\314#\2069`)\321\326\310\314#\203E\327u\210`{P\202`\310\210`{\330Q\202\311\331!\210\203o\311\332!\210\333\334
\307#\311\335!\210)\307\230\203\210\n\307\230\203\210	\307\230\203\210\311\336!\202\343()r\337*!q\210p\340 \210)(\310\211+,\314\211-\314./\341 \210\342\343!\210+\21101\307\230\204\301\344!\210\n\307\230\204\317\344\345!\210\344\n!\210	\307\230?\205\335\344\346!\210\344	!\3470!\210++\207" [mh-alias-local-users passwd-matches group-matches matches regexp mh-alias-passwd-alist mh-alias-reload-maybe "" nil message "Reading MH aliases..." mh-exec-cmd-quiet t "ali" "-nolist" "-nouser" "Parsing MH aliases..." re-search-forward beginning-of-line looking-at "^[ 	]" re-search-backward "^[^ 	]" -1 "\n" "Parsing MH aliases...done" "Making passwd aliases..." mapconcat #[(elem) "\303	@\"\204\303	\211A@)\"\205\304\305	@	\211A@)#\207" [regexp elem x string-match format "%s: %s\n"] 5] "Making passwd aliases...done" "No matches" get-buffer-create kill-all-local-variables erase-buffer run-hooks temp-buffer-setup-hook princ "\nGroup Aliases:\n\n" "\nLocal User Aliases:\n\n" internal-temp-output-buffer-show default-directory #1=#:old-dir mh-aliases-buffer buffer-read-only buffer-file-name buffer-undo-list inhibit-modification-hooks inhibit-read-only #2=#:buf standard-output] 7 (#$ . 16359) "sAlias regexp: "])
#@199 Return t if the message under point in folder-mode is in the show buffer.
Return nil in any other circumstance (no message under point, no
show buffer, the message in the show buffer doesn't match.
(defalias 'mh-folder-line-matches-show-buffer-p #[nil "\302=\2057\303\304!\2057	\2057\305	!\2057\306\305	!!\2057\307\310\306\305	!!\"\2057\311\312\306\305	!!\"\313\303\304!!\230\207" [major-mode mh-show-buffer mh-folder-mode mh-get-msg-num nil get-buffer buffer-file-name string-match ".*/\\([0-9]+\\)$" match-string 1 int-to-string] 5 (#$ . 17987)])
(provide 'mh-alias)

MMCT - 2023