MMCT TEAM
Server IP : 111.118.215.189  /  Your IP : 18.117.158.174
Web Server : Apache
System : Linux md-in-83.webhostbox.net 4.19.286-203.ELK.el7.x86_64 #1 SMP Wed Jun 14 04:33:55 CDT 2023 x86_64
User : a1673wkz ( 2475)
PHP Version : 8.2.25
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : ON
Directory (0755) :  /usr/share/emacs/24.3/lisp/gnus/

[  Home  ][  C0mmand  ][  Upload File  ]

Current File : //usr/share/emacs/24.3/lisp/gnus/nnmairix.elc
;ELC
;;; Compiled by mockbuild@buildfarm06-new.corp.cloudlinux.com on Fri Oct 11 10:10:22 2024
;;; from file /builddir/build/BUILD/emacs-24.3/lisp/gnus/nnmairix.el
;;; in Emacs version 24.3.1
;;; with all optimizations.

;;; This file uses dynamic docstrings, first added in Emacs 19.29.

;;; This file does not contain utf-8 non-ASCII characters,
;;; and so can be loaded in Emacs versions earlier than 23.

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;


(byte-code "\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 #[nil "\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 (#$ . 925)])
#@31 Nnmairix summary mode keymap.
(defalias 'nnmairix-summary-mode-hook #[nil "\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 (#$ . 1845)])
(byte-code "\300\301\302\"\210\300\303\304\"\210\305\306\307\310\311\312%\210\313\314\315\316\317\320\321\322\311\306&	\210\313\323\324\325\317\320\321\322\311\306&	\210\313\326\327\330\317\320\321\322\311\306&	\210\313\331\332\333\317\320\321\334\311\306&	\210\313\335\336\337\317\320\321\340\311\306&	\210\313\341\307\342\317\320\321\343\311\306&	\210\313\344\345\346\317\320\321\343\311\306&	\210\313\347\350\351\317\320\321\352\311\306&	\210\313\353\354\355\317\320\321\356\311\306&	\210\313\357\345\360\317\320\321\361\311\306&	\210\313\362\307\363\317\320\321\343\311\306&	\210\313\364\307\365\317\320\321\343\311\306&	\210\313\366\307\367\317\320\321\343\311\306&	\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 "zz_mairix" "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 "*mairix output*" "Buffer used for mairix output." nnmairix-customize-query-buffer "*mairix query*" "Name of the buffer for customizing Mairix queries." nnmairix-mairix-update-options '("-F" "-Q") "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 '("-Q") "Options when calling mairix for searching.\nThe default is '-Q' for making searching faster." (repeat string) nnmairix-mairix-synchronous-update "Set this to t if you want Emacs to wait for mairix updating the database." boolean nnmairix-rename-files-for-nnml t "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 '(("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")) "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 (lambda nil (select-window (get-largest-window))) "Function for selecting the window for customizing the mairix query.\nThe default chooses the largest window in the current frame." function nnmairix-propagate-marks-upon-close "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 "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 "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 "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."] 10)
#@107 Other editable mairix commands when using customization widgets.
Currently there are 'threads and 'flags.
(defvar nnmairix-widget-other '(threads flags) (#$ . 7229))
#@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")) (#$ . 7402))
#@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) (#$ . 7854))
#@116 Back end where mairix stores its searches.

This is a Gnus server variable.  See Info node `(gnus)Select Methods'.
(defvar nnmairix-backend nil (#$ . 8363))
(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 (#$ . 8563))
(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" (#$ . 8787))
(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 (#$ . 9012))
(nnoo-define 'nnmairix-hidden-folders nil)
#@177 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 (#$ . 9313))
(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) (#$ . 9585))
#@75 Back ends supported by nnmairix.
Other back ends might or might not work.
(defconst nnmairix-valid-backends '(nnimap nnml nnmaildir) (#$ . 9726))
#@21 Last chosen server.
(defvar nnmairix-last-server nil (#$ . 9878))
#@17 Current server.
(defvar nnmairix-current-server nil (#$ . 9950))
#@65 Cache for marks which should be set upon closing current group.
(defvar nnmairix-marks-cache nil (#$ . 10021))
#@34 Version string of mairix binary.
(defvar nnmairix-version-output nil (#$ . 10138))
(byte-code "\300\301!\210\302\303\304\305#\207" [nnoo-define-basics-1 nnmairix gnus-declare-backend "nnmairix" mail address] 4)
(defalias 'nnmairix-open-server #[(server &optional definitions) "\303\304\n#\207" [server nnmairix-current-server definitions nnoo-change-server nnmairix] 4])
(nnoo-register-function 'nnmairix-open-server)
(defalias 'nnmairix-request-group #[(group &optional server fast info) "\203\306!\210\203\307	\310D\"\202	\311\n\303\"\311\n\312\"\311\n\305\313#\311\n\314\"\f\315\316\3174!5#\211\203D<\203D\206'\3206\"A\206'\321\232\203X7\206
\3208\"A\206
\3209\"A\206
:;;\203\221\315\316;@@@;@@A@#\232\204\221;\211A;@\210\202n;\211<@@*\206
=>>\203\305\315\316>\211<@@)>@A@#\232\204\305>\211A>@\210\202\240>@)\206
?A\322\211@ABB\203\n\323B\211AB@8\211A;\204\327A\322\313CDA\324\325\215+\232\203\327A@\322\211B\204\334@+\211E\203$\3206\"\204$EB6B6E))F\322\211GH\322\211IJ\204D\326\310\327	#\210\322\202<
\204ZrKq\210\330 \210\331	Pc\210)\313\202<L\203l\332\333\"\204l\334P\202mH4\335=\203\213\320\336F\"\211<A@)\211I\204\213I4\337=\203\237\320\340F\"\211<A@)II\203\257\341\342I!!HPHM\203\274\f\203\274\343\202\307\344\345N!H
\f$G\346G!\203	\347\3505\"\2104\335=\203\356O\203\347\351H!\210\352H\322\313#\210\347\3535#\210M\203\f\203\313\202<\354\n\"\202<G\355U\2034rPq\210eb\210\356\357!)\2034\360\361\362\"\210Kq\210\330 \210\331	Pc\210\313\202<\326\310\363P#\210\322.\n\207" [server group qualgroup folder allowfast query nnmairix-open-server gnus-group-prefixed-name nnmairix gnus-group-get-parameter allow-fast t threads format "%s:%s" symbol-name assoc "native" nil 4 server-name (byte-code "\206	\n\204\306\307\"\210\306\310\f
D\"\210\211A@)\311\235\203*\312\313@\"\2026\312\314@\211A@)#\211B\211\235\204V\204V\315@\"\204VB*\207" [method gnus-select-method nocache gnus-server-method-cache gnus-server-alist gnus-predefined-server-alist mapc #[(name-method) "A	\232\205\f\302\303@\"\207" [name-method method throw server-name] 3] #[(server-alist) "\301\302\"\207" [server-alist mapc #[(name-method) "\303A	\"\205\n\235\204\nB\304\305@\"\207" [name-method method gnus-server-method-cache gnus-methods-equal-p throw server-name] 3]] 3] (nil "") format "%s" "%s:%s" assoc x name name-method no-enter-cache] 5) 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 zerop 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" nnmairix-backend nnmairix-backend-server gnus-server-method-cache gnus-select-method gnus-server-alist gnus-predefined-server-alist gnus-opened-servers opened x gnus-secondary-select-methods servers gnus-newsrc-alist match method alist no-enter-cache nocache result backendmethod rval mfolder folderpath args nntp-server-buffer nnmairix-hidden-folders fast nnmairix-mairix-command nnmairix-rename-files-for-nnml nnmairix-mairix-output-buffer] 6])
(nnoo-register-function 'nnmairix-request-group)
(defalias 'nnmairix-request-create-group #[(group &optional server args) "\203
\306	\307D\"\202	\310\311\312\211\203 \313!\210\314\315\"\210\314\316\"\210
\203H\fT\317\320	\321\f!$\322\323#\211\2040\322\324#\210\314\325\"\210\203`\314\326\"\210\327\330#\210-\310\207" [server group info groupname count exist 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 qualgroup nnmairix-group-prefix nnmairix-backend-server nnmairix-allowfast-default] 7])
(nnoo-register-function 'nnmairix-request-create-group)
(defalias 'nnmairix-retrieve-headers #[(articles group &optional server fetch-old) "\203\306!\210\307	\"\310	\"\311\312\203<\313\211A@)!\204<@\247\203<\211A@)\314\315\"\316=\203T\317\320\321\n%)\202^\320\321\n%\322\n	\f
%\210
,\207" [server group folder corr numcorr rval nnmairix-open-server nnmairix-get-backend-folder nnmairix-get-numcorr 0 nil zerop mapcar #[(arg) "	Z\207" [arg numcorr] 2] nnimap t nnmairix-call-backend "retrieve-headers" nnmairix-replace-group-and-numbers x articles nnmairix-backend gnus-nov-is-evil nnmairix-backend-server fetch-old] 7])
(nnoo-register-function 'nnmairix-retrieve-headers)
(defalias 'nnmairix-request-article #[(article &optional group server to-buffer) "\203\306!\210\307	\"\310	\"\f\247\203/\n\203/\311\n\211A@)!\204/\f\n\211A@)Z\312\313\f
%\210*\314\207" [server group corr folder article x nnmairix-open-server nnmairix-get-backend-folder nnmairix-get-numcorr zerop nnmairix-call-backend "request-article" t nnmairix-backend-server to-buffer] 7])
(nnoo-register-function 'nnmairix-request-article)
(defalias 'nnmairix-request-list #[(&optional server) "\203\306!\210\307\310	\"\205f\311\211\211\211rq\210eb\210`\312d\313#\203`\314\315!\316\f\317D\"\320\"J\203Z\314\321!\322\302\"\230\203Z\323\f!\210
\324 |\210\311y\210`\202!\311y\210\202!
d|\210-\313\207" [server nnmairix-backend-server folder qualgroup cur cpoint nnmairix-open-server nnmairix-call-backend "request-list" nil re-search-forward t match-string 1 gnus-group-prefixed-name nnmairix intern-soft 0 gnus-group-get-parameter replace-match point-at-bol nntp-server-buffer nnmairix-group-regexp gnus-newsrc-hashtb] 4])
(byte-code "\300\301!\210\302\303\304\"\207" [nnoo-register-function nnmairix-request-list autoload gnus-registry-get-id-key "gnus-registry"] 3)
(defalias 'nnmairix-request-set-mark #[(group actions &optional server) "\203\306!\210\307	\310\nD\"\311\304\"\311\305\312#\313	\"\314	\"\212\315\211\205\251@\211A@\3168\317@!\315\211\211\211\211 !\"#$%\203q\320\211&A@)!\204q\321\322#\"#\f\203\235\323\324\325\"\210#\315'\211\203\227@'\326\327\215\210A\211\204\205*\323\324\330\"\210.A\211\2042\315.\207" [server group nnmairix-current-server qualgroup propmarks propto nnmairix-open-server gnus-group-prefixed-name nnmairix gnus-group-get-parameter t nnmairix-get-numcorr nnmairix-get-backend-folder nil 2 gnus-uncompress-range zerop mapcar #[(arg) "	\211A@)Z\207" [arg corr x] 3] nnheader-message 7 "nnmairix: Setting marks..." problem (byte-code "\306\307\"\210\310	\311\nD\"\"\204\312\313\314	#\210\315\316\317\"\210\fq\210eb\210\320\321\322\317\320#\210)\323\324!\211\204?\312\313\325	#\210\315\316\317\"\210\326!\211\204V\204V\327\"\204g\312\313\330#\210\315\316\317\"\210\317\211\203\252@\331 \"\211!\203\222!\"#EC\244\210\202\241\"#ED B A\211\204r*\317\207" [nnmairix-backend-server article folder nnmairix-backend nntp-server-buffer case-fold-search nnmairix-call-backend "open-server" gnus-request-head gnus-group-prefixed-name nnheader-message 3 "Unable to set mark: couldn't fetch article header for article number %d" throw problem nil 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 mid ogroup nnmairix-only-use-registry nnmairix-current-server cur --dolist-tail-- nnmairix-marks-cache temp type cmdmarks] 7) "nnmairix: Setting marks... done" corr folder actions cur --dolist-tail-- temp method number ogroup mid range cmdmarks type x article] 9])
(nnoo-register-function 'nnmairix-request-set-mark)
(defalias 'nnmairix-close-group #[(group &optional server) "\203\306!\210\307	\310\nD\"\311\304\"\312\f\205B\205B\313=\2043\314=\205B\315\316!\205Brq\210\317 \210\320!\210\321 )+\207" [server group nnmairix-current-server qualgroup propmarks method nnmairix-open-server gnus-group-prefixed-name nnmairix gnus-group-get-parameter nil 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 nnmairix-marks-cache nnmairix-propagate-marks-upon-close gnus-group-buffer] 4])
(byte-code "\300\301!\210\302\303\304\"\207" [nnoo-register-function nnmairix-close-group autoload nnimap-request-update-info-internal "nnimap"] 3)
(defalias 'nnmairix-request-marks #[(group info &optional server) "\203\306!\210\307	\310\nD\"\311\304\"\311\305\"\312	\" \313	\"\211!\2054\314!\211A@)!?\"	\315B#\316\211$%
\203\246&\203\246'\317=\203]\320 #(#\210\202g\321\322 #($\210)AA\"\203\207\323\324\325\326\327!\211A@)EE\330#8\"\202\213\330#8\240\210\331)\233\"\203\240\332\333\331#8\"\202\244\331#8\240\210\f\334=\203\263)AA\316\240\210\f\335=\203\305)AA\336*\"J\240\210.	\337\207" [server group nnmairix-current-server qualgroup readmarks propmarks nnmairix-open-server gnus-group-prefixed-name nnmairix gnus-group-get-parameter nnmairix-get-backend-folder nnmairix-get-numcorr zerop (1 ((1 . 1))) nil nnimap nnimap-request-update-info-internal nnmairix-call-backend "request-update-info" nnmairix-map-range lambda (x) + x 2 3 mapcar #[(cur) "@\303\304\305\306\302	\211A@)EE\211A@)C\"B\207" [cur corr x nnmairix-map-range lambda (x) +] 8] unread read intern-soft t folder corr docorr folderinfo readrange marks nnmairix-propagate-marks-to-nnmairix-groups nnmairix-backend nnmairix-backend-server info gnus-active-hashtb] 8])
(byte-code "\300\301!\210\302\303!\207" [nnoo-register-function nnmairix-request-marks nnoo-define-skeleton-1 nnmairix] 2)
#@179 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.
(defalias 'nnmairix-create-search-group #[(server group query threads) ";\203\306\307\"\203\310!<\204C	\205E\n\205E\205E\212\311\n	\"\312
q\210\313\n	\"\210\314\f\300#\210\314\f\315
#\210\316\f!+\207" [query server group info groupname gnus-group-buffer string-match "\\s-" split-string gnus-group-prefixed-name nil gnus-group-make-group gnus-group-set-parameter threads nnmairix-update-and-clear-marks] 4 (#$ . 20360) (list (gnus-server-to-method (car (nnmairix-get-server))) (read-string "Group name: ") (read-string "Query: ") (y-or-n-p "Include threads? "))])
#@57 Create mairix search interactively with the minibuffer.
(defalias 'nnmairix-search-interactive #[nil "\306\211\211\211\204J	\204(\307\310\311 \"\210\312 \313	
\"\204\306\211\203\314\315\316\313	
\"8\317Q!\320\313	
\"8\321\fQ\nB\322\323!?\306\202\n\324\325\326\n\327#\330 @\322\331!#-\207" [nnmairix-interactive-query-parameters achar query finished header char-header 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? "] 7 (#$ . 21129) nil])
#@72 Interactively create search group with query based on current message.
(defalias 'nnmairix-create-search-group-from-message #[nil "\306	!\307\211\211\211\211\211\211()*+,-\211.\205'\310\311.!!)\203=/\211.\2059\310\311.!!)\204A\312\313!\210+\204Q\312\314\315	@!	A@#\210
\204\311\212\316\317!\210)\204y\320\321\322 \"\210\323 )\324),\"\204Z\307\211)\203_-q\210\307(\324),\"A@\211\203\233\325\326\324),\"A@!!(\327\330\331\324),\"8\332Q(\"(\333\324),\"8\334(Q*B*\335\336!?\307))\202Q\335\337!\327\340!/q\210\320\341\f+\307\211012\342\343\215+\344\345*\346#$\210\347+\f*$.	\207" [nnmairix-interactive-query-parameters gnus-current-select-method cq threads group finished 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 (byte-code "\206	\n\204\306\307\"\210\306\310\f
D\"\210\211A@)\311\235\203*\312\313@\"\2026\312\314@\211A@)#\211B\211\235\204V\204V\315@\"\204VB*\207" [method gnus-select-method nocache gnus-server-method-cache gnus-server-alist gnus-predefined-server-alist mapc #[(name-method) "A	\232\205\f\302\303@\"\207" [name-method method throw server-name] 3] #[(server-alist) "\301\302\"\207" [server-alist mapc #[(name-method) "\303A	\"\205\n\235\204\nB\304\305@\"\207" [name-method method gnus-server-method-cache gnus-methods-equal-p throw server-name] 3]] 3] (nil "") format "%s" "%s:%s" assoc x name name-method no-enter-cache] 5) mapconcat identity " " nnmairix-create-search-group header achar query server char-header gnus-article-buffer buffer gnus-summary-buffer no-enter-cache nocache method] 10 (#$ . 21788) 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 #[nil "\306\307!\310\311\312 \313#\306\314\315\"\306\316!\317	\211\203$	<\203$	\206\320	\f\"A\206	\321\232\2036
\206\353\320	)\"A\206\353\320	*\"A\206\353+,,\203o	\322\323,@@@,@@A@#\232\204o,\211A,@\210\202L,\211-@@*\206\353.//\203\243	\322\323/\211-@@)/@A@#\232\204\243/\211A/@\210\202~/@)\206\3530A\324\2111233\203\350\3253\211A3@8\2112;\204\265	2\324\313452\326\327\215+\232\203\26521\324\2113\204\2721+\2116\203\377\320	\f\"\204\377	6B\fB6))@!7	\211\203	<\203	\206\364\320	\f\"A\206\364	\321\232\203(
\206\335\320	)\"A\206\335\320	*\"A\206\335+,,\203a	\322\323,@@@,@@A@#\232\204a,\211A,@\210\202>,\211-@@*\206\335.//\203\225	\322\323/\211-@@)/@A@#\232\204\225/\211A/@\210\202p/@)\206\3350A\324\2111233\203\332\3253\211A3@8\2112;\204\247	2\324\313452\326\327\215+\232\203\24721\324\2113\204\2541+\2116\203\361\320	\f\"\204\361	6B\fB6))A@8\330\3317\"\205\332\333!9\324:\334\335\322\3367\337#!8C\"\2109\203(\330\340\"\203(\341\324O\342\343\344\3357!D\3458D\346\nD\3479D\350D\257\".\207" [name server mairix defaultgroup gnus-server-method-cache gnus-select-method 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 (byte-code "\206	\n\204\306\307\"\210\306\310\f
D\"\210\211A@)\311\235\203*\312\313@\"\2026\312\314@\211A@)#\211B\211\235\204V\204V\315@\"\204VB*\207" [method gnus-select-method nocache gnus-server-method-cache gnus-server-alist gnus-predefined-server-alist mapc #[(name-method) "A	\232\205\f\302\303@\"\207" [name-method method throw server-name] 3] #[(server-alist) "\301\302\"\207" [server-alist mapc #[(name-method) "\303A	\"\205\n\235\204\nB\304\305@\"\207" [name-method method gnus-server-method-cache gnus-methods-equal-p throw server-name] 3]] 3] (nil "") format "%s" "%s:%s" assoc x name name-method no-enter-cache] 5) 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-server-alist gnus-predefined-server-alist gnus-opened-servers opened x gnus-secondary-select-methods servers gnus-newsrc-alist match method alist no-enter-cache nocache result backend servername hidden create] 11 (#$ . 23875) nil])
#@35 Set QUERY for group under cursor.
(defalias 'nnmairix-group-change-query-this-group #[(&optional query) "\304 \305!\306\303\307#	@\310=\203A\n<\203\311\312\n\313#\206'\314\315\n\"\211;\2031\316!\205D\317\303#\210\320!\202D\321\322!+\207" [group method oldquery query gnus-group-group-name gnus-find-method-for-group gnus-group-get-parameter 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"] 5 (#$ . 26737) nil])
#@151 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.
(defalias 'nnmairix-group-toggle-threads-this-group #[(&optional threads) "\302 \303\301\304	$\205\305!)\207" [group threads gnus-group-group-name nnmairix-group-toggle-parameter "Threads" nnmairix-update-and-clear-marks] 5 (#$ . 27292) nil])
#@147 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.
(defalias 'nnmairix-group-toggle-propmarks-this-group #[(&optional propmarks) "\303\304!\204\n\305\306!\210\307 \310!\311\312\313!\"\211A@)\230\203%\314\315!\205+\316\302\317\n$)\207" [group x propmarks 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 assoc 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 "Marks propagation"] 6 (#$ . 27697) nil])
#@143 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.
(defalias 'nnmairix-group-toggle-allowfast-this-group #[(&optional allowfast) "\301\302 \303\304$\207" [allowfast nnmairix-group-toggle-parameter gnus-group-group-name allow-fast "Fast entering"] 5 (#$ . 28474) nil])
#@228 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.
(defalias 'nnmairix-group-toggle-readmarks-this-group #[(&optional readmarks) "\303 \304!\n\206\305\302\"	@\306=\203a\n\247\203\"\n\307W\204(\n\310=\2036\311\302\312#\210\313\314\315#\202d\n\247\203A\n\307V\204E\n\204S\311\302\310#\210\313\314\316#\202d\311\302\317#\210\313\314\320#\202d\321\322!+\207" [group method readmarks gnus-group-group-name gnus-find-method-for-group gnus-group-get-parameter 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"] 4 (#$ . 28841) nil])
#@271 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.
(defalias 'nnmairix-search #[(query &optional server threads) "\204\306 @\204\307\310!\210\202\377\211\203\"<\203\"\206\375\311	\"A\206\375\312\232\2034\n\206\346\311\"A\206\346\311\f\"A\206\346
\203j\313\314@@@@@A@#\232\204j\211A@\210\202G\211@@*\206\346 !!\203\236\313\314!\211@@)!@A@#\232\204\236!\211A!@\210\202y!@)\206\346\"A\315\211#$%%\203\343\316%\211A%@8\211$;\204\260$\315\317&'$\320\321\215+\232\203\260$#\315\211%\204\265#+\211(\203\372\311	\"\204\372(B	B())\322A@!\210\323)\324A@D\"*+q\210;\203 \325!\326*\327#\2109\203?\317=\203M\326*\330\317#\210\202M\331W\203M\326*\330\315#\210\332*!\210\333*,\"J\334\232?\205e\335\315\317*#)\207" [server gnus-server-method-cache gnus-select-method gnus-server-alist gnus-predefined-server-alist gnus-opened-servers nnmairix-get-server error "No opened nnmairix server found" assoc "native" format "%s:%s" nil 4 t server-name (byte-code "\206	\n\204\306\307\"\210\306\310\f
D\"\210\211A@)\311\235\203*\312\313@\"\2026\312\314@\211A@)#\211B\211\235\204V\204V\315@\"\204VB*\207" [method gnus-select-method nocache gnus-server-method-cache gnus-server-alist gnus-predefined-server-alist mapc #[(name-method) "A	\232\205\f\302\303@\"\207" [name-method method throw server-name] 3] #[(server-alist) "\301\302\"\207" [server-alist mapc #[(name-method) "\303A	\"\205\n\235\204\nB\304\305@\"\207" [name-method method gnus-server-method-cache gnus-methods-equal-p throw server-name] 3]] 3] (nil "") format "%s" "%s:%s" assoc x name name-method no-enter-cache] 5) nnmairix-open-server gnus-group-prefixed-name nnmairix split-string gnus-group-set-parameter query threads 0 nnmairix-update-and-clear-marks intern-soft (1 . 0) gnus-group-read-group opened x gnus-secondary-select-methods servers gnus-newsrc-alist match method alist no-enter-cache nocache result nnmairix-default-group qualgroup gnus-group-buffer gnus-active-hashtb] 6 (#$ . 29724) (list (read-string "Query: "))])
#@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 #[nil "\305!\306	\203G\211\205\307\310\f!!)\203Arq\210\311\312!\210\313\314!)\315\316\n\"\2037\317\320\321\211\n$\202&\322\323\nP	\321#\202Q\324\325!\202Q\326\327\330@!A@#*\207" [gnus-current-select-method server mid gnus-article-buffer 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] 6 (#$ . 32095) 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 #[nil "\306!\307	\203=\211\205\310\311\f!!)\2037rq\210\312\313!\210\314\315\316!!\211A@)\317\320\nP	\321#)\202G\322\323!\202G\324\325\326@!A@#*\207" [gnus-current-select-method server from gnus-article-buffer buffer x 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] 5 (#$ . 32861) nil])
#@263 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.
(defalias 'nnmairix-purge-old-groups #[(&optional dontask server) "\206\361\306 @\211\203<\203\206\360\307	\"A\206\360\310\232\203'\n\206\331\307\"A\206\331\307\f\"A\206\331
\"\"\203]\311\312\"@@@\"@@A@#\232\204]\"\211A\"@\210\202:\"\211#@@*\206\331$%%\203\221\311\312%\211#@@)%@A@#\232\204\221%\211A%@\210\202l%@)\206\331&A\313\211'())\203\326\314)\211A)@8\211(;\204\243(\313\315*+(\316\317\215+\232\203\243('\313\211)\204\250'+\211,\203\355\307	\"\204\355,B	B,))\320A@!\203a\321\322-\"\205g\313\211\211./r0q\210eb\210\3231d\315#\205]\324\325!/\326\324\327!\".\330.2\"J\203>/\331.\332\"\230\2043\204Q\333\334/\335-\336\260!\203\321\337/\315-$\210\202,\202g\340\341A@\")\207" [server gnus-server-method-cache gnus-select-method gnus-server-alist gnus-predefined-server-alist gnus-opened-servers nnmairix-get-server assoc "native" format "%s:%s" nil 4 t server-name (byte-code "\206	\n\204\306\307\"\210\306\310\f
D\"\210\211A@)\311\235\203*\312\313@\"\2026\312\314@\211A@)#\211B\211\235\204V\204V\315@\"\204VB*\207" [method gnus-select-method nocache gnus-server-method-cache gnus-server-alist gnus-predefined-server-alist mapc #[(name-method) "A	\232\205\f\302\303@\"\207" [name-method method throw server-name] 3] #[(server-alist) "\301\302\"\207" [server-alist mapc #[(name-method) "\303A	\"\205\n\235\204\nB\304\305@\"\207" [name-method method gnus-server-method-cache gnus-methods-equal-p throw server-name] 3]] 3] (nil "") format "%s" "%s:%s" assoc x name name-method no-enter-cache] 5) nnmairix-open-server nnmairix-call-backend "request-list" re-search-forward match-string 0 gnus-group-prefixed-name 1 intern-soft gnus-group-get-parameter folder y-or-n-p "Delete group " " on server " "? " "request-delete-group" message "Couldn't open server %s" opened x gnus-secondary-select-methods servers gnus-newsrc-alist match method alist no-enter-cache nocache result nnmairix-backend-server qualgroup cur nntp-server-buffer nnmairix-group-regexp gnus-newsrc-hashtb dontask] 7 (#$ . 33561) nil])
#@258 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'.
(defalias 'nnmairix-update-database #[(&optional servers) "\206\306 \307\211\211\205u\211A@@\310\n\211\203(\f<\203(\f\206\311\f
\"A\206\f\312\232\203;\206\351\311\f\"A\206\351\311\f \"A\206\351!\"\"\203t\f\313\314\"@@@\"@@A@#\232\204t\"\211A\"@\210\202Q\"\211#@@*\206\351$\203\242\f\313\314\211#@@)@A@#\232\204\242\211A@\210\202\202@)\206\351%A\307\211&'((\203\346\315(\211A(@8\211';\204\263\f'\307\316)*'\317\320\215+\232\203\263'&\307\211(\204\270&+\211+\203\375\311\f
\"\204\375\f+B
B+))A@!\210\321,!\322\323\324\n#\210-\203G\325	@\307\326.!\307F!	G\327V\2033\325	A/#\2029\325/\"\330\331\"\210\322\323\332\n#\210\202
\325\n\326.!	@E!	G\327V\203d\325	A/#\202j\325/\"\333\330\334\"\335\"\210\202
,\207" [servers commandsplit cur args server gnus-server-method-cache nnmairix-get-nnmairix-servers nil nnmairix-open-server assoc "native" format "%s:%s" 4 t server-name (byte-code "\206	\n\204\306\307\"\210\306\310\f
D\"\210\211A@)\311\235\203*\312\313@\"\2026\312\314@\211A@)#\211B\211\235\204V\204V\315@\"\204VB*\207" [method gnus-select-method nocache gnus-server-method-cache gnus-server-alist gnus-predefined-server-alist mapc #[(name-method) "A	\232\205\f\302\303@\"\207" [name-method method throw server-name] 3] #[(server-alist) "\301\302\"\207" [server-alist mapc #[(name-method) "\303A	\"\205\n\235\204\nB\304\305@\"\207" [name-method method gnus-server-method-cache gnus-methods-equal-p throw server-name] 3]] 3] (nil "") format "%s" "%s:%s" assoc x name name-method no-enter-cache] 5) 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-select-method gnus-server-alist gnus-predefined-server-alist gnus-opened-servers opened x gnus-secondary-select-methods gnus-newsrc-alist match method alist no-enter-cache nocache result nnmairix-mairix-command nnmairix-mairix-synchronous-update nnmairix-mairix-output-buffer nnmairix-mairix-update-options] 7 (#$ . 35989) 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 #[nil "\302 \303!\211@\304=\204\305\306!\210\307\310\311\"!\205!\312!\210\313 *\207" [group method 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] 5 (#$ . 38467) nil])
#@185 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.
(defalias 'nnmairix-propagate-marks #[(&optional server) "\203\306!\210\202!	@\307=\204!\n\203\306\n!\210\202!\310\311!\210\203\217\312\211\211\211\211\211 \313\314\215\210r!q\210\315\316\317\"\210\312\"\211#\203\207#@\"\320\"@!\321\322\323\324\325@!\326#!\327\"@!\"AA@C$\210\330\"@!\210\331 \210#A\211#\204N+\315\316\332\".\207\315\333\334\"\207" [server gnus-current-select-method nnmairix-current-server nnmairix-marks-cache temp mid-marks nnmairix-open-server nnmairix error "No opened nnmairix server" nil problem (byte-code "\211A@\211\203Y	\211A\n\211AA\241\210)@\211\203\306@	@\"A\211\2045\307\310\311@	@$\210\312\313\314\"\210\315	@
\"\211\203G\316\317\215\210\202\n	@\fCA@\3208ED
B\202\n\314\207" [nnmairix-marks-cache ogroup #1=#:v mid-marks number number-cache gnus-request-head nnheader-message 3 "Unable to set mark: couldn't determine article number for %s in %s" throw problem nil assoc done (byte-code "A\305\211\203+\n@\211AA@\3068D\232\203$	@\fC\244\210\307\310\305\"\210\nA\211\204	*\fCA@\3068EC\244\207" [temp cur --dolist-tail-- mid-marks number nil 2 throw done] 6) 2 temp] 6) nnheader-message 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" 3 "No marks to propagate." method number-cache ogroup number gnus-group-buffer cur --dolist-tail--] 7 (#$ . 39014) nil])
#@173 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.
(defalias 'nnmairix-update-groups #[(servername &optional skipdefault updatedb) "\212\306\307\"\203
\310\311\"\312\313\314\"\315 \"\204 \316\317\320#\202|	\2030\321\322\313\314\"CC!\210)\323!\324
\203J\313\325\312\326\313\314\"\211\203T<\203T\206@\312 \"A\206@\327\232\203j!\206$\312\"\"A\206$\312#\"A\206$$%%\203\246\313\330%@@@%@@A@#\232\204\246%\211A%@\210\202\202%\211&@@*\206$'((\203\333\313\330(\211&@@)(@A@#\232\204\333(\211A(@\210\202\265(@)\206$)A\324\211*+,,\203!\331,\211A,@8\211+;\204\355+\324\321-.+\332\333\215+\232\203\355+*\324\211,\204\362*+\211/\203=\312 \"\204=/B B /))\"\211&A@)#\f\3240\2111\203x1@0
\203e0@\230\204o\3340@!\210\335\311!\2101A\2111\204T*\336 *)\207" [servername updatedb nnmairix-mairix-synchronous-update default groups skipdefault 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 (byte-code "\206	\n\204\306\307\"\210\306\310\f
D\"\210\211A@)\311\235\203*\312\313@\"\2026\312\314@\211A@)#\211B\211\235\204V\204V\315@\"\204VB*\207" [method gnus-select-method nocache gnus-server-method-cache gnus-server-alist gnus-predefined-server-alist mapc #[(name-method) "A	\232\205\f\302\303@\"\207" [name-method method throw server-name] 3] #[(server-alist) "\301\302\"\207" [server-alist mapc #[(name-method) "\303A	\"\205\n\235\204\nB\304\305@\"\207" [name-method method gnus-server-method-cache gnus-methods-equal-p throw server-name] 3]] 3] (nil "") format "%s" "%s:%s" assoc x name name-method no-enter-cache] 5) gnus-group-jump-to-group gnus-group-mark-group gnus-group-get-new-news-this-group server gnus-server-method-cache gnus-select-method gnus-server-alist gnus-predefined-server-alist gnus-opened-servers opened x gnus-secondary-select-methods servers gnus-newsrc-alist match method alist no-enter-cache nocache result cur --dolist-tail--] 11 (#$ . 40759) (list (gnus-completing-read "Update groups on server" (nnmairix-get-nnmairix-servers)))])
#@95 Remove tick mark from original article.
Marks propagation has to be enabled for this to work.
(defalias 'nnmairix-remove-tick-mark-original-article #[nil "@\306=\204\307\310!\210\212\311\312`\313\"\211\203\314	!\210)\312`\315\"\206$\316 \n\2368\317H\320\211\211\205s\321
!\211\204E\204E\322
\"\f\204M\307\323!\210\f\320\211\203m@\211
\324BDBA\211\204V*\325\326\327
#,\207" [gnus-current-select-method to gnus-newsgroup-data cur groups mid nnmairix error "Not in a nnmairix group" 3 get-text-property gnus-intangible gnus-summary-goto-subject gnus-number gnus-summary-last-subject 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." nnmairix-only-use-registry nnmairix-current-server --dolist-tail-- nnmairix-marks-cache] 5 (#$ . 43222) nil])
#@82 Request FOLDER on back end for nnmairix QUALGROUP and article number correction.
(defalias 'nnmairix-request-group-with-article-number-correction #[(folder qualgroup) "\212\306\307	#\210\nq\210eb\210\310\311!\210\312\313\314\315!\"\210q\210eb\210\316p!\316p!\316p!\316p!\317\f\320\321#\211 \322U\203\314
\203\216
\211!AA)@\\\315V\203\216
@\203s\323
\211!AA)@
\211!AA)@\\E\324\f\320
#\210
\211!A@)\\
\211!A@)\\\202\240\"#\235\203\240\324\f\320\323\315E#\210\325 \210\326\327 \f$\330\331$\"\203\301$\315\225\323O\202\303$)&c\210\321\202\323\332\333\334#\210\323.\207" [folder nnmairix-backend-server nnmairix-mairix-output-buffer nntp-server-buffer qualgroup corr 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" high low total status x nnmairix-backend nnmairix-delete-and-create-on-change gname] 10 (#$ . 44162)])
#@108 Call mairix binary with COMMAND, using FOLDER and SEARCHQUERY.
If THREADS is non-nil, enable full threads.
(defalias 'nnmairix-call-mairix-binary #[(command folder searchquery threads) "@\306Br\307\n!q\210\310 \210G\311V\203\312	A\"\203$\312	\"\313\314!\203/\312	\315\"\f\2038\312	\316\"\317\320\312	\321
D#\"*\207" [command args nnmairix-mairix-output-buffer nnmairix-mairix-search-options threads folder (nil t nil) get-buffer-create erase-buffer 1 append nnmairix-check-mairix-version "maildirpatch" ("-c") ("-t") apply call-process "-o" searchquery] 6 (#$ . 45295)])
#@56 Call mairix binary with COMMAND and QUERY in raw mode.
(defalias 'nnmairix-call-mairix-binary-raw #[(command query) "@\304Br\305\n!q\210\306 \210G\307V\203\310	A\"\310	\311\"\312\313\310	\"\"*\207" [command args nnmairix-mairix-output-buffer query (nil t nil) get-buffer-create erase-buffer 1 append ("-r") apply call-process] 5 (#$ . 45889)])
#@93 If there exists just one nnmairix server, return its value.
Otherwise, ask user for server.
(defalias 'nnmairix-get-server #[nil "\302 \211\204\303\304!\210G\305V\203(\306\307\310	\206\311$C\211\312\232\204	\202*@)\207" [openedserver nnmairix-last-server nnmairix-get-nnmairix-servers error "No opened nnmairix server found" 1 gnus-completing-read "Server" t "nnmairix:" ("")] 6 (#$ . 46248)])
#@87 Return available nnmairix servers.
If ALL is t, return also the unopened/failed ones.
(defalias 'nnmairix-get-nnmairix-servers #[(&optional all) "\306\211\203M\211A@\211\203\f\204#\n\211A@)\307=\203\n\211@@)\310=\203\n@\235\204\311\n\211@@)!\312\n@A@Q\211C	B\202	+\207" [gnus-opened-servers openedserver server alist all x nil ok nnmairix symbol-name ":" gnus-ephemeral-servers] 4 (#$ . 46661)])
#@60 Return list of valid back end servers for nnmairix groups.
(defalias 'nnmairix-get-valid-servers #[nil "\306\307!\310\211\211\211\211\310\211\203(@\311\312\313	@\211\2033
<\2033
\206\312
\"A\206
\314\232\203G\206\373\312
\"A\206\373\312
\"A\206\373\203
\315\316@@@@@A@#\232\204\211A@\210\202\\\211@@*\206\373  \203\263
\315\316 \211@@) @A@#\232\204\263 \211A @\210\202\216 @)\206\373!A\310\211\"#\203\370\317\211A@8\211#;\204\305
#\310\307$%#\320\321\215+\232\203\305#\"\310\211\204\312\"+\211&\203\312
\"\204
&BB&))\"\211A@)!\322\312\323	@\211\2031
<\2031
\206\312
\"A\206
\314\232\203E\206\371\312
\"A\206\371\312
\"A\206\371\203}
\315\316@@@@@A@#\232\204}\211A@\210\202Z\211@@*\206\371  \203\261
\315\316 \211@@) @A@#\232\204\261 \211A @\210\202\214 @)\206\371!A\310\211\"#\203\366\317\211A@8\211#;\204\303
#\310\307$%#\320\321\215+\232\203\303#\"\310\211\204\310\"+\211&\203\312
\"\204
&BB&))\"\211A@)Q\nBA\211\204*\203\231\211A@\211@\310\211$%#\320\324\215+\211\314\230\203Z\315\316
\211@@)
@A@#
\203)
\211A@)\325=\203)
\211@@)'\235\203)
@(\235\204)
@\310\211$%#\320\324\215+\n\235\204)\fB\202).\207" [gnus-opened-servers cur occ openedserver mserver server nnmairix-get-nnmairix-servers t nil symbol-name assoc nnmairix-backend "native" format "%s:%s" 4 server-name (byte-code "\206	\n\204\306\307\"\210\306\310\f
D\"\210\211A@)\311\235\203*\312\313@\"\2026\312\314@\211A@)#\211B\211\235\204V\204V\315@\"\204VB*\207" [method gnus-select-method nocache gnus-server-method-cache gnus-server-alist gnus-predefined-server-alist mapc #[(name-method) "A	\232\205\f\302\303@\"\207" [name-method method throw server-name] 3] #[(server-alist) "\301\302\"\207" [server-alist mapc #[(name-method) "\303A	\"\205\n\235\204\nB\304\305@\"\207" [name-method method gnus-server-method-cache gnus-methods-equal-p throw server-name] 3]] 3] (nil #1="") format "%s" "%s:%s" assoc x name name-method no-enter-cache] 5) ":" nnmairix-backend-server (byte-code "\206	\n\204\306\307\"\210\306\310\f
D\"\210\211A@)\311\235\203*\312\313@\"\2026\312\314@\211A@)#\211B\211\235\204V\204V\315@\"\204VB*\207" [method gnus-select-method nocache gnus-server-method-cache gnus-server-alist gnus-predefined-server-alist mapc #[(name-method) "A	\232\205\f\302\303@\"\207" [name-method method throw server-name] 3] #[(server-alist) "\301\302\"\207" [server-alist mapc #[(name-method) "\303A	\"\205\n\235\204\nB\304\305@\"\207" [name-method method gnus-server-method-cache gnus-methods-equal-p throw server-name] 3]] 3] (nil #1#) format "%s" "%s:%s" assoc x name name-method no-enter-cache] 5) ok mairixservers alist --dolist-tail-- gnus-server-method-cache gnus-select-method gnus-server-alist gnus-predefined-server-alist opened x gnus-secondary-select-methods servers gnus-newsrc-alist match method no-enter-cache nocache result nnmairix-valid-backends gnus-ephemeral-servers] 10 (#$ . 47090)])
#@51 Return all groups for nnmairix server SERVERNAME.
(defalias 'nnmairix-get-groups-from-server #[(servername) "\306\307\"\310\310\211\203'
@\311\n\f@\"\203 \f@C	B
A\211\204*	*\207" [servername groups searchstring gnus-newsrc-alist cur --dolist-tail-- format "nnmairix\\+%s:" nil string-match] 4 (#$ . 50313)])
#@44 Call a function FUNC on backend with ARGS.
(defalias 'nnmairix-call-backend #[(func &rest args) "\303\304\305\306\307!	#!\n\"\207" [nnmairix-backend func args apply intern format "%s-%s" symbol-name] 6 (#$ . 50640)])
#@54 Return back end GROUP from nnmairix group on SERVER.
(defalias 'nnmairix-get-backend-folder #[(group &optional server) "\203
\303	\304D\"\202	\305\n\306\")\207" [server group qualgroup gnus-group-prefixed-name nnmairix gnus-group-get-parameter folder] 5 (#$ . 50864)])
#@71 Return values for article number correction nnmairix GROUP on SERVER.
(defalias 'nnmairix-get-numcorr #[(group &optional server) "\203
\303	\304D\"\202	\305\n\306\307#)\207" [server group qualgroup gnus-group-prefixed-name nnmairix gnus-group-get-parameter numcorr t] 5 (#$ . 51145)])
#@168 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.
(defalias 'nnmairix-rename-files-consecutively #[(path) "\305\306\307\310\311\312\313$\"\314\"\211@\315!	\311\211\205?\f@\211\nU\2044\316\317!P\317\n!P\"\210\nT\fA\211\204\311-\207" [path files lastplusone cur --dolist-tail-- sort mapcar string-to-number directory-files nil "[0-9]+" t < file-name-as-directory rename-file number-to-string] 9 (#$ . 51443)])
#@222 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.
(defalias 'nnmairix-replace-group-and-numbers #[(articles backendgroup mairixgroup numc type) "\306\307\310\"\210\311=\203J\312\313!\314	!?\315\n!\316\211\211 r q\210\317 \210\nq\210eb\210\320\321!\"\210\322\n!\210 q\210\323!\210 .\202z\324=\203z\314	!\204zr\nq\210\212eb\210\325\326\316\327#\203y\330\331\332\333\334!!	\\!\327\211\316\334%\210\202^*\306\307\335\"\207" [type numc nntp-server-buffer xref cur header nnheader-message 7 "nnmairix: Rewriting headers..." nov get-buffer-create " *nnmairix buffer*" zerop buffer-name nil erase-buffer mapc #[(article) "\306\307!!\204\310!\205W\311 \n\203 	\312H\\	\312I\210	\313H\211;\203D\314\315\316
\"\f\"\203D\317\315\320#\321\322\f$	\313\fI\210q\210\323	!\210q\210m?\205W\324y\207" [article cur corr numc xref backendgroup 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 mairixgroup buf nntp-server-buffer] 6] 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" name corr buf articles] 6 (#$ . 51994)])
#@206 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.
(defalias 'nnmairix-backend-to-server #[(server) "\306 \307\211\211\211G\310V\203\212\203U	\204U\211A@@\211\203,\f<\203,\f\206\311\f
\"A\206\f\312\232\203?\206\364\311\f\"A\206\364\311\f\"A\206\364 !!\203x\f\313\314!@@@!@@A@#\232\204x!\211A!@\210\202U!\211\"@@*\206\364#$$\203\254\f\313\314$\211\"@@)$@A@#\232\204\254$\211A$@\210\202\207$@)\206\364%A\307\211&'((\203\361\315(\211A(@8\211';\204\276\f'\307\316)*'\317\320\215+\232\203\276'&\307\211(\204\303&+\211+\203\311\f
\"\204\f+B
B+))\311\321\n\"\211\"A@)\f@=\205+\311\322\n\"\211\"A@)\fA@\230\211\204\311\323\n\"\211\"A@)\f\307\211)*'\317\324\215+\325\326\n\"\327\316#\235\202	\204\206\330\313\331\f\307\211)*'\317\324\215+\"\306 \307\332$\211\203}\f<\203}\f\206\\\311\f
\"A\206\\\f\312\232\203\220\206E\311\f\"A\206E\311\f\"A\206E !!\203\311\f\313\314!@@@!@@A@#\232\204\311!\211A!@\210\202\246!\211\"@@*\206E#$$\203\375\f\313\314$\211\"@@)$@A@#\232\204\375$\211A$@\210\202\330$@)\206E%A\307\211&'((\203B\315(\211A(@8\211';\204\f'\307\316)*'\317\320\215+\232\203'&\307\211(\204&+\211+\203Y\311\f
\"\204Y\f+B
B+))\326\311\323\n\"\211\"A@)\n\"\333\327\334\325\327\316#\f\307\211)*'\317\324\215+C\"#\210\n\202\211\"@@)\211\203\237\f<\203\237\f\206~\311\f
\"A\206~\f\312\232\203\262\206g\311\f\"A\206g\311\f\"A\206g !!\203\353\f\313\314!@@@!@@A@#\232\204\353!\211A!@\210\202\310!\211\"@@*\206g#$$\203\f\313\314$\211\"@@)$@A@#\232\204$\211A$@\210\202\372$@)\206g%A\307\211&'((\203d\315(\211A(@8\211';\2041\f'\307\316)*'\317\320\215+\232\2031'&\307\211(\2046&+\211+\203{\311\f
\"\204{\f+B
B+)),\207" [defaultgroup found mairixserver allservers server gnus-server-method-cache nnmairix-get-nnmairix-servers nil 1 assoc "native" format "%s:%s" 4 t server-name (byte-code "\206	\n\204\306\307\"\210\306\310\f
D\"\210\211A@)\311\235\203*\312\313@\"\2026\312\314@\211A@)#\211B\211\235\204V\204V\315@\"\204VB*\207" [method gnus-select-method nocache gnus-server-method-cache gnus-server-alist gnus-predefined-server-alist mapc #[(name-method) "A	\232\205\f\302\303@\"\207" [name-method method throw server-name] 3] #[(server-alist) "\301\302\"\207" [server-alist mapc #[(name-method) "\303A	\"\205\n\235\204\nB\304\305@\"\207" [name-method method gnus-server-method-cache gnus-methods-equal-p throw server-name] 3]] 3] (nil #1="") format "%s" "%s:%s" assoc x name name-method no-enter-cache] 5) nnmairix-backend nnmairix-backend-server nnmairix-default-group (byte-code "\206	\n\204\306\307\"\210\306\310\f
D\"\210\211A@)\311\235\203*\312\313@\"\2026\312\314@\211A@)#\211B\211\235\204V\204V\315@\"\204VB*\207" [method gnus-select-method nocache gnus-server-method-cache gnus-server-alist gnus-predefined-server-alist mapc #[(name-method) "A	\232\205\f\302\303@\"\207" [name-method method throw server-name] 3] #[(server-alist) "\301\302\"\207" [server-alist mapc #[(name-method) "\303A	\"\205\n\235\204\nB\304\305@\"\207" [name-method method gnus-server-method-cache gnus-methods-equal-p throw server-name] 3]] 3] (nil #1#) format "%s" "%s:%s" assoc x name name-method no-enter-cache] 5) 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-select-method gnus-server-alist gnus-predefined-server-alist gnus-opened-servers opened x gnus-secondary-select-methods servers gnus-newsrc-alist match method alist no-enter-cache nocache result] 9 (#$ . 53464)])
#@56 Delete and recreate folder from GROUP on the back end.
(defalias 'nnmairix-delete-recreate-group #[(group) "	\235\205*\306\n\303\"\307\f\"\203&\310\311
\"\210\310\312\313
$\210\310\314
#\202)\315\316!)\207" [nnmairix-backend nnmairix-delete-and-create-on-change group folder nnmairix-group-regexp nnmairix-backend-server gnus-group-get-parameter 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"] 5 (#$ . 57475)])
#@59 Update group and clear all marks from GROUP using METHOD.
(defalias 'nnmairix-update-and-clear-marks #[(group &optional method) "\206\306	!\307	\310\311#\312\313	!\204\203\314	\"@\315=\203h\212\316A@!\210\fq\210\317\320	
\"J8\321	\"\312L\210\322\n!\210\323	!\210\235\203^\203^\311\240\210\324	\310#\210\325	!\210\326 )\202k\327\330!+\207" [method group info corr gnus-group-buffer gnus-newsrc-hashtb gnus-find-method-for-group gnus-group-get-parameter numcorr t nil gnus-group-prefixed-p gnus-group-prefixed-name nnmairix nnmairix-open-server 2 intern-soft intern 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" gnus-active-hashtb nnmairix-backend nnmairix-delete-and-create-on-change] 5 (#$ . 58043)])
#@54 Sentinel for mairix update process PROC with STATUS.
(defalias 'nnmairix-sentinel-mairix-update-finished #[(proc status) "\303\232\203\f\304\305\306	#\207\307\310	\n#\207" [status proc 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"] 4 (#$ . 58943)])
#@58 Create message line for interactive query in minibuffer.
(defalias 'nnmairix-create-message-line-for-search #[nil "\301\302\303#\207" [nnmairix-interactive-query-parameters mapconcat #[(cur) "\301\302@\3038#\207" [cur format "%c=%s" 3] 5] ","] 4 (#$ . 59349)])
#@56 Replace illegal characters in HEADER for mairix query.
(defalias 'nnmairix-replace-illegal-chars #[(header) "\205'\301\302\"\203\303\304\305\211$\202\301\306\"\203&\303\307\305\211$\202\207" [header string-match "[^-.@/,& [:alnum:]]" replace-match "" t "[-& ]" ","] 5 (#$ . 59619)])
#@193 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.
(defalias 'nnmairix-group-toggle-parameter #[(group parameter description &optional par) "\305!\n\206
\306\"?	@\307=\203;\n\247\203\n\310V\311\n#\210\n\2031\312\313\f#\210\2027\312\314\f#\210\315\202@\316\317!\210\320*\207" [group method par parameter description 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] 4 (#$ . 59925)])
#@385 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.
(defalias 'nnmairix-goto-original-article #[(&optional no-registry) "@\306=\204 \307	!\211@\306=\203\310\nA@!\210\202\311\312!\210)\211\205+\313\314\f!!)\2043\311\315!\210A@\316\211\211\211rq\210\317\320!\210\321\322! \204Z\323!
\204j!\204j\324\"
G\320V\203{\325\326
\327#\202
@)\203\216\330\"\202\222\331\332\333\"-\207" [gnus-current-select-method gnus-newsgroup-name method gnus-article-buffer buffer allgroups 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" group rval mid server no-registry nnmairix-only-use-registry] 6 (#$ . 60617) "P"])
#@71 Try to determine original group for message-id MID from the registry.
(defalias 'nnmairix-determine-original-group-from-registry #[(mid) "\301\302!\205$\303\304\"\204\305PL\210\303\306\"\204 \211\307PL\210\310\311\"\207" [mid gnus-bound-and-true-p gnus-registry-enabled string-match "^<" "<" ">$" ">" gnus-registry-get-id-key group] 3 (#$ . 62012)])
#@140 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.
(defalias 'nnmairix-determine-original-group-from-path #[(mid server) "\305!\210\306\307	\"\203\310\311\312\211	$\202\306\313	\"\203 	\314P\306\313	\"\2031\310\315\312\211	$\202 \316\317\320\321!\322	PC\"!\203br\fq\210eb\210\323\324\316\312#\203^\325\326\327!!\nB\330y\210\202H)\202g\331\332\f\"\210\n)\207" [server mid allgroups nnmairix-mairix-command nnmairix-mairix-output-buffer nnmairix-open-server string-match "[<>]" replace-match "" t "\\$" "=" "=," nil zerop nnmairix-call-mairix-binary-raw split-string "m:" re-search-forward "^/.*$" nnmairix-get-group-from-file-path match-string 0 1 error "Mairix could not find original article.  See buffer %s for details"] 5 (#$ . 62379)])
#@49 Get group by parsing the message location FILE.
(defalias 'nnmairix-get-group-from-file-path #[(file) "\306\211\211\211\211\211\307\310\"\210\311\312\313\"!\312\314\"\307\315\f\"\211\2033\316\317\320
\321\211\313&\322\323\215\211\204\246\307\324
\"\210\312\313
\"\307\325\n\"\203V\326\327\321\211\n$\202E\306\211 \203\222 @\211\211!@@)\330=\203\211\331\332\n@\"\"\"J\203\211\332\n@\"B A\211 \204a*G\313V\203\243\333\334\321#\202\246@\n.\207" [allgroups maildirflag group serverbase filename path nil string-match "^\\(.*\\)/\\(.*?\\)$" expand-file-name match-string 1 2 ".+\\..+\\..+" replace-regexp-in-string ".*\\(/cur\\|/new\\|/tmp\\)$" #1="" t found (byte-code "\306\211\205\255\n@\204	\211@@)\307=\204)\203\245	\211@@)\310=\203\245\203;\311\312	@\"\211A@)\202M\311\313	@\"\211A@)\211\204M\314\315
!!\316
\317P\"\203\245\320\321\"\316\322\"\203u\323\324\325\211$\204\215\316\326\"\203\215\323\327\325\211$\202y\330	@\"\331\"J\203\245\332\333\"\210\nA\211\204\306*\207" [gnus-opened-servers cur --dolist-tail-- maildirflag x serverbase nil nnml nnmaildir assoc directory nnml-directory file-name-as-directory expand-file-name string-match "\\(.*\\)" match-string 1 "/$" replace-match #1# t "/" "." gnus-group-prefixed-name intern-soft throw found path group gnus-newsrc-hashtb] 6) "^.*/\\.?\\(.*\\)$" "\\." replace-match "/" nnimap intern-soft gnus-group-prefixed-name gnus-completing-read "Group %s exists on more than one IMAP server. Choose" file gnus-opened-servers cur --dolist-tail-- x gnus-newsrc-hashtb] 8 (#$ . 63231)])
#@58 Switch to GROUP and display Article with message-id MID.
(defalias 'nnmairix-show-original-article #[(group mid) "\303\304\"\204
\305PL\210\303\306\"\204\211\307PL\210\303\310\311p!\"\203&\312 \210\313	!\210\314\n!\210\315\n\316\317#\210\320!\210\321\322\323\"!\210\324 \210\325 \210\326\327\330\n#\207" [mid gnus-group-buffer group 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."] 4 (#$ . 64887)])
#@44 Map function FUNC on all members of RANGE.
(defalias 'nnmairix-map-range #[(func range) "\247\203		!\207\302\303\"\207" [range func mapcar #[(cur) "<\203	@!	A!B\207\247\205	!\207" [cur func] 3]] 3 (#$ . 65571)])
#@156 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.
(defalias 'nnmairix-check-mairix-version #[(version &optional server) "\204	\306\n\"\211A@)\211\204L\307\310!r
q\210\311\216\312!\313@C\314A\315$\316\317\"\210eb\210\320\321!\210\322\323!*+\313\n\fDC\";\203Z\324\f\"\202n\247\205n\325\324\326\f\"\210\322\327\f\"!X)\207" [server nnmairix-current-server nnmairix-version-output x versionstring #1=#:temp-buffer assoc generate-new-buffer " *temp*" ((byte-code "\301!\203\n\302!\210\301\207" [#1# 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 nnmairix-mairix-command commandsplit args version] 6 (#$ . 65803)])
(defvar nnmairix-widgets-values nil)
#@71 Create mairix query based on current article using graphical widgets.
(defalias 'nnmairix-widget-search-from-this-article #[nil "\300\301 !\207" [nnmairix-widget-search nnmairix-widget-get-values] 2 (#$ . 66738) nil])
#@57 Create values for editable fields from current article.
(defalias 'nnmairix-widget-get-values #[nil "\211\205\303\304	!!)\204\305\306!\207\212\307\310!\210q\210\311\312\n\")\207" [gnus-article-buffer buffer nnmairix-widget-fields-list buffer-live-p get-buffer error "No article buffer available" gnus-summary-toggle-header 1 mapcar #[(field) "\211AA)@@\205\302\303@!!D\207" [field x nnmairix-replace-illegal-chars gnus-fetch-field] 5]] 4 (#$ . 66962)])
#@109 Create mairix query interactively using graphical widgets.
MVALUES may contain values from current article.
(defalias 'nnmairix-widget-search #[(&optional mvalues) " \210\303	!\210\304\305\306	\203\307\202\310\311$\210\312\313!\210\304\305\306	\203%\314\202&\315\316$\210\312\313!\210\304\305\306\317\320$\210\321\n!\210\322 \210eb\207" [nnmairix-widget-select-window-function mvalues widget-keymap nnmairix-widget-create-query widget-create push-button :notify #[(&rest ignore) "\301\302\"\207" [nnmairix-widgets nnmairix-widget-send-query t] 3] #[(&rest ignore) "\301\302\"\207" [nnmairix-widgets nnmairix-widget-send-query nil] 3] "Send Query" widget-insert "   " #[(&rest ignore) "\301\302\"\207" [nnmairix-widgets nnmairix-widget-create-group t] 3] #[(&rest ignore) "\301\302\"\207" [nnmairix-widgets nnmairix-widget-create-group nil] 3] "Create permanent group" #[(&rest ignore) "\301!\207" [nnmairix-customize-query-buffer kill-buffer] 2] "Cancel" use-local-map widget-setup] 5 (#$ . 67435) nil])
#@98 Send query from WIDGETS to mairix binary.
If WITHVALUES is t, query is based on current article.
(defalias 'nnmairix-widget-send-query #[(widgets &optional withvalues) "\306\307!	\203\310\n!\311\211\312\313\215+\202\314 @\315\316\317\"\211A@)!\203-\320\202.\321#\210\322!\207" [widgets withvalues gnus-current-select-method no-enter-cache nocache method nnmairix-search nnmairix-widget-make-query-from-widgets nnmairix-backend-to-server nil server-name (byte-code "\206	\n\204\306\307\"\210\306\310\f
D\"\210\211A@)\311\235\203*\312\313@\"\2026\312\314@\211A@)#\211B\211\235\204V\204V\315@\"\204VB*\207" [method gnus-select-method nocache gnus-server-method-cache gnus-server-alist gnus-predefined-server-alist mapc #[(name-method) "A	\232\205\f\302\303@\"\207" [name-method method throw server-name] 3] #[(server-alist) "\301\302\"\207" [server-alist mapc #[(name-method) "\303A	\"\205\n\235\204\nB\304\305@\"\207" [name-method method gnus-server-method-cache gnus-methods-equal-p throw server-name] 3]] 3] (nil "") format "%s" "%s:%s" assoc x name name-method no-enter-cache] 5) nnmairix-get-server widget-value assoc "Threads" t -1 kill-buffer x nnmairix-customize-query-buffer] 8 (#$ . 68457)])
#@118 Create nnmairix group based on current widget values WIDGETS.
If WITHVALUES is t, query is based on current article.
(defalias 'nnmairix-widget-create-group #[(widgets &optional withvalues) "\306\307!\310G!\2046\311	\203\312\n!\313\211\314\315\215+\202\"\316 @\317!\320\321\322\"\211A@)!$\210)\323!\207" [group withvalues gnus-current-select-method no-enter-cache nocache method read-string "Name of the group: " zerop nnmairix-create-search-group nnmairix-backend-to-server nil server-name (byte-code "\206	\n\204\306\307\"\210\306\310\f
D\"\210\211A@)\311\235\203*\312\313@\"\2026\312\314@\211A@)#\211B\211\235\204V\204V\315@\"\204VB*\207" [method gnus-select-method nocache gnus-server-method-cache gnus-server-alist gnus-predefined-server-alist mapc #[(name-method) "A	\232\205\f\302\303@\"\207" [name-method method throw server-name] 3] #[(server-alist) "\301\302\"\207" [server-alist mapc #[(name-method) "\303A	\"\205\n\235\204\nB\304\305@\"\207" [name-method method gnus-server-method-cache gnus-methods-equal-p throw server-name] 3]] 3] (nil "") format "%s" "%s:%s" assoc x name name-method no-enter-cache] 5) nnmairix-get-server nnmairix-widget-make-query-from-widgets widget-value assoc "Threads" kill-buffer widgets x nnmairix-customize-query-buffer] 9 (#$ . 69728)])
#@49 Create mairix query from widget values WIDGETS.
(defalias 'nnmairix-widget-make-query-from-widgets #[(widgets) "\306\211\211\306\211\203Q
@\307\310\311\f\211AA)@P\"\211A@)!\203J\fA@\312\313\307\310\314\f\211AA)@P\"\211A@)!!Q\nB
A\211\204*\315\235\203l\316\317\320\321#\322G!\204l\323P\nB\316\324\n\325#+\207" [flag temp query nnmairix-widget-fields-list cur --dolist-tail-- nil widget-value assoc "c" ":" nnmairix-replace-illegal-chars "e" flags mapconcat #[(flag) "\304\305@	\"\211A@)!\211\306\230\203\211A@)\207\307\230\205(\310\211A@)P\207" [flag nnmairix-widgets x temp widget-value assoc "yes" "no" "-"] 5] (("seen" "s") ("replied" "r") ("flagged" "f")) "" zerop "F:" identity " " x widgets nnmairix-widget-other] 8 (#$ . 71082)])
#@84 Create widgets for creating mairix queries.
Fill in VALUES if based on an article.
(defalias 'nnmairix-widget-create-query #[(&optional values) "\305\306	!\203\f\307	!\210\310	!\210\311 \210\312 \210\313\314!\210\313\315!\210\316\n!\317\f\235\203U\313\320!\210\321\322\323\324\325\326\327\330&\210\313\331!\210\321\332\323\324\325\333\334\335&\210\313\336!\210\321\337\323\324\325\340\341\342&\210\343\f\235\203e\313\344!\210\321\345\346\305#\210\313\347!)\207" [allwidgets nnmairix-customize-query-buffer values nnmairix-widgets nnmairix-widget-other nil 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" "(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 " Show full threads\n\n"] 8 (#$ . 71868)])
#@132 Build editable field widgets in `nnmairix-widget-fields-list'.
VALUES may contain values for editable fields from current article.
(defalias 'nnmairix-widget-build-editable-fields #[(values) "\302\303\304	\"\210)\207" [ret nnmairix-widget-fields-list nil mapc #[(field) "\211AA)@\304P\305\306\307\310\311\312&DC\313P\305\314\315\316\317\320\321\322\323GZ\324\"\325\260\326\327\n\"\211A@)\2069\330&DC\244\244\331\332!\210\333A@\211A@)\334\"\207" [field x values ret "c" widget-create checkbox :tag :notify #[(widget &rest ignore) "\301!\207" [widget nnmairix-widget-toggle-activate] 2] nil "e" editable-field :size 60 :format " " ":" make-string 11 32 "%v" :value assoc "" widget-insert "\n" widget-apply :deactivate] 14]] 3 (#$ . 73061)])
#@39 Add a widget NAME with optional ARGS.
(defalias 'nnmairix-widget-add #[(name &rest args) "\303\304	\"D\nB\211\207" [name args nnmairix-widgets apply widget-create] 4 (#$ . 73827)])
#@79 Toggle activation status of WIDGET depending on corresponding checkbox value.
(defalias 'nnmairix-widget-toggle-activate #[(widget) "\304\305\"\306!\203\307\310\311	P\n\"\211A@)\312\"\210\202,\307\310\311	P\n\"\211A@)\313\"\210)\314 \207" [widget field nnmairix-widgets x widget-get :tag widget-value widget-apply assoc "e" :activate :deactivate widget-setup] 5 (#$ . 74016)])
(provide 'nnmairix)

MMCT - 2023