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/gnus-cache.elc
;ELC
;;; Compiled by mockbuild@buildfarm06-new.corp.cloudlinux.com on Fri Oct 11 10:09:40 2024
;;; from file /builddir/build/BUILD/emacs-24.3/lisp/gnus/gnus-cache.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 "\300\301!\204
\302\301\303\304B\"\210\305\306!\210\305\307!\210\310\311\312\313\314\315\316\317&\210\310\320\321\322\314\315\316\323&\210\310\324\325\326\314\315\316\327&\210\310\330\331\332\314\315\316\333&\210\310\334\331\335\314\315\316\336&\207" [fboundp declare-function defalias macro #[(&rest r) "\300\207" [nil] 1] require gnus gnus-sum custom-declare-variable gnus-cache-active-file (expand-file-name "active" gnus-cache-directory) "*The cache active file." :group gnus-cache :type file gnus-cache-enter-articles '(ticked dormant) "Classes of articles to enter into the cache." (set (const ticked) (const dormant) (const unread) (const read)) gnus-cache-remove-articles '(read) "Classes of articles to remove from the cache." (set (const ticked) (const dormant) (const unread) (const read)) gnus-cacheable-groups nil "*Groups that match this regexp will be cached.\n\nIf you only want to cache your nntp groups, you could set this\nvariable to \"^nntp\".\n\nIf a group matches both gnus-cacheable-groups and gnus-uncacheable-groups\nit's not cached." (choice (const :tag "off" nil) regexp) gnus-uncacheable-groups "*Groups that match this regexp will not be cached.\n\nIf you want to avoid caching your nnml groups, you could set this\nvariable to \"^nnml\".\n\nIf a group matches both gnus-cacheable-groups and gnus-uncacheable-groups\nit's not cached." (choice (const :tag "off" nil) regexp)] 8)
#@41 Coding system used on Gnus cache files.
(defvar gnus-cache-overview-coding-system 'raw-text (#$ . 1983))
#@41 Coding system used on Gnus cache files.
(defvar gnus-cache-coding-system 'raw-text (#$ . 2094))
(defvar gnus-cache-removable-articles nil)
(defvar gnus-cache-buffer nil)
(defvar gnus-cache-active-hashtb nil)
(defvar gnus-cache-active-altered nil)
(defvar gnus-cache-total-fetched-hashtb nil)
(byte-code "\300\301\302\"\210\300\303\304\"\207" [autoload nnml-generate-nov-databases-directory "nnml" nnvirtual-find-group-art "nnvirtual"] 3)
#@23 Initialize the cache.
(defalias 'gnus-cache-open #[nil "\302!\204	\205	\303=?\205\304 \207" [gnus-cache-directory gnus-use-cache file-exists-p passive gnus-cache-read-active] 2 (#$ . 2538)])
(byte-code "\300\301\302\217\207" [nil (byte-code "\300\301\302\"\207" [gnus-add-shutdown gnus-cache-close gnus] 3) ((error))] 3)
#@22 Shut down the cache.
(defalias 'gnus-cache-close #[nil "\301 \210\302 \210\303\211\207" [gnus-cache-active-hashtb gnus-cache-write-active gnus-cache-save-buffers nil] 2 (#$ . 2872)])
(defalias 'gnus-cache-save-buffers #[nil "\205uA\306@\307\"\310\n!\203H\311\n!\203Hr\nq\210\312 \313V\203.\314	!\210)\202A
\315	!\203;\316	!\210\317\320\321\217\210)\322@	\"\210)\n\211\211\205]\n;\203Z\323\202[\324\n!)\203p\325\323!\"\326!\210)\317\211*\207" [gnus-cache-buffer overview-file buffer gnus-cache-overview-coding-system coding-system-for-write nnmail-pathname-coding-system gnus-cache-file-name ".overview" buffer-live-p buffer-modified-p buffer-size 0 gnus-write-buffer file-exists-p delete-file nil (byte-code "\301\302!!\207" [overview-file delete-directory file-name-directory] 3) ((error)) gnus-cache-update-overview-total-fetched-for get-buffer buffer-name delete kill-buffer file-name-coding-system buf gnus-buffers] 5])
(defalias 'gnus-cache-possibly-enter-article #[(group article ticked dormant unread &optional force) "\204	\306=?\205J\n\247\205J\n\307V\205J\n\310\211\211*+,\311-!\203Q\312-.\313\314.\"\203@.\307\225\310O\202B.)\n\"\211/@-/A,),\205I,\307V\205I\204u\315-!\205I\3160123$\205I\317\320-,\"\211+!?\205I\321\322+!!\210\317+!\203\226\323\202Ir4q\210\324\325!\210\310\2115\326,-\"\210*\327 \307V\203G67\330+!\210\331-+\"\210)\332 \333 \210\334 \211*\307,I\210*\335
@I\210*\336
\2118A@)I\210\337-!\2109Aq\210db\210\340y\210\310\341\342\217\203\340y\210\202\367o\203$m\204\343 \210\344p!,W\203'\345y\210\202'\343 \210\202'\345y\210\343 \210\346*!\210:q\210\347-,\211B\"\210\350;\n\";\351\n!\210)\323-\207" [force gnus-use-cache article nnmail-pathname-coding-system file-name-coding-system lines-chars passive 0 nil gnus-virtual-group-p nnvirtual-find-group-art string-match "^[^:]+:" gnus-cache-fully-p gnus-cache-member-of-class file-exists-p gnus-cache-file-name gnus-make-directory file-name-directory t require gnus-art gnus-request-article-this-buffer buffer-size gnus-write-buffer gnus-cache-update-file-total-fetched-for nnheader-get-lines-and-char nnheader-remove-body nnheader-parse-naked-head 7 6 gnus-cache-change-buffer -1 (byte-code "o?\205\n\301p!V\207" [number read] 2) ((error (byte-code "\300 \301y\210`|\210\302\207" [point-at-bol 1 t] 2))) beginning-of-line read 1 nnheader-insert-nov gnus-cache-possibly-update-active gnus-add-to-sorted-list gnus-summary-update-secondary-mark headers file number group gname result gnus-cache-enter-articles ticked dormant unread nntp-server-buffer gnus-article-decode-hook gnus-cache-coding-system coding-system-for-write x gnus-cache-buffer gnus-summary-buffer gnus-newsgroup-cached] 6])
#@42 Mark ARTICLE for later possible removal.
(defalias 'gnus-cache-enter-remove-article #[(article) "\205		B\211\207" [article gnus-cache-removable-articles] 2 (#$ . 5655)])
#@49 Possibly remove some of the removable articles.
(defalias 'gnus-cache-possibly-remove-articles #[nil "\305!\204	\306 \207	\307\203>\310\311\312\f\"\203#\f\313\225\307O\202$\f)\211A@\"\211\203
\nAC\n@\306 \210*\202
*\307\211\207" [gnus-newsgroup-name gnus-cache-removable-articles ga arts gname gnus-virtual-group-p gnus-cache-possibly-remove-articles-1 nil nnvirtual-find-group-art string-match "^[^:]+:" 0] 4 (#$ . 5835)])
#@49 Possibly remove some of the removable articles.
(defalias 'gnus-cache-possibly-remove-articles-1 #[nil "\306!\205>	\307!\210\310\211\203;
@\211\n>\2034\311\f\211>\f\f>\f
>\2062\f>$\210
A\211\204+\312 \207" [gnus-newsgroup-name gnus-newsgroup-cached cache-articles gnus-cache-removable-articles article --dolist-tail-- gnus-cache-fully-p gnus-cache-change-buffer nil gnus-cache-possibly-remove-article gnus-cache-save-buffers gnus-newsgroup-marked gnus-newsgroup-dormant gnus-newsgroup-unreads gnus-newsgroup-unselected] 7 (#$ . 6283)])
#@43 Retrieve ARTICLE in GROUP from the cache.
(defalias 'gnus-cache-request-article #[(article group) "\306	\"\307\n\310
!\205\311 \210\312 \210
\313
!\210)\314+\207" [group article nnmail-pathname-coding-system file-name-coding-system buffer-read-only file gnus-cache-file-name nil file-exists-p erase-buffer gnus-kill-all-overlays insert-file-contents t gnus-cache-coding-system coding-system-for-read] 3 (#$ . 6845)])
#@71 Alter the ACTIVE info for GROUP to reflect the articles in the cache.
(defalias 'gnus-cache-possibly-alter-active #[(group active) "\205(\304	\"J\211\205'\n@@W\203\n@\240\210\nAAV\205'\nA\241)\207" [gnus-cache-active-hashtb group cache-active active intern-soft] 4 (#$ . 7277)])
#@45 Retrieve the headers for ARTICLES in GROUP.
(defalias 'gnus-cache-retrieve-headers #[(articles group &optional fetch-old) "\306!\211\211\204\307\310\f
#)\202\202\311\f\n\"\312\313\"\307\307\203;\f\2059\310
#)\314 \210\212\315!\204L\202\201\204fq\210\316 \210\317!\210)\320\202\201\320=\203w\321\n\"\210\202\201\322\323\n\f\"\"\210-)\207" [group gnus-newsgroup-cached cached gnus-use-cache articles fetch-old gnus-cache-articles-in-group nil gnus-retrieve-headers gnus-sorted-difference gnus-cache-file-name ".overview" gnus-cache-save-buffers file-exists-p erase-buffer insert-file-contents nov gnus-cache-braid-nov gnus-cache-braid-heads gnus-sorted-intersection nnmail-pathname-coding-system file-name-coding-system type cache-file uncached-articles nntp-server-buffer gnus-cache-overview-coding-system coding-system-for-read] 6 (#$ . 7574)])
#@145 Enter the next N articles into the cache.
If not given a prefix, use the process marked articles instead.
Returns the list of articles entered.
(defalias 'gnus-cache-enter-article #[(&optional n) "\306\307	!\306\211\203F@\310\n!\210\311\n!\2031\312\f\n\306\211\211\313&\2037\314\n
\"\nB\2027\315\316\317\n#\210\320\n!\210\321\n!\210A\211\204\f*\322\323!\210\324 \210\237)\207" [out n article --dolist-tail-- gnus-newsgroup-name gnus-newsgroup-undownloaded nil gnus-summary-work-articles gnus-summary-remove-process-mark natnump gnus-cache-possibly-enter-article t delq gnus-message 2 "Can't cache article %d" gnus-summary-update-download-mark gnus-summary-update-secondary-mark gnus-summary-next-subject 1 gnus-summary-position-point] 8 (#$ . 8483) "P"])
#@146 Remove the next N articles from the cache.
If not given a prefix, use the process marked articles instead.
Returns the list of articles removed.
(defalias 'gnus-cache-remove-article #[(&optional n) "\306!\210\307\310\n!\307\211\203N\f@\311!\210\312\307\211\211\313%\203?
\203;\314!\315\"A\204:\316\")	B\317!\210\320!\210\fA\211\204*\321\322!\210\323 \210	\237)\207" [gnus-newsgroup-name out n article --dolist-tail-- gnus-newsgroup-agentized gnus-cache-change-buffer nil gnus-summary-work-articles gnus-summary-remove-process-mark gnus-cache-possibly-remove-article t gnus-agent-load-alist assoc gnus-add-to-sorted-list gnus-summary-update-download-mark gnus-summary-update-secondary-mark gnus-summary-next-subject 1 gnus-summary-position-point alist gnus-newsgroup-undownloaded] 7 (#$ . 9262) "P"])
#@53 Say whether ARTICLE is cached in the current group.
(defalias 'gnus-cached-article-p #[(article) "	>\207" [article gnus-newsgroup-cached] 2 (#$ . 10097)])
#@72 Insert all the articles cached for this group into the current buffer.
(defalias 'gnus-summary-insert-cached-articles #[nil "\302]	\204\303\304\305\"\202	G\306W\203\307	!\202\310	!)\207" [gnus-verbose gnus-newsgroup-cached 6 gnus-message 3 "No cached articles for this group" 20 gnus-summary-goto-subjects gnus-summary-include-articles] 3 (#$ . 10259) nil])
#@55 Limit the summary buffer to articles that are cached.
(defalias 'gnus-summary-limit-include-cached #[nil "\302]	\203\303	!\210\304 \202\305\306\307\")\207" [gnus-verbose gnus-newsgroup-cached 6 gnus-summary-limit gnus-summary-position-point gnus-message 3 "No cached articles for this group"] 3 (#$ . 10633) nil])
(defalias 'gnus-cache-change-buffer #[(group) "\203	@\230\204\305 \210?\2054\212	\306\307!qB\310 \210\311	\312\"\n\313\f!\203/\314\f!\210*\315\316!)\207" [gnus-cache-buffer group nnmail-pathname-coding-system file-name-coding-system file gnus-cache-save-buffers gnus-get-buffer-create " *gnus-cache-overview*" erase-buffer gnus-cache-file-name ".overview" file-exists-p nnheader-insert-file-contents set-buffer-modified-p nil] 3])
(defalias 'gnus-cache-member-of-class #[(class ticked dormant unread) "\203\n\300	>\2060\n\203\302	>\2060\203\303	>\2060?\2050?\2050\n?\2050\304	>\207" [ticked class dormant unread read] 2])
#@167 Alist of original group names and decoded group names.
Decoding is done according to `gnus-group-name-charset-method-alist'
or `gnus-group-name-charset-group-alist'.
(defvar gnus-cache-decoded-group-names nil (#$ . 11609))
#@564 Alist of unified decoded group names and original group names.
A group name is decoded according to
`gnus-group-name-charset-method-alist' or
`gnus-group-name-charset-group-alist' first, and is encoded and
decoded again according to `nnmail-pathname-coding-system',
`file-name-coding-system', or `default-file-name-coding-system'.

It is used when asking for a original group name from a cache
directory name, in which non-ASCII characters might have been unified
into the ones of a certain charset particularly if the `utf-8' coding
system for example was used.
(defvar gnus-cache-unified-group-names nil (#$ . 11839))
#@39 Return a decoded group name of GROUP.
(defalias 'gnus-cache-decoded-group-name #[(group) "\306	\"A\206<\307!\n\206 \310\303!\203\206 \310\304!\205 \fB	B\311\312
\"
\"B\fB\f*\207" [group gnus-cache-decoded-group-names nnmail-pathname-coding-system file-name-coding-system default-file-name-coding-system coding assoc gnus-group-decoded-name boundp mm-decode-coding-string mm-encode-coding-string decoded gnus-cache-unified-group-names] 4 (#$ . 12465)])
(defalias 'gnus-cache-file-name #[(group article) "\306!\307	;\203	\202\310	!\311\307\312\313\314!\203\202O\315\316\317\320\n\f#+\321\317#\322\323\"\203C\324\211\224O\325\324\225\326OQ\321\316\320\n\f#,\327\"
\"!\"\207" [group article to from string gnus-cache-directory gnus-cache-decoded-group-name expand-file-name int-to-string file-name-as-directory nnheader-translate-file-chars gnus-use-long-file-name not-cache nnheader-replace-duplicate-chars-in-string 47 95 mm-subst-char-in-string 46 string-match ":" 0 "/" nil t] 10])
#@56 If ARTICLE is in the cache, remove it and re-enter it.
(defalias 'gnus-cache-update-article #[(group article) "\304!\210\305	\306\211\211\307%\205\306\310	\306\211\211\307&)\207" [group article gnus-use-cache gnus-newsgroup-name gnus-cache-change-buffer gnus-cache-possibly-remove-article nil t gnus-cache-possibly-enter-article] 7 (#$ . 13502)])
#@41 Possibly remove ARTICLE from the cache.
(defalias 'gnus-cache-possibly-remove-article #[(article ticked dormant unread &optional force) "	\306\n\307!\2036\310\311\312\"\203&\313\225\306O\202()	\"\211@A)\314
\"\315\f!\205\243\204T\316 !\"#$\205\243\212\317\f\320#\210\321\f!\210$Aq\210eb\210\322\323
!\324P!\204\325\326\323
!\324Qd\320#\203\207\327 \330y\210`|\210)\331	%\"\211%\204\236\332&\"\306L\210\320'\333	!\210\320,\207" [gnus-newsgroup-name article nnmail-pathname-coding-system file-name-coding-system file number nil gnus-virtual-group-p nnvirtual-find-group-art string-match "^[^:]+:" 0 gnus-cache-file-name file-exists-p gnus-cache-member-of-class gnus-cache-update-file-total-fetched-for t delete-file looking-at int-to-string "	" search-forward "\n" point-at-bol 1 delq intern gnus-summary-update-secondary-mark group gname result force gnus-cache-remove-articles ticked dormant unread gnus-cache-buffer gnus-newsgroup-cached gnus-cache-active-hashtb gnus-cache-active-altered] 6 (#$ . 13861)])
#@51 Return a sorted list of cached articles in GROUP.
(defalias 'gnus-cache-articles-in-group #[(group) "\306\307\310\"!\311	\312\f!\205G\313\314\315\316\f\311\317\320$\"\321\"\211\2034\322@\320#\210\322\323!@\"\210\202F\324
\"J\203F\325
\"\311L\210\320+\207" [group nnmail-pathname-coding-system file-name-coding-system articles dir gnus-cache-active-hashtb file-name-directory gnus-cache-file-name 1 nil file-exists-p sort mapcar #[(name) "\301!\207" [name string-to-number] 2] directory-files "^[0-9]+$" t < gnus-cache-update-active last intern-soft intern gnus-cache-active-altered] 9 (#$ . 14927)])
(defalias 'gnus-cache-braid-nov #[(group cached &optional file) "\306\307!\310\211\311 \210r\nq\210\312 \210\f\313\206\"\314\315\"!\210*eb\210\316c\210eb\210)q\210eb\210\203\213m\204O\317p!@W\203O\320y\210\202;\321 \210\nq\210\322\316\323@!\324Q\310\325#\203o\326 \310\210`\202q\310q\210	\203\202\327\n	#\210\316c\210A\211\204;\330\n!+\207" [end beg cache-buf gnus-cache-overview-coding-system nnmail-pathname-coding-system file-name-coding-system gnus-get-buffer-create " *gnus-cache*" nil gnus-cache-save-buffers erase-buffer insert-file-contents gnus-cache-file-name ".overview" "\n" read 1 beginning-of-line search-forward int-to-string "	" t point-at-bol insert-buffer-substring kill-buffer coding-system-for-read file group nntp-server-buffer cached] 5])
(defalias 'gnus-cache-braid-heads #[(group cached) "\306\307!rq\210\310 \210)	q\210eb\210\n\311\211\203\205\f@m\204<\312\313!\203<\314\224b\210\315p!W\203<\316\317\311\320#\210\202\321 \210q\210\310 \210
\322\323\"!\210*eb\210\324c\210\325\n\211A@p\"\210\326c\210\316\327\311\320#\210`d|\210\330u\210\331c\210	q\210\332!\210\fA\211\204*\333!)\207" [cache-buf nntp-server-buffer cached entry --dolist-tail-- gnus-cache-coding-system gnus-get-buffer-create " *gnus-cache*" erase-buffer nil looking-at "2.. +\\([0-9]+\\) " 1 read search-forward "\n.\n" move beginning-of-line insert-file-contents gnus-cache-file-name "220 " princ " Article retrieved.\n" "\n\n" -1 "." insert-buffer-substring kill-buffer nnmail-pathname-coding-system file-name-coding-system coding-system-for-read group] 5])
#@121 Go through all groups and put the articles into the cache.

Usage:
$ emacs -batch -l ~/.emacs -l gnus -f gnus-jog-cache
(defalias 'gnus-jog-cache #[nil "\306\307\306\211\211\211\310 \210\311 \210\312\306\313\".\207" [gnus-large-newsgroup gnus-novice-user gnus-use-dribble-file mail-sources gnus-expert-user gnus-mark-article-hook nil t gnus gnus-group-mark-buffer gnus-group-iterate #[(group) "\303\304	\303\305#\210\n\306=\205\307 \210\310 \210\311p!)\207" [gnus-auto-select-next group major-mode nil gnus-summary-read-group t gnus-summary-mode gnus-uu-mark-buffer gnus-cache-enter-article kill-buffer] 4]] 6 (#$ . 17171) nil])
#@29 Read the cache active file.
(defalias 'gnus-cache-read-active #[(&optional force) "\305!\210\306	!\203\307\310\311	!8!\204\n\203\312 \207\212\313 \210\314	!\210\315\316\317\320ed\"!\211\"\210\316\211)\207" [gnus-cache-directory gnus-cache-active-file force gnus-cache-active-hashtb gnus-cache-active-altered gnus-make-directory file-exists-p zerop 7 file-attributes gnus-cache-generate-active gnus-set-work-buffer nnheader-insert-file-contents gnus-active-to-gnus-format nil gnus-make-hashtable count-lines] 6 (#$ . 17816)])
#@45 Write the active hashtb to the active file.
(defalias 'gnus-cache-write-active #[(&optional force) "\204\f	\205\n\205\304	\305#\210\306\211\207" [force gnus-cache-active-hashtb gnus-cache-active-altered gnus-cache-active-file gnus-write-active-file t nil] 4 (#$ . 18356)])
#@147 Update active info bounds of GROUP with ACTIVE if necessary.
The update is performed if ACTIVE contains a higher or lower bound
than the current.
(defalias 'gnus-cache-possibly-update-active #[(group active) "\306\211\n\203*\307\n\"J\211\203&
@\f@W\204\310
A\fAV\204&\310)\202-\311 \210	\2038\312
@\306#\210\205A\312
A\"*\207" [higher lower gnus-cache-active-hashtb group cache-active active t intern-soft nil gnus-cache-read-active gnus-cache-update-active] 5 (#$ . 18644)])
#@103 Update the upper bound of the active info of GROUP to NUMBER.
If LOW, update the lower bound instead.
(defalias 'gnus-cache-update-active #[(group number &optional low) "\306	\"J\211\204\307	\"\211BL\210\202%\f\203!\n\240\210\202%\n\241\210\310\211)\207" [group gnus-cache-active-hashtb active number low gnus-cache-active-altered intern-soft intern t] 4 (#$ . 19144)])
#@33 Generate the cache active file.
(defalias 'gnus-cache-generate-active #[(&optional directory) "?\306\206	\n!\307\310\"	\203\311\202A\312\313\314\315\306\n!!!P\316!\"\210\316!\317\225\320O\321\322*+,\323+*,#+-\320\211./	\203W\324\325\326\"\210\327\330!0\312\331-\"\203h\332\333\334\320-$-
\203\224\312\335\336
@!\"\203\207\337\336
\211A@!!.B.\202h
\211A@/B/\202h\340.\341\"\211.\203\271\342\343-1\"A\206\254-0\".@\344.!BL\210/\3202\2113\203\3503@2\3452!\203\337\312\346\3362!\"\204\337\3472!\2103A\2113\204\304*	\205\365\350\334!\210\324\325\351\".\207" [directory top gnus-cache-directory nnmail-pathname-coding-system file-name-coding-system files expand-file-name directory-files full "" string-match "^" regexp-quote file-name-as-directory directory-file-name 0 nil 47 46 mm-subst-char-in-string gnus-message 5 "Generating the cache active file..." gnus-make-hashtable 123 "^\\(nn[^_]+\\)_" replace-match "\\1:" t "^[0-9]+$" file-name-nondirectory string-to-number sort < intern assoc gnus-last-element file-directory-p "^\\." gnus-cache-generate-active gnus-cache-write-active "Generating the cache active file...done" to from string group nums alphs gnus-cache-active-hashtb gnus-cache-unified-group-names file --dolist-tail--] 7 (#$ . 19532) nil])
#@49 Generate NOV files recursively starting in DIR.
(defalias 'gnus-cache-generate-nov-databases #[(dir) "\303 \210\304\305	!\210)\306\307 \207" [nnml-generate-active-function dir gnus-cache-total-fetched-hashtb gnus-cache-close identity nnml-generate-nov-databases-directory nil gnus-cache-open] 2 (#$ . 20857) (list gnus-cache-directory)])
#@40 Move the cache tree to somewhere else.
(defalias 'gnus-cache-move-cache #[(dir) "\302	\"\207" [gnus-cache-directory dir rename-file] 3 (#$ . 21203) "FMove the cache tree to: "])
#@142 Returns non-nil if the cache should be fully used.
If GROUP is non-nil, also cater to `gnus-cacheable-groups' and
`gnus-uncacheable-groups'.
(defalias 'gnus-cache-fully-p #[(&optional group) "\205&\304=?\205&	\204\305\207\n\203\306\n	\"\205&?\206&\306	\"?\207" [gnus-use-cache group gnus-cacheable-groups gnus-uncacheable-groups passive t string-match] 3 (#$ . 21389)])
#@229 Rename OLD-GROUP as NEW-GROUP.
Always updates the cache, even when disabled, as the old cache
files would corrupt Gnus when the cache was next enabled.  It
depends on the caller to determine whether group renaming is
supported.
(defalias 'gnus-cache-rename-group #[(old-group new-group) "\306\307\"\306	\307\"\n\310
\f\311#\210+\312	\"\210\204$\313 \210\314\"J\314	\"J\206;\315	\"L\210\315\"\316L\210\203[\211\202_\317!,\207" [old-group new-group nnmail-pathname-coding-system file-name-coding-system new-dir old-dir gnus-cache-file-name "" gnus-rename-file t gnus-cache-rename-group-total-fetched-for gnus-cache-read-active intern-soft intern nil gnus-cache-write-active gnus-cache-active-hashtb no-save old-group-hash-value new-group-hash-value delta gnus-cache-active-altered] 4 (#$ . 21778)])
#@225 Delete GROUP from the cache.
Always updates the cache, even when disabled, as the old cache
files would corrupt gnus when the cache was next enabled.
Depends upon the caller to determine whether group deletion is
supported.
(defalias 'gnus-cache-delete-group #[(group) "\306\307\"	\310!\210*\311!\210\f\f\204\312 \210\313\f\"J\314\f\"\315L\210
\2033\211\2027\316!*\207" [group nnmail-pathname-coding-system file-name-coding-system dir gnus-cache-active-hashtb no-save gnus-cache-file-name "" gnus-delete-directory gnus-cache-delete-group-total-fetched-for gnus-cache-read-active intern-soft intern nil gnus-cache-write-active group-hash-value gnus-cache-active-altered] 3 (#$ . 22627)])
(defvar gnus-cache-inhibit-update-total-fetched-for nil)
(defvar gnus-cache-need-update-total-fetched-for nil)
(defalias 'gnus-cache-with-refreshed-group '(macro . #[(group &rest body) "\302\303\304BB\305\306\307\310\311\312	\313BBFEE\207" [body group prog1 let ((gnus-cache-inhibit-update-total-fetched-for t)) when (and gnus-cache-need-update-total-fetched-for (not gnus-cache-inhibit-update-total-fetched-for)) with-current-buffer gnus-group-buffer (setq gnus-cache-need-update-total-fetched-for nil) gnus-group-update-group (t)] 10]))
(defalias 'gnus-cache-update-file-total-fetched-for #[(group file &optional subtract) "\205\223\306\307\n\"J\206\310\n\"\311\312\313\"L\314
\203+\315\316
!8\206'\313\202d\317\320\n\321\"\306\314\306$\314\211\322\211A@\211\203c\316
!\211@\204A\f\323\3158!\\\202A,\306A\211\211@\203x\f[\202y\f\\\240,\203\223	\204\223rq\210\314\324\n\306\"\210)\207" [gnus-cache-total-fetched-hashtb gnus-cache-inhibit-update-total-fetched-for group entry size file t intern-soft intern make-vector 2 0 nil 7 file-attributes directory-files gnus-cache-file-name "" 0.0 float gnus-group-update-group nnmail-pathname-coding-system file-name-coding-system files attrs gnus-cache-need-update-total-fetched-for #1=#:c subtract gnus-group-buffer] 6])
(defalias 'gnus-cache-update-overview-total-fetched-for #[(group file) "\205O\306\307\n\"J\206\310\n\"\311\312\313\"L\f\314\315\206%\316\n\317\"!8\206+\313\306\211\240-\203O	\204Orq\210\320\321\n\306\"\210)\207" [gnus-cache-total-fetched-hashtb gnus-cache-inhibit-update-total-fetched-for group entry nnmail-pathname-coding-system file-name-coding-system t intern-soft intern make-list 2 0 7 file-attributes gnus-cache-file-name ".overview" nil gnus-group-update-group file size gnus-cache-need-update-total-fetched-for #1=#:c gnus-group-buffer] 6])
#@71 Record of disk space used by OLD-GROUP now associated with NEW-GROUP.
(defalias 'gnus-cache-rename-group-total-fetched-for #[(old-group new-group) "\205\304	\"J\305\"\nL\210\305	\"\306L)\207" [gnus-cache-total-fetched-hashtb old-group entry new-group intern-soft intern nil] 3 (#$ . 25239)])
#@58 Delete record of disk space used by GROUP being deleted.
(defalias 'gnus-cache-delete-group-total-fetched-for #[(group) "\205\n\302	\"\303L\207" [gnus-cache-total-fetched-hashtb group intern nil] 3 (#$ . 25545)])
#@65 Get total disk space used by the cache for the specified GROUP.
(defalias 'gnus-cache-total-fetched-for #[(group &optional no-inhibit) "\305\232?\205.	\204\306\307!\310	\"J\211\203 \311\312\n\"\202-?\313\314\"\315\314\"\\))\207" [group gnus-cache-total-fetched-hashtb entry no-inhibit gnus-cache-inhibit-update-total-fetched-for "dummy.group" gnus-make-hashtable 1024 intern-soft apply + gnus-cache-update-overview-total-fetched-for nil gnus-cache-update-file-total-fetched-for] 5 (#$ . 25767)])
(provide 'gnus-cache)

MMCT - 2023