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 ] |
---|
;ELC ;;; Compiled by mockbuild@buildfarm06-new.corp.cloudlinux.com on Fri Oct 11 10:11:39 2024 ;;; from file /builddir/build/BUILD/emacs-24.3/lisp/mh-e/mh-search.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!\210\300\303!\207" [require mh-e gnus-util imenu] 2) #@40 Cached value of chosen search program. (defvar mh-searcher nil (#$ . 644)) #@45 Function which executes the search program. (defvar mh-search-function nil (#$ . 725)) #@150 Function to parse the next line of output. Expected to return a list of three strings: name of the folder, message number, and optionally the match. (defvar mh-search-next-result-function nil (#$ . 819)) #@43 Function used to construct search regexp. (defvar mh-search-regexp-builder nil (#$ . 1029)) #@69 Folder that contains the folders resulting from the index searches. (defvar mh-index-folder "+mhe-index" (#$ . 1127)) #@64 Subfolder for `mh-index-folder' where flists output is placed. (defvar mh-flists-results-folder "sequence" (#$ . 1251)) (defvar mh-flists-called-flag nil) #@4914 Search your MH mail. This command helps you find messages in your entire corpus of mail. You can search for messages to or from a particular person or about a particular subject. In fact, you can also search for messages containing selected strings in any arbitrary header field or any string found within the messages. Out of the box, MH-E uses "pick" to find messages. With a little extra effort, you can set an indexing program which rewards you with extremely quick results. The drawback is that sometimes the index does not contain the words you're looking for. You can still use "pick" in these situations. You are prompted for the FOLDER to search. This can be "all" to search all folders. Note that the search works recursively on the listed folder. Next, an MH-Search buffer appears where you can enter search criteria SEARCH-REGEXP. From: To: Cc: Date: Subject: -------- Edit this template by entering your search criteria in an appropriate header field that is already there, or create a new field yourself. If the string you're looking for could be anywhere in a message, then place the string underneath the row of dashes. As an example, let's say that we want to find messages from Ginnean about horseback riding in the Kosciusko National Park (Australia) during January, 1994. Normally we would start with a broad search and narrow it down if necessary to produce a manageable amount of data, but we'll cut to the chase and create a fairly restrictive set of criteria as follows:\<mh-search-mode-map> From: ginnean To: Cc: Date: Jan 1994 Subject: -------- horse kosciusko As with MH-Letter mode, MH-Search provides commands like \[mh-to-field] to help you fill in the blanks.\<mh-folder-mode-map> If you find that you do the same thing over and over when editing the search template, you may wish to bind some shortcuts to keys. This can be done with the variable `mh-search-mode-hook', which is called when \[mh-search] is run on a new pattern.\<mh-search-mode-map> To perform the search, type \[mh-index-do-search]. Sometimes you're searching for text that is either not indexed, or hasn't been indexed yet. In this case you can override the default method with the pick method by running the command \[mh-pick-do-search]. The messages that are found are put in a temporary sub-folder of "+mhe-index" and are displayed in an MH-Folder buffer. This buffer is special because it displays messages from multiple folders; each set of messages from a given folder has a heading with the folder name.\<mh-folder-mode-map> The appearance of the heading can be modified by customizing the face `mh-search-folder'. You can jump back and forth between the headings using the commands \[mh-index-next-folder] and \[mh-index-previous-folder]. In addition, the command \[mh-index-visit-folder] can be used to visit the folder of the message at point. Initially, only the messages that matched the search criteria are displayed in the folder. While the temporary buffer has its own set of message numbers, the actual messages numbers are shown in the visited folder. Thus, the command \[mh-index-visit-folder] is useful to find the actual message number of an interesting message, or to view surrounding messages with the command \[mh-rescan-folder]. Because this folder is temporary, you'll probably get in the habit of killing it when you're done with \[mh-kill-folder]. You can regenerate the results by running this command with a prefix argument REDO-SEARCH-FLAG. Note: This command uses an "X-MHE-Checksum:" header field to cache the MD5 checksum of a message. This means that if an incoming message already contains an "X-MHE-Checksum:" field, that message might not be found by this command. The following "procmail" recipe avoids this problem by renaming the existing header field: :0 wf | formail -R "X-MHE-Checksum" "X-Old-MHE-Checksum" Configuring Indexed Searches The command \[mh-search] runs the command defined by the option `mh-search-program'. The default value is "Auto-detect" which means that MH-E will automatically choose one of "swish++", "swish-e", "mairix", "namazu", "pick" and "grep" in that order. If, for example, you have both "swish++" and "mairix" installed and you want to use "mairix", then you can set this option to "mairix". The documentation for the following commands describe how to set up the various indexing programs to use with MH-E. - `mh-swish++-execute-search' - `mh-swish-execute-search' - `mh-mairix-execute-search' - `mh-namazu-execute-search' - `mh-pick-execute-search' - `mh-grep-execute-search' In a program, if FOLDER is "+" or nil, then mail in all folders are searched. Optional argument WINDOW-CONFIG stores the window configuration that will be restored after the user quits the folder containing the index search results. (defalias 'mh-search #[(folder search-regexp &optional redo-search-flag window-config) "\300\301\215\207" [--cl-block-mh-search-- (byte-code "\203 \203 \n\203 \204 \306\307\310\f\"\210)\311\312\313\"\210 9\203. \31423\"\210\311\312\313\"\210\315 \210\3163\2069 4\f\317\3205\321 !#6789\203v \f\203v \322p!\323!\210\212\324\313\325#\210)\324\313\326\327\330%\2106)\202} \3316 \"6\317\332:2\333\313O#\334\335\336\"\334\335\336\";<=\337\340>\"\210?= \"\210\337\341>\"\210eb\210\313@A \211@\203\374 @\342=\204\256 \343@@<\"\204\335 @@B<C\344B\334\335\336\"C#\210*@\211DA@)E\343@@<\"F\344E\306F#\210*\202\256 )\345\346<\"\210\3476\313<;D#\210eb\210\313y\210\350 \210\351\313!\210\352 \203&\353\306G\"\210\203/7\20443\2038842> E\204F\354 \210\337\355\356\357>!!\316H\345\360 \"\210H)\316I\345\361 \"\210I)$.\207" [redo-search-flag mh-index-data mh-index-sequence-search-flag mh-flists-called-flag mh-index-previous-search search-regexp t apply mh-index-sequenced-messages throw --cl-block-mh-search-- nil mh-search-folder mh-checksum-choose 0 format "%s/%s" mh-index-generate-pretty-name buffer-name mh-process-or-undo-commands mh-exec-cmd-quiet "rmf" "folder" "-create" "-fast" mh-index-new-folder "%s%s" 1 make-hash-table :test equal message "Executing %s... " "Processing %s output... " error gethash puthash maphash #[(folder msgs) "\306\307\"@\310\311\312\313\n\"\210 \237)\314\"\315\316\n\317\320\f&\210\2031 \321\311\322\323\324\325\307\326\327\"&\210\n\311 :\203^ @T\211\330B#\210* A\211\2027 ,\311\207" [folder #1=#:--cl-var-- msgs cur index-folder #2=#:--cl-var-- mh-translate-range "cur" sort nil maphash #[(msg #3=#:--cl-var--) " B\211\207" [msg #1#] 2] < mh-exec-cmd "refile" "-src" "-link" mh-exec-cmd-quiet "mark" "-add" "-zero" "-sequence" format "%s" puthash msg result-count #4=#:v origin-map #5=#:v] 12] mh-visit-folder mh-update-sequences mh-recenter mh-speed-flists-active-p mh-speed-flists mh-index-write-data "%s found %s matches in %s folders" upcase-initials symbol-name #[(#6=#:--cl-var-- msg-hash) "\302 !\\\211\207" [#7=#:--cl-var-- msg-hash hash-table-count] 3] #[(#8=#:--cl-var-- msg-hash) "\302!\303V\205\f T\211\207" [msg-hash #9=#:--cl-var-- hash-table-count 0] 2] folder window-config mh-previous-window-config mh-index-folder index-folder previous-search old-window-config result-count mh-user-path origin-map folder-results-map folder-path mh-searcher mh-search-function next-result mh-search-next-result-function #10=#:v #11=#:v x #12=#:v #13=#:v mh-current-folder #7# #9#] 9)] 2 (#$ . 1414) (list (progn (mh-find-path) (if (mh-search-choose (and current-prefix-arg mh-index-previous-search (cadr mh-index-previous-search))) nil (error "No search program found")) (or (and current-prefix-arg mh-index-sequence-search-flag) (and current-prefix-arg (car mh-index-previous-search)) (mh-prompt-for-folder "Search" "+" nil "all" t))) (or (and current-prefix-arg (car (cdr (cdr mh-index-previous-search)))) mh-search-regexp-builder (read-string (format "%s regexp: " (upcase-initials (symbol-name mh-searcher))))) current-prefix-arg (if (and (not (and current-prefix-arg (car (cdr (cdr mh-index-previous-search))))) mh-search-regexp-builder) (current-window-configuration) nil))]) #@171 Search FOLDER for messages matching a pattern. In a program, argument WINDOW-CONFIG is the current window configuration and is used when the search folder is dismissed. (defalias 'mh-search-folder #[(folder window-config) "\304\232\203\n \202 \305\306!\210\307\310 !\204 \311\312!\204# \313 \210\202'