comparison lisp/gnus/gnus-agent.el @ 110428:6060b86fc551

Merge changes made in Gnus trunk. nnimap.el (nnimap-finish-retrieve-group-infos): Return data in the nntp buffer so the agent can save it. nnimap.el (nnimap-open-shell-stream): Bind `process-connection-type' to nil, so that CRLF doesn't get translated to \n; (nnimap-open-connection): Don't make 'shell commands only send \n. nnimap.el (nnimap-request-group): Don't make `M-g' bug out on group with no marks. gnus-agent.el (gnus-agent-load-alist): Nix out the alist if the file doesn't exist. nnimap.el (nnimap-finish-retrieve-group-infos): Protect against groups that have no articles. nnimap.el (nnimap-request-article): Check that we really got an article when we requested one. gnus-html.el (gnus-html-schedule-image-fetching): Ignore all errors from url-retrieve, for instance about invalid URLs. gnus-agent.el: Change default of gnus-agent-auto-agentize-methods to nil.
author Katsumi Yamaoka <yamaoka@jpl.org>
date Sun, 19 Sep 2010 10:45:51 +0000
parents f2e111723c3a
children 33cf78a271ef
comparison
equal deleted inserted replaced
110427:1d2cc4dc816f 110428:6060b86fc551
182 When found, offer to remove them." 182 When found, offer to remove them."
183 :version "22.1" 183 :version "22.1"
184 :type 'boolean 184 :type 'boolean
185 :group 'gnus-agent) 185 :group 'gnus-agent)
186 186
187 (defcustom gnus-agent-auto-agentize-methods '(nntp) 187 (defcustom gnus-agent-auto-agentize-methods nil
188 "Initially, all servers from these methods are agentized. 188 "Initially, all servers from these methods are agentized.
189 The user may remove or add servers using the Server buffer. 189 The user may remove or add servers using the Server buffer.
190 See Info node `(gnus)Server Buffer'." 190 See Info node `(gnus)Server Buffer'."
191 :version "22.1" 191 :version "22.1"
192 :type '(repeat symbol) 192 :type '(repeat symbol)
2102 "Load the article-state alist for GROUP." 2102 "Load the article-state alist for GROUP."
2103 ;; Bind free variable that's used in `gnus-agent-read-agentview'. 2103 ;; Bind free variable that's used in `gnus-agent-read-agentview'.
2104 (let* ((gnus-agent-read-agentview group) 2104 (let* ((gnus-agent-read-agentview group)
2105 (file-name-coding-system nnmail-pathname-coding-system) 2105 (file-name-coding-system nnmail-pathname-coding-system)
2106 (agentview (gnus-agent-article-name ".agentview" group))) 2106 (agentview (gnus-agent-article-name ".agentview" group)))
2107 (when (file-exists-p agentview) 2107 (setq gnus-agent-article-alist
2108 (setq gnus-agent-article-alist 2108 (and (file-exists-p agentview)
2109 (gnus-cache-file-contents 2109 (gnus-cache-file-contents
2110 agentview 2110 agentview
2111 'gnus-agent-file-loading-cache 2111 'gnus-agent-file-loading-cache
2112 'gnus-agent-read-agentview))))) 2112 'gnus-agent-read-agentview)))))
2113 2113
2114 (defun gnus-agent-read-agentview (file) 2114 (defun gnus-agent-read-agentview (file)
2115 "Load FILE and do a `read' there." 2115 "Load FILE and do a `read' there."
2116 (with-temp-buffer 2116 (with-temp-buffer
2117 (condition-case nil 2117 (condition-case nil
2351 (let* ((gmane (or gmane (gnus-group-real-name group))) 2351 (let* ((gmane (or gmane (gnus-group-real-name group)))
2352 (gnus-command-method (or method (gnus-find-method-for-group group))) 2352 (gnus-command-method (or method (gnus-find-method-for-group group)))
2353 (local (or local (gnus-agent-load-local))) 2353 (local (or local (gnus-agent-load-local)))
2354 (symb (intern gmane local)) 2354 (symb (intern gmane local))
2355 (minmax (and (boundp symb) (symbol-value symb)))) 2355 (minmax (and (boundp symb) (symbol-value symb))))
2356
2357 (if (cond ((and minmax 2356 (if (cond ((and minmax
2358 (or (not (eq min (car minmax))) 2357 (or (not (eq min (car minmax)))
2359 (not (eq max (cdr minmax)))) 2358 (not (eq max (cdr minmax))))
2360 min 2359 min
2361 max) 2360 max)