| 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/gnus/ |
Upload File : |
;ELC
;;; Compiled
;;; in Emacs version 28.2
;;; with all optimizations.
(byte-code "\300\301!\210\300\302!\210\300\303!\210\300\304!\210\300\305!\210\306\307\310\"\210\306\311\312\"\207" [require gnus-group gnus-sum message gnus-util eieio autoload eieio-build-class-alist "eieio-opt" nnmaildir-base-name-to-article-number "nnmaildir"] 3)
#@58 Mapping between servers and instantiated search engines.
(defvar gnus-search-engine-instance-alist nil (#$ . 351))
#@36 Internal history of Gnus searches.
(defvar gnus-search-history nil (#$ . 472))
(defalias 'gnus-search-shutdown #[0 "\301\211\207" [gnus-search-engine-instance-alist nil] 2])
(byte-code "\300\301\302\"\210\303\304\305\"\210\303\306\307\"\210\310\311\312\313\314\302%\210\315\316\317\320\321DD\322\323\324\325\326&\210\327\330\331\312#\210\332\211\203N \211@\330N\203G \331N\204G \333\331\330N#\210A\266\202\202- \210\334\330\331\324#\210\315\331\317\320\335DD\336\323\337\325\340&\210\334\341\342\324#\210\315\343\317\320\344DD\345\325\346%\210\315\347\317\320\350DD\351\325\352%\210\315\353\317\320\354DD\355\325\356%\210\315\357\317\320\360DD\361\325\340%\210\315\362\317\320\363DD\364\325\326\323\324&\210\315\365\317\320\366DD\367\325\346\323\324&\210\315\370\317\320\371DD\372\325\352\323\324&\210\315\373\317\320\374DD\375\325\376\323\324&\210\315\377\317\320\201@ DD\201A \325\340\323\324&\210\315\201B \317\320\201C DD\201D \325\201E \323\324&\210\315\201F \317\320\201G DD\201H \325\326\323\324&\210\315\201I \317\320\201J DD\201K \325\352\323\324&\210\315\201L \317\320\201M DD\201N \325\201O \323\324&\210\315\201P \317\320\201Q DD\201R \325\201S \323\324&\210\315\201T \317\320\201U DD\201V \325\201O \323\324&\210\315\201W \317\320\201X DD\201Y \325\326\323\324&\210\315\201Z \317\320\201[ DD\201\\ \325\201] \323\324&\210\315\201^ \317\320\201_ DD\201` \325\346\323\324&\210\315\201a \317\320\201b DD\201c \325\201d \323\324&\210\315\201e \317\320\201f DD\201g \325\340\323\324&\210\315\201h \317\320\201i DD\201j \325\326\323\324&\210\315\201k \317\320\201l DD\201m \323\324\325\326&\210\315\201n \317\320\201o DD\201p \323\324\325\352&\210\315\201q \317\320\201r DD\201s \323\324\325\346&\210\315\201t \317\320\201u DD\201v \323\324\325\201w &\210\315\201x \317\320\201y DD\201z \323\324\325\340&\210\315\201{ \317\320\201| DD\201} \323\324\325\326&\210\315\201~ \317\320\201 DD\201\200 \323\324\325\201\201 &\210\315\201\202 \317\320\201\203 DD\201\204 \323\201\205 \325\201\206 &\210\315\201\207 \317\320\201\210 DD\201\211 \323\324\325\201\212 &\207" [gnus-add-shutdown gnus-search-shutdown gnus define-error gnus-search-parse-error "Gnus search parsing error" gnus-search-config-error "Gnus search configuration error" custom-declare-group gnus-search nil "Search groups in Gnus with assorted search engines." :group custom-declare-variable gnus-search-use-parsed-queries funcall function #[0 "\300\207" [nil] 1 #1=""] "When t, use Gnus' generalized search language.\nThe generalized search language is a search language that can be\nused across all search engines that Gnus supports. See the Gnus\nmanual for details.\n\nIf this option is set to nil, search queries will be passed\ndirectly to the search engines without being parsed or\ntransformed." :version "28.1" :type boolean defvaralias nnir-ignored-newsgroups gnus-search-ignored-newsgroups (saved-value saved-variable-comment) put make-obsolete-variable #[0 "\300\207" [#1#] 1 #1#] "A regexp to match newsgroups in the active file that should\nbe skipped when searching." "24.1" regexp nnir-imap-default-search-key "specify imap search keys, or use parsed queries." gnus-search-swish++-config-file #[0 "\300\301!\207" [expand-file-name "~/Mail/swish++.conf"] 2 #1#] "Location of Swish++ configuration file.\nThis variable can also be set per-server." file gnus-search-swish++-program #[0 "\300\207" ["search"] 1 #1#] "Name of swish++ search executable.\nThis variable can also be set per-server." string gnus-search-swish++-switches #[0 "\300\207" [nil] 1 #1#] "A list of strings, to be given as additional arguments to swish++.\nNote that this should be a list. I.e., do NOT use the following:\n (setq gnus-search-swish++-switches \"-i -w\") ; wrong\nInstead, use this:\n (setq gnus-search-swish++-switches \\='(\"-i\" \"-w\"))\n\nThis variable can also be set per-server." (repeat string) gnus-search-swish++-remove-prefix #[0 "\300\301!\302P\207" [getenv "HOME" "/Mail/"] 2 #1#] "The prefix to remove from each file name returned by swish++\nin order to get a group name (albeit with / instead of .). This is a\nregular expression.\n\nThis variable can also be set per-server." gnus-search-swish++-raw-queries-p #[0 "\300\207" [nil] 1 #1#] "If t, all Swish++ engines will only accept raw search query strings." gnus-search-swish-e-config-file #[0 "\300\301!\207" [expand-file-name "~/Mail/swish-e.conf"] 2 #1#] "Configuration file for swish-e.\nThis variable can also be set per-server." gnus-search-swish-e-program #[0 "\300\207" ["search"] 1 #1#] "Name of swish-e search executable.\nThis variable can also be set per-server." gnus-search-swish-e-switches #[0 "\300\207" [nil] 1 #1#] "A list of strings, to be given as additional arguments to swish-e.\nNote that this should be a list. I.e., do NOT use the following:\n (setq gnus-search-swish-e-switches \"-i -w\") ; wrong\nInstead, use this:\n (setq gnus-search-swish-e-switches \\='(\"-i\" \"-w\"))\n\nThis variable can also be set per-server." (repeat string) gnus-search-swish-e-remove-prefix #[0 "\300\301!\302P\207" [getenv "HOME" "/Mail/"] 2 #1#] "The prefix to remove from each file name returned by swish-e\nin order to get a group name (albeit with / instead of .). This is a\nregular expression.\n\nThis variable can also be set per-server." gnus-search-swish-e-index-files #[0 "\300\207" [nil] 1 #1#] "A list of index files to use with this Swish-e instance.\nThis variable can also be set per-server." (repeat file) gnus-search-swish-e-raw-queries-p #[0 "\300\207" [nil] 1 #1#] "If t, all Swish-e engines will only accept raw search query strings." gnus-search-namazu-program #[0 "\300\207" ["namazu"] 1 #1#] "Name of Namazu search executable.\nThis variable can also be set per-server." gnus-search-namazu-index-directory #[0 "\300\301!\207" [expand-file-name "~/Mail/namazu/"] 2 #1#] "Index directory for Namazu.\nThis variable can also be set per-server." directory gnus-search-namazu-switches #[0 "\300\207" [nil] 1 #1#] "A list of strings, to be given as additional arguments to namazu.\nThe switches `-q', `-a', and `-s' are always used, very few other switches\nmake any sense in this context.\n\nNote that this should be a list. I.e., do NOT use the following:\n (setq gnus-search-namazu-switches \"-i -w\") ; wrong\nInstead, use this:\n (setq gnus-search-namazu-switches \\='(\"-i\" \"-w\"))\n\nThis variable can also be set per-server." (repeat string) gnus-search-namazu-remove-prefix #[0 "\300\301!\302P\207" [getenv "HOME" "/Mail/"] 2 #1#] "The prefix to remove from each file name returned by Namazu\nin order to get a group name (albeit with / instead of .).\n\nFor example, suppose that Namazu returns file names such as\n\"/home/john/Mail/mail/misc/42\". For this example, use the following\nsetting: (setq gnus-search-namazu-remove-prefix \"/home/john/Mail/\")\nNote the trailing slash. Removing this prefix gives \"mail/misc/42\".\nGnus knows to remove the \"/42\" and to replace \"/\" with \".\" to\narrive at the correct group name, \"mail.misc\".\n\nThis variable can also be set per-server." gnus-search-namazu-raw-queries-p #[0 "\300\207" [nil] 1 #1#] "If t, all Namazu engines will only accept raw search query strings." gnus-search-notmuch-program #[0 "\300\207" ["notmuch"] 1 #1#] "Name of notmuch search executable.\nThis variable can also be set per-server." (string) gnus-search-notmuch-config-file #[0 "\300\301!\207" [expand-file-name "~/.notmuch-config"] 2 #1#] "Configuration file for notmuch.\nThis variable can also be set per-server." gnus-search-notmuch-switches #[0 "\300\207" [nil] 1 #1#] "A list of strings, to be given as additional arguments to notmuch.\nNote that this should be a list. I.e., do NOT use the following:\n (setq gnus-search-notmuch-switches \"-i -w\") ; wrong\nInstead, use this:\n (setq gnus-search-notmuch-switches \\='(\"-i\" \"-w\"))\n\nThis variable can also be set per-server." (repeat string) gnus-search-notmuch-remove-prefix #[0 "\300\301!\302P\207" [getenv "HOME" "/Mail/"] 2 #1#] "The prefix to remove from each file name returned by notmuch\nin order to get a group name (albeit with / instead of .). This is a\nregular expression.\n\nThis variable can also be set per-server." gnus-search-notmuch-raw-queries-p #[0 "\300\207" [nil] 1 #1#] "If t, all Notmuch engines will only accept raw search query strings." gnus-search-imap-raw-queries-p #[0 "\300\207" [nil] 1 #1#] "If t, all IMAP engines will only accept raw search query strings." gnus-search-mairix-program #[0 "\300\207" ["mairix"] 1 #1#] "Name of mairix search executable.\nThis variable can also be set per-server." gnus-search-mairix-config-file #[0 "\300\301!\207" [expand-file-name "~/.mairixrc"] 2 #1#] "Configuration file for mairix.\nThis variable can also be set per-server." gnus-search-mairix-switches #[0 "\300\207" [nil] 1 #1#] "A list of strings, to be given as additional arguments to mairix.\nNote that this should be a list. I.e., do NOT use the following:\n (setq gnus-search-mairix-switches \"-i -w\") ; wrong\nInstead, use this:\n (setq gnu-search-mairix-switches \\='(\"-i\" \"-w\"))\n\nThis variable can also be set per-server." (repeat string) gnus-search-mairix-remove-prefix #[0 "\300\301!\302P\207" [getenv "HOME" "/Mail/"] 2 #1#] "The prefix to remove from each file name returned by mairix\nin order to get a group name (albeit with / instead of .). This is a\nregular expression.\n\nThis variable can also be set per-server." gnus-search-mairix-raw-queries-p #[0 "\300\207" [nil] 1 #1#] "If t, all Mairix engines will only accept raw search query strings." gnus-search-expandable-keys #[0 "\300\207" [("from" "subject" "to" "cc" "bcc" "body" "recipient" "date" "mark" "before" "after" "larger" "smaller" "attachment" "text" "since" "thread" "sender" "address" "tag" "size" "grep" "limit" "raw" "message-id" "id")] 1 #1#] "A list of strings representing expandable search keys.\n\"Expandable\" simply means the key can be abbreviated while\ntyping in search queries, ie \"subject\" could be entered as\n\"subj\" or even \"su\", though \"s\" is ambiguous between\n\"subject\" and \"since\".\n\nAmbiguous abbreviations will raise an error." (repeat string) gnus-search-date-keys #[0 "\300\207" [("date" "before" "after" "on" "senton" "sentbefore" "sentsince" "since")] 1 #1#] "A list of keywords whose value should be parsed as a date.\nSee the docstring of `gnus-search-parse-query' for information on\ndate parsing." "26.1" (repeat string) gnus-search-contact-tables #[0 "\300\207" [nil] 1 #1#] "A list of completion tables used to search for messages from contacts.\nEach list element should be a table or collection suitable to be\nreturned by `completion-at-point-functions'. That usually means\na list of strings, a hash table, or an alist." (repeat sexp)] 8)
#@2678 Turn STRING into an s-expression based query.
The resulting query structure is passed to the various search
backends, each of which adapts it as needed.
The search "language" is essentially a series of key:value
expressions. Key is most often a mail header, but there are
other keys. Value is a string, quoted if it contains spaces.
Key and value are separated by a colon, no space. Expressions
are implicitly ANDed; the "or" keyword can be used to
OR. "not" will negate the following expression, or keys can be
prefixed with a "-". The "near" operator will work for
engines that understand it; other engines will convert it to
"or". Parenthetical groups work as expected.
A key that matches the name of a mail header will search that
header.
Search keys can be expanded with TAB during entry, or left
abbreviated so long as they remain unambiguous, ie "f" will
search the "from" header. "s" will raise an error.
Other keys:
"address" will search all sender and recipient headers.
"recipient" will search "To", "Cc", and "Bcc".
"before" will search messages sent before the specified
date (date specifications to come later). Date is exclusive.
"after" (or its synonym "since") will search messages sent
after the specified date. Date is inclusive.
"mark" will search messages that have some sort of mark.
Likely values include "flag", "seen", "read", "replied".
It's also possible to use Gnus' internal marks, ie "mark:R"
will be interpreted as mark:read.
"tag" will search tags -- right now that's translated to
"keyword" in IMAP, and left as "tag" for notmuch. At some
point this should also be used to search marks in the Gnus
registry.
Other keys can be specified, provided that the search backends
know how to interpret them.
External contact-management packages can push completion tables
onto the list variable `gnus-search-contact-tables', to provide
auto-completion of contact names and addresses for keys like
"from" and "to".
Date values (any key in `gnus-search-date-keys') can be provided
in any format that `parse-time-string' can parse (note that this
can produce weird results). Dates with missing bits will be
interpreted as the most recent occurrence thereof (i.e. "march
03" is the most recent March 3rd). Lastly, relative
specifications such as 1d (one day ago) are understood. This
also accepts w, m, and y. m is assumed to be 30 days.
This function will accept pretty much anything as input. Its
only job is to parse the query into a sexp, and pass that on --
it is the job of the search backends to make sense of the
structured query. Malformed, unusable or invalid queries will
typically be silently ignored.
(fn STRING)
(defalias 'gnus-search-parse-query #[257 "\300\301\302\"r\211q\210\303\304\"\216c\210eb\210\305\306 \204\"