403Webshell
Server IP : 217.160.0.212  /  Your IP : 216.73.216.141
Web Server : Apache
System : Linux www 6.18.51-i1-ampere #1196 SMP Fri Sep 11 20:43:55 CEST 2026 aarch64
User : sws1073854427 ( 1073854427)
PHP Version : 8.4.23
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : OFF  |  Sudo : OFF  |  Pkexec : OFF
Directory :  /usr/share/emacs/28.2/lisp/mh-e/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /usr/share/emacs/28.2/lisp/mh-e/mh-seq.elc
;ELC
;;; Compiled
;;; in Emacs version 28.2
;;; with all optimizations.



(byte-code "\300\301!\210\300\302!\210\300\303!\207" [require mh-e mh-scan font-lock] 2)
#@44 Name of seq to which a msg was last added.
(defvar mh-last-seq-used nil (#$ . 173))
#@66 Saved value of `mh-mode-line-annotation' when narrowed to a seq.
(defvar mh-non-seq-mode-line-annotation nil (#$ . 263))
(make-variable-buffer-local 'mh-non-seq-mode-line-annotation)
(defvar mh-internal-seqs '(answered cur deleted forwarded printed))
#@59 Create sequence NAME with the given MSGS.

(fn NAME MSGS)
(defalias 'mh-make-seq #[514 "B\207" [] 4 (#$ . 520)])
(byte-code "\300\301\302\303#\304\301\305\306#\207" [function-put mh-make-seq speed -1 put byte-optimizer byte-compile-inline-expand] 5)
#@63 Extract sequence name from the given SEQUENCE.

(fn SEQUENCE)
(defalias 'mh-seq-name #[257 "\211@\207" [] 2 (#$ . 778)])
(byte-code "\300\301\302\303#\304\301\305\306#\207" [function-put mh-seq-name speed -1 put byte-optimizer byte-compile-inline-expand] 5)
#@150 Delete RANGE from the "unseen" sequence.

Check the documentation of `mh-interactive-range' to see how
RANGE is read in interactive use.

(fn RANGE)
(defalias 'mh-catchup #[257 "\301\"\207" [mh-unseen-seq mh-delete-msg-from-seq] 4 (#$ . 1043) (byte-code "\300\301edB\"C\207" [mh-interactive-range "Catchup"] 4)])
#@245 Delete RANGE from SEQUENCE.

Check the documentation of `mh-interactive-range' to see how
RANGE is read in interactive use.

In a program, non-nil INTERNAL-FLAG means do not inform MH of the
change.

(fn RANGE SEQUENCE &optional INTERNAL-FLAG)
(defalias 'mh-delete-msg-from-seq #[770 "\304!\305!?C\306\205=\247\203<\307\310\211#\203C\262A>\2031\311?\"\210\312\310#\210\202:\203\222@\247\203\222A\247\203\222\212@b\210\313 \210`AX\203\216m\204\216\314	!\203\210\315\310!\211B\262\211A>\203\200\311?\"\210\312\310#\266\316y\210\202Y)\202\203\2449\203\244\317!\202\264;\203\262\320\"\202\264\321 \211\203\312\211@\322\310#\210A\266\202\202\267\210\212eb\210\313 \210`dX\203m\204\314	!\203\315\310!\323\"\203\211B\262\211A>\203\311?\"\210\312\n\310#\210\210\316y\210\202\322)\266\204\324\"\210\n\203-\204-\325\326\"\"\262=\205=\327 \205=\330\331\310#\207" [mh-current-folder mh-scan-valid-regexp mh-index-data mh-unseen-seq mh-find-seq mh-internal-seq nil mh-goto-msg t mh-remove-sequence-notation mh-delete-a-msg-from-seq beginning-of-line looking-at mh-get-msg-num 1 mh-seq-to-msgs mh-translate-range make-hash-table puthash gethash mh-undefine-sequence append mh-index-delete-from-sequence mh-speed-flists-active-p apply mh-speed-flists] 15 (#$ . 1365) (byte-code "\300\301!\302\303\304\"\305E\207" [mh-interactive-range "Delete" mh-read-seq-default "Delete from" t nil] 4)])
#@237 Delete SEQUENCE.

You are prompted for the sequence to delete. Note that this
deletes only the sequence, not the messages in the sequence. If
you want to delete the messages, use "\[universal-argument]
\[mh-delete-msg]".

(fn SEQUENCE)
(defalias 'mh-delete-seq #[257 "\304!\305!C\247\203\306\307\211#\203\276\310\"\210\202\276:\203Z@\247\203ZA\247\203Z\212@b\210\311 \210`AX\203Vm\204V\312	!\203P\313\307!\310\"\266\314y\210\2026)\202\276\203i9\203i\304!\202v;\203u\315\"\202v\316 \211\203\214\211@\317\307#\210A\266\202\202y\210\212eb\210\311 \210`dX\203\273m\204\273\312	!\203\265\313\307!\320\"\203\264\310\"\210\210\314y\210\202\224)\266\321\322\"\210\323!\210\n\203\326\324\325\"\"\262=\205\346\326 \205\346\327\330\307#\207" [mh-current-folder mh-scan-valid-regexp mh-index-data mh-unseen-seq mh-seq-to-msgs mh-internal-seq mh-goto-msg t mh-remove-sequence-notation beginning-of-line looking-at mh-get-msg-num 1 mh-translate-range make-hash-table puthash gethash mh-undefine-sequence ("all") mh-delete-seq-locally append mh-index-delete-from-sequence mh-speed-flists-active-p apply mh-speed-flists] 12 (#$ . 2870) (byte-code "\300\301\302\"C\207" [mh-read-seq-default "Delete" t] 3)])
#@87 List all sequences in folder.

The list appears in a buffer named "*MH-E Sequences*".
(defalias 'mh-list-sequences #[0 "	\n\306r\307!q\210p\310 \210\311\211\312\211#\312$%\313 \210\314\315!\210+\211&rq\210\313 \210\316\317!\210\320\321\261\210\211\203T\322\211A\262\242\211@\262!G]\262\202<\323\\\262\210\203\266@\211@\262\324\325\326@\211A\262!\327\"!\311\330\211\331\"\"\211\262c\210\203\253\330\332\211A\262\242\"iG\\\333 Y\203\244\334c\210\330\211\335G\"\336\"c\210\211c\266\202\200\334c\266A\262\202Zeb\210\337 \210\340'\316\341!)\342!\210)\207" [mh-current-folder mh-sequences-buffer mh-seq-list default-directory buffer-read-only buffer-file-name 0 get-buffer-create kill-all-local-variables nil t erase-buffer run-hooks temp-buffer-setup-hook message "Listing sequences ..." "Sequences in folder " ":\n" symbol-name 2 mh-coalesce-msg-list sort copy-sequence < format "%%%ss:" " %s" window-width "\n" "%%%ss" "" mh-view-mode-enter kill-buffer "Listing sequences...done" internal-temp-output-buffer-show buffer-undo-list inhibit-modification-hooks inhibit-read-only standard-output view-exit-action] 15 (#$ . 4137) nil])
#@157 Display the sequences in which the current message appears.

Use a prefix argument to display the sequences in which another
MESSAGE appears.

(fn MESSAGE)
(defalias 'mh-msg-is-in-seq #[257 "\211\204	\302\303!\262\304\303\304:\2033@\262A\235\203(@\262\304\211\262\202)\303\2033A\262\202
?\2059\211\266\204\211?\205C	\235\305\306\203R\307\310\"\202[\203Z\311\202[\312\313\314\315\316\n\303\"!\317#$\207" [mh-refile-list mh-delete-list mh-get-msg-num t nil message "Message %d%s is in sequences: %s" format " (to be refiled to %s)" " (to be deleted)" "" mapconcat concat mh-list-to-string mh-seq-containing-msg " "] 13 (#$ . 5322) "P"])
#@363 Restrict display to messages in SEQUENCE.

You are prompted for the name of the sequence. What this command
does is show only those messages that are in the selected
sequence in the MH-Folder buffer. In addition, it limits further
MH-E searches to just those messages.

When you want to widen the view to all your messages again, use
\[mh-widen].

(fn SEQUENCE)
(defalias 'mh-narrow-to-seq #[257 "\306 \307\211\310!\203\311 \210d\312\307!\nB\313\314\315\"\316!\210\317e\"\fBe|\210\320 \210\321 \210\211\203;\322\323\211#\210
!\324!\325 \210\326\307!\210\327\330!\203s\203s\331\332!\210\"\333\334#!!\203sr#q\210\331\332!\210$)\335%B\211%\266\202\202\205\336\337\324!\"\340!\210*\207" [buffer-file-name buffer-read-only mh-thread-scan-line-map mh-thread-scan-line-map-stack mh-folder-view-stack mh-mode-line-annotation buffer-modified-p nil mh-seq-to-msgs mh-remove-all-notation mh-get-msg-num make-hash-table :test eql mh-copy-seq-to-eob buffer-substring-no-properties mh-notate-deleted-and-refiled mh-notate-cur mh-goto-msg t symbol-name mh-make-folder-mode-line mh-recenter boundp tool-bar-mode make-local-variable tool-bar-map buffer-live-p get-buffer widen error "No messages in sequence %s" mh-set-folder-modified-p mh-non-seq-mode-line-annotation mh-folder-seq-tool-bar-map mh-show-buffer mh-show-seq-tool-bar-map mh-view-ops] 8 (#$ . 5996) (byte-code "\300\301\302\"C\207" [mh-read-seq "Narrow to" t] 3)])
#@337 Limit to ticked messages.

What this command does is show only those messages that are in
the "tick" sequence (which you can customize via the
`mh-tick-seq' option) in the MH-Folder buffer. In addition, it
limits further MH-E searches to just those messages. When you
want to widen the view to all your messages again, use
\[mh-widen].
(defalias 'mh-narrow-to-tick #[0 "\204\301\302!\207\303!\211A\262\204\304\305\"\207\306!\207" [mh-tick-seq error "Enable ticking by customizing `mh-tick-seq'" mh-find-seq message "No messages in %s sequence" mh-narrow-to-seq] 3 (#$ . 7450) nil])
#@352 Add RANGE to SEQUENCE\<mh-folder-mode-map>.

Give this command a RANGE and you can add all the messages in a
sequence to another sequence (for example,
"\[universal-argument] \[mh-put-msg-in-seq] SourceSequence RET
DestSequence RET"). Check the documentation of
`mh-interactive-range' to see how RANGE is read in interactive
use.

(fn RANGE SEQUENCE)
(defalias 'mh-put-msg-in-seq #[514 "\305!\204\306\307\"\210\310!\311!\211A\262C\312!\313\314\315$\210\247\203?\316\315\211#\203\361>\204\361\317\"\210\202\361:\203\204@\247\203\204A\247\203\204\212@b\210\320 \210`AX\203\200m\204\200\321	!\203z\322\315!\211>\204y\317\"\210\210\323y\210\202X)\202\361\203\2249\203\224\324!\202\242;\203\241\325\"\202\242\326 \211\203\270\211@\327\315#\210A\266\202\202\245\210\212eb\210\320 \210`dX\203\356m\204\356\321	!\203\350\322\315!\330\"\203\347\211>\204\347\317\"\210\210\323y\210\202\300)\266\204\367\203\331\332\"\"\262\f=\205\333 \205\334\335\315#\207" [mh-current-folder mh-scan-valid-regexp mh-last-seq-used mh-index-data mh-unseen-seq mh-valid-seq-p error "Can't put message in invalid sequence %s" mh-internal-seq mh-find-seq mh-range-to-msg-list mh-add-msgs-to-seq nil t mh-goto-msg mh-add-sequence-notation beginning-of-line looking-at mh-get-msg-num 1 mh-seq-to-msgs mh-translate-range make-hash-table puthash gethash append mh-index-add-to-sequence mh-speed-flists-active-p apply mh-speed-flists] 14 (#$ . 8048) (byte-code "\300\301!\302\303\304\"D\207" [mh-interactive-range "Add messages from" mh-read-seq-default "Add to" nil] 4)])
#@323 Toggle tick mark of RANGE.

This command adds messages to the "tick" sequence (which you can customize
via the option `mh-tick-seq'). This sequence can be viewed later with the
\[mh-index-ticked-messages] command.

Check the documentation of `mh-interactive-range' to see how RANGE is read in
interactive use.

(fn RANGE)
(defalias 'mh-toggle-tick #[257 "\204\306\307!\210\310!\211\211A\262\311\211\247\203Y\312\313\211#\203e\235\203CC\262\314A\"\241\210A\204:\311\315\316 \"\210\202eC\262D\nB\317\316 \"\210)\202e:\203\312@\247\203\312A\247\203\312\212@b\210\320 \210`AX\203\306m\204\306\321!\203\300\322\313!\211\235\203\253\211B\262\314A\"\241\210A\204\241\311\315\316 \"\266\202\300\211B\262D\nB\317\316 \"\210)\210\323y\210\202r)\202e\203\3319\203\331\324!\202\347;\203\346\325\f\"\202\347\326 \211\203\375\211@\327\313#\210A\266\202\202\352\210\212eb\210\320 \210`dX\203bm\204b\321!\203\\\322\313!\330\"\203[\211\235\203G\211B\262\314	A\"\241\210A\204=\311\315\316 \"\266\202\\\211B\262D\nB\317\316 \"\210)\210\323y\210\202)\266\331\311\313$\210\332\"\210
\205~\333\"\210\334\"\207" [mh-tick-seq mh-last-seq-used mh-seq-list mh-scan-valid-regexp mh-current-folder mh-index-data error "Enable ticking by customizing `mh-tick-seq'" mh-find-seq nil mh-goto-msg t delq mh-remove-sequence-notation mh-colors-in-use-p mh-add-sequence-notation beginning-of-line looking-at mh-get-msg-num 1 mh-seq-to-msgs mh-translate-range make-hash-table puthash gethash mh-add-msgs-to-seq mh-undefine-sequence mh-index-add-to-sequence mh-index-delete-from-sequence] 13 (#$ . 9687) (byte-code "\300\301!C\207" [mh-interactive-range "Tick"] 2)])
#@221 Remove last restriction.

Each limit or sequence restriction can be undone in turn with
this command. Give this command a prefix argument ALL-FLAG to
remove all limits and sequence restrictions.

(fn &optional ALL-FLAG)
(defalias 'mh-widen #[256 "\306\307!\203\242\203$	A\203	A\211\202\f	@\310=\203H	A\202H\311\310!\204H\310	>\203D	@\310=\204>	A\211\2021	A\202H\312\313!\210\203d\nA\203X\nA\211\202MA\203dA\211\202Y\n\211A\242\314 \307\211ed|\210\211A\242c\210\315 \210\316 \210\317!\210*\210\211\203\225\320\321\211#\210\322 \210\323 \210\324 \210\325\307!\210\210?\205\323\326\327!\205\323\205\323\330\331!\210\332\333!!\205\323rq\210\330\331!\210 \211)\207" [mh-folder-view-stack mh-view-ops mh-thread-scan-line-map-stack mh-thread-scan-line-map buffer-file-name buffer-read-only mh-get-msg-num nil widen mh-valid-view-change-operation-p error "Widening is not applicable" buffer-modified-p mh-remove-all-notation mh-make-folder-mode-line mh-set-folder-modified-p mh-goto-msg t mh-notate-deleted-and-refiled mh-notate-user-sequences mh-notate-cur mh-recenter boundp tool-bar-mode make-local-variable tool-bar-map buffer-live-p get-buffer mh-non-seq-mode-line-annotation mh-mode-line-annotation mh-folder-tool-bar-map mh-show-buffer mh-show-tool-bar-map] 7 (#$ . 11453) "P"])
(defvar mh-sequence-history nil)
#@199 Read and return sequence name with default narrowed or previous sequence.
PROMPT is the prompt to use when reading. If NOT-EMPTY is non-nil
then a non-empty sequence is read.

(fn PROMPT NOT-EMPTY)
(defalias 'mh-read-seq-default #[514 "\301\206\302\303\304!\304\"@#\207" [mh-last-seq-used mh-read-seq mh-seq-containing-msg mh-get-msg-num nil] 8 (#$ . 12830)])
#@289 Read and return a sequence name.
Prompt with PROMPT, raise an error if the sequence is empty and
the NOT-EMPTY flag is non-nil, and supply an optional DEFAULT
sequence. A reply of `%' defaults to the first sequence
containing the current message.

(fn PROMPT NOT-EMPTY &optional DEFAULT)
(defalias 'mh-read-seq #[770 "\301\302\303#\304!\305\211\211\306&\211\307\267\202$\310\311\312!\305\"@\202'\202'\313!\314!\211\2047\2037\315\316\"\210\207" [mh-seq-list completing-read format-prompt "%s sequence" mh-seq-names nil mh-sequence-history #s(hash-table size 2 test equal rehash-size 1.5 rehash-threshold 0.8125 purecopy t data ("%" 22 "" 32)) mh-seq-containing-msg mh-get-msg-num t intern mh-seq-to-msgs error "No messages in sequence %s"] 10 (#$ . 13202)])
#@77 Return non-nil if NAME is the name of an internal MH-E sequence.

(fn NAME)
(defalias 'mh-internal-seq #[257 "\211>\206$\211	=\206$\304 \203\n\203\211\n=\206$\211=\206$\305!\207" [mh-internal-seqs mh-unseen-seq mh-tick-seq mh-previous-seq mh-colors-in-use-p mh-folder-name-p] 3 (#$ . 13981)])
#@64 Return non-nil if NAME is a valid MH sequence name.

(fn NAME)
(defalias 'mh-valid-seq-p #[257 "\2119\205\300\301\302!\"\207" [string-match "^[a-zA-Z][a-zA-Z0-9]*$" symbol-name] 5 (#$ . 14291)])
#@34 Return sequence NAME.

(fn NAME)
(defalias 'mh-find-seq #[257 "\301\"\207" [mh-seq-list assoc] 4 (#$ . 14495)])
#@49 Return a list of the messages in SEQ.

(fn SEQ)
(defalias 'mh-seq-to-msgs #[257 "\300!\211A\207" [mh-find-seq] 3 (#$ . 14615)])
#@165 Return a list of the sequences containing MSG.
If INCLUDE-INTERNAL-FLAG non-nil, include MH-E internal sequences
in list.

(fn MSG &optional INCLUDE-INTERNAL-FLAG)
(defalias 'mh-seq-containing-msg #[513 "\301\2031@\211A\262>\203*\204 \302@\211@\262!\204*@\211@\262B\262A\262\202\207" [mh-seq-list nil mh-internal-seq] 7 (#$ . 14751)])
#@153 Define the SEQ to contain the list of MSGS.
Do not mark pseudo-sequences or empty sequences.
Signals an error if SEQ is an invalid name.

(fn SEQ MSGS)
(defalias 'mh-define-sequence #[514 "\211\205$\301!\205$\302!?\205$\212\303\304\305\306\307\310\311	!\312	!&)\207" [mh-current-folder mh-valid-seq-p mh-folder-name-p mh-exec-cmd-error nil "mark" "-add" "-zero" "-sequence" symbol-name mh-coalesce-msg-list] 12 (#$ . 15113)])
#@54 Remove from the SEQ the list of MSGS.

(fn SEQ MSGS)
(defalias 'mh-undefine-sequence #[514 "\301!\205\211\205\302\303\304\305\306\307!\310!&\207" [mh-current-folder mh-valid-seq-p apply mh-exec-cmd "mark" "-delete" "-sequence" symbol-name mh-coalesce-msg-list] 11 (#$ . 15554)])
#@326 Add MSGS to SEQ.

Remove duplicates and keep sequence sorted. If optional
INTERNAL-FLAG is non-nil, do not mark the message in the scan
listing or inform MH of the addition.

If DONT-ANNOTATE-FLAG is non-nil then the annotations in the
folder buffer are not updated.

(fn MSGS SEQ &optional INTERNAL-FLAG DONT-ANNOTATE-FLAG)
(defalias 'mh-add-msgs-to-seq #[1026 "\303!\304!\203:\204C\262\204'\305!B\266\202B\2029\2039\305\306\211A\262\"!\241\210?\205\307\"\210?\205\247\203e\310\311\211#\205A>?\205\312\"\207:\203\251@\247\203\251A\247\203\251\212@b\210\313 \210`AX\205\247m?\205\247\314	!\203\241\315\311!\211A>\204\240\312\"\210\210\316y\210\202~)\207\203\2719\203\271\317!\202\307;\203\306\320\n\"\202\307\321 \211\203\335\211@\322\311#\210A\266\202\202\312\210\212eb\210\313 \210`dX\205m?\205\314	!\203
\315\311!\323\"\203\f\211A>\204\f\312\"\210\210\316y\210\202\345)\266\202\207" [mh-seq-list mh-scan-valid-regexp mh-current-folder mh-find-seq mh-internal-seq mh-canonicalize-sequence append mh-add-to-sequence mh-goto-msg t mh-add-sequence-notation beginning-of-line looking-at mh-get-msg-num 1 mh-seq-to-msgs mh-translate-range make-hash-table puthash gethash] 14 (#$ . 15851)])
#@73 The sequence SEQ is augmented with the messages in MSGS.

(fn SEQ MSGS)
(defalias 'mh-add-to-sequence #[514 "\301!\205!\302!?\205!\211\205!\303\304\305\306\307\310!\311!&\207" [mh-current-folder mh-valid-seq-p mh-folder-name-p apply mh-exec-cmd "mark" "-add" "-sequence" symbol-name mh-coalesce-msg-list] 11 (#$ . 17142)])
#@65 Sort MSGS in decreasing order and remove duplicates.

(fn MSGS)
(defalias 'mh-canonicalize-sequence #[257 "\300\301!\302\"\211\211A\203%\211@A@U\203\211AA\241\210\202\211A\262\202\207" [sort copy-sequence >] 5 (#$ . 17482)])
#@126 Delete MSG from SEQUENCE.
If INTERNAL-FLAG is non-nil, then do not inform MH of the
change.

(fn MSG SEQUENCE INTERNAL-FLAG)
(defalias 'mh-delete-a-msg-from-seq #[771 "\300!\211\205%\211A\262>\205%\204\301C\"\210\211\302\211A\262\"\241\207" [mh-find-seq mh-undefine-sequence delq] 9 (#$ . 17726)])
#@40 Remove MH-E's record of SEQ.

(fn SEQ)
(defalias 'mh-delete-seq-locally #[257 "\301!\302\"\211\207" [mh-seq-list mh-find-seq delq] 5 (#$ . 18044)])
#@46 Copy SEQ to the end of the buffer.

(fn SEQ)
(defalias 'mh-copy-seq-to-eob #[257 "\212\305!\306!db\210\214``}\210\307\310\"\210\311>\203\n\312 \210edB\247\203=\313edB\310\211#\203\372edB	\314\315 #\266\202\372edB:\203\207edB@\247\203\207edBA\247\203\207\212edB@b\210\316 \210`edBAX\203\203m\204\203\317\n!\203}\320\310!	\314\315 #\266\321y\210\202^)\202\372edB\203\234edB9\203\234\305edB!\202\257edB;\203\254\322edB\"\202\257edB\323 \211\203\305\211@\314\310#\210A\266\202\202\262\210\212eb\210\316 \210`dX\203\367m\204\367\317\n!\203\361\320\310!\324\"\203\360	\314\315 #\266\210\321y\210\202\315)\266ed|\210\325\326\327\"!\210\330 \202\f\205\331 )\266\202)\207" [mh-view-ops mh-thread-scan-line-map mh-scan-valid-regexp mh-current-folder mh-index-data mh-seq-to-msgs mh-coalesce-msg-list mh-regenerate-headers t unthread mh-remove-all-notation mh-goto-msg puthash mh-thread-parse-scan-line beginning-of-line looking-at mh-get-msg-num 1 mh-translate-range make-hash-table gethash mh-thread-print-scan-lines mh-thread-generate nil mh-notate-user-sequences mh-index-insert-folder-headers] 11 (#$ . 18202)])
#@100 Check if the view change operation can be performed.
OP is one of `widen' and `unthread'.

(fn OP)
(defalias 'mh-valid-view-change-operation-p #[257 "@=\203
\211A\242\207\301\207" [mh-view-ops nil] 3 (#$ . 19365)])
(defvar mh-range-history nil)
(defvar mh-range-completion-map (copy-keymap minibuffer-local-completion-map))
(define-key mh-range-completion-map " " 'self-insert-command)
#@750 Return interactive specification for message, sequence, range or region.
By convention, the name of this argument is RANGE.

If variable `transient-mark-mode' is non-nil and the mark is active,
then this function returns a cons-cell of the region.

If optional prefix argument is provided, then prompt for message range
with RANGE-PROMPT. A list of messages in that range is returned.

If a MH range is given, say something like last:20, then a list
containing the messages in that range is returned.

If DEFAULT non-nil then it is returned.

Otherwise, the message number at point is returned.

This function is usually used with `mh-iterate-on-range' in order to
provide a uniform interface to MH-E functions.

(fn RANGE-PROMPT &optional DEFAULT)
(defalias 'mh-interactive-range #[513 "\303\300!\203\203\303\301!\203	\203\304 \305 B\207\n\203&\306\307\211\310\211%\207\211\203+\207\311\310!\207" [transient-mark-mode mark-active current-prefix-arg boundp region-beginning region-end mh-read-range nil t mh-get-msg-num] 8 (#$ . 19763)])
#@1725 Read a message range with PROMPT.

If FOLDER is non-nil then a range is read from that folder, otherwise
use `mh-current-folder'.

If DEFAULT is a string then use that as default range to return. If
DEFAULT is nil then ask user with default answer a range based on the
sequences that seem relevant. Finally if DEFAULT is t, try to avoid
prompting the user. Unseen messages, if present, are returned. If the
folder has fewer than `mh-large-folder' messages then "all" messages
are returned. Finally as a last resort prompt the user.

If EXPAND-FLAG is non-nil then a list of message numbers corresponding
to the input is returned. If this list is empty then an error is
raised. If EXPAND-FLAG is nil just return the input string. In this
case we don't check if the range is empty.

If ASK-FLAG is non-nil, then the user is always queried for a range of
messages. If ASK-FLAG is nil, then the function checks if the unseen
sequence is non-empty. If that is the case, `mh-unseen-seq', or the
list of messages in it depending on the value of EXPAND, is returned.
Otherwise if the folder has fewer than `mh-large-folder' messages then
the list of messages corresponding to "all" is returned. If neither
of the above holds then as a last resort the user is queried for a
range of messages.

If NUMBER-AS-RANGE-FLAG is non-nil, then if a number, N is read as
input, it is interpreted as the range "last:N".

This function replaces the existing function `mh-read-msg-range'.
Calls to:

  (mh-read-msg-range folder flag)

should be replaced with:

  (mh-read-range "Suitable prompt" folder t nil flag
                 mh-interpret-number-as-range-flag)

(fn PROMPT &optional FOLDER DEFAULT EXPAND-FLAG ASK-FLAG NUMBER-AS-RANGE-FLAG)
(defalias 'mh-read-range #[1537 "\206\206\306\307\310!\311\"@\262\312\313\"\262\206	\311=\211\205'\314!\211\2050\211A@\315V\205<\n\205<@\nV\203K\211\203K\312\316\n\"\202l\203W\211\204W\317\202l;\203b\202l9\205l\320	!\203\204\203\204\211\203\204\321\322@$\202\215\211\205\215\321\f\"	=\203\232
\202\237\323\310\"\324\325\326!\"$	\204\267\203\267\320%!\202\317	\204\304\204\304\317\202\317\327\330\310\211\211\331	&\310\n\203\344\332\333\"\203\344\334\335\336\"P\262\f\204\355\202\337\340!\"\203\337\340!\"A\202\341\n\"\211\262\203\211\202\342\343\"*\207" [mh-last-seq-used mh-current-folder mh-large-folder mh-range-completion-map minibuffer-local-completion-map mh-seq-list mh-seq-containing-msg mh-get-msg-num nil t format "%s range" mh-folder-size 0 "last:%s" "all" symbol-name format-prompt "%s (folder has %s messages)" mh-read-folder-sequences append (("first") ("last") ("all") ("prev") ("next")) mh-seq-names completing-read mh-range-completion-function mh-range-history string-match "^[ 	]*\\([0-9]+\\)[ 	]*$" "last:" match-string 1 assoc intern mh-translate-range error "No messages in range %s" mh-range-seq-names mh-unseen-seq] 22 (#$ . 20821)])
#@146 Return a list of messages for RANGE.

Check the documentation of `mh-interactive-range' to see how
RANGE is read in interactive use.

(fn RANGE)
(defalias 'mh-range-to-msg-list #[257 "\302\247\203\303\304\211#\203\264C\262\202\264:\203Q@\247\203QA\247\203Q\212@b\210\305 \210`AX\203Mm\204M\306!\203G\307\304!\211B\266\202\310y\210\202.)\202\264\203`9\203`\311!\202m;\203l\312	\"\202m\313 \211\203\203\211@\314\304#\210A\266\202\202p\210\212eb\210\305 \210`dX\203\261m\204\261\306!\203\253\307\304!\315\"\203\252\211B\262\210\310y\210\202\213)\266\211\237\207" [mh-scan-valid-regexp mh-current-folder nil mh-goto-msg t beginning-of-line looking-at mh-get-msg-num 1 mh-seq-to-msgs mh-translate-range make-hash-table puthash gethash] 10 (#$ . 23813)])
#@87 In FOLDER, translate the string EXPR to a list of messages numbers.

(fn FOLDER EXPR)
(defalias 'mh-translate-range #[514 "\212\301\302\303\304\"\"\305\30619\307\310\305\311%\210q\210eb\210\312\313\305\314#\2031\315\316\317!!B\262\202\211\2370\266\202\202<\266\305)\207" [mh-temp-buffer delete "" split-string "[ 	\n]" nil (error) apply mh-exec-cmd-quiet "mhpath" re-search-forward "/\\([0-9]*\\)$" t string-to-number match-string 1] 10 (#$ . 24619)])
#@245 Programmable completion of message ranges.
STRING is the user input that is to be completed. PREDICATE if non-nil is a
function used to filter the possible choices and FLAG determines whether the
completion is over.

(fn STRING PREDICATE FLAG)
(defalias 'mh-range-completion-function #[771 "\301\232?\205
\211GSH\211\302\267\202\301\202#\301\202#\303\304\305\"!@\306GGZO\307\267\202}\310#\211\311\267\202B\312\207\313\207P\207\314#\207\312\313\312:\203v@\262\232\203k\313\262\312\211\262\202l\313\203vA\262\202Q?\205|\211\207\312\207" [mh-range-seq-names "" #s(hash-table size 4 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (nil 19 32 23 45 23 58 23)) last split-string "[ -:]+" 0 #s(hash-table size 3 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (nil 50 t 70 lambda 77)) try-completion #s(hash-table size 2 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (nil 62 t 64)) nil t all-completions] 13 (#$ . 25092)])
#@70 Return an alist containing the names of the SEQ-LIST.

(fn SEQ-LIST)
(defalias 'mh-seq-names #[257 "\300\301\"\207" [mapcar #[257 "\300\211@\262!C\207" [symbol-name] 4 "\n\n(fn ENTRY)"]] 4 (#$ . 26109)])
#@35 Find size of FOLDER.

(fn FOLDER)
(defalias 'mh-folder-size #[257 "\203\301!\207\302!\207" [mh-flists-present-flag mh-folder-size-flist mh-folder-size-folder] 3 (#$ . 26322)])
#@49 Find size of FOLDER using "flist".

(fn FOLDER)
(defalias 'mh-folder-size-flist #[257 "\302\303\304\"r\211q\210\305\306\"\216\307\310\311\"\312\304\312\313\314\315\316	!&	\210eb\210\317\320`\321 {!!\211@A@\3228\211E\266\204*\207" [mh-progs mh-unseen-seq generate-new-buffer " *temp*" t make-closure #[0 "\301\300!\205	\302\300!\207" [V0 buffer-name kill-buffer] 2] call-process expand-file-name "flist" nil "-showzero" "-norecurse" "-sequence" symbol-name cl-values-list mh-parse-flist-output-line mh-line-end-position 2] 13 (#$ . 26509)])
#@50 Find size of FOLDER using "folder".

(fn FOLDER)
(defalias 'mh-folder-size-folder #[257 "\302\303\304\"r\211q\210\305\306\"\216\307\310\311\"\"AG\312\313\314	\"\311\304\311\315&\210eb\210\316\317\311\304#\203:\320\321\322!!E\202>\323E\262*\207" [mh-unseen-seq mh-progs generate-new-buffer " *temp*" t make-closure #[0 "\301\300!\205	\302\300!\207" [V0 buffer-name kill-buffer] 2] assoc mh-read-folder-sequences nil call-process expand-file-name "folder" "-norecurse" re-search-forward " has \\([0-9]+\\) " string-to-number match-string 1 0] 10 (#$ . 27064)])
#@284 Parse LINE to generate folder name, unseen messages and total messages.
If CURRENT-FOLDER is non-nil then it contains the current folder
name and it is used to avoid problems in corner cases involving
folders whose names end with a `+' character.

(fn LINE &optional CURRENT-FOLDER)
(defalias 'mh-parse-flist-output-line #[513 "\300\301\302\"r\211q\210\303\304\"\216c\210db\210\305\211\211\211\306\307e\302#\205x\310\311\312\225\313 \"!\262\306\314e\302#\205x`\262\306\315e\302#\205x\310\311\312\225\"!\262\305f\316=\203R\317u\210\202E\311e`T\"\262\211GSH\320=\203q\232\203q\312GSO\262\321\322\"E\266\204*\207" [generate-new-buffer " *temp*" t make-closure #[0 "\301\300!\205	\302\300!\207" [V0 buffer-name kill-buffer] 2] nil search-backward " out of " string-to-number buffer-substring-no-properties 0 mh-line-end-position " in sequence " " has " 32 -1 43 format "+%s"] 11 (#$ . 27644)])
#@168 Read and return the predefined sequences for a FOLDER.
If SAVE-REFILES is non-nil, then keep the sequences
that note messages to be refiled.

(fn FOLDER SAVE-REFILES)
(defalias 'mh-read-folder-sequences #[514 "\301C\203\302\303\304\"\"\210\212\305\301\306\307$\310=\203=\311\312\301\313#\2039\211\314\310\224\310\225{!\315 B\266\202\242B\240\210\202e`|\210)\211\242\207" [mh-seq-list nil mh-mapc make-closure #[257 "\301\211@\262!\205\300\300\242B\240\207" [V0 mh-folder-name-p] 4 "\n\n(fn SEQ)"] mh-exec-cmd-quiet "mark" "-list" 0 re-search-forward "^[^: ]+" t intern mh-read-msg-list] 8 (#$ . 28565)])
#@116 Return a list of message numbers from point to the end of the line.
Expands ranges into set of individual numbers.
(defalias 'mh-read-msg-list #[0 "\300\301 \300\302\303\304#\203[\305\306\224\306\225{!\262\307\310!\203M\311u\210\302\303\304#\210\305\306\224\306\225{!\211W\2037\312\313#\210X\203IB\262T\262\2027\210\202\211\306U\204\211B\262\202\207" [nil point-at-eol re-search-forward "[0-9]+" t string-to-number 0 looking-at "-" 1 error "Bad message range: %d-%d"] 8 (#$ . 29194)])
#@178 Mark MSG with the character NOTATION at position OFFSET.
Null MSG means the message at cursor.
If NOTATION is nil then no change in the buffer occurs.

(fn MSG NOTATION OFFSET)
(defalias 'mh-notate #[771 "\212\203
\306\307\211#\205o\310 \311\211\312 \210u\210\n\\\232\205%\f=?\211\2050\2060\313\311!\211\2058\314
\"\206>\311f\203U
\315\316\316!AB!#\266\202\\\317\320!\210\211c\210\205f\321#\266\204\322!\210*\262)\207" [buffer-file-name buffer-read-only mh-cmd-note mh-scan-field-destination-offset mh-note-seq mh-sequence-notation-history mh-goto-msg t buffer-modified-p nil beginning-of-line mh-get-msg-num gethash puthash reverse delete-char 1 mh-thread-update-scan-line-map mh-set-folder-modified-p] 15 (#$ . 29713)])
#@164 Mark the MH sequence cur.
In addition to notating the current message with `mh-note-cur'
the function uses `overlay-arrow-position' to put a marker in the
fringe.
(defalias 'mh-notate-cur #[0 "\305\306!@\211\205'\307\310\211#\205'\311 \210\312!\203\313\314	\n#\210`\314\223\211\211\207" [mh-scan-good-msg-regexp mh-note-cur mh-cmd-note mh-arrow-marker overlay-arrow-position mh-seq-to-msgs cur mh-goto-msg t beginning-of-line looking-at mh-notate nil] 6 (#$ . 30477)])
#@26 Remove old cur notation.
(defalias 'mh-remove-cur-notation #[0 "\303\304!@\212\211\205 \305\306\211#\205 \307!\205 \310\311\312	#\210\311\211)\207" [mh-scan-cur-msg-number-regexp mh-cmd-note overlay-arrow-position mh-seq-to-msgs cur mh-goto-msg t looking-at mh-notate nil 32] 5 (#$ . 30961)])
#@165 Notate messages marked for deletion or refiling.
Messages to be deleted are given by `mh-delete-list' while
messages to be refiled are present in `mh-refile-list'.
(defalias 'mh-notate-deleted-and-refiled #[0 "\306 \306 \211\203\211@\307\310#\210A\266\202\202\210	\211\203>\211@\211A\211\2036\211@\307\310#\210A\266\202\202\"\210A\266\202\202\210\212eb\210\311 \210`dX\205m?\205\312\n!\203y\313\310!\314\"\203k\315\316\f#\266\202y\314\"\203x\315\316
\f#\210\210\317y\210\202F)\207" [mh-delete-list mh-refile-list mh-scan-valid-regexp mh-note-refiled mh-cmd-note mh-note-deleted make-hash-table puthash t beginning-of-line looking-at mh-get-msg-num gethash mh-notate nil 1] 10 (#$ . 31267)])
#@190 Mark user-defined sequences in RANGE.

Check the documentation of `mh-interactive-range' to see how
RANGE is read in interactive use; if nil all messages are
notated.

(fn &optional RANGE)
(defalias 'mh-notate-user-sequences #[256 "\211\204	edB\262\303 \211\203=\211@\211\211A\262\211\2035\211@@\304\305\n\"B#\266A\266\202\202\210A\266\202\202
\210\247\203k\306\307\211#\205<\305\"\310:\203g@\262\311\312!\"\210A\262\202P\266\310\207:\203\277@\247\203\277A\247\203\277\212@b\210\313 \210`AX\205\275m?\205\275\314	!\203\267\315\307!\305\"\310:\203\265@\262\311\312!\"\210A\262\202\236\266\316y\210\202\204)\207\203\3169\203\316\317!\202\333;\203\332\320\n\"\202\333\303 \211\203\361\211@\304\307#\210A\266\202\202\336\210\212eb\210\313 \210`dX\2059m?\2059\314	!\2033\315\307!\305\"\2032\305\"\310:\2030@\262\311\312!\"\210A\262\202\266\210\316y\210\202\371)\266\202\207" [mh-seq-list mh-scan-valid-regexp mh-current-folder make-hash-table puthash gethash mh-goto-msg t nil mh-add-sequence-notation mh-internal-seq beginning-of-line looking-at mh-get-msg-num 1 mh-seq-to-msgs mh-translate-range] 14 (#$ . 31998)])
#@172 Add sequence notation to the MSG on the current line.
If INTERNAL-SEQ-FLAG is non-nil, then refontify the scan line if
font-lock is turned on.

(fn MSG INTERNAL-SEQ-FLAG)
(defalias 'mh-add-sequence-notation #[514 "\306 \307\211\212\310 \210\203 \311\307\211\n#\210\205<\312`\313 \"\202<\n\f\\u\210\314
\"
\315\307fB#\266\311\307\n\f\\#)\316!\210*\207" [buffer-file-name buffer-read-only mh-cmd-note font-lock-mode mh-scan-field-destination-offset mh-sequence-notation-history buffer-modified-p nil beginning-of-line mh-notate font-lock-fontify-region mh-line-end-position gethash puthash mh-set-folder-modified-p mh-note-seq] 9 (#$ . 33214)])
#@378 Remove sequence notation from the MSG on the current line.
If INTERNAL-SEQ-FLAG is non-nil, then `font-lock' was used to
highlight the sequence. In that case, no notation needs to be removed.
Otherwise the effect of inserting `mh-note-seq' needs to be reversed.
If ALL is non-nil, then all sequence marks on the scan line are
removed.

(fn MSG INTERNAL-SEQ-FLAG &optional ALL)
(defalias 'mh-remove-sequence-notation #[770 "\305 \306\211\307\306\211\n#\210?\205G\310\"\203%\211A\203%\211A\262\202\211\203;\212\311 \210\n\f\\u\210\312\313!\210\211@c\210)\314A#\262\262\315!\210*\207" [buffer-file-name buffer-read-only mh-cmd-note mh-sequence-notation-history mh-scan-field-destination-offset buffer-modified-p nil mh-notate gethash beginning-of-line delete-char 1 puthash mh-set-folder-modified-p] 10 (#$ . 33879)])
#@62 Remove all notations on all scan lines that MH-E introduces.
(defalias 'mh-remove-all-notation #[0 "\212\305eb\210edB\247\203*\306edB\307\211#\203\356edB\310\305\311	#\210\312\305\307#\266\202\356edB:\203xedB@\247\203xedBA\247\203x\212edB@b\210\313 \210`edBAX\203tm\204t\314\n!\203n\315\307!\310\305\311	#\210\312\305\307#\266\316y\210\202K)\202\356edB\203\215edB9\203\215\317edB!\202\240edB;\203\235\320edB\"\202\240edB\321 \211\203\266\211@\322\307#\210A\266\202\202\243\210\212eb\210\313 \210`dX\203\353m\204\353\314\n!\203\345\315\307!\323\"\203\344\310\305\311	#\210\312\305\307#\210\210\316y\210\202\276)\266\324\f!)\207" [overlay-arrow-position mh-cmd-note mh-scan-valid-regexp mh-current-folder mh-sequence-notation-history nil mh-goto-msg t mh-notate 32 mh-remove-sequence-notation beginning-of-line looking-at mh-get-msg-num 1 mh-seq-to-msgs mh-translate-range make-hash-table puthash gethash clrhash] 8 (#$ . 34721)])
#@59 Rename SEQUENCE to have NEW-NAME.

(fn SEQUENCE NEW-NAME)
(defalias 'mh-rename-seq #[514 "\300!\211\204\f\301\302\"\210\303\211A\262\"\210\304\211A\262\"\210\211\240\207" [mh-find-seq error "Sequence %s does not exist" mh-define-sequence mh-undefine-sequence] 7 (#$ . 35693) (byte-code "\300\301\302\"\303\304\305!!D\207" [mh-read-seq "Old" t intern read-string "New sequence name: "] 4)])
(provide 'mh-seq)

Youez - 2016 - github.com/yon3zu
LinuXploit