| 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 "\302\303!\210\302\304!\210\302\305!\210\302\306!\210\302\307!\210\302\310!\210\311\236\203+ \311\236A\312\313\314\"\240\210\2026 \311\312\313\314\"\314\211FB\311 \236\204B \311\315D B\314\207" [nnoo-definition-alist nnoo-state-alist require nnoo gnus-group gnus-sum message nnml widget nnmairix mapcar list nil "*internal-non-initialized-backend*"] 4)
#@29 Nnmairix group mode keymap.
(defalias 'nnmairix-group-mode-hook #[0 "\301\302\303 #\210\301\304\305#\210\301\306\307#\210\301\310\311#\210\301\312\313#\210\301\314\315#\210\301\316\317#\210\301\320\321#\210\301\322\323#\210\301\324\325#\210\301\326\327#\210\301\330\331#\210\301\332\333#\210\301\334\335#\207" [gnus-group-mode-map define-key "Gb" make-sparse-keymap "Gbg" nnmairix-create-search-group "Gbc" nnmairix-create-server-and-default-group "Gbq" nnmairix-group-change-query-this-group "Gbt" nnmairix-group-toggle-threads-this-group "Gbu" nnmairix-update-database "Gbs" nnmairix-search "Gbi" nnmairix-search-interactive "Gbm" nnmairix-widget-search "Gbp" nnmairix-group-toggle-propmarks-this-group "Gbr" nnmairix-group-toggle-readmarks-this-group "Gbd" nnmairix-group-delete-recreate-this-group "Gba" nnmairix-group-toggle-allowfast-this-group "Gbo" nnmairix-propagate-marks] 4 (#$ . 453)])
#@31 Nnmairix summary mode keymap.
(defalias 'nnmairix-summary-mode-hook #[0 "\301\302\303#\210\301\304\305#\210\301\306\307#\210\301\310\311#\210\301\312\313#\210\301\314\315#\207" [gnus-summary-mode-map define-key "GGt" nnmairix-search-thread-this-article "GGf" nnmairix-search-from-this-article "GGm" nnmairix-widget-search-from-this-article "GGg" nnmairix-create-search-group-from-message "GGo" nnmairix-goto-original-article "GGu" nnmairix-remove-tick-mark-original-article] 4 (#$ . 1371)])
(byte-code "\300\301\302\"\210\300\303\304\"\210\305\306\307\310\311\312%\210\313\314\315\316\317DD\320\321\322\323\324&\210\313\325\315\316\326DD\327\321\322\323\324&\210\313\330\315\316\331DD\332\321\322\323\324&\210\313\333\315\316\334DD\335\321\322\323\336&\210\313\337\315\316\340DD\341\321\322\323\342&\210\313\343\315\316\344DD\345\321\322\323\346&\210\313\347\315\316\350DD\351\321\322\323\346&\210\313\352\315\316\353DD\354\321\322\323\355&\210\313\356\315\316\357DD\360\321\322\323\316&\210\313\361\315\316\362DD\363\321\322\323\364&\210\313\365\315\316\366DD\367\321\322\323\346&\210\313\370\315\316\371DD\372\321\322\323\346&\210\313\373\315\316\374DD\375\321\322\323\346&\207" [add-hook gnus-group-mode-hook nnmairix-group-mode-hook gnus-summary-mode-hook nnmairix-summary-mode-hook custom-declare-group nnmairix nil "Back end for the Mairix mail search engine." :group gnus custom-declare-variable nnmairix-group-prefix funcall function #[0 "\300\207" ["zz_mairix"] 1 #1=""] "Prefix for mairix search groups on back end server.\nnnmairix will create these groups automatically on the back end\nserver for each nnmairix search group. The name on the back end\nserver will be this prefix plus a random number. You can delete\nunused nnmairix groups on the back end using\n`nnmairix-purge-old-groups'." :version "23.1" :type string nnmairix-mairix-output-buffer #[0 "\300\207" ["*mairix output*"] 1 #1#] "Buffer used for mairix output." nnmairix-customize-query-buffer #[0 "\300\207" ["*mairix query*"] 1 #1#] "Name of the buffer for customizing Mairix queries." nnmairix-mairix-update-options #[0 "\300\207" [("-F" "-Q")] 1 #1#] "Options when calling mairix for updating the database.\nThe default is \"-F\" and \"-Q\" for making updates faster. You\nshould call mairix without these options from time to\ntime (e.g. via cron job)." (repeat string) nnmairix-mairix-search-options #[0 "\300\207" [("-Q")] 1 #1#] "Options when calling mairix for searching.\nThe default is \"-Q\" for making searching faster." (repeat string) nnmairix-mairix-synchronous-update #[0 "\300\207" [nil] 1 #1#] "Set this to t if you want Emacs to wait for mairix updating the database." boolean nnmairix-rename-files-for-nnml #[0 "\300\207" [t] 1 #1#] "Rename nnml mail files so that they are consecutively numbered.\nWhen using nnml as back end, mairix might produce holes in the\narticle numbers which will produce wrong article counts by\nGnus. This option controls whether nnmairix should rename the\nfiles consecutively." nnmairix-widget-fields-list #[0 "\300\207" [(("from" "f" "From") ("to" "t" "To") ("cc" "c" "Cc") ("subject" "s" "Subject") ("to" "tc" "To or Cc") ("from" "a" "Address") (nil "b" "Body") (nil "n" "Attachment") ("Message-ID" "m" "Message ID") (nil "s" "Size") (nil "d" "Date"))] 1 #1#] "Fields that should be editable during interactive query customization.\n\nHeader, corresponding mairix command and description for editable\nfields in interactive query customization. The header specifies\nwhich header contents should be inserted into the editable field\nwhen creating a Mairix query based on the current message (can be\nnil for disabling this)." (repeat (list (choice :tag "Field" (const :tag "none" nil) (const :tag "From" "from") (const :tag "To" "to") (const :tag "Cc" "cc") (const :tag "Subject" "subject") (const :tag "Message ID" "Message-ID")) (string :tag "Command") (string :tag "Description"))) nnmairix-widget-select-window-function #[0 "\300\207" [#[0 "\300\301 !\207" [select-window get-largest-window] 2]] 1 #1#] "Function for selecting the window for customizing the mairix query.\nThe default chooses the largest window in the current frame." nnmairix-propagate-marks-upon-close #[0 "\300\207" [t] 1 #1#] "Flag if marks should be propagated upon closing a group.\nThe default of this variable is t. If set to `ask', the\nuser will be asked if the flags should be propagated when the\ngroup is closed. If set to nil, the user will have to manually\ncall `nnmairix-propagate-marks'." (choice (const :tag "always" t) (const :tag "ask" ask) (const :tag "never" nil)) nnmairix-propagate-marks-to-nnmairix-groups #[0 "\300\207" [nil] 1 #1#] "Flag if marks from original articles should be seen in nnmairix groups.\nThe default is nil since it will only work if the articles are in\nmaildir format and NOT managed by the nnmaildir back end but\ne.g. an IMAP server (which stores the marks in the maildir file\nname). You may safely set this to t for testing - the worst that\ncan happen are wrong marks in nnmairix groups." nnmairix-only-use-registry #[0 "\300\207" [nil] 1 #1#] "Use only the registry for determining original group(s).\nIf set to t, nnmairix will only use the registry for determining\nthe original group(s) of an article (which is also necessary for\npropagating marks). If set to nil, it will also try to determine\nthe group from an additional mairix search which might be slow\nwhen propagating lots of marks." nnmairix-allowfast-default #[0 "\300\207" [nil] 1 #1#] "Whether fast entering should be the default for nnmairix groups.\nYou may set this to t to make entering the group faster, but note that\nthis might lead to problems, especially when used with marks propagation."] 8)
#@107 Other editable mairix commands when using customization widgets.
Currently there are 'threads and 'flags.
(defvar nnmairix-widget-other '(threads flags) (#$ . 7131))
#@190 Things that should be editable during interactive query generation.
Every list element consists of the following entries: Keystroke,
message field (if any), mairix command and description.
(defvar nnmairix-interactive-query-parameters '((102 "from" "f" "From") (116 "to" "t" "To") (99 "to" "tc" "To or Cc") (97 "from" "a" "Address") (115 "subject" "s" "Subject") (98 nil "b" "Body") (100 nil "d" "Date") (110 nil "n" "Attachment")) (#$ . 7304))
#@420 Controls on which back ends groups should be deleted and re-created.
This variable is a list of back ends where the search group
should be completely deleted and re-created when the query or
thread parameter changes. The default is to this for all
currently supported back ends. It usually also corrects the
problem of "holes" in the article numbers which often lead to a
wrong count of total articles shown by Gnus.
(defvar nnmairix-delete-and-create-on-change '(nnimap nnmaildir nnml) (#$ . 7756))
#@116 Back end where mairix stores its searches.
This is a Gnus server variable. See Info node `(gnus)Select Methods'.
(defvar nnmairix-backend nil (#$ . 8265))
(nnoo-define 'nnmairix-backend nil)
#@126 Name of the server where mairix stores its searches.
This is a Gnus server variable. See Info node `(gnus)Select Methods'.
(defvar nnmairix-backend-server nil (#$ . 8465))
(nnoo-define 'nnmairix-backend-server nil)
#@122 Command to call mairix for this nnmairix server.
This is a Gnus server variable. See Info node `(gnus)Select Methods'.
(defvar nnmairix-mairix-command "mairix" (#$ . 8689))
(nnoo-define 'nnmairix-mairix-command nil)
#@203 Set this to t if the back end server uses hidden directories for
its maildir mail folders (e.g. the Dovecot IMAP server or mutt).
This is a Gnus server variable. See Info node `(gnus)Select Methods'.
(defvar nnmairix-hidden-folders nil (#$ . 8914))
(nnoo-define 'nnmairix-hidden-folders nil)
#@178 Default search group. This is the group which is used for all
temporary searches, e.g. nnmairix-search.
This is a Gnus server variable. See Info node `(gnus)Select Methods'.
(defvar nnmairix-default-group nil (#$ . 9215))
(nnoo-define 'nnmairix-default-group nil)
#@39 Regexp for mairix groups on back end.
(defconst nnmairix-group-regexp (format "%s-\\(.*\\)-[0-9]+" nnmairix-group-prefix) (#$ . 9488))
#@75 Back ends supported by nnmairix.
Other back ends might or might not work.
(defconst nnmairix-valid-backends '(nnimap nnml nnmaildir) (#$ . 9629))
#@21 Last chosen server.
(defvar nnmairix-last-server nil (#$ . 9781))
#@17 Current server.
(defvar nnmairix-current-server nil (#$ . 9853))
#@65 Cache for marks which should be set upon closing current group.
(defvar nnmairix-marks-cache nil (#$ . 9924))
#@34 Version string of mairix binary.
(defvar nnmairix-version-output nil (#$ . 10040))
(byte-code "\300\301\302\"\210\303\301!\210\300\304\305\"\210\303\304!\210\300\306\307\"\210\303\306!\210\300\310\311\"\210\303\310!\210\312\313\314\315\316$\207" [defalias nnmairix-server-opened #[256 "\300\301\"\207" [nnoo-server-opened nnmairix] 4 "\n\n(fn &optional SERVER)"] nnoo-register-function nnmairix-status-message #[256 "\300\301\"\207" [nnoo-status-message nnmairix] 4 "\n\n(fn &optional SERVER)"] nnmairix-close-server #[512 "\300\301\"\207" [nnoo-close-server nnmairix] 5 "\n\n(fn &optional SERVER DEFS)"] nnmairix-open-server #[513 "\300\301#\207" [nnoo-change-server nnmairix] 6 "\n\n(fn SERVER &optional DEFS)"] gnus-declare-backend "nnmairix" mail address virtual] 5)
#@37
(fn SERVER &optional DEFINITIONS)
(defalias 'nnmairix-open-server #[513 "\301\302#\207" [nnmairix-current-server nnoo-change-server nnmairix] 6 (#$ . 10822)])
(nnoo-register-function 'nnmairix-open-server)
#@41
(fn GROUP &optional SERVER FAST INFO)
(defalias 'nnmairix-request-group #[1025 "\203 \306!\210\203 \307\310D\"\202 \311\312\"\311\313\"\311\314\315#\311\316\"\317\320\321! #\211\203; \211<\203; \211\206X\322\n\"A\206X\211\323\232\203M \206D\322\f\"A\206D\322
\"A\206D:\211\203{ \317\320@@@@@A@#\232\204{ \211A\262\202_ \211@@\262\206D;\211\203\237 \317\320@@@A@#\232\204\237 \211A\262\202\205 \211@\262\206D<A\324\211\203B\211A\262\242\3258\262\262;\204\253 \324\315C\32623\211\242\206\322 \240\210\204\340 \327\330\331\"\n\"\210\f
D\211\203\370 \211@\327\330\332\"\"\210A\266\202\202\343 \210\211\242A@\333\235\203\317\334\242@\"\202\317\320\242@\242A@#\211\242B\204/\211\n\235\204/\322@\n\"\204/\211\nB\266\2020\266\204\232\203\253 \262\324\262\202\253 \266\202\211\203U\322\n\"\204UB\nB\211\262\262\324\211\211\204k\335\310\336#\210\324\207\204\200r=q\210\337 \210\340
Pc\210)\315\207>\203\224\341\342 \"\204\224\343P\202\226\262\344=\203\255\345\236A@\262\211\204\255%\262\346=\203\272\347\236A@\262\211\203\307\350\351!!P\262\n\203\325\203\325\352\202\340\353\354?!$\262\352U\203\355\356 \"\210\344=\203@\203\374\357!\210\360\324\315#\210\355\361 #\210\n\203\203\315\207\362\n\"\207\363U\203ErAq\210eb\210\364\365!)\203E\366\367\370\"\210=q\210\337 \210\340
Pc\210\315\207\335\310\371A#\210\324\207" [nnmairix-backend nnmairix-backend-server gnus-server-method-cache gnus-select-method gnus-server-alist gnus-predefined-server-alist nnmairix-open-server gnus-group-prefixed-name nnmairix gnus-group-get-parameter folder allow-fast query t threads format "%s:%s" symbol-name assoc "native" nil 4 server-name mapc make-closure #[257 "\211A\300\242\232\205
\301\302@\"\207" [V0 throw server-name] 4 "\n\n(fn NAME-METHOD)"] #[257 "\302A\300\242\"\205 \211 \235\204 \211 B\303\304@\"\207" [V0 gnus-server-method-cache gnus-methods-equal-p throw server-name] 4 "\n\n(fn NAME-METHOD)"] (nil "") "%s" nnheader-report "Check folder parameter for group %s" erase-buffer "211 0 1 0 " string-match "^\\." "." nnml nnml-directory nnmaildir directory file-name-as-directory expand-file-name 0 nnmairix-call-mairix-binary split-string nnmairix-call-backend "open-server" nnmairix-rename-files-consecutively nnml-generate-nov-databases-directory "request-scan" nnmairix-request-group-with-article-number-correction 1 looking-at "^Matched 0 messages" nnheader-message 5 "Mairix: No matches found." "Error running mairix. See buffer %s for details" gnus-opened-servers gnus-secondary-select-methods gnus-newsrc-alist nntp-server-buffer nnmairix-hidden-folders nnmairix-mairix-command nnmairix-rename-files-for-nnml nnmairix-mairix-output-buffer] 24 (#$ . 11040)])
(nnoo-register-function 'nnmairix-request-group)
#@36
(fn GROUP &optional SERVER ARGS)
(defalias 'nnmairix-request-create-group #[769 "\203
\303\304D\"\202 \305\306\307\203 \310!\210\311\312\"\210\311\313\"\210\203B T\262\314\315 \316!$\262\317\320 #\262\202$ \317\321 #\210\311\322\"\210\n\203V \311\323\"\210\324\325#\266\305\207" [nnmairix-group-prefix nnmairix-backend-server nnmairix-allowfast-default gnus-group-prefixed-name nnmairix t 0 nil nnmairix-open-server gnus-group-add-parameter (query) (threads) format "%s-%s-%s" number-to-string nnmairix-call-backend "request-group" "request-create-group" (folder) (allow-fast . t) gnus-group-set-parameter folder] 13 (#$ . 13914)])
(nnoo-register-function 'nnmairix-request-create-group)
#@50
(fn ARTICLES GROUP &optional SERVER FETCH-OLD)
(defalias 'nnmairix-retrieve-headers #[1026 "\203 \303!\210\304\"\305\"\306C\307\2036 A@\306U\2046 @\247\2036 A@\240\210\310\311\312\" \"\262\313=\203L \314\315\316 \n %)\202V \315\316 \n %\262\317 \242%\210\207" [nnmairix-backend gnus-nov-is-evil nnmairix-backend-server nnmairix-open-server nnmairix-get-backend-folder nnmairix-get-numcorr 0 nil mapcar make-closure #[257 "\211\300\242Z\207" [V0] 3 "\n\n(fn ARG)"] nnimap t nnmairix-call-backend "retrieve-headers" nnmairix-replace-group-and-numbers] 14 (#$ . 14638)])
(nnoo-register-function 'nnmairix-retrieve-headers)
#@49
(fn ARTICLE &optional GROUP SERVER TO-BUFFER)
(defalias 'nnmairix-request-article #[1025 "\203 \301!\210\302\"\303\"\247\203( \211\203( \211A@\304U\204( A@Z\262\305\306%\266\307\207" [nnmairix-backend-server nnmairix-open-server nnmairix-get-backend-folder nnmairix-get-numcorr 0 nnmairix-call-backend "request-article" t] 12 (#$ . 15299)])
(nnoo-register-function 'nnmairix-request-article)
#@25
(fn &optional SERVER)
(defalias 'nnmairix-request-list #[256 "\211\203 \304!\210\305\306\"\205d \307\211\211r q\210eb\210`\262\310\nd\311#\203\\ \312\313!\262\314\315D\"\262\316\"\203V \312\317!\320\321\"\230\203V \322!\210\323 |\210\307y\210`\262\202 \307y\210\202 d|\210)\266\311\207" [nnmairix-backend-server nntp-server-buffer nnmairix-group-regexp gnus-newsrc-hashtb nnmairix-open-server nnmairix-call-backend "request-list" nil re-search-forward t match-string 1 gnus-group-prefixed-name nnmairix gethash 0 gnus-group-get-parameter folder replace-match point-at-bol] 8 (#$ . 15717)])
(byte-code "\300\301!\210\302\303\304\"\207" [nnoo-register-function nnmairix-request-list autoload gnus-registry-get-id-key "gnus-registry"] 3)
#@39
(fn GROUP ACTIONS &optional SERVER)
(defalias 'nnmairix-request-set-mark #[770 "\211\203 \306!\210\307\310D\"\311\312\"\313\"\314\"\212\211\205\211@\211A@\3158\316@!\317\211\211 \203H A@\320U\204H \321\322\323\f\"\"\262\n\203\324\325\326\"\210\211\203 \211@\3272\370 \330\331 \"\210\332\307
\n D\"\"\204z \324\333\334#\210\335\327\317\"\210q\210eb\210\336\337\340\317\336#\210)\341\342!\262\204\235 \324\333\343#\210\335\327\317\"\210\344!\262\204\260
\204\260 \345\"\262\204\300 \324\333\346#\210\335\327\317\"\210\211\205\365 \211@\347)\"\262\203\340 EC\244\210\202\356 \211ED)B)A\266\202\202\301 \2620\210A\266\202\202S \210\324\325\350\"\210\266A\266\202\202 \262)\207" [nnmairix-current-server nnmairix-backend-server nnmairix-backend nntp-server-buffer case-fold-search nnmairix-only-use-registry nnmairix-open-server gnus-group-prefixed-name nnmairix gnus-group-get-parameter propmarks nnmairix-get-numcorr nnmairix-get-backend-folder 2 gnus-uncompress-range nil 0 mapcar make-closure #[257 "\211\300A@Z\207" [V0] 3 "\n\n(fn ARG)"] nnheader-message 7 "nnmairix: Setting marks..." problem nnmairix-call-backend "open-server" gnus-request-head 3 "Unable to set mark: couldn't fetch article header for article number %d" throw t re-search-forward "^message-id:.*\\(<.+>\\)" match-string 1 "Unable to set mark: article number %d has no message-id header" nnmairix-determine-original-group-from-registry nnmairix-determine-original-group-from-path "Unable to set mark: couldn't find original group for %s" assoc "nnmairix: Setting marks... done" nnmairix-marks-cache] 23 (#$ . 16479)])
(nnoo-register-function 'nnmairix-request-set-mark)
#@31
(fn GROUP &optional SERVER)
(defalias 'nnmairix-close-group #[513 "\211\203 \304!\210\305\306D\"\307\310\"\211\205: \205: \n\311=\204, \n\312=\205: \313\314!\205: rq\210\315 \210\316!\210\317 )\207" [nnmairix-current-server nnmairix-marks-cache nnmairix-propagate-marks-upon-close gnus-group-buffer nnmairix-open-server gnus-group-prefixed-name nnmairix gnus-group-get-parameter propmarks t ask y-or-n-p "Propagate marks to original articles? " nnmairix-propagate-marks gnus-group-jump-to-group gnus-group-get-new-news-this-group] 6 (#$ . 18198)])
(byte-code "\300\301!\210\302\303\304\"\207" [nnoo-register-function nnmairix-close-group autoload nnimap-request-update-info-internal "nnimap"] 3)
#@36
(fn GROUP INFO &optional SERVER)
(defalias 'nnmairix-request-marks #[770 "\211\203 \305!\210\306\307D\"\310\311\"\310\312\"\313\"\314\"\211\205+ \211A@\315U?\316B\203\211 \203\211 \n\317=\203F \320#\210\202M \321\322$\210AA\211\203g \323A@\324\325\"\262\3268\"\202j \3268\240\266\327 \233\211\203\203 \330\324\331\"\3278\"\202\206 \3278\240\266\332=\203\230 AA\211\333\240\266\334=\203\253 AA\211\335 \f\"\240\266\266\336\207" [nnmairix-current-server nnmairix-propagate-marks-to-nnmairix-groups nnmairix-backend nnmairix-backend-server gnus-active-hashtb nnmairix-open-server gnus-group-prefixed-name nnmairix gnus-group-get-parameter readmarks propmarks nnmairix-get-backend-folder nnmairix-get-numcorr 0 (1 ((1 . 1))) nnimap nnimap-request-update-info-internal nnmairix-call-backend "request-update-info" nnmairix-map-range make-closure #[257 "\211\300\\\207" [V0] 3 "\n\n(fn X)"] 2 3 mapcar #[257 "\211@\301\300A@\302\303\"\262A@C\"B\207" [V0 nnmairix-map-range make-closure #[257 "\211\300\\\207" [V0] 3 "\n\n(fn X)"]] 7 "\n\n(fn CUR)"] unread nil read gethash t] 17 (#$ . 18910)])
(byte-code "\300\301!\210\302\303!\207" [nnoo-register-function nnmairix-request-marks nnoo-define-skeleton-1 nnmairix] 2)
#@212 Create on SERVER nnmairix search group GROUP with QUERY.
If THREADS is t, include whole threads from found messages. If
called interactively, user will be asked for parameters.
(fn SERVER GROUP QUERY THREADS)
(defalias 'nnmairix-create-search-group #[1028 ";\203 \301\302\"\203 \303!\262<\204 C\262\205F \205F \205F \304\"rq\210\305\"\210\306\307#\210\306\310#\210\311!)\262\207" [gnus-group-buffer string-match "\\s-" split-string gnus-group-prefixed-name gnus-group-make-group gnus-group-set-parameter query threads nnmairix-update-and-clear-marks] 9 (#$ . 20181) (byte-code "\306 @\211\203 \211<\203 \211\206+\307\"A\206+\211\310\232\203\"