%PDF- <> %âãÏÓ endobj 2 0 obj <> endobj 3 0 obj <>/ExtGState<>/ProcSet[/PDF/Text/ImageB/ImageC/ImageI] >>/Annots[ 28 0 R 29 0 R] /MediaBox[ 0 0 595.5 842.25] /Contents 4 0 R/Group<>/Tabs/S>> endobj ºaâÚÎΞ-ÌE1ÍØÄ÷{òò2ÿ ÛÖ^ÔÀá TÎ{¦?§®¥kuµùÕ5sLOšuY>endobj 2 0 obj<>endobj 2 0 obj<>endobj 2 0 obj<>endobj 2 0 obj<> endobj 2 0 obj<>endobj 2 0 obj<>es 3 0 R>> endobj 2 0 obj<> ox[ 0.000000 0.000000 609.600000 935.600000]/Fi endobj 3 0 obj<> endobj 7 1 obj<>/ProcSet[/PDF/Text/ImageB/ImageC/ImageI]>>/Subtype/Form>> stream
;ELC ;;; Compiled ;;; in Emacs version 25.2.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!\210\300\302!\210\300\303!\210\304\305\306\307\310\301%\210\311\312\313\314\310\305\315\316&\210\311\305\306\317\310\305\315\320&\210\311\321\322\323\310\305\315\324&\210\311\325\306\326\310\305\315\320&\210\311\327\330\331\310\305\315\332&\210\311\333\306\334\335\336\310\305\315\337& \207" [require gnus gnus-sum nntp custom-declare-group gnus-asynchronous nil "Support for asynchronous operations." :group custom-declare-variable gnus-use-article-prefetch 30 "*If non-nil, prefetch articles in groups that allow this.\nIf a number, prefetch only that many articles forward;\nif t, prefetch as many articles as possible." :type (choice (const :tag "off" nil) (const :tag "all" t) (integer :tag "some" 0)) "*If nil, inhibit all Gnus asynchronicity.\nIf non-nil, let the other asynch variables be heeded." boolean gnus-prefetched-article-deletion-strategy '(read exit) "List of symbols that say when to remove articles from the prefetch buffer.\nPossible values in this list are `read', which means that\narticles are removed as they are read, and `exit', which means\nthat all articles belonging to a group are removed on exit\nfrom that group." (set (const read) (const exit)) gnus-use-header-prefetch "*If non-nil, prefetch the headers to the next group." gnus-async-prefetch-article-p 'gnus-async-unread-p "Function called to say whether an article should be prefetched or not.\nThe function is called with one parameter -- the article data.\nIt should return non-nil if the article is to be prefetched." function gnus-async-post-fetch-function "Function called after an article has been prefetched.\nThe function will be called narrowed to the region of the article\nthat was fetched." :version "24.1" (choice (const nil) function)] 10) (defvar gnus-async-prefetch-article-buffer " *Async Prefetch Article*") (defvar gnus-async-article-alist nil) (defvar gnus-async-article-semaphore '(nil)) (defvar gnus-async-fetch-list nil) (defvar gnus-async-hashtb nil) (defvar gnus-async-current-prefetch-group nil) (defvar gnus-async-current-prefetch-article nil) (defvar gnus-async-timer nil) (defvar gnus-async-prefetch-headers-buffer " *Async Prefetch Headers*") (defvar gnus-async-header-prefetched nil) #@74 Say whether GROUP is fetched from a server that supports asynchronicity. (defalias 'gnus-group-asynchronous-p #[(group) "\301\302!!\207" [group gnus-asynchronous-p gnus-find-method-for-group] 3 (#$ . 2639)]) #@35 Wait until SEMAPHORE is released. (defalias 'gnus-async-get-semaphore #[(semaphore) "J\301C\244G\302U?\205 \303\304!\210\202 \207" [semaphore nil 2 sleep-for 1] 2 (#$ . 2854)]) #@20 Release SEMAPHORE. (defalias 'gnus-async-release-semaphore #[(semaphore) "J\301\241\207" [semaphore nil] 2 (#$ . 3040)]) (defalias 'gnus-async-with-semaphore '(macro . #[(&rest forms) "\301\302\303BB\304BB\207" [forms unwind-protect progn (gnus-async-get-semaphore 'gnus-async-article-semaphore) ((gnus-async-release-semaphore 'gnus-async-article-semaphore))] 4])) (byte-code "\300\301\302\303#\210\300\301\304\305#\210\306\307\310\"\207" [put gnus-async-with-semaphore lisp-indent-function 0 edebug-form-spec (body) gnus-add-shutdown gnus-async-close gnus] 4) (defalias 'gnus-async-close #[nil "\211\211\205 \n;\203 \306\202 \307\n!)\203# \310\306 !\"\311 !\210)\f\211\211\2058 \n;\2035 \306\2026 \307\n!)\203G \310\306 !\"\311 !\210)\312\211\312\211\f\207" [gnus-async-prefetch-article-buffer buf buffer gnus-buffers gnus-async-prefetch-headers-buffer gnus-async-hashtb get-buffer buffer-name delete kill-buffer nil gnus-async-article-alist gnus-async-header-prefetched] 4]) (defalias 'gnus-async-set-buffer #[nil "\302\303\"\210 ?\205 \304\305!\211\207" [gnus-async-prefetch-article-buffer gnus-async-hashtb nnheader-set-temp-buffer t gnus-make-hashtable 1023] 3]) #@19 Stop prefetching. (defalias 'gnus-async-halt-prefetch #[nil "\301\211\207" [gnus-async-fetch-list nil] 2 (#$ . 4235)]) #@77 Possibly prefetch several articles starting with the article after ARTICLE. (defalias 'gnus-async-prefetch-next #[(group article summary) "\211\205 \306\307 !!)\205d \n\205d \310!\205d r\fq\210 \236>)A@@\211\205c \311\312!\204A \313#\202c \203V \3141Q \315\316!0\202U \210\202V \210\312\317\320\313&\211*\207" [summary buffer gnus-asynchronous group gnus-summary-buffer gnus-newsgroup-data buffer-live-p get-buffer gnus-group-asynchronous-p fboundp run-with-idle-timer gnus-async-prefetch-article (error) nnheader-cancel-timer gnus-async-timer 0.1 nil bdata article next] 8 (#$ . 4361)]) #@59 Possibly prefetch several articles starting with ARTICLE. (defalias 'gnus-async-prefetch-article #[(group article summary &optional next) "\211\205 \306\307 !!)\204 \310\216\311\312!\210\313\211)\207\205\314 \205\f\2031 \315\216\311\312!\210\nA)\f\316\317!\205\211\205H \306\307 !!)\205\f\203T \n\205\320\216\311\312!\210\f\204\305 \n?\313\236>)\313 !\"!\211A!\242\211 \203\301 \"\247\203\230 \321\"S\211\"!\202\232 \"\203\301 \322 @\211\"\204z \321!\203z # !\203z \nB\202z \n\237+\203\316 \n@)\205\205rq\210\313$\323 \210db\210\324 $\325$\f%\307%!&' \203 \326\327\330$\210()\331\",*\207" [summary buffer gnus-async-fetch-list gnus-asynchronous next do-message buffer-live-p get-buffer #[nil "\300\301!\207" [gnus-async-release-semaphore gnus-async-article-semaphore] 2] gnus-async-get-semaphore gnus-async-article-semaphore nil gnus-alive-p #[nil "\300\301!\207" [gnus-async-release-semaphore gnus-async-article-semaphore] 2] t gnus-group-asynchronous-p #[nil "\300\301!\207" [gnus-async-release-semaphore gnus-async-article-semaphore] 2] natnump gnus-async-prefetched-article-entry gnus-async-set-buffer point-marker gnus-make-async-article-function gnus-message 9 "Prefetching article %d in group %s" gnus-request-article do-fetch group gnus-use-article-prefetch gnus-newsgroup-data bdata article d data n gnus-async-prefetch-article-p mark gnus-async-prefetch-article-buffer nntp-server-buffer nnheader-callback-function gnus-async-current-prefetch-group gnus-async-current-prefetch-article] 7 (#$ . 4982)]) #@29 Return a callback function. (defalias 'gnus-make-async-article-function #[(group article mark summary next) "\305\306\307\310 \n\f\257E\207" [group article mark summary next lambda (arg) gnus-async-article-callback arg] 9 (#$ . 6601)]) #@62 Function called when an async article is done being fetched. (defalias 'gnus-async-article-callback #[(arg group article mark summary next) "\212\306 \203X \307 \210\212\214\nd}\210\203% \310\f!\203% \214\nd}\210\311 \f\"\210)\312\313!\2030 \313!\210\203; !\210*\314\216\315\316!\210\317\320\321\f #\"\n\322 \f \257B)\211\205f \323\324!!)\204x \325\216\315\316!\210\306\211)\202\200 \326\f\327$)\207" [gnus-async-current-prefetch-article arg mark gnus-agent group article nil gnus-async-set-buffer gnus-agent-group-covered-p gnus-agent-store-article fboundp gnus-html-prefetch-images #[nil "\300\301!\207" [gnus-async-release-semaphore gnus-async-article-semaphore] 2] gnus-async-get-semaphore gnus-async-article-semaphore intern format "%s-%d" point-max-marker buffer-live-p get-buffer #[nil "\300\301!\207" [gnus-async-release-semaphore gnus-async-article-semaphore] 2] gnus-async-prefetch-article t summary gnus-async-post-fetch-function gnus-async-hashtb gnus-async-article-alist buffer gnus-async-fetch-list next] 6 (#$ . 6846)]) #@54 Return non-nil if DATA represents an unread article. (defalias 'gnus-async-unread-p #[(data) "A@ U\207" [data gnus-unread-mark] 2 (#$ . 7916)]) #@62 See whether we have ARTICLE from GROUP and put it in BUFFER. (defalias 'gnus-async-request-fetched-article #[(group article buffer) "\247\205; \n\232\203 =\203 \306!\210\307 \"\211\205: \212\310 \210\311 \fA@\fAA@#\210\312 >\2038 \313\f!\210)\314)\207" [article group gnus-async-current-prefetch-group gnus-async-current-prefetch-article entry buffer gnus-async-wait-for-article gnus-async-prefetched-article-entry gnus-async-set-buffer copy-to-buffer read gnus-async-delete-prefetched-entry t gnus-prefetched-article-deletion-strategy] 5 (#$ . 8067)]) #@70 Wait until ARTICLE is no longer the currently-being-fetched article. (defalias 'gnus-async-wait-for-article #[(article) "\212\306 \210p ;\203 \307!\202 \310\211\f\2038 \f\211A\242\211\2038 \nA@=\203 \n@\310\211\204 \205T \311!\312>\203H \202T \313\314!!\210\315\n \"\310-p\310\316\211\205\255 \3171\225 =\205\221 T\320!\203{ \316\204g \321U\203g \322\323\324\"\210\325\202g 0\202\243 \210 \321V\203\237 \310\326\327\310\"\210\205\255 \322\323\330\"-\207" [buffer nntp-connection-alist entry process alist tries gnus-async-set-buffer get-buffer nil process-status (open run) nntp-kill-buffer process-buffer delq 0 (quit) nntp-accept-process-output 3 gnus-message 5 "Waiting for async article..." t signal quit "" nntp-have-messaged nntp-server-buffer proc article gnus-async-current-prefetch-article] 5 (#$ . 8636)]) #@37 Delete ENTRY from buffer and alist. (defalias 'gnus-async-delete-prefetched-entry #[(entry) "\3031 A@AA@|\210A@\304\211\223\210AA@\304\211\2230\202# \210\202$ \210\305\216\306\307!\210\310 \"\311@\n\")\207" [entry gnus-async-article-alist gnus-async-hashtb (error) nil #[nil "\300\301!\207" [gnus-async-release-semaphore gnus-async-article-semaphore] 2] gnus-async-get-semaphore gnus-async-article-semaphore delq unintern] 3 (#$ . 9505)]) #@66 Remove all articles belonging to GROUP from the prefetch buffer. (defalias 'gnus-async-prefetch-remove-group #[(group) "\305!\2050 \306 >\2050 \212\307 \210\n\310\211\205/ \f@\3118\232\203' \312!\210\fA\211\204 \310+\207" [group gnus-prefetched-article-deletion-strategy gnus-async-article-alist entry --dolist-tail-- gnus-group-asynchronous-p exit gnus-async-set-buffer nil 3 gnus-async-delete-prefetched-entry] 4 (#$ . 9958)]) #@66 Return the entry for ARTICLE in GROUP if it has been prefetched. (defalias 'gnus-async-prefetched-article-entry #[(group article) "\212\305 \210\306\307\310 #\n\"\236)\211\203C \fA@\fAA@U\203C \31115 \fA@\312\211\223\210\fAA@\312\211\2230\2029 \210\202: \210\313\f\"\312\202D \f)\207" [group article gnus-async-hashtb gnus-async-article-alist entry gnus-async-set-buffer intern-soft format "%s-%d" (error) nil delq] 6 (#$ . 10402)]) #@39 Prefetch the headers for group GROUP. (defalias 'gnus-async-prefetch-headers #[(group) "\212\306 \205= \n\205= \307!\205= \f<\205= \310!\211\205= \311\312 \311\"\210\313 \210p\314\315\316\304BEE\317#**\207" [unread gnus-use-header-prefetch gnus-asynchronous group gnus-async-header-prefetched gnus-async-prefetch-headers-buffer nil gnus-group-asynchronous-p gnus-list-of-unread-articles t nnheader-set-temp-buffer erase-buffer lambda (arg) setq gnus-retrieve-headers nnheader-callback-function nntp-server-buffer gnus-fetch-old-headers] 7 (#$ . 10846)]) #@41 See whether we have prefetched headers. (defalias 'gnus-async-retrieve-fetched-headers #[(articles group) "\2053 \306 !\2053 \n<\2053 \n@\232\2053 \nA\232\2053 \212\307\f\310\"\210\311 \210\312 ed#\210\313 \210\314)\310\207" [gnus-use-header-prefetch group gnus-async-header-prefetched articles gnus-async-prefetch-headers-buffer nntp-server-buffer gnus-group-asynchronous-p nnheader-set-temp-buffer t nntp-decode-text copy-to-buffer erase-buffer nil] 4 (#$ . 11421)]) (provide 'gnus-async)