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/gnus/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /usr/share/emacs/28.2/lisp/gnus/nnmairix.elc
;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\203BT\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\2036A@\306U\2046@\247\2036A@\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\202d|\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\340EC\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\230AA\211\333\240\266\334=\203\253AA\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<\204C\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\"	\206\307\n\"A\206\307\"A\206\f\211\203O\311\312@@@@@A@#\232\204O\211A\262\2023\211@@\262\206
\211\203r\311\312@@@A@#\232\204r\211A\262\202X\211@\262\206A\313\211\203\211A\262\242\3148\262\262;\204~\313\315C\3162\211\242\206\245	\240\210\204\263\317\320\321\"\"\210\nD\211\203\313\211@\317\320\322\"\"\210A\266\202\202\266\210\211\242A@\323\235\203\336\311\324\242@\"\202\350\311\312\242@\242A@#\211\242B\204\211\235\204\307@\"\204\211B\266\2020\266\204\232\203~\262\313\262\202~\266\202\211\203(\307\"\204(BB\211\262\262\325\326!\325\327!\330\331!F\207" [gnus-server-method-cache gnus-select-method gnus-server-alist gnus-predefined-server-alist gnus-opened-servers gnus-secondary-select-methods nnmairix-get-server assoc "native" format "%s:%s" nil 4 t 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" read-string "Group name: " "Query: " y-or-n-p "Include threads? " gnus-newsrc-alist] 15)])
#@57 Create mairix search interactively with the minibuffer.
(defalias 'nnmairix-search-interactive #[0 "\301\211\211\211\204M\211\204%\302\303\304 \"\210\305 \262\306\"\204	\301\262\202	\307\310\311\306	\"8\312Q!\262\313\306\"8\314QB\262\315\316!?\262\301\262\202\317\320\321\322#\323 @\315\324!#\207" [nnmairix-interactive-query-parameters nil message "Query (%s): " nnmairix-create-message-line-for-search read-char assoc read-string "Match " 3 " on: " 2 ":" y-or-n-p "Add another search query? " nnmairix-search mapconcat identity " " nnmairix-get-server "Include whole threads? "] 11 (#$ . 22106) nil])
#@72 Interactively create search group with query based on current message.
(defalias 'nnmairix-create-search-group-from-message #[0 "\306	!\307\211\211\211\211\211\n\211\205\310\311!\211\262!\205\211\262\2036\211\2051\310\311!\211\262!\2051\211\262\204:\312\313!\210\204J\312\314\315	@!	A@#\210\204\272\212\316\317!\210\204o\320\321\322 \"\210\323 \262\324	\"\204S\307\262\202S\nq\210\307\262\324	\"A@\203\215\325\326\324\"A@!!\262\327\330\331\324\f\"8\332Q\"\262\333\324\n\"8\334QB\262\335\336!?\262\307\262)\202J\335\337!\262\327\340!\262q\210\320\341	\307\211C\3422>\211\242\206\333\f\240\210\204\351\343\344\345\"
\"\210/0D\211\203\211@\343\344\346\"\"\210A\266\202\202\356\210\211\242A@\347\235\203\350\351\242@\"\202 \350\352\242@\242A@#\211\242B\204:\211
\235\204:\324@
\"\204:\211
B\266\2020\266\204\353\354\355#$\210\356$\207" [nnmairix-interactive-query-parameters gnus-current-select-method gnus-article-buffer gnus-summary-buffer gnus-select-method gnus-server-method-cache nnmairix-backend-to-server nil buffer-live-p get-buffer error "No article or summary buffer" "No nnmairix server found for back end %s:%s" symbol-name gnus-summary-toggle-header 1 message "Query (%s): " nnmairix-create-message-line-for-search read-char assoc nnmairix-replace-illegal-chars gnus-fetch-field read-string "Match " 3 " on: " 2 ":" y-or-n-p "Add another search query? " "Include whole threads? " "Group name: " "Creating group %s on server %s with query %s." 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 "") format "%s" "%s:%s" mapconcat identity " " nnmairix-create-search-group gnus-server-alist gnus-predefined-server-alist] 21 (#$ . 22740) nil])
#@126 Interactively create new nnmairix server with default search group.
All necessary information will be queried from the user.
(defalias 'nnmairix-create-server-and-default-group #[0 "\306\307!\310\311\312 \313#\306\314\315\"\306\316!\317\211\203\211<\203\211\206:\320\"A\206:\211\321\232\2031	\206&\320\n\"A\206&\320\"A\206&\f\211\203^\322\323@@@@@A@#\232\204^\211A\262\202B\211@@\262\206&
\211\203\201\322\323@@@A@#\232\204\201\211A\262\202g\211@\262\206&.A\324\211\203$\211A\262\242\3258\262\262;\204\215\324\313C\3262\211\242\206\264	\240\210\204\302\327\330\331\"\"\210\nD\211\203\332\211@\327\330\332\"\"\210A\266\202\202\305\210\211\242A@\333\235\203\355\322\334\242@\"\202\367\322\323\242@\242A@#\211\242B\204\211\235\204\320@\"\204\211B\266\2020\266\204\232\203\215\262\324\262\202\215\266\202\211\2037\320\"\2047BB\211\262\262@!\211\203L\211<\203L\211\206g\320\"A\206g\211\321\232\203^	\206S\320\n\"A\206S\320\"A\206S\f\211\203\213\322\323@@@@@A@#\232\204\213\211A\262\202o\211@@\262\206S
\211\203\256\322\323@@@A@#\232\204\256\211A\262\202\224\211@\262\206S.A\324\211\203Q\211A\262\242\3258\262\262;\204\272\324\313C\3262B\211\242\206\341	\240\210\204\357\327\330\331\"\"\210\nD\211\203\211@\327\330\332\"\"\210A\266\202\202\362\210\211\242A@\333\235\203\322\334\242@\"\202$\322\323\242@\242A@#\211\242B\204>\211\235\204>\320@\"\204>\211B\266\2020\266\204\232\203\272\262\324\262\202\272\266\202\211\203d\320\"\204dBB\211\262\262A@\335\336\"\205u\337\340!\341\342\322\343\344#!C\"\210\211\203\223\335\345\"\203\223\346\324O\262\347\350	\351\342!D\352D\353D\354D\355\fD\257\"\207" [gnus-server-method-cache gnus-select-method gnus-server-alist gnus-predefined-server-alist gnus-opened-servers gnus-secondary-select-methods read-string "Name of the mairix server: " gnus-completing-read "Back end server" nnmairix-get-valid-servers t "Command to call mairix: " "mairix" "Default search group: " symbol-name assoc "native" format "%s:%s" 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" string-match "^nn\\(imap\\|maildir\\)$" y-or-n-p "Does the back end server work with maildir++ (i.e. hidden directories)? " apply intern "%s-%s" "open-server" "^\\." 1 gnus-group-make-group nnmairix nnmairix-backend nnmairix-backend-server nnmairix-mairix-command nnmairix-hidden-folders nnmairix-default-group gnus-newsrc-alist] 20 (#$ . 24737) nil])
#@57 Set QUERY for group under cursor.

(fn &optional QUERY)
(defalias 'nnmairix-group-change-query-this-group #[256 "\300 \301!\302\303\304#@\305=\203@\211<\203\306\307\310#\262\206%\311\312\"\262;\2031\313!\262\205C\314\303#\210\315!\207\316\317!\207" [gnus-group-group-name gnus-find-method-for-group gnus-group-get-parameter query t nnmairix mapconcat identity " " read-string "New query: " split-string gnus-group-set-parameter nnmairix-update-and-clear-marks error "This is no nnmairix group"] 8 (#$ . 27558) nil])
#@175 Toggle threads parameter for this group.
If THREADS is a positive number, set threads parameter to t.
If THREADS is a negative number, set it to nil.

(fn &optional THREADS)
(defalias 'nnmairix-group-toggle-threads-this-group #[256 "\300 \301\302\303$\205\304!\207" [gnus-group-group-name nnmairix-group-toggle-parameter threads "Threads" nnmairix-update-and-clear-marks] 7 (#$ . 28103) nil])
#@173 Toggle marks propagation for this group.
If PROPMARKS is a positive number, set parameter to t.
If PROPMARKS is a negative number, set it to nil.

(fn &optional PROPMARKS)
(defalias 'nnmairix-group-toggle-propmarks-this-group #[256 "\300\301!\204\n\302\303!\210\304 \305!\306\307!\236A@\230\203 \310\311!\205&\312\313\314$\207" [nnmairix-check-mairix-version "maildirpatch" error "You need a mairix binary with maildir patch to use this feature.  See docs for details" gnus-group-group-name gnus-group-short-name nnmairix-default-group gnus-find-method-for-group y-or-n-p "You should not activate marks propagation for the default search group.  Are you sure? " nnmairix-group-toggle-parameter propmarks "Marks propagation"] 7 (#$ . 28508) nil])
#@169 Toggle fast entering for this group.
If ALLOWFAST is a positive number, set parameter to t.
If ALLOWFAST is a negative number, set it to nil.

(fn &optional ALLOWFAST)
(defalias 'nnmairix-group-toggle-allowfast-this-group #[256 "\300\301 \302\303$\207" [nnmairix-group-toggle-parameter gnus-group-group-name allow-fast "Fast entering"] 6 (#$ . 29268) nil])
#@254 Toggle read/unread marks for this group.
If READMARKS is a positive number, articles will always be read.
If READMARKS is a negative number, articles will always be unread.
If READMARKS is t or zero, marks will stay unchanged.

(fn &optional READMARKS)
(defalias 'nnmairix-group-toggle-readmarks-this-group #[256 "\300 \301!\206
\302\303\"@\304=\203X\211\247\203\211\305W\204%\211\306=\2031\307\303\310#\210\311\312\313#\207\211\247\203<\211\305V\204@\211\204L\307\303\306#\210\311\312\314#\207\307\303\315#\210\311\312\316#\207\317\320!\207" [gnus-group-group-name gnus-find-method-for-group gnus-group-get-parameter readmarks nnmairix 0 read gnus-group-set-parameter unread nnheader-message 3 "Articles in %s always unread." "Articles in %s always read." nil "Read marks in %s stay unchanged." error "This is no nnmairix group"] 8 (#$ . 29633) nil])
#@308 Sends QUERY to nnmairix backend SERVER, using default its search group.

Default search group is automatically entered and results are shown.
If THREADS is t, enable threads.
If THREADS is a negative number, disable threads.
Otherwise, leave threads parameter as it is.

(fn QUERY &optional SERVER THREADS)
(defalias 'nnmairix-search #[769 "\204	\306 @\262\204\307\310!\210\202A\211\203\"\211<\203\"\211\206=\311\"A\206=\211\312\232\2034	\206)\311\n\"A\206)\311\"A\206)\f\211\203a\313\314@@@@@A@#\232\204a\211A\262\202E\211@@\262\206)
\211\203\204\313\314@@@A@#\232\204\204\211A\262\202j\211@\262\206)#A\315\211\203'\211A\262\242\3168\262\262;\204\220\315\317C\3202\211\242\206\267	\240\210\204\305\321\322\323\"\"\210\nD\211\203\335\211@\321\322\324\"\"\210A\266\202\202\310\210\211\242A@\325\235\203\360\313\326\242@\"\202\372\313\314\242@\242A@#\211\242B\204\211\235\204\311@\"\204\211B\266\2020\266\204\232\203\220\262\315\262\202\220\266\202\211\203:\311\"\204:BB\211\262\262\262\327A@!\210\330$\331A@D\"%q\210;\203^\332!\262\333\334#\2109\203y\317=\203\205\333\335\317#\210\202\205\336W\203\205\333\335\315#\210\337!\210\340&\"\341\232?\205\231\342\315\317#\207" [gnus-server-method-cache gnus-select-method gnus-server-alist gnus-predefined-server-alist gnus-opened-servers gnus-secondary-select-methods nnmairix-get-server error "No opened nnmairix server found" assoc "native" format "%s:%s" nil 4 t 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" nnmairix-open-server gnus-group-prefixed-name nnmairix split-string gnus-group-set-parameter query threads 0 nnmairix-update-and-clear-marks gethash (1 . 0) gnus-group-read-group gnus-newsrc-alist nnmairix-default-group gnus-group-buffer gnus-active-hashtb] 18 (#$ . 30511) (byte-code "\300\301!C\207" [read-string "Query: "] 2)])
#@158 Search thread for the current article.
This is effectively a shortcut for calling `nnmairix-search'
with m:msgid of the current article and enabled threads.
(defalias 'nnmairix-search-thread-this-article #[0 "\302!\303\203J	\211\205\304\305!\211\262!\205\211\262\203Fr	q\210\306\307!\210\310\311!\262)\312\313\"\203>\314\315\316\211$\262\202,\317\320P\316#\207\321\322!\207\323\324\325@!A@#\207" [gnus-current-select-method gnus-article-buffer nnmairix-backend-to-server nil buffer-live-p get-buffer gnus-summary-toggle-header 1 message-fetch-field "Message-ID" string-match "[<>]" replace-match "" t nnmairix-search "m:" message "No article buffer." error "No nnmairix server found for back end %s:%s" symbol-name] 7 (#$ . 32689) nil])
#@135 Search messages from sender of the current article.
This is effectively a shortcut for calling `nnmairix-search' with
f:current_from.
(defalias 'nnmairix-search-from-this-article #[0 "\302!\303\203<	\211\205\304\305!\211\262!\205\211\262\2038r	q\210\306\307!\210\310\311\312!!A@\262\313\314P\315#)\207\316\317!\207\320\321\322@!A@#\207" [gnus-current-select-method gnus-article-buffer nnmairix-backend-to-server nil buffer-live-p get-buffer gnus-summary-toggle-header 1 gnus-extract-address-components gnus-fetch-field "From" nnmairix-search "f:" -1 message "No article buffer." error "No nnmairix server found for back end %s:%s" symbol-name] 6 (#$ . 33454) nil])
#@294 Delete mairix search groups which are no longer used.

You may want to call this from time to time if you are creating
and deleting lots of nnmairix groups.  If DONTASK is t, do not ask
before deleting a group on the back end.  SERVER specifies nnmairix server.

(fn &optional DONTASK SERVER)
(defalias 'nnmairix-purge-old-groups #[512 "\211\2061\306 @\211\203\211<\203\211\206/\307\"A\206/\211\310\232\203&	\206\307\n\"A\206\307\"A\206\f\211\203S\311\312@@@@@A@#\232\204S\211A\262\2027\211@@\262\206
\211\203v\311\312@@@A@#\232\204v\211A\262\202\\\211@\262\206'A\313\211\203\211A\262\242\3148\262\262;\204\202\313\315C\3162\n\211\242\206\251	\240\210\204\267\317\320\321\"\"\210\nD\211\203\317\211@\317\320\322\"\"\210A\266\202\202\272\210\211\242A@\323\235\203\342\311\324\242@\"\202\354\311\312\242@\242A@#\211\242B\204\211\235\204\307@\"\204\211B\266\2020\266\204\232\203\202\262\313\262\202\202\266\202\211\203,\307\"\204,BB\211\262\262\325A@!\203\220\326\327(\"\205\226\313\211r)q\210eb\210\330*d\315#\205\216\331\332!\262\333\331\334!\"\262\335+\"\203r\336\337\"\230\204K\204\203\340\341\342(\343\260!\203K\326\344\315($\210\202K)\207\345\346A@\"\207" [gnus-server-method-cache gnus-select-method gnus-server-alist gnus-predefined-server-alist gnus-opened-servers gnus-secondary-select-methods nnmairix-get-server assoc "native" format "%s:%s" nil 4 t 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" nnmairix-open-server nnmairix-call-backend "request-list" re-search-forward match-string 0 gnus-group-prefixed-name 1 gethash gnus-group-get-parameter folder y-or-n-p "Delete group " " on server " "? " "request-delete-group" message "Couldn't open server %s" gnus-newsrc-alist nnmairix-backend-server nntp-server-buffer nnmairix-group-regexp gnus-newsrc-hashtb] 17 (#$ . 34142) nil])
#@282 Call mairix for updating the database for SERVERS.

If SERVERS is nil, do update for all nnmairix servers.  Mairix
will be called asynchronously unless
`nnmairix-mairix-synchronous-update' is t.  Mairix will be called
with `nnmairix-mairix-update-options'.

(fn &optional SERVERS)
(defalias 'nnmairix-update-database #[256 "\211\206\306 \307\211\211\205\275\211A\262\242@\262\310\211\203%\211<\203%\211\206@\311\"A\206@\211\312\232\2037	\206,\311\n\"A\206,\311\"A\206,\f\211\203d\313\314@@@@@A@#\232\204d\211A\262\202H\211@@\262\206,
\211\203\207\313\314@@@A@#\232\204\207\211A\262\202m\211@\262\206,#A\307\211\203*\211A\262\242\3158\262\262;\204\223\307\316C\3172\211\242\206\272	\240\210\204\310\320\321\322\"\"\210\nD\211\203\340\211@\320\321\323\"\"\210A\266\202\202\313\210\211\242A@\324\235\203\363\313\325\242@\"\202\375\313\314\242@\242A@#\211\242B\204\211\235\204\311@\"\204\211B\266\2020\266\204\232\203\223\262\307\262\202\223\266\202\211\203=\311\"\204=BB\211\262\262A@!\210\326$!\262\327\330\331#\210%\203\214\332@\307\333&!\307F!\262\211G\334V\203w\332A'#\262\202~\332'\"\262\335\336\"\210\327\330\337#\210\202	\332\333&!@E!\262\211G\334V\203\253\332A'#\262\202\262\332'\"\262\340\335\341\"\342\"\210\202	\207" [gnus-server-method-cache gnus-select-method gnus-server-alist gnus-predefined-server-alist gnus-opened-servers gnus-secondary-select-methods nnmairix-get-nnmairix-servers nil nnmairix-open-server assoc "native" format "%s:%s" 4 t 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" split-string nnheader-message 7 "Updating mairix database for %s..." append get-buffer 1 apply call-process "Updating mairix database for %s... done" set-process-sentinel start-process nnmairix-sentinel-mairix-update-finished gnus-newsrc-alist nnmairix-mairix-command nnmairix-mairix-synchronous-update nnmairix-mairix-output-buffer nnmairix-mairix-update-options] 21 (#$ . 36323) nil])
#@137 Deletes and recreates group on the back end.
You can use this function on nnmairix groups which continuously
show wrong article counts.
(defalias 'nnmairix-group-delete-recreate-this-group #[0 "\300 \301!\211@\302=\204\303\304!\210\305\306\307\"!\205\310!\210\311 \207" [gnus-group-group-name gnus-find-method-for-group nnmairix error "This is not a nnmairix group" y-or-n-p format "Really recreate group %s on the back end? " nnmairix-delete-recreate-group gnus-group-get-new-news-this-group] 6 (#$ . 38613) nil])
#@209 Propagate marks from nnmairix group to original articles.
Unless SERVER is explicitly specified, will use the last opened
nnmairix server.  Only marks from current session will be set.

(fn &optional SERVER)
(defalias 'nnmairix-propagate-marks #[256 "\211\203\304!\210\202!@\305=\204!	\203\304	!\210\202!\306\307!\210\n\203\310\211\211\211\211\211\3112\311\n\211A\242\211\262\205\310A\211A\241\210\262\242\211\262\203/\312@@\"A\262\204i\313\314\315@@$\210\316\311\310\"\210\317@\"\262\211\203\264\3202\260\211A\211\203\241\211@\211AA@\3218D\232\203\232\211@C\244\210\316\320\310\"\210A\266\202\202z\210\211CA@\3218EC\2440\210\202:@CA@\3218EDB\262\202:0\210rq\210\313\322\323\"\210\211\203\211@\324@!\262\325\326\327\330\331	@!\332#!\333@!AA@C$\210\334@!\210\335 \210A\266\202\202\324\210)\313\322\336\"\207\313\314\337\"\207" [gnus-current-select-method nnmairix-current-server nnmairix-marks-cache gnus-group-buffer nnmairix-open-server nnmairix error "No opened nnmairix server" nil problem gnus-request-head nnheader-message 3 "Unable to set mark: couldn't determine article number for %s in %s" throw assoc done 2 5 "nnmairix: Propagating marks..." gnus-find-method-for-group apply intern format "%s-%s" symbol-name "request-set-mark" gnus-group-short-name gnus-group-jump-to-group gnus-group-get-new-news-this-group "nnmairix: Propagating marks... done" "No marks to propagate."] 15 (#$ . 39142) nil])
#@221 Update all search groups on SERVERNAME.
If SKIPDEFAULT is t, the default search group will not be
updated.
If UPDATEDB is t, database for SERVERNAME will be updated first.

(fn SERVERNAME &optional SKIPDEFAULT UPDATEDB)
(defalias 'nnmairix-update-groups #[769 "\212\306\307\"\203\310\311\"\262\312\313\314\"\315 \"\204!\316\317\320#\202\233\211\2031\321\322\313\314\"CC!\210)\323!\324\203t\313\325\326\313\314\n\"\211\203P\211<\203P\211\206l\312	\"A\206l\211\327\232\203b\n\206X\312\"A\206X\312\f\"A\206X
\211\203\217\313\330@@@@@A@#\232\204\217\211A\262\202s\211@@\262\206X$\211\203\263\313\330@@@A@#\232\204\263\211A\262\202\231\211@\262\206X%A\324\211\203V\211A\262\242\3318\262\262;\204\277\324\321C\3322G\211\242\206\346\n\240\210\204\364\333\334\335\"	\"\210\fD\211\203\f\211@\333\334\336\"\"\210A\266\202\202\367\210\211\242A@\337\235\203\313\340\242@\"\202)\313\330\242@\242A@#\211\242B\204C\211	\235\204C\312@	\"\204C\211	B\266\2020\266\204\232\203\277\262\324\262\202\277\266\202\211\203i\312	\"\204iB	B\211\262\262\236A@#\262\211\203\226\211@\203\206\211@\230\204\217\341@!\210\342\311!\210A\266\202\202u\210\343 \266\202)\207" [nnmairix-mairix-synchronous-update gnus-server-method-cache gnus-select-method gnus-server-alist gnus-predefined-server-alist gnus-opened-servers string-match ".*:\\(.*\\)" match-string 1 assoc format "nnmairix:%s" nnmairix-get-nnmairix-servers nnheader-message 3 "Server %s not opened" t nnmairix-update-database nnmairix-get-groups-from-server nil "nnmairix+%s:%s" nnmairix-default-group "native" "%s:%s" 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" gnus-group-jump-to-group gnus-group-mark-group gnus-group-get-new-news-this-group gnus-secondary-select-methods gnus-newsrc-alist] 24 (#$ . 40628) (byte-code "\300\301\302 \"C\207" [gnus-completing-read "Update groups on server" nnmairix-get-nnmairix-servers] 3)])
#@95 Remove tick mark from original article.
Marks propagation has to be enabled for this to work.
(defalias 'nnmairix-remove-tick-mark-original-article #[0 "@\305=\204\306\307!\210\212\310\311`\312\"\211\205\313!\266\311`\314\"\206#\315 	\"\3168\262\211\317H\262\320\205k\321!\262\211\204G\n\204G\322\"\262\211\204O\306\323!\210\211\211\203e\211@\211\324BD\fBA\266\202\202P\210\325\326\327#\266\202)\207" [gnus-current-select-method gnus-newsgroup-data nnmairix-only-use-registry nnmairix-current-server nnmairix-marks-cache nnmairix error "Not in a nnmairix group" gnus-data-find-in get-text-property gnus-intangible gnus-summary-goto-subject gnus-number gnus-summary-last-subject 3 4 nil nnmairix-determine-original-group-from-registry nnmairix-determine-original-group-from-path "Couldn't find original article" (del (tick)) nnheader-message 5 "Will remove tick mark for %s upon closing."] 7 (#$ . 42864) nil])
#@105 Request FOLDER on back end for nnmairix QUALGROUP and article number correction.

(fn FOLDER QUALGROUP)
(defalias 'nnmairix-request-group-with-article-number-correction #[514 "\212\305\306#\210	q\210eb\210\307\310!\210\311\312\313\314!\"\210\nq\210eb\210\315p!\315p!\315p!\315p!\316\317\320#\321U\203\251\211\203o\211AA@\\\314V\203o\211@\203^\322AA@AA@\\E\262\323\317#\210A@\\\262A@\\\262\202\200\f\235\203\200\323\317\322\314E#\210\324 \210\325\326\327\330
\"\203\236\314\225\322O\202\240&c\266\320\202\262\331\332\333	#\266\322)\207" [nnmairix-backend-server nnmairix-mairix-output-buffer nntp-server-buffer nnmairix-backend nnmairix-delete-and-create-on-change nnmairix-call-backend "request-group" re-search-forward "^Matched.*messages" nnheader-message 7 match-string 0 read gnus-group-get-parameter numcorr t 211 nil gnus-group-set-parameter erase-buffer format "%d %d %d %d %s" string-match "^[^:]+:" nnheader-report nnmairix "Error calling back end on group %s"] 16 (#$ . 43808)])
#@149 Call mairix binary with COMMAND, using FOLDER and SEARCHQUERY.
If THREADS is non-nil, enable full threads.

(fn COMMAND FOLDER SEARCHQUERY THREADS)
(defalias 'nnmairix-call-mairix-binary #[1028 "@\302Br\303!q\210\304 \210G\305V\203\306A\"\262	\203&\306	\"\262\307\310!\2032\306\311\"\262\203<\306\312\"\262\313\314\306\315D#\")\207" [nnmairix-mairix-output-buffer nnmairix-mairix-search-options (nil t nil) gnus-get-buffer-create erase-buffer 1 append nnmairix-check-mairix-version "maildirpatch" ("-c") ("-t") apply call-process "-o"] 11 (#$ . 44853)])
#@76 Call mairix binary with COMMAND and QUERY in raw mode.

(fn COMMAND QUERY)
(defalias 'nnmairix-call-mairix-binary-raw #[514 "@\301Br\302!q\210\303 \210G\304V\203\305A\"\262\305\306\"\262\307\310\305\"\")\207" [nnmairix-mairix-output-buffer (nil t nil) gnus-get-buffer-create erase-buffer 1 append ("-r") apply call-process] 8 (#$ . 45437)])
#@93 If there exists just one nnmairix server, return its value.
Otherwise, ask user for server.
(defalias 'nnmairix-get-server #[0 "\301 \211\204\n\302\303!\210\211G\304V\203%\305\306\307\206\310$C\211\311\232\204\207\211@\207" [nnmairix-last-server nnmairix-get-nnmairix-servers error "No opened nnmairix server found" 1 gnus-completing-read "Server" t "nnmairix:" ("")] 6 (#$ . 45796)])
#@107 Return available nnmairix servers.
If ALL is t, return also the unopened/failed ones.

(fn &optional ALL)
(defalias 'nnmairix-get-nnmairix-servers #[256 "\302\211\203D\211A\262\242\262\203\204A@\303=\203@@\304=\203@	\235\204\305@@!\306@A@Q\262CB\262\202\207" [gnus-opened-servers gnus-ephemeral-servers nil ok nnmairix symbol-name ":"] 7 (#$ . 46198)])
#@60 Return list of valid back end servers for nnmairix groups.
(defalias 'nnmairix-get-valid-servers #[0 "\306\307!\310\211\211\211\211\203~\211@\311\312@\211\203 \211<\203 \211\206;\313	\"A\206;\211\314\232\2032\n\206'\313\"A\206'\313\f\"A\206'\211\203_\315\316@@@@@A@#\232\204_\211A\262\202C\211@@\262\206'
\211\203\202\315\316@@@A@#\232\204\202\211A\262\202h\211@\262\206'A\310\211\203%\211A\262\242\3178\262\262;\204\216\310\307C\3202\211\242\206\265\n\240\210\204\303\321\322\323\"	\"\210\fD\211\203\333\211@\321\322\324\"\"\210A\266\202\202\306\210\211\242A@\325\235\203\356\315\326\242@\"\202\370\315\316\242@\242A@#\211\242B\204\211	\235\204\313@	\"\204\211	B\266\2020\266\204\232\203\216\262\310\262\202\216\266\202\211\2038\313	\"\2048B	B\211\262\262\236A@!\327\330@\211\203R\211<\203R\211\206m\313	\"A\206m\211\314\232\203d\n\206Y\313\"A\206Y\313\f\"A\206Y\211\203\221\315\316@@@@@A@#\232\204\221\211A\262\202u\211@@\262\206Y
\211\203\264\315\316@@@A@#\232\204\264\211A\262\202\232\211@\262\206YA\310\211\203W\211A\262\242\3178\262\262;\204\300\310\307C\3202H\211\242\206\347\n\240\210\204\365\321\322\323\"	\"\210\fD\211\203
\211@\321\322\324\"\"\210A\266\202\202\370\210\211\242A@\325\235\203 \315\326\242@\"\202*\315\316\242@\242A@#\211\242B\204D\211	\235\204D\313@	\"\204D\211	B\266\2020\266\204\232\203\300\262\310\262\202\300\266\202\211\203j\313	\"\204jB	B\211\262\262\236A@QB\262A\266\202\202	\210\203\262\211A\262\242\262@\310\211C\3202\375\211\242\206\234\n\240\210\204\252\321\322\331\"	\"\210\fD\211\203\302\211@\321\322\332\"\"\210A\266\202\202\255\210\211\242A@\333\235\203\325\315\326\242@\"\202\337\315\316\242@\242A@#\211\242B\204\371\211	\235\204\371\313@	\"\204\371\211	B\266\2020\266\204\262\314\230\203\315\316@@@A@#\262\203A@\334=\203@@\235\203@\235\204@\310\211C\3202\243\211\242\206B\n\240\210\204P\321\322\331\"	\"\210\fD\211\203h\211@\321\322\332\"\"\210A\266\202\202S\210\211\242A@\333\235\203{\315\326\242@\"\202\205\315\316\242@\242A@#\211\242B\204\237\211	\235\204\237\313@	\"\204\237\211	B\266\2020\266\204\235\204B\262\202\207" [gnus-opened-servers gnus-server-method-cache gnus-select-method gnus-server-alist gnus-predefined-server-alist gnus-secondary-select-methods nnmairix-get-nnmairix-servers t nil symbol-name nnmairix-backend assoc "native" format "%s:%s" 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 #1="") "%s" ":" nnmairix-backend-server #[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 #1#) ok gnus-newsrc-alist nnmairix-valid-backends gnus-ephemeral-servers] 26 (#$ . 46586)])
#@68 Return all groups for nnmairix server SERVERNAME.

(fn SERVERNAME)
(defalias 'nnmairix-get-groups-from-server #[257 "\301\302\"\303\211\203\"\211@\304@\"\203\211@CB\262A\266\202\202\210\207" [gnus-newsrc-alist format "nnmairix\\+%s:" nil string-match] 8 (#$ . 49863)])
#@66 Call a function FUNC on backend with ARGS.

(fn FUNC &rest ARGS)
(defalias 'nnmairix-call-backend #[385 "\301\302\303\304\305!#!\"\207" [nnmairix-backend apply intern format "%s-%s" symbol-name] 8 (#$ . 50150)])
#@83 Return back end GROUP from nnmairix group on SERVER.

(fn GROUP &optional SERVER)
(defalias 'nnmairix-get-backend-folder #[513 "\211\203
\300\301D\"\202\302\303\"\207" [gnus-group-prefixed-name nnmairix gnus-group-get-parameter folder] 6 (#$ . 50372)])
#@100 Return values for article number correction nnmairix GROUP on SERVER.

(fn GROUP &optional SERVER)
(defalias 'nnmairix-get-numcorr #[513 "\211\203
\300\301D\"\202\302\303\304#\207" [gnus-group-prefixed-name nnmairix gnus-group-get-parameter numcorr t] 7 (#$ . 50639)])
#@179 Rename all nnml mail files in PATH so that they have consecutive numbers.
This should correct problems of wrong article counts when using
nnmairix with nnml backends.

(fn PATH)
(defalias 'nnmairix-rename-files-consecutively #[257 "\300\301\302\303\304\305\306$\"\307\"\211@\310!\211\205:\211@\211U\204/\311\312!P\312!P\"\210\262\211T\262A\266\202\202\207" [sort mapcar string-to-number directory-files nil "[0-9]+" t < file-name-as-directory rename-file number-to-string] 11 (#$ . 50922)])
#@274 Replace folder names in Xref header and correct article numbers.
Do this for all ARTICLES on BACKENDGROUP.  Replace using
MAIRIXGROUP.  NUMC contains values for article number correction.
TYPE is either `nov' or `headers'.

(fn ARTICLES BACKENDGROUP MAIRIXGROUP NUMC TYPE)
(defalias 'nnmairix-replace-group-and-numbers #[1285 "\301\302\303\"\210\211\304=\203P\305\306!\307U?\310!\311C\311Crq\210\312 \210q\210eb\210\313\314\315\n\n		&\"\210\316!\210q\210\317!\210)\266\202\200\211\320=\203\200\307U\204\200rq\210\212eb\210\321\322\311\323#\203\324\325\326\327\330!!\\!\323\211\311\330%\210\202d*\301\302\331\"\207" [nntp-server-buffer nnheader-message 7 "nnmairix: Rewriting headers..." nov gnus-get-buffer-create " *nnmairix buffer*" 0 buffer-name nil erase-buffer mapc make-closure #[257 "\307\310!!\204\311!\205i\305\312 \240\210\304\203'\305\242\313H\302\\\262\305\242\211\313I\266\306\305\242\314H\240\210\306\242;\203V\315\316\317\300\"\306\242\"\203V\306\320\316\321\301#\322\323\306\242$\240\210\305\242\211\314\306\242I\266\303q\210\324\305\242!\210q\210m?\205i\325y\207" [V0 V1 V2 V3 V4 V5 V6 looking-at number-to-string nnheader-find-nov-line nnheader-parse-nov 0 8 string-match format "[ 	]%s:[0-9]+" replace-match " %s:%d" t nil nnheader-insert-nov 1 nntp-server-buffer] 7 "\n\n(fn ARTICLE)"] kill-buffer rename-buffer headers re-search-forward "^[23][0-9]+ \\([0-9]+\\)" t replace-match number-to-string string-to-number match-string 1 "nnmairix: Rewriting headers... done"] 20 (#$ . 51437)])
#@220 Return nnmairix server most probably responsible for back end SERVER.
User will be asked if this cannot be determined.  Result is saved in
parameter `indexed-servers' of corresponding default search
group.

(fn SERVER)
(defalias 'nnmairix-backend-to-server #[257 "\306 \307\211\211G\310V\203$\203\352\204\352\211A\262\242@\211\203(\211<\203(\211\206C\311\"A\206C\211\312\232\203:	\206/\311\n\"A\206/\311\"A\206/\f\211\203g\313\314@@@@@A@#\232\204g\211A\262\202K\211@@\262\206/
\211\203\212\313\314@@@A@#\232\204\212\211A\262\202p\211@\262\206/$A\307\211\203-\211A\262\242\3158\262\262;\204\226\307\316C\3172\211\242\206\275	\240\210\204\313\320\321\322\"\"\210\nD\211\203\343\211@\320\321\323\"\"\210A\266\202\202\316\210\211\242A@\324\235\203\366\313\325\242@\"\202\313\314\242@\242A@#\211\242B\204\211\235\204\311@\"\204\211B\266\2020\266\204\232\203\226\262\307\262\202\226\266\202\211\203@\311\"\204@BB\211\262\262\262\326\236A@@=\205[\327\236A@A@\230\262\204\f\330\236A@\262\307\211C\3172\331\211\242\206x	\240\210\204\206\320\321\331\"\"\210\nD\211\203\236\211@\320\321\332\"\"\210A\266\202\202\211\210\211\242A@\333\235\203\261\313\325\242@\"\202\273\313\314\242@\242A@#\211\242B\204\325\211\235\204\325\311@\"\204\325\211B\266\2020\266\204\334\335\"\336\316#\235\262\202\f\204\"\337\313\340\307\211C\3172c\211\242\206	\240\210\204\320\321\331\"\"\210\nD\211\203(\211@\320\321\332\"\"\210A\266\202\202\210\211\242A@\333\235\203;\313\325\242@\"\202E\313\314\242@\242A@#\211\242B\204_\211\235\204_\311@\"\204_\211B\266\2020\266\204\"\306 \307\341$\211\203x\211<\203x\211\206\223\311\"A\206\223\211\312\232\203\212	\206\311\n\"A\206\311\"A\206\f\211\203\267\313\314@@@@@A@#\232\204\267\211A\262\202\233\211@@\262\206
\211\203\332\313\314@@@A@#\232\204\332\211A\262\202\300\211@\262\206$A\307\211\203}\211A\262\242\3158\262\262;\204\346\307\316C\3172n\211\242\206
	\240\210\204\320\321\322\"\"\210\nD\211\2033\211@\320\321\323\"\"\210A\266\202\202\210\211\242A@\324\235\203F\313\325\242@\"\202P\313\314\242@\242A@#\211\242B\204j\211\235\204j\311@\"\204j\211B\266\2020\266\204\232\203\346\262\307\262\202\346\266\202\211\203\220\311\"\204\220BB\211\262\262\262\335\330\236A@\"\262\342\336\343\334\336\316#	\307\211C\3172\211\242\206\273	\240\210\204\311\320\321\331\"\"\210\nD\211\203\341\211@\320\321\332\"\"\210A\266\202\202\314\210\211\242A@\333\235\203\364\313\325\242@\"\202\376\313\314\242@\242A@#\211\242B\204\211\235\204\311@\"\204\211B\266\2020\266\204C\"#\210\207@@\211\2034\211<\2034\211\206O\311\"A\206O\211\312\232\203F	\206;\311\n\"A\206;\311\"A\206;\f\211\203s\313\314@@@@@A@#\232\204s\211A\262\202W\211@@\262\206;
\211\203\226\313\314@@@A@#\232\204\226\211A\262\202|\211@\262\206;$A\307\211\2039\211A\262\242\3158\262\262;\204\242\307\316C\3172*\211\242\206\311	\240\210\204\327\320\321\322\"\"\210\nD\211\203\357\211@\320\321\323\"\"\210A\266\202\202\332\210\211\242A@\324\235\203\313\325\242@\"\202\f\313\314\242@\242A@#\211\242B\204&\211\235\204&\311@\"\204&\211B\266\2020\266\204\232\203\242\262\307\262\202\242\266\202\211\203L\311\"\204LBB\211\262\207" [gnus-server-method-cache gnus-select-method gnus-server-alist gnus-predefined-server-alist gnus-opened-servers gnus-secondary-select-methods nnmairix-get-nnmairix-servers nil 1 assoc "native" format "%s:%s" 4 t 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 #1="") "%s" nnmairix-backend nnmairix-backend-server nnmairix-default-group #[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 #1#) gnus-group-get-parameter gnus-group-prefixed-name indexed-servers gnus-completing-read "Cannot determine which nnmairix server indexes %s. Please specify" "nnmairix:" gnus-group-set-parameter append gnus-newsrc-alist] 20 (#$ . 53000)])
#@68 Delete and recreate folder from GROUP on the back end.

(fn GROUP)
(defalias 'nnmairix-delete-recreate-group #[257 "	\235\205*\304\305\"\306\n\"\203%\307\310\"\210\307\311\312$\210\307\313#\202(\314\315!\262\207" [nnmairix-backend nnmairix-delete-and-create-on-change nnmairix-group-regexp nnmairix-backend-server gnus-group-get-parameter folder string-match nnmairix-call-backend "open-server" "request-delete-group" t "request-create-group" error "`nnmairix-delete-recreate-group' called on non-mairix group.  Check folder parameter"] 7 (#$ . 57585)])
#@88 Update group and clear all marks from GROUP using METHOD.

(fn GROUP &optional METHOD)
(defalias 'nnmairix-update-and-clear-marks #[513 "\211\206\305!\306\307\310#\311\312!\204\203\313\"\262@\314=\203c\212\315A@!\210q\210\316	\"A@\262\262\317\311\n#\210\320!\210\321!\210\f\235\203[\203[\310\240\210\322\307#\210\323!\210\324 )\207\325\326!\207" [gnus-group-buffer gnus-newsrc-hashtb gnus-active-hashtb nnmairix-backend nnmairix-delete-and-create-on-change gnus-find-method-for-group gnus-group-get-parameter numcorr t nil gnus-group-prefixed-p gnus-group-prefixed-name nnmairix nnmairix-open-server gethash puthash gnus-info-clear-data nnmairix-delete-recreate-group gnus-group-set-parameter gnus-group-jump-to-group gnus-group-get-new-news-this-group error "`nnmairix-update-and-clear-marks' called with non-nnmairix group"] 9 (#$ . 58157)])
#@72 Sentinel for mairix update process PROC with STATUS.

(fn PROC STATUS)
(defalias 'nnmairix-sentinel-mairix-update-finished #[514 "\211\301\232\203\f\302\303\304#\207\305\306#\207" [nnmairix-mairix-output-buffer "finished\n" nnheader-message 7 "Updating mairix database for %s... done" error "There was an error updating the mairix database for server %s.  See %s for details"] 6 (#$ . 59039)])
#@58 Create message line for interactive query in minibuffer.
(defalias 'nnmairix-create-message-line-for-search #[0 "\301\302\303#\207" [nnmairix-interactive-query-parameters mapconcat #[257 "\300\301@\3028#\207" [format "%c=%s" 3] 6 "\n\n(fn CUR)"] ","] 4 (#$ . 59443)])
#@69 Replace illegal characters in HEADER for mairix query.

(fn HEADER)
(defalias 'nnmairix-replace-illegal-chars #[257 "\211\205)\300\301\"\203\302\303\304\211$\262\202\300\305\"\203(\302\306\304\211$\262\202\211\207" [string-match "[^-.@/,& [:alnum:]]" replace-match "" t "[-& ]" ","] 6 (#$ . 59720)])
#@241 Toggle on GROUP a certain PARAMETER.
DESCRIPTION will be shown to the user with the activation
status.  If PAR is a positive number, the group parameter will be
set to t and to nil otherwise.

(fn GROUP PARAMETER DESCRIPTION &optional PAR)
(defalias 'nnmairix-group-toggle-parameter #[1027 "\300!\206\f\301\"?@\302=\203<\211\247\203\211\303V\262\304#\210\211\2033\305\306#\210\202:\305\307#\210\310\207\311\312!\210\313\207" [gnus-find-method-for-group gnus-group-get-parameter nnmairix 0 gnus-group-set-parameter message "%s activated for group %s" "%s deactivated for group %s" t error "This is no nnmairix group" nil] 10 (#$ . 60041)])
#@413 Jump to the original group and display article.
The original group of the article is first determined with the
registry (if enabled).  If the registry is not enabled or did not
find the article or the prefix NO-REGISTRY is non-nil, this
function will try to determine the original group form the path
of the mail file.  The path is obtained through another mairix
search in raw mode.

(fn &optional NO-REGISTRY)
(defalias 'nnmairix-goto-original-article #[256 "@\304=\204 \305	!\211@\304=\203\306A@!\266\202 \307\310!\266\n\211\2051\311\312!\211\262!\2051\211\262\204:\307\313!\210A@\314\211\211r\nq\210\315\316!\210\317\320!\262\204V\321!\262\211\204d\204d\322\"\262\211G\316V\203u\323\324\325#\262\202y\211@\262)\203\203\326\"\207\327\330\331\"\207" [gnus-current-select-method gnus-newsgroup-name gnus-article-buffer nnmairix-only-use-registry nnmairix gnus-find-method-for-group nnmairix-open-server error "Not in a nnmairix group" buffer-live-p get-buffer "No article buffer available" nil gnus-summary-toggle-header 1 message-fetch-field "Message-ID" nnmairix-determine-original-group-from-registry nnmairix-determine-original-group-from-path gnus-completing-read "Message exists in more than one group. Choose" t nnmairix-show-original-article nnheader-message 3 "Couldn't find original article"] 9 (#$ . 60710) "P"])
#@81 Try to determine original group for message-id MID from the registry.

(fn MID)
(defalias 'nnmairix-determine-original-group-from-registry #[257 "\301\300!\205(\205(\302\303\"\204\211\304PL\210\302\305\"\204$\211\306PL\210\307\310\"\207" [gnus-registry-enabled boundp string-match "^<" "<" ">$" ">" gnus-registry-get-id-key group] 4 (#$ . 62076)])
#@157 Determine original group(s) for message-id MID from the file path.
The file path is obtained through a mairix search for the id on
SERVER.

(fn MID SERVER)
(defalias 'nnmairix-determine-original-group-from-path #[514 "\302!\210\303\304\"\203\305\306\307\211$\262\202\310\311\"\203\"\312P\262\303\313\"\2034\305\314\307\211$\262\202\"\315\316\317!\320PC\"\321U\203cr	q\210eb\210\322\323\315\307#\203a\324\325\321!!B\262\326y\210\202J)\207\327\330	\"\210\207" [nnmairix-mairix-command nnmairix-mairix-output-buffer nnmairix-open-server string-match "[<>]" replace-match "" t string-search "$" "=" "\\$" "=," nil nnmairix-call-mairix-binary-raw split-string "m:" 0 re-search-forward "^/.*$" nnmairix-get-group-from-file-path match-string 1 error "Mairix could not find original article.  See buffer %s for details"] 7 (#$ . 62442)])
#@60 Get group by parsing the message location FILE.

(fn FILE)
(defalias 'nnmairix-get-group-from-file-path #[257 "\303\211\211\211\211\211\304\305\"\210\306\307\310	\"!\262\307\311\"\262\304\312\"\262\2033\313\314\315\316\211\310&\262\3172\325\211\205\322\211@\204J\211@@\320=\204V\203\313\211@@\321=\203\313\203e\322@\236A@\262\202t\301@\236A@\262\204t	\262\323\306!!\262\304\324P	\"\203\313\307\310	\"\262\304\325\"\203\237\326\315\316\211$\262\204\267\304\327\"\203\267\326\330\316\211$\262\202\243\331@\"\262\332\n\"\203\313\333\317\"\210A\266\202\2028\2620\262\204<\304\334\"\210\307\310\"\262\304\335\"\203\373\326\327\316\211$\262\202\350\211\203&\211@\211@@\336=\203\332\331@\"\n\"\203\331@\"B\262A\266\202\202\374\210\211G\310V\2038\337\340\316#\262\202<\211@\262\207" [gnus-opened-servers nnml-directory gnus-newsrc-hashtb nil string-match "^\\(.*\\)/\\(.*?\\)$" expand-file-name match-string 1 2 ".+\\..+\\..+" replace-regexp-in-string ".*\\(/cur\\|/new\\|/tmp\\)$" "" t found nnml nnmaildir directory file-name-as-directory "\\(.*\\)" "/$" replace-match "/" "." gnus-group-prefixed-name gethash throw "^.*/\\.?\\(.*\\)$" "\\." nnimap gnus-completing-read "Group %s exists on more than one IMAP server. Choose"] 14 (#$ . 63302)])
#@74 Switch to GROUP and display Article with message-id MID.

(fn GROUP MID)
(defalias 'nnmairix-show-original-article #[514 "\301\302\"\204
\211\303PL\210\301\304\"\204\211\305PL\210\301\306\307p!\"\203&\310 \210\311!\210\312!\210\313\314\315#\210\316!\210\317\320\321\"!\210\322 \210\323 \210\324\325\326#\207" [gnus-group-buffer string-match "^<" "<" ">$" ">" "Summary" buffer-name gnus-summary-exit pop-to-buffer gnus-group-jump-to-group gnus-summary-read-group 1 t gnus-summary-refer-article gnus-summary-limit-to-headers format "message-id: %s" gnus-summary-select-article gnus-summary-show-article nnheader-message 5 "Switched to group %s."] 6 (#$ . 64650)])
#@61 Map function FUNC on all members of RANGE.

(fn FUNC RANGE)
(defalias 'nnmairix-map-range #[514 "\211\247\203	!\207\300\301\302\"\"\207" [mapcar make-closure #[257 "\211<\203\300@!\300A!B\207\211\247\205\300!\207" [V0] 4 "\n\n(fn CUR)"]] 6 (#$ . 65332)])
#@187 Check mairix VERSION on SERVER.
If VERSION is a number: specifies the minimum version.
If VERSION is a string: must be contained in mairix version output.

(fn VERSION &optional SERVER)
(defalias 'nnmairix-check-mairix-version #[513 "\211\204\262\303	\"A@\211\204G\304\305\306\"r\211q\210\307\310\"\216\311\n!\312@C\313A\314$\315\316\"\210eb\210\317\320!\210\321\322!\266\202\262*\210\312	DC\";\203Q\323\"\207\247\205c\324\323\325\"\210\321\326\"!X\207" [nnmairix-current-server nnmairix-version-output nnmairix-mairix-command assoc generate-new-buffer " *temp*" t make-closure #[0 "\301\300!\205	\302\300!\207" [V0 buffer-name kill-buffer] 2] split-string append (nil t nil) ("-V") apply call-process re-search-forward "mairix.*" match-string 0 string-match string-to-number "mairix \\([0-9\\.]+\\)" 1] 10 (#$ . 65606)])
(defvar nnmairix-widgets-values nil)
#@71 Create mairix query based on current article using graphical widgets.
(defalias 'nnmairix-widget-search-from-this-article #[0 "\300\301 !\207" [nnmairix-widget-search nnmairix-widget-get-values] 2 (#$ . 66495) nil])
#@57 Create values for editable fields from current article.
(defalias 'nnmairix-widget-get-values #[0 "\211\205\302\303!\211\262!\205\211\262\204\304\305!\207\212\306\307!\210q\210\310\311	\")\207" [gnus-article-buffer nnmairix-widget-fields-list buffer-live-p get-buffer error "No article buffer available" gnus-summary-toggle-header 1 mapcar #[257 "\211AA@@\205\300\301@!!D\207" [nnmairix-replace-illegal-chars gnus-fetch-field] 5 "\n\n(fn FIELD)"]] 4 (#$ . 66717)])
#@133 Create mairix query interactively using graphical widgets.
MVALUES may contain values from current article.

(fn &optional MVALUES)
(defalias 'nnmairix-widget-search #[256 " \210\302!\210\303\304\305\203\306\202\307\310$\210\311\312!\210\303\304\305\203%\313\202&\314\315$\210\311\312!\210\303\304\305\316\317$\210\320	!\210\321 \210eb\207" [nnmairix-widget-select-window-function widget-keymap nnmairix-widget-create-query widget-create push-button :notify #[128 "\301\302\"\207" [nnmairix-widgets nnmairix-widget-send-query t] 4 "\n\n(fn &rest IGNORE)"] #[128 "\301\302\"\207" [nnmairix-widgets nnmairix-widget-send-query nil] 4 "\n\n(fn &rest IGNORE)"] "Send Query" widget-insert "   " #[128 "\301\302\"\207" [nnmairix-widgets nnmairix-widget-create-group t] 4 "\n\n(fn &rest IGNORE)"] #[128 "\301\302\"\207" [nnmairix-widgets nnmairix-widget-create-group nil] 4 "\n\n(fn &rest IGNORE)"] "Create permanent group" #[128 "\301!\207" [nnmairix-customize-query-buffer kill-buffer] 3 "\n\n(fn &rest IGNORE)"] "Cancel" use-local-map widget-setup] 6 (#$ . 67204) nil])
#@133 Send query from WIDGETS to mairix binary.
If WITHVALUES is t, query is based on current article.

(fn WIDGETS &optional WITHVALUES)
(defalias 'nnmairix-widget-send-query #[513 "\306\307!\203\200\310!\311\211C\3122{\211\242\206	\240\210\204(\313\314\315\"\n\"\210\fD\211\203@\211@\313\314\316\"\"\210A\266\202\202+\210\211\242A@\317\235\203S\320\321\242@\"\202]\320\322\242@\242A@#\211\242B\204w\211\n\235\204w\323@\n\"\204w\211\nB\266\2020\266\204\202\203\324 @\325\323\326\"A@!\203\223\327\202\224\330#\210\331
!\207" [gnus-current-select-method gnus-select-method gnus-server-method-cache gnus-server-alist gnus-predefined-server-alist nnmairix-customize-query-buffer nnmairix-search nnmairix-widget-make-query-from-widgets nnmairix-backend-to-server nil 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 "") format "%s" "%s:%s" assoc nnmairix-get-server widget-value "Threads" t -1 kill-buffer] 14 (#$ . 68291)])
#@153 Create nnmairix group based on current widget values WIDGETS.
If WITHVALUES is t, query is based on current article.

(fn WIDGETS &optional WITHVALUES)
(defalias 'nnmairix-widget-create-group #[513 "\306\307!\211G\310U\204\232\311\203\207\312!\313\211C\3142\202\211\242\206!	\240\210\204/\315\316\317\"\n\"\210\fD\211\203G\211@\315\316\320\"\"\210A\266\202\2022\210\211\242A@\321\235\203Z\322\323\242@\"\202d\322\324\242@\242A@#\211\242B\204~\211\n\235\204~\325@\n\"\204~\211\nB\266\2020\266\204\202\212\326 @\327!\330\325\331	\"A@!$\210\210\332
!\207" [gnus-current-select-method gnus-select-method gnus-server-method-cache gnus-server-alist gnus-predefined-server-alist nnmairix-customize-query-buffer read-string "Name of the group: " 0 nnmairix-create-search-group nnmairix-backend-to-server nil 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 "") format "%s" "%s:%s" assoc nnmairix-get-server nnmairix-widget-make-query-from-widgets widget-value "Threads" kill-buffer] 14 (#$ . 69496)])
#@63 Create mairix query from widget values WIDGETS.

(fn WIDGETS)
(defalias 'nnmairix-widget-make-query-from-widgets #[257 "\302\211C\302\211\203=\211@\303\304\305AA@P\"A@!\2036\211A@\306\307\303\304\310AA@P\"A@!!QB\262A\266\202\202\210\311	>\203\\\312\313\314\"\315\316#\262\211G\317U\204\\\320PB\262\312\321\322#\207" [nnmairix-widget-fields-list nnmairix-widget-other nil widget-value assoc "c" ":" nnmairix-replace-illegal-chars "e" flags mapconcat make-closure #[257 "\300\302\303@	\"A@!\240\210\300\242\304\230\203\211A@\207\300\242\305\230\205#\306A@P\207" [V0 nnmairix-widgets widget-value assoc "yes" "no" "-"] 6 "\n\n(fn FLAG)"] (("seen" "s") ("replied" "r") ("flagged" "f")) "" 0 "F:" identity " "] 13 (#$ . 70777)])
#@107 Create widgets for creating mairix queries.
Fill in VALUES if based on an article.

(fn &optional VALUES)
(defalias 'nnmairix-widget-create-query #[256 "\303!\203\n\304!\210\305!\210\306 \210\307 \210\310\311!\210\310\312\313!!\210\314!\315\n>\203U\310\316!\210\317\320\321\322\323\324\325\326&\210\310\327!\210\317\330\321\322\323\331\332\333&\210\310\334!\210\317\335\321\322\323\336\337\340&\210\341\n>\203e\310\342!\210\317\343\344\345#\210\310\346!\207" [nnmairix-customize-query-buffer nnmairix-widgets nnmairix-widget-other get-buffer kill-buffer switch-to-buffer kill-all-local-variables erase-buffer widget-insert "Specify your query for Mairix (check boxes for activating fields):\n\n" substitute-command-keys "(Whitespaces will be converted to `,' (i.e. AND). Use `/' for OR.)\n\n" nnmairix-widget-build-editable-fields flags "\nFlags:\n      Seen:     " nnmairix-widget-add "seen" menu-choice :value "ignore" (item "yes") (item "no") (item "ignore") "      Replied:  " "replied" (item "yes") (item "no") (item "ignore") "      Ticked:   " "flagged" (item "yes") (item "no") (item "ignore") threads "\n" "Threads" checkbox nil " Show full threads\n\n"] 9 (#$ . 71536)])
#@145 Build editable field widgets in `nnmairix-widget-fields-list'.
VALUES may contain values for editable fields from current article.

(fn VALUES)
(defalias 'nnmairix-widget-build-editable-fields #[257 "\301C\302\303\304#\"\210\211\242\207" [nnmairix-widget-fields-list nil mapc make-closure #[257 "\211AA@\262\301\302P\303\304\305\306\307\310&DC\311P\303\312\313\314\315\316	\317\320\321
GZ\322\"\323\260\324\325\300\"A@\2068\326&DC\244\301\242\244\240\210\327\330!\210\331\301\242A@A@\332\"\207" [V0 V1 "c" widget-create checkbox :tag :notify #[385 "\300!\207" [nnmairix-widget-toggle-activate] 4 "\n\n(fn WIDGET &rest IGNORE)"] nil "e" editable-field :size 60 :format " " ":" make-string 11 32 "%v" :value assoc "" widget-insert "\n" widget-apply :deactivate] 15 "\n\n(fn FIELD)"]] 7 (#$ . 72735)])
#@61 Add a widget NAME with optional ARGS.

(fn NAME &rest ARGS)
(defalias 'nnmairix-widget-add #[385 "\301\302\"DB\211\207" [nnmairix-widgets apply widget-create] 6 (#$ . 73556)])
#@92 Toggle activation status of WIDGET depending on corresponding checkbox value.

(fn WIDGET)
(defalias 'nnmairix-widget-toggle-activate #[257 "\301\302\"\303!\203\304\305\306P\"A@\307\"\266\202'\304\305\306P\"A@\310\"\266\311 \207" [nnmairix-widgets widget-get :tag widget-value widget-apply assoc "e" :activate :deactivate widget-setup] 6 (#$ . 73742)])
(provide 'nnmairix)

Youez - 2016 - github.com/yon3zu
LinuXploit