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/nnvirtual.elc
;ELC
;;; Compiled by mockbuild@buildfarm06-new.corp.cloudlinux.com on Fri Oct 11 10:10:25 2024
;;; from file /builddir/build/BUILD/emacs-24.3/lisp/gnus/nnvirtual.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\302\311!\210\302\312!\210\313\236\2033\313\236A\314\315\316\"\240\210\202>\313\314\315\316\"\316\211FB\313	\236\204J\313\317D	B\316\207" [nnoo-definition-alist nnoo-state-alist require nntp nnheader gnus nnoo gnus-util gnus-start gnus-sum gnus-msg nnvirtual mapcar list nil "*internal-non-initialized-backend*"] 4)
#@348 If non-nil, always scan groups for unread articles when entering a group.
If this variable is nil and you read articles in a component group
after the virtual group has been activated, the read articles from the
component group will show up when you enter the virtual group.

This is a Gnus server variable.  See Info node `(gnus)Select Methods'.
(defvar nnvirtual-always-rescan t (#$ . 972))
(nnoo-define 'nnvirtual-always-rescan nil)
#@107 Regexp to match component groups.

This is a Gnus server variable.  See Info node `(gnus)Select Methods'.
(defvar nnvirtual-component-regexp nil (#$ . 1415))
(nnoo-define 'nnvirtual-component-regexp nil)
#@114 Component group in this nnvirtual group.

This is a Gnus server variable.  See Info node `(gnus)Select Methods'.
(defvar nnvirtual-component-groups nil (#$ . 1626))
(nnoo-define 'nnvirtual-component-groups nil)
(defconst nnvirtual-version "nnvirtual 1.1")
(defvar nnvirtual-current-group nil)
(nnoo-define 'nnvirtual-current-group nil)
#@172 Table of rules on how to map between component group and article number to virtual article number.

This is a Gnus server variable.  See Info node `(gnus)Select Methods'.
(defvar nnvirtual-mapping-table nil (#$ . 1969))
(nnoo-define 'nnvirtual-mapping-table nil)
#@167 Table indexed by component group to an offset to be applied to article numbers in that group.

This is a Gnus server variable.  See Info node `(gnus)Select Methods'.
(defvar nnvirtual-mapping-offsets nil (#$ . 2239))
(nnoo-define 'nnvirtual-mapping-offsets nil)
#@115 Number of articles in this virtual group.

This is a Gnus server variable.  See Info node `(gnus)Select Methods'.
(defvar nnvirtual-mapping-len 0 (#$ . 2508))
(nnoo-define 'nnvirtual-mapping-len nil)
#@198 Compressed sequence of read articles on the virtual group as computed from the unread status of individual component groups.

This is a Gnus server variable.  See Info node `(gnus)Select Methods'.
(defvar nnvirtual-mapping-reads nil (#$ . 2715))
(nnoo-define 'nnvirtual-mapping-reads nil)
#@177 Compressed marks alist for the virtual group as computed from the marks of individual component groups.

This is a Gnus server variable.  See Info node `(gnus)Select Methods'.
(defvar nnvirtual-mapping-marks nil (#$ . 3011))
(nnoo-define 'nnvirtual-mapping-marks nil)
#@170 T if we have already installed the group info for this group, and shouldn't blast over it again.

This is a Gnus server variable.  See Info node `(gnus)Select Methods'.
(defvar nnvirtual-info-installed nil (#$ . 3286))
(nnoo-define 'nnvirtual-info-installed nil)
(defvar nnvirtual-status-string "")
(byte-code "\300\301\302\"\210\303\304\305\"\210\306\307!\207" [nnoo-define nnvirtual-status-string nil autoload gnus-cache-articles-in-group "gnus-cache" nnoo-define-basics-1 nnvirtual] 3)
(defalias 'nnvirtual-retrieve-headers #[(articles &optional newsgroup server fetch-old) "\306!\205r	q\210\307 \210\n@;\203\310\202\311\312\313!!\314\n!\315 \316\211\211\211\211\"#
$%$\203\350$\211&@@)#$\211&@A)$\211A$@\210\n\203\333\317\320#!\321\"\203\333\322#\321\"\203\333\323#!\211\203\333\321'\324\n#\316#\211)\203\333	q\210\f\310=\203\215\325 \210eb\210m\204\320`\326	!\"`|\210\327\"\n\"\330#\"\"\211\204\273\331 \210`\332y\210`|\210\202\220\333
	\"\210\334#\"
$\210\332y\210\202\220%q\210db\210\335	!\210\n\2033\336#\n\"\210\2023r	q\210\307 \210\335%!\210\337\332ed#\210)\340\341%!\210.)\207" [server nntp-server-buffer articles prefix result article nnvirtual-possibly-change-server erase-buffer headers nnheader-set-temp-buffer get-buffer-create " *virtual headers*" nnvirtual-partition-sequence system-name nil gnus-check-server gnus-find-method-for-group t gnus-request-group gnus-group-real-prefix gnus-retrieve-headers nnvirtual-convert-headers read delq nnvirtual-reverse-map-article beginning-of-line 1 princ nnvirtual-update-xref-header insert-buffer-substring gnus-group-make-articles-read sort-numeric-fields nov kill-buffer carticle cgroup carticles vbuf x gnus-use-cache] 9])
(nnoo-register-function 'nnvirtual-retrieve-headers)
(defvar nnvirtual-last-accessed-component-group nil)
(nnoo-define 'nnvirtual-last-accessed-component-group nil)
(defalias 'nnvirtual-request-article #[(article &optional group server buffer) "\306!\205\207	;\203/\n\204\307\310\311\"\207\212\203q\210\312\313\n!\314
\315\"	\312
A@$+\207\316	!\211@\204E\307\310\317	#\202\206\320!\204U\307\310\321#\202\206\322\323\"\204f\307\310\324#\202\206\203rq\210\312\325A\"*\202\206\326A\"*\207" [server article nnvirtual-last-accessed-component-group buffer gnus-override-method gnus-command-method nnvirtual-possibly-change-server nnheader-report nnvirtual "Don't know what server to request from" nil gnus-find-method-for-group gnus-get-function request-article nnvirtual-map-article "No such article: %s" gnus-check-group "Can't open server where %s exists" gnus-request-group t "Can't open component group %s" gnus-request-article-this-buffer gnus-request-article amap cgroup gnus-article-decode-hook] 6])
(nnoo-register-function 'nnvirtual-request-article)
(defalias 'nnvirtual-open-server #[(server &optional defs) "\306\236\204\f\306	DB\307\310	#\210\n\203\311\207\312\211\313\312\211\312\203XA\312\211A@@\211\203W\314\"\2034\315\n\"B\2024*\n\204b\316\310\317	#\207\311\207" [defs server nnvirtual-component-groups nnvirtual-mapping-table nnvirtual-mapping-offsets nnvirtual-mapping-len nnvirtual-component-regexp nnoo-change-server nnvirtual t nil 0 string-match delete nnheader-report "No component groups: %s" nnvirtual-mapping-reads nnvirtual-mapping-marks nnvirtual-info-installed gnus-newsrc-alist group newsrc] 5])
(nnoo-register-function 'nnvirtual-open-server)
(defalias 'nnvirtual-request-group #[(group &optional server dont-check info) "\306!\210\307\302 	\"\211\204\310\311\312\313#\207\314\f!\210
\203.\315\302 \316\317\302 \"J8\"\210\320\321\211$\207" [server nnvirtual-component-groups nnvirtual-current-group group dont-check nnvirtual-always-rescan nnvirtual-possibly-change-server delete nil nnheader-report nnvirtual "No component groups in %s" nnvirtual-create-mapping nnvirtual-request-update-info 2 intern-soft nnheader-insert "211 %d 1 %d %s\n" gnus-newsrc-hashtb nnvirtual-mapping-len] 7])
(nnoo-register-function 'nnvirtual-request-group)
(defalias 'nnvirtual-request-type #[(group &optional article) "\204\303\207\247\203\304!\211\205\305	@	A\")\207\305\n\306\"\207" [article mart nnvirtual-last-accessed-component-group unknown nnvirtual-map-article gnus-request-type nil] 4])
(nnoo-register-function 'nnvirtual-request-type)
(defalias 'nnvirtual-request-update-mark #[(group article mark) "\306!\211@	\203$\f>\203$\307\n	A#U\203$\310\n!\203$
*\207" [article nart cgroup mark gnus-auto-expirable-marks gnus-expirable-mark nnvirtual-map-article gnus-request-update-mark gnus-group-auto-expirable-p] 6])
(nnoo-register-function 'nnvirtual-request-update-mark)
(defalias 'nnvirtual-close-group #[(group &optional server) "\301!\203\302\303 !\204\304\305\211\"\210\305\207" [server nnvirtual-possibly-change-server gnus-ephemeral-group-p nnvirtual-current-group nnvirtual-update-read-and-marked t] 3])
(nnoo-register-function 'nnvirtual-close-group)
(defalias 'nnvirtual-request-newgroups #[(date &optional server) "\300\301\302\"\207" [nnheader-report nnvirtual "NEWGROUPS is not supported."] 3])
(nnoo-register-function 'nnvirtual-request-newgroups)
(defalias 'nnvirtual-request-list-newsgroups #[(&optional server) "\300\301\302\"\207" [nnheader-report nnvirtual "LIST NEWSGROUPS is not implemented."] 3])
(nnoo-register-function 'nnvirtual-request-list-newsgroups)
(defalias 'nnvirtual-request-update-info #[(group info &optional server) "\306!\2058	?\2058\n\f\211AA)	\240\210\307\f\233\203'\307\f\233\n\240\210\2024\n\2034\fAA\nC\241\210\310)\310\207" [server nnvirtual-info-installed gnus-atomic-be-safe inhibit-quit info x nnvirtual-possibly-change-server 3 t nnvirtual-mapping-reads nnvirtual-mapping-marks] 3])
(nnoo-register-function 'nnvirtual-request-update-info)
(defalias 'nnvirtual-catchup-group #[(group &optional server all) "\306!\205'\307\310 !?\205'\311\312\211\"\210\313	!\314\315\316	\"\210r\fq\210\317\312
\"+\207" [server nnvirtual-component-groups gnus-expert-user gnus-group-marked gnus-group-buffer all nnvirtual-possibly-change-server gnus-ephemeral-group-p nnvirtual-current-group nnvirtual-update-read-and-marked nil copy-sequence t mapc #[(g) "\302	\"J@\247?\205\303!\207" [g gnus-newsrc-hashtb intern-soft gnus-activate-group] 3] gnus-group-catchup-current] 3])
(nnoo-register-function 'nnvirtual-catchup-group)
#@66 Return the real group and article for virtual GROUP and ARTICLE.
(defalias 'nnvirtual-find-group-art #[(group article) "\301!\207" [article nnvirtual-map-article] 2 (#$ . 9760)])
(nnoo-register-function 'nnvirtual-find-group-art)
(defalias 'nnvirtual-request-post #[(&optional server) "\204	\302\303\304\"\207\305@A\"@\306\307	!!)\207" [gnus-message-group-art group nnheader-report nnvirtual "Can't post to an nnvirtual group" nnvirtual-find-group-art gnus-request-post gnus-find-method-for-group] 3])
(nnoo-register-function 'nnvirtual-request-post)
(defalias 'nnvirtual-request-expire-articles #[(articles group &optional server force) "\305!\210\306\307 	\"\310	\310\211\203)\f@\n\311\312\313\314!!\"\244\fA\211\204*\315\316\310\n\"\317\")\207" [server nnvirtual-component-groups unexpired group --dolist-tail-- nnvirtual-possibly-change-server delete nnvirtual-current-group nil mapcar #[(article) "\302	\"\207" [group article nnvirtual-reverse-map-article] 3] gnus-uncompress-range gnus-group-expire-articles-1 sort delq <] 7])
(nnoo-register-function 'nnvirtual-request-expire-articles)
#@40 Convert HEAD headers into NOV headers.
(defalias 'nnvirtual-convert-headers #[nil "rq\210\303\304\305\"\306	!\307 \210\310\311\n\"+\207" [nntp-server-buffer dependencies headers make-vector 100 0 gnus-get-newsgroup-headers erase-buffer mapc nnheader-insert-nov] 3 (#$ . 10878)])
#@131 Edit current NOV header in current buffer to have an xref to the component group, and also server prefix any existing xref lines.
(defalias 'nnvirtual-update-xref-header #[(group article prefix system-name) "\305 \210\306\307!\210\310\225b\210\311\312\313 \314#\204\312c\210`Sf\315=\203)\316u\210\317\320!\210\202\321\322	\323\261\210\324\np\"\210\322c\210\214`\311\312\313 \325#\206F\313 }\210eb\210\326\327\330\325#\203Y\331\332\325\211#\210eb\210\326\333	\334\335\"\203o\310\225\330O\202p)!\336P\330\325#\203\200\331\332\325\211#\210m\204\241\322c\210\f\332\230\204\241\326\337\330\325#\203\241\212\310\224b\210\fc\210)\202\215)\330\210`Sf\340=\206\257\340c\207" [system-name group article gname prefix beginning-of-line looking-at "[^	]*	[^	]*	[^	]*	[^	]*	[^	]*	[^	]*	[^	]*	" 0 search-forward "	" point-at-eol move 32 -1 delete-char 1 "Xref: " " " ":" princ t re-search-forward "Xref: *[^\n:0-9 ]+ *" nil replace-match "" regexp-quote string-match "^[^:]+:" ":[0-9]+" "[^ ]+:[0-9]+" 9] 5 (#$ . 11167)])
(defalias 'nnvirtual-possibly-change-server #[(server) "?\206!\303\304	!\n\203\305\306\n#\202\232*\206!\307!\207" [server backend nnoo-parent-backend nnvirtual nnoo-current-server format "%s+%s" nnvirtual-open-server] 5])
#@200 Copy marks from the virtual group to the component groups.
If READ-P is not nil, update the (un)read status of the components.
If UPDATE-P is not nil, call gnus-group-update-group on the components.
(defalias 'nnvirtual-update-read-and-marked #[(read-p update-p) "\205\373	\205\306\307\300 !!\310\311\312\313\314\315\316\300 \n\"J88\"\"\311\211\211\311\311\211\203M@\317@A\"\210A\211\2046+\311\211\203\215@\315\316\n\"J8\211\203\204\3148\203\204\314\233\320\3148\236\205\202\320\3148\236C\240\210A\211\204Y*\311\211\203\323@\211@A\211\311\211\203\311@\321@
A\311\322%\210A\211\204\257*A\211\204\231*\205\372\311\211\205\371@\323\322\"\210A\211\204\344\311*-\207" [nnvirtual-current-group read-p gnus-newsrc-hashtb info groups type nnvirtual-partition-sequence gnus-list-of-unread-articles delq nil mapcar #[(ml) "@\301=?\205@\302A!B\207" [ml score nnvirtual-partition-sequence] 3] 3 2 intern-soft gnus-update-read-articles score gnus-add-marked-articles t gnus-group-update-group type-marks unreads gnus-newsgroup-active entry --dolist-tail-- nnvirtual-component-groups group mark carticles update-p] 11 (#$ . 12438)])
#@58 Return the prefixed name of the current nnvirtual group.
(defalias 'nnvirtual-current-group #[nil "\301P\207" [nnvirtual-current-group "nnvirtual:"] 2 (#$ . 13686)])
#@37 Merge many sorted lists of numbers.
(defalias 'nnvirtual-merge-sorted-lists #[(&rest lists) "A\204@\207\301\302\303\"\304\"\207" [lists sort apply nconc <] 4 (#$ . 13859)])
#@94 Return a cons of the component group and article corresponding to the given virtual ARTICLE.
(defalias 'nnvirtual-map-article #[(article) "\306\211\211\203\f@\307HV\203A\211\204\n\205I\f\310V\205I@\311\f\n\312H\313#\314\f\n\315H\"
	H@\316\f\n\315H\245\n\313H
	HA#B+\207" [nnvirtual-mapping-table group-pos entry table article nnvirtual-mapping-offsets nil 3 0 - 4 1 mod 2 +] 7 (#$ . 14043)])
#@91 Return the virtual article number corresponding to the given component GROUP and ARTICLE.
(defalias 'nnvirtual-reverse-map-article #[(group article) "\247\205]	\306\307
\fH@\230\204T\202\fHAZ\f\2037\f@\306HV\2037\fA\211\204'\f@\211\205\\\306V\205\\\n\310HW\205\\\311\n\312H\n\313HZ\n\310H_\313$+\207" [article nnvirtual-mapping-table entry group-pos table group 0 nil 2 + 4 1 nnvirtual-mapping-offsets] 7 (#$ . 14460)])
#@235 Return list of virtual article numbers for all ARTICLES in GROUP.
The ARTICLES should be sorted, and can be a compressed sequence.
If any of the article numbers has no corresponding virtual article,
then it is left out of the result.
(defalias 'nnvirtual-reverse-map-sequence #[(group articles) "\243\247\203	C\306\211\211\211\211\211A@\211\203J\f:\204)\f\f\202/\f@\fA\nX\203\307\"\211\203C	
BT\211\2020
\237-\207" [articles new-a j i a result nil nnvirtual-reverse-map-article group] 6 (#$ . 14917)])
(put 'nnvirtual-reverse-map-sequence 'byte-optimizer 'byte-compile-inline-expand)
#@346 Return an association list of component article numbers.
These are indexed by elements of nnvirtual-component-groups, based on
the sequence ARTICLES of virtual article numbers.  ARTICLES should be
sorted, and can be a compressed sequence.  If any of the article
numbers has no corresponding component article, then it is left out of
the result.
(defalias 'nnvirtual-partition-sequence #[(articles) "\243\247\203	C\306\307	\"\310\211\211\211\211
\211A@\211
\203`
:\2044

\202<
@
A
\fX\203\311
!\211\203Y\312@\"\211A\nAB\241\210
T\211\202=\313\314\"\210.\207" [articles nnvirtual-component-groups entry article j i mapcar list nil nnvirtual-map-article assoc mapc #[(x) "\211A\237\241\207" [x] 2] a carticles] 7 (#$ . 15539)])
#@200 Build the tables necessary to map between component (group, article) to virtual article.
Generate the set of read messages and marks for the virtual group
based on the marks on the component groups.
(defalias 'nnvirtual-create-mapping #[(dont-check) "\306\211\211\211\307\211\211\211\211\211\211\211\211\211\211\211\211 \310\311!\"\210\"\312\313\"\314\315\316\"\237!#\307$\315\317\"\203\247@Z _Z\320 \n Z%$B$\n\315\321\"\203R@\306U\203R\211A@\210 S \202\212\322\323\315\324\"\"\315\325%\"\307&\f\307'\211(\203\335(@\211'A\203\324'&B&(A\211(\204\303*T\211\"X\2030
\2030
@U\203\374
A\202\336T\211\"X\203
@U\203\377S\211U\203&	B\202\336B	B\202\336\"X\203P\"U\203H	B\202P\"B	B	\237)\307\211*.\207" [beg reads next-tot next-M marks unreads 0 nil mapc #[(g) "\203\f\306	\n\"J\206\307	!\211@A\205\201
\fY\205\201\310
!?\205\201	\311
\f\312#
EB\313	!\314\315\306	\"J88\203T\316\317	!BB	BB	BB\311
\f\312#T\\]\211\207" [dont-check g gnus-active-hashtb active min max intern-soft gnus-activate-group zerop - -1 gnus-list-of-unread-articles 3 2 cache gnus-cache-articles-in-group actives unreads gnus-newsrc-hashtb marks gnus-use-cache all-unreads all-marks size cnt tot M] 6] sort #[(g1 g2) "A@	A@W\207" [g1 g2] 2] vconcat mapcar #[(entry) "@\3028	ZB\207" [entry M 2] 3] #[(entry) "A@\207" [entry] 1] vector #[(x) "	Z\207" [x size] 2] apply nnvirtual-merge-sorted-lists #[(x) "@A	\243\247\203	C\306\211\211\211\211		\211A@\211\203Y:\2045\202=@A
\fX\203\307\n
\"\211\203R	B	
T\211\202>	\237.\207" [x articles group new-a j i nil nnvirtual-reverse-map-article a result] 5] #[(type) "A\302\303\304\305\306	\"\"!B\207" [type all-marks gnus-compress-sequence apply nnvirtual-merge-sorted-lists mapcar #[(x) "@	AA\236A\n\243\247\203\nC\306\211\211\211\211	\n\n\211A@\211	\203d	:\204;		\202D	@	A
X\203 \307\"\211\203[\f\nB\nT\211\202F\n\237.\207" [x type articles group new-a j nil nnvirtual-reverse-map-article i a result] 5]] 7] size max min active all-marks all-unreads actives i M tot cnt nnvirtual-component-groups nnvirtual-mapping-len nnvirtual-mapping-offsets nnvirtual-mapping-table gnus-article-mark-lists nnvirtual-mapping-marks mark --dolist-tail-- nnvirtual-mapping-reads nnvirtual-info-installed] 18 (#$ . 16314)])
(provide 'nnvirtual)

MMCT - 2023