;ELC   
;;; Compiled
;;; in Emacs version 29.4
;;; with all optimizations.



(byte-code "\300\301!\210\300\302!\210\303\304\305\306\307DD\310\311\312\313\314&\210\303\315\305\306\316DD\317\311\312\313\320&\210\303\321\305\306\322DD\323\311\312\313\324&\210\303\325\305\306\326DD\327\311\312\313\330&\210\303\331\305\306\332DD\333\311\312\313\334&\207" [require gnus gnus-sum custom-declare-variable gnus-cache-active-file funcall function #[0 "\301\302\"\207" [gnus-cache-directory expand-file-name "active"] 3 #1=""] "The cache active file." :group gnus-cache :type file gnus-cache-enter-articles #[0 "\300\207" [(ticked dormant)] 1 #1#] "Classes of articles to enter into the cache." (set (const ticked) (const dormant) (const unread) (const read)) gnus-cache-remove-articles #[0 "\300\207" [(read)] 1 #1#] "Classes of articles to remove from the cache." (set (const ticked) (const dormant) (const unread) (const read)) gnus-cacheable-groups #[0 "\300\207" [nil] 1 #1#] "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 #[0 "\300\207" [nil] 1 #1#] "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 (#$ . 1595))#@41 Coding system used on Gnus cache files.
(defvar gnus-cache-coding-system 'raw-text (#$ . 1705))
(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\"\210\300\305\306\"\210\300\307\306\"\207" [autoload nnml-generate-nov-databases-directory "nnml" nnvirtual-find-group-art "nnvirtual" nnselect-article-group "nnselect" nnselect-article-number] 3)#@23 Initialize the cache.
(defalias 'gnus-cache-open #[0 "\302!\204 	\205 	\303=?\205 \304 \207" [gnus-cache-directory gnus-use-cache file-exists-p passive gnus-cache-read-active] 2 (#$ . 2242)])
(byte-code "\3001\n \301\302\303\"0\207\210\304\207" [(error) gnus-add-shutdown gnus-cache-close gnus nil] 3)#@22 Shut down the cache.
(defalias 'gnus-cache-close #[0 "\301 \210\302 \210\303\211\207" [gnus-cache-active-hashtb gnus-cache-write-active gnus-cache-save-buffers nil] 2 (#$ . 2553)])
(defalias 'gnus-cache-save-buffers #[0 "\205X A\305@\306\"\307!\203O \310!\203O rq\210\311 \312V\203, 	\313!)\210\202H \314!\2038 \315!\210\3161F \317\320!!0\210\202G \210)\321@\")\210\322!\210\323\211\266\202\207" [gnus-cache-buffer gnus-cache-overview-coding-system coding-system-for-write nnmail-pathname-coding-system file-name-coding-system gnus-cache-file-name ".overview" buffer-live-p buffer-modified-p buffer-size 0 gnus-write-buffer file-exists-p delete-file (error) delete-directory file-name-directory gnus-cache-update-overview-total-fetched-for gnus-kill-buffer nil] 5])#@60 

(fn GROUP ARTICLE TICKED DORMANT UNREAD &optional FORCE)
(defalias 'gnus-cache-possibly-enter-article #[1541 "\211\204 \306=?\205`\247\205`\307V\205`\310\211\211	\311\n!\203[ \312\n!\203; rq\210\313	!\314\n!)B\202R \315\316\317\f\"\203M \n\307\225\310O\202O \n\n\"\211@\262\211A\262\210\205]\307V\205]\204| \320\n!\205]\321\f			$\205]\322\323\"\211\262!?\205]\324\325!!\210\322!\203\233 \326\202]rq\210\327\330!\210\310\211-\331\"*\210\332 \307V\203[./\333!\210\334\n\")\210\335 \262\336 \210\337\326!\262\307I\210\340@I\210\341A@I\210\342\n!\2100Aq\210db\210\343y\210\3441o?\205\345p!V0\202\210\346 \347y\210`|\210\202\203\343y\210\202\363 o\2039m\2043\350 \210\345p!W\203<\347y\210\202<\350 \210\202<\347y\210\350 \210\351!\210q\210\352\n\211B\"\210\3531\n\"1\354	!\210)\326)\266\204\207" [gnus-use-cache nnmail-pathname-coding-system file-name-coding-system gnus-summary-buffer gnus-cache-enter-articles nntp-server-buffer passive 0 nil gnus-virtual-group-p gnus-nnselect-group-p nnselect-article-group nnselect-article-number 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-head 7 6 gnus-cache-change-buffer -1 (error) read line-beginning-position 1 beginning-of-line nnheader-insert-nov gnus-cache-possibly-update-active gnus-add-to-sorted-list gnus-summary-update-secondary-mark gnus-article-decode-hook gnus-cache-coding-system coding-system-for-write gnus-cache-buffer gnus-newsgroup-cached] 15 (#$ . 3342)])#@56 Mark ARTICLE for later possible removal.

(fn ARTICLE)
(defalias 'gnus-cache-enter-remove-article #[257 "\211\205	 \211B\211\207" [gnus-cache-removable-articles] 3 (#$ . 5161)])#@49 Possibly remove some of the removable articles.
(defalias 'gnus-cache-possibly-remove-articles #[0 "\303!\204	 \304 \207	\305\203[ \306!\203, r\nq\210\211A\262\242\307!\310!)B\262\202G \311\312\313\"\203= \211\314\225\305O\202> \211\262\211A\262\242\"\211\262\203 \211AC@\304 *\210\202 \266\305\211\207" [gnus-newsgroup-name gnus-cache-removable-articles gnus-summary-buffer gnus-virtual-group-p gnus-cache-possibly-remove-articles-1 nil gnus-nnselect-group-p nnselect-article-group nnselect-article-number nnvirtual-find-group-art string-match "^[^:]+:" 0] 7 (#$ . 5346)])#@49 Possibly remove some of the removable articles.
(defalias 'gnus-cache-possibly-remove-articles-1 #[0 "\306!\2057 	\307!\210\n\211\2033 \211@\211>\203, \310\211>\f>>\206* \n>$\210A\266\202\202\f \266\311 \207" [gnus-newsgroup-name gnus-newsgroup-cached gnus-cache-removable-articles gnus-newsgroup-marked gnus-newsgroup-dormant gnus-newsgroup-unreads gnus-cache-fully-p gnus-cache-change-buffer gnus-cache-possibly-remove-article gnus-cache-save-buffers gnus-newsgroup-unselected] 9 (#$ . 5946)])#@63 Retrieve ARTICLE in GROUP from the cache.

(fn ARTICLE GROUP)
(defalias 'gnus-cache-request-article #[514 "\305\"\306\307!\205 \310 \210\311 \210\312!)\210\313*\207" [nnmail-pathname-coding-system file-name-coding-system buffer-read-only gnus-cache-coding-system coding-system-for-read gnus-cache-file-name nil file-exists-p erase-buffer gnus-kill-all-overlays insert-file-contents t] 5 (#$ . 6459)])#@90 Alter the ACTIVE info for GROUP to reflect the articles in the cache.

(fn GROUP ACTIVE)
(defalias 'gnus-cache-possibly-alter-active #[514 "\205' \301\"\211\205% \211@@W\203 @\240\210\211AAV\205% A\241\262\207" [gnus-cache-active-hashtb gethash] 5 (#$ . 6875)])#@86 Retrieve the headers for ARTICLES in GROUP.

(fn ARTICLES GROUP &optional FETCH-OLD)
(defalias 'gnus-cache-retrieve-headers #[770 "\306!\211\211\204 \307\310#)\207\311\"\312\313\"\307\n\307\2031 \205/ \310#\262)\314 \210\212\315!\204@ \211\202n \211\316\267\202b \fq\210\317 \210\320!)\210\321\202n \322\"\210\211\202n \323\324\n\"\"\210\211*\207" [gnus-newsgroup-cached gnus-use-cache nnmail-pathname-coding-system file-name-coding-system nntp-server-buffer gnus-cache-overview-coding-system gnus-cache-articles-in-group nil gnus-retrieve-headers gnus-sorted-difference gnus-cache-file-name ".overview" gnus-cache-save-buffers file-exists-p #s(hash-table size 2 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (nil 70 nov 88)) erase-buffer insert-file-contents nov gnus-cache-braid-nov gnus-cache-braid-heads gnus-sorted-intersection coding-system-for-read] 12 (#$ . 7153)])#@163 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.

(fn &optional N)
(defalias 'gnus-cache-enter-article #[256 "\302\303!\211\203B \211@\304!\210\305!\203- \306\302\211\211\307&\2033 \310	\"\211B\262\2023 \311\312\313#\210\314!\210\315!\210A\266\202\202 \210\316\317!\210\320 \210\211\237\207" [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] 11 (#$ . 8085) ["P" (gnus-summary-mode)]])#@164 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.

(fn &optional N)
(defalias 'gnus-cache-remove-article #[256 "\303!\210\304\305!\211\203E \211@\306!\210\307\304\211\211\310%\2036 	\2031 \311!\312\"A\2040 \313\n\"\210\211B\262\314!\210\315!\210A\266\202\202 \210\316\317!\210\320 \210\211\237\207" [gnus-newsgroup-name gnus-newsgroup-agentized gnus-newsgroup-undownloaded 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] 10 (#$ . 8864) ["P" (gnus-summary-mode)]])#@67 Say whether ARTICLE is cached in the current group.

(fn ARTICLE)
(defalias 'gnus-cached-article-p #[257 "\211>\207" [gnus-newsgroup-cached] 3 (#$ . 9699)])#@72 Insert all the articles cached for this group into the current buffer.
(defalias 'gnus-summary-insert-cached-articles #[0 "\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 (#$ . 9862) [nil (gnus-summary-mode)]])#@55 Limit the summary buffer to articles that are cached.
(defalias 'gnus-summary-limit-include-cached #[0 "\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 (#$ . 10254) [nil (gnus-summary-mode)]])#@14 

(fn GROUP)
(defalias 'gnus-cache-change-buffer #[257 "\203 \211@\230\204 \303 \210?\2054 \212\211\304\305!qB\306 \210\307\310\"	\311!\203. \312!\210)\210\313\314!)\207" [gnus-cache-buffer nnmail-pathname-coding-system file-name-coding-system 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] 4 (#$ . 10599)])#@36 

(fn CLASS TICKED DORMANT UNREAD)
(defalias 'gnus-cache-member-of-class #[1028 "\203\n \300>\2060 \203 \301>\2060 \211\203 \302>\2060 \211?\2050 ?\2050 ?\2050 \303>\207" [ticked dormant unread read] 6 (#$ . 11064)])#@22 

(fn GROUP ARTICLE)
(defalias 'gnus-cache-file-name #[514 "\301;\203\n \202 \302!\303\301\304\305\306!\203 \202K \307\310\311\312#\266\203\313\311#\314\315\"\203? \211\316\211\224O\317\316\225\320OQ\262\211\313\310\312#\266\203\262\321\"\"!\"\207" [gnus-cache-directory 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 subst-char-in-string 46 string-match ":" 0 "/" nil t] 15 (#$ . 11296)])#@76 If ARTICLE is in the cache, remove it and re-enter it.

(fn GROUP ARTICLE)
(defalias 'gnus-cache-update-article #[514 "\302!\210\303\304\211\211\305%\205 \304\306	\304\211\211\305&)\207" [gnus-use-cache gnus-newsgroup-name gnus-cache-change-buffer gnus-cache-possibly-remove-article nil t gnus-cache-possibly-enter-article] 9 (#$ . 11831)])#@93 Possibly remove ARTICLE from the cache.

(fn ARTICLE TICKED DORMANT UNREAD &optional FORCE)
(defalias 'gnus-cache-possibly-remove-article #[1284 "\306	\307!\203? \310!\203\" rq\210\311!\312	!)B\2026 \313\314\315\"\2032 \316\225\306O\2023 	\"\211@\262\211A\262\210\317\"\262\320!\205\250 \204[ \321\f$\205\250 \212\322\323#\210\324!\210Aq\210eb\210\325\326!\327P!\204\204 \330\331\326!\327Qd\323#\203\214 \332 \333y\210`|\210)\334\"\211\204\242 \335 \"\210\323!\336!\210\323)\207" [gnus-newsgroup-name nnmail-pathname-coding-system file-name-coding-system gnus-summary-buffer gnus-cache-remove-articles gnus-cache-buffer nil gnus-virtual-group-p gnus-nnselect-group-p nnselect-article-group nnselect-article-number 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" line-beginning-position 1 delq remhash gnus-summary-update-secondary-mark gnus-newsgroup-cached gnus-cache-active-hashtb gnus-cache-active-altered] 13 (#$ . 12183)])#@63 Return a sorted list of cached articles in GROUP.

(fn GROUP)
(defalias 'gnus-cache-articles-in-group #[257 "\304\305\306\"!\307\310!\205B \311\312\313\314\307\315\316$\"\317\"\262\211\2033 \320@\316#\210\320\321!@\"\210\202A \322\n\"\203A \323\n\"\210\316\211)\207" [nnmail-pathname-coding-system file-name-coding-system gnus-cache-active-hashtb gnus-cache-active-altered file-name-directory gnus-cache-file-name 1 nil file-exists-p sort mapcar #[257 "\300!\207" [string-to-number] 3 "\n\n(fn NAME)"] directory-files "\\`[0-9]+\\'" t < gnus-cache-update-active last gethash remhash] 11 (#$ . 13327)])#@36 

(fn GROUP CACHED &optional FILE)
(defalias 'gnus-cache-braid-nov #[770 "\305\306!\307\211\310 \210rq\210\311 \210	\312\206 \313\314\"!*\210eb\210\315c\210eb)\210\fq\210eb\210\203\203 m\204G \316p!@W\203G \317y\210\2024 \320 \210q\210\321\315\322@!\323Q\307\324#\203i \325 \262\307\210`\262\202l \307\262\fq\210\203| \326#\210\315c\210A\262\2020 \327!\207" [gnus-cache-overview-coding-system nnmail-pathname-coding-system file-name-coding-system coding-system-for-read nntp-server-buffer 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 line-beginning-position insert-buffer-substring kill-buffer] 10 (#$ . 13948)])#@21 

(fn GROUP CACHED)
(defalias 'gnus-cache-braid-heads #[514 "\305\306!r\211q\210\307 )\210q\210eb\210\211\203~ \211@m\2047 \310\311!\2037 \312\224b\210\313p!W\2037 \314\315\316\317#\210\202 \320 \210q\210\307 \210	\n\321\322\"!*\210eb\210\323c\210\324\211A\262\242p\"\210\325c\210\314\326\316\317#\210`d|\210\327u\210\330c\210q\210\331!\210A\266\202\202 \210\332!\207" [nntp-server-buffer gnus-cache-coding-system nnmail-pathname-coding-system file-name-coding-system coding-system-for-read gnus-get-buffer-create " *gnus-cache*" erase-buffer looking-at "2.. +\\([0-9]+\\) " 1 read search-forward "\n.\n" nil move beginning-of-line insert-file-contents gnus-cache-file-name "220 " princ " Article retrieved.\n" "\n\n" -1 "." insert-buffer-substring kill-buffer] 9 (#$ . 14744)])#@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 #[0 "\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 #[257 "\302\303\302\304#\210	\305=\205 \306 \210\307 \210\310p!)\207" [gnus-auto-select-next major-mode nil gnus-summary-read-group t gnus-summary-mode gnus-uu-mark-buffer gnus-cache-enter-article kill-buffer] 5 "\n\n(fn GROUP)"]] 6 (#$ . 15546) nil])#@51 Read the cache active file.

(fn &optional FORCE)
(defalias 'gnus-cache-read-active #[256 "\304!\210\305	!\203 \306	!\3078\262\310U\204 \211\203 \311 \207\212\312 \210\313	!\210\314\315\316ed\"\317\320\2063 \321\322\323$\262\211\"\210\315\211)\207" [gnus-cache-directory gnus-cache-active-file gnus-cache-active-hashtb gnus-cache-active-altered gnus-make-directory file-exists-p file-attributes 7 0 gnus-cache-generate-active gnus-set-work-buffer nnheader-insert-file-contents gnus-active-to-gnus-format nil count-lines make-hash-table :size 300 :test equal] 9 (#$ . 16194)])#@67 Write the active hashtb to the active file.

(fn &optional FORCE)
(defalias 'gnus-cache-write-active #[256 "\211\204\f \205 	\205 \303\n\304#\210\305\211\207" [gnus-cache-active-hashtb gnus-cache-active-altered gnus-cache-active-file gnus-write-active-file t nil] 5 (#$ . 16785)])#@166 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.

(fn GROUP ACTIVE)
(defalias 'gnus-cache-possibly-update-active #[514 "\301\211\203( \302\"\211\203$ @@W\204 \303\262AAV\204$ \303\262\210\202+ \304 \210\2036 \305@\301#\210\211\205? \305A\"\207" [gnus-cache-active-hashtb t gethash nil gnus-cache-read-active gnus-cache-update-active] 8 (#$ . 17077)])#@136 Update the upper bound of the active info of GROUP to NUMBER.
If LOW, update the lower bound instead.

(fn GROUP NUMBER &optional LOW)
(defalias 'gnus-cache-update-active #[770 "\302\"\211\204 \303\211B#\210\202\" \203 \211\240\210\202\" \211\241\210\304\211\207" [gnus-cache-active-hashtb gnus-cache-active-altered gethash puthash t] 8 (#$ . 17546)])#@59 Generate the cache active file.

(fn &optional DIRECTORY)
(defalias 'gnus-cache-generate-active #[256 "\211?\304\206 !	\305\306\"\203 \307\2026 \310\311\312\313\304!!!P\314!\"\210\314!\315\225\316O\317\320\321#\266\203\316\211\203O \322\323\324\"\210\325\326\327\206I \330\331\332$\262\310\333\"\203_ \334\335\336\316$\262\203\214 \310\337\340@!\"\203 \341\340\211A\262\242!!B\262\202_ \211A\262\242B\262\202_ \342\343\"\211\262\203\242 \344@\345!@B#\210\211\211\203\303 \211@\346!\203\274 \310\347\340!\"\204\274 \350!\210A\266\202\202\243 \210\205\320 \351\336!\210\322\323\352\")\207" [gnus-cache-directory nnmail-pathname-coding-system file-name-coding-system gnus-cache-active-hashtb expand-file-name directory-files full "" string-match "^" regexp-quote file-name-as-directory directory-file-name 0 nil 47 46 subst-char-in-string gnus-message 5 "Generating the cache active file..." 123 make-hash-table :size 300 :test equal "^\\(nn[^_]+\\)_" replace-match "\\1:" t "^[0-9]+$" file-name-nondirectory string-to-number sort < puthash last file-directory-p "^\\." gnus-cache-generate-active gnus-cache-write-active "Generating the cache active file...done"] 13 (#$ . 17914) nil])#@59 Generate NOV files recursively starting in DIR.

(fn DIR)
(defalias 'gnus-cache-generate-nov-databases #[257 "\302 \210\303\304!)\210\305\306 \207" [nnml-generate-active-function gnus-cache-total-fetched-hashtb gnus-cache-close identity nnml-generate-nov-databases-directory nil gnus-cache-open] 3 (#$ . 19146) (list gnus-cache-directory)])#@50 Move the cache tree to somewhere else.

(fn DIR)
(defalias 'gnus-cache-move-cache #[257 "\301\"\207" [gnus-cache-directory rename-file] 4 (#$ . 19495) "FMove the cache tree to: "])#@163 Return non-nil if the cache should be fully used.
If GROUP is non-nil, also cater to `gnus-cacheable-groups' and
`gnus-uncacheable-groups'.

(fn &optional GROUP)
(defalias 'gnus-cache-fully-p #[256 "\205& \303=?\205& \211\204 \304\207	\203 \305	\"\205& \n?\206& \305\n\"?\207" [gnus-use-cache gnus-cacheable-groups gnus-uncacheable-groups passive t string-match] 4 (#$ . 19684)])#@255 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.

(fn OLD-GROUP NEW-GROUP)
(defalias 'gnus-cache-rename-group #[514 "\304\305\"\304\305\"\306\307#)\266\310\"\210\n\211\204 \311 \210\312\n\"\312\n\"\206, \211\313\n#\210\313\314\n#\210\203A \211\211\207\315!\207" [nnmail-pathname-coding-system file-name-coding-system gnus-cache-active-hashtb gnus-cache-active-altered gnus-cache-file-name "" gnus-rename-file t gnus-cache-rename-group-total-fetched-for gnus-cache-read-active gethash puthash nil gnus-cache-write-active] 10 (#$ . 20076)])#@237 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.

(fn GROUP)
(defalias 'gnus-cache-delete-group #[257 "\304\305\"\306!)\266\307!\210\n\211\204 \310 \210\311\n\"\312\n\"\210\203) \211\211\207\313!\207" [nnmail-pathname-coding-system file-name-coding-system gnus-cache-active-hashtb gnus-cache-active-altered gnus-cache-file-name "" gnus-delete-directory gnus-cache-delete-group-total-fetched-for gnus-cache-read-active gethash remhash gnus-cache-write-active] 6 (#$ . 20820)])
(defvar gnus-cache-inhibit-update-total-fetched-for nil)
(defvar gnus-cache-need-update-total-fetched-for nil)#@25 

(fn GROUP &rest BODY)
(defalias 'gnus-cache-with-refreshed-group '(macro . #[385 "\300\301\302BB\303\304\305\306\307\310	\311BBFEE\207" [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)] 12 (#$ . 21599)]))#@38 

(fn GROUP FILE &optional SUBTRACT)
(defalias 'gnus-cache-update-file-total-fetched-for #[770 "\205\223 \306\307\"\206 \310\311\312\313\"#\314\203+ \315!\3168\262\206& \313\262\202g \n\317\320\321\"\306\314\306$\314\211\322\262\211A\262\242\211\262\203d \315!\262\211\211@\262\204< \323\3168\262!\\\262\202< )\266\306A\211@\203w [\202x \\\240\262\266\202)\f\203\223 	\204\223 rq\210\314\324\306\")\210\207" [gnus-cache-total-fetched-hashtb gnus-cache-inhibit-update-total-fetched-for nnmail-pathname-coding-system file-name-coding-system gnus-cache-need-update-total-fetched-for gnus-group-buffer t gethash puthash make-vector 2 0 nil file-attributes 7 directory-files gnus-cache-file-name "" 0.0 float gnus-group-update-group] 13 (#$ . 22045)])#@19 

(fn GROUP FILE)
(defalias 'gnus-cache-update-overview-total-fetched-for #[514 "\205G \306\307\"\206 \310\311\312\313\"#\n\314\206  \315\316\"!\3178\262\206* \313\306\240)\266\202)\f\203G 	\204G rq\210\320\321\306\")\210\207" [gnus-cache-total-fetched-hashtb gnus-cache-inhibit-update-total-fetched-for nnmail-pathname-coding-system file-name-coding-system gnus-cache-need-update-total-fetched-for gnus-group-buffer t gethash puthash make-list 2 0 file-attributes gnus-cache-file-name ".overview" 7 nil gnus-group-update-group] 7 (#$ . 22835)])#@97 Record of disk space used by OLD-GROUP now associated with NEW-GROUP.

(fn OLD-GROUP NEW-GROUP)
(defalias 'gnus-cache-rename-group-total-fetched-for #[514 "\205 \301\"\302#\210\303\"\262\207" [gnus-cache-total-fetched-hashtb gethash puthash remhash] 7 (#$ . 23404)])#@70 Delete record of disk space used by GROUP being deleted.

(fn GROUP)
(defalias 'gnus-cache-delete-group-total-fetched-for #[257 "\205 \301\"\207" [gnus-cache-total-fetched-hashtb remhash] 4 (#$ . 23686)])#@98 Get total disk space used by the cache for the specified GROUP.

(fn GROUP &optional NO-INHIBIT)
(defalias 'gnus-cache-total-fetched-for #[513 "\302\232?\2057 \204 \303\304\305\206 \306\307\310$\262\311\"\211\203( \312\313\"\2025 ?\314\315\"\316\315\"\\)\262\207" [gnus-cache-total-fetched-hashtb gnus-cache-inhibit-update-total-fetched-for "dummy.group" 1000 make-hash-table :size 300 :test equal gethash apply + gnus-cache-update-overview-total-fetched-for nil gnus-cache-update-file-total-fetched-for] 8 (#$ . 23900)])
(provide 'gnus-cache)
