/[emacs]/emacs/lisp/gnus/nnagent.el
ViewVC logotype

Diff of /emacs/lisp/gnus/nnagent.el

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.2.18.2 by miles, Tue Oct 14 23:34:51 2003 UTC revision 1.2.18.3 by miles, Thu Sep 16 00:12:16 2004 UTC
# Line 1  Line 1 
1  ;;; nnagent.el --- offline backend for Gnus  ;;; nnagent.el --- offline backend for Gnus
2  ;; Copyright (C) 1997, 1998, 1999, 2000 Free Software Foundation, Inc.  
3    ;; Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002
4    ;;        Free Software Foundation, Inc.
5    
6  ;; Author: Lars Magne Ingebrigtsen <larsi@gnus.org>  ;; Author: Lars Magne Ingebrigtsen <larsi@gnus.org>
7  ;; Keywords: news, mail  ;; Keywords: news, mail
# Line 121  Line 123 
123  (deffoo nnagent-request-set-mark (group action server)  (deffoo nnagent-request-set-mark (group action server)
124    (with-temp-buffer    (with-temp-buffer
125      (insert (format "(%s-request-set-mark \"%s\" '%s \"%s\")\n"      (insert (format "(%s-request-set-mark \"%s\" '%s \"%s\")\n"
126                      (nth 0 gnus-command-method) group action                      (nth 0 gnus-command-method) group action
127                      (or server (nth 1 gnus-command-method))))                      (or server (nth 1 gnus-command-method))))
128      (append-to-file (point-min) (point-max) (gnus-agent-lib-file "flags")))      (append-to-file (point-min) (point-max) (gnus-agent-lib-file "flags")))
129    nil)    nil)
130    
131    (deffoo nnagent-retrieve-headers (articles &optional group server fetch-old)
132      (let ((file (gnus-agent-article-name ".overview" group))
133            arts n first)
134        (save-excursion
135          (gnus-agent-load-alist group)
136          (setq arts (gnus-sorted-difference
137                      articles (mapcar 'car gnus-agent-article-alist)))
138          ;; Assume that articles with smaller numbers than the first one
139          ;; Agent knows are gone.
140          (setq first (caar gnus-agent-article-alist))
141          (when first
142            (while (and arts (< (car arts) first))
143              (pop arts)))
144          (set-buffer nntp-server-buffer)
145          (erase-buffer)
146          (nnheader-insert-nov-file file (car articles))
147          (goto-char (point-min))
148          (gnus-parse-without-error
149            (while (and arts (not (eobp)))
150              (setq n (read (current-buffer)))
151              (when (> n (car arts))
152                (beginning-of-line))
153              (while (and arts (> n (car arts)))
154                (insert (format
155                         "%d\t[Undownloaded article %d]\tGnus Agent\t\t\t\n"
156                         (car arts) (car arts)))
157                (pop arts))
158              (when (and arts (= n (car arts)))
159                (pop arts))
160              (forward-line 1)))
161          (while arts
162            (insert (format
163                     "%d\t[Undownloaded article %d]\tGnus Agent\t\t\t\n"
164                     (car arts) (car arts)))
165            (pop arts))
166          (if (and fetch-old
167                   (not (numberp fetch-old)))
168              t                             ; Don't remove anything.
169            (nnheader-nov-delete-outside-range
170             (if fetch-old (max 1 (- (car articles) fetch-old))
171               (car articles))
172             (car (last articles)))
173            t)
174          'nov)))
175    
176    (deffoo nnagent-request-expire-articles (articles group &optional server force)
177      articles)
178    
179  (deffoo nnagent-request-group (group &optional server dont-check)  (deffoo nnagent-request-group (group &optional server dont-check)
180    (nnoo-parent-function 'nnagent 'nnml-request-group    (nnoo-parent-function 'nnagent 'nnml-request-group
181                      (list group (nnagent-server server) dont-check)))                          (list group (nnagent-server server) dont-check)))
182    
183  (deffoo nnagent-close-group (group &optional server)  (deffoo nnagent-close-group (group &optional server)
184    (nnoo-parent-function 'nnagent 'nnml-close-group    (nnoo-parent-function 'nnagent 'nnml-close-group
185                      (list group (nnagent-server server))))                          (list group (nnagent-server server))))
186    
187  (deffoo nnagent-request-accept-article (group &optional server last)  (deffoo nnagent-request-accept-article (group &optional server last)
188    (nnoo-parent-function 'nnagent 'nnml-request-accept-article    (nnoo-parent-function 'nnagent 'nnml-request-accept-article
189                      (list group (nnagent-server server) last)))                          (list group (nnagent-server server) last)))
190    
191  (deffoo nnagent-request-article (id &optional group server buffer)  (deffoo nnagent-request-article (id &optional group server buffer)
192    (nnoo-parent-function 'nnagent 'nnml-request-article    (nnoo-parent-function 'nnagent 'nnml-request-article
193                      (list id group (nnagent-server server) buffer)))                          (list id group (nnagent-server server) buffer)))
194    
195  (deffoo nnagent-request-create-group (group &optional server args)  (deffoo nnagent-request-create-group (group &optional server args)
196    (nnoo-parent-function 'nnagent 'nnml-request-create-group    (nnoo-parent-function 'nnagent 'nnml-request-create-group
197                      (list group (nnagent-server server) args)))                          (list group (nnagent-server server) args)))
198    
199  (deffoo nnagent-request-delete-group (group &optional force server)  (deffoo nnagent-request-delete-group (group &optional force server)
200    (nnoo-parent-function 'nnagent 'nnml-request-delete-group    (nnoo-parent-function 'nnagent 'nnml-request-delete-group
201                      (list group force (nnagent-server server))))                          (list group force (nnagent-server server))))
   
 (deffoo nnagent-request-expire-articles (articles group &optional server force)  
   (nnoo-parent-function 'nnagent 'nnml-request-expire-articles  
                     (list articles group (nnagent-server server) force)))  
202    
203  (deffoo nnagent-request-list (&optional server)  (deffoo nnagent-request-list (&optional server)
204    (nnoo-parent-function 'nnagent 'nnml-request-list    (nnoo-parent-function 'nnagent 'nnml-request-list
205                      (list (nnagent-server server))))                          (list (nnagent-server server))))
206    
207  (deffoo nnagent-request-list-newsgroups (&optional server)  (deffoo nnagent-request-list-newsgroups (&optional server)
208    (nnoo-parent-function 'nnagent 'nnml-request-list-newsgroups    (nnoo-parent-function 'nnagent 'nnml-request-list-newsgroups
209                      (list (nnagent-server server))))                          (list (nnagent-server server))))
210    
211  (deffoo nnagent-request-move-article  (deffoo nnagent-request-move-article
212      (article group server accept-form &optional last)      (article group server accept-form &optional last)
213    (nnoo-parent-function 'nnagent 'nnml-request-move-article    (nnoo-parent-function 'nnagent 'nnml-request-move-article
214                      (list article group (nnagent-server server)                          (list article group (nnagent-server server)
215                            accept-form last)))                                accept-form last)))
216    
217  (deffoo nnagent-request-rename-group (group new-name &optional server)  (deffoo nnagent-request-rename-group (group new-name &optional server)
218    (nnoo-parent-function 'nnagent 'nnml-request-rename-group    (nnoo-parent-function 'nnagent 'nnml-request-rename-group
219                      (list group new-name (nnagent-server server))))                          (list group new-name (nnagent-server server))))
220    
221  (deffoo nnagent-request-scan (&optional group server)  (deffoo nnagent-request-scan (&optional group server)
222    (nnoo-parent-function 'nnagent 'nnml-request-scan    (nnoo-parent-function 'nnagent 'nnml-request-scan
223                      (list group (nnagent-server server))))                          (list group (nnagent-server server))))
   
 (deffoo nnagent-retrieve-headers (sequence &optional group server fetch-old)  
   (nnoo-parent-function 'nnagent 'nnml-retrieve-headers  
                     (list sequence group (nnagent-server server) fetch-old)))  
224    
225  (deffoo nnagent-set-status (article name value &optional group server)  (deffoo nnagent-set-status (article name value &optional group server)
226    (nnoo-parent-function 'nnagent 'nnml-set-status    (nnoo-parent-function 'nnagent 'nnml-set-status
227                      (list article name value group (nnagent-server server))))                          (list article name value group (nnagent-server server))))
228    
229  (deffoo nnagent-server-opened (&optional server)  (deffoo nnagent-server-opened (&optional server)
230    (nnoo-parent-function 'nnagent 'nnml-server-opened    (nnoo-parent-function 'nnagent 'nnml-server-opened
# Line 192  Line 234 
234    (nnoo-parent-function 'nnagent 'nnml-status-message    (nnoo-parent-function 'nnagent 'nnml-status-message
235                          (list (nnagent-server server))))                          (list (nnagent-server server))))
236    
237    (deffoo nnagent-request-regenerate (server)
238      (nnoo-parent-function 'nnagent 'nnml-request-regenerate
239                            (list (nnagent-server server))))
240    
241  ;; Use nnml functions for just about everything.  ;; Use nnml functions for just about everything.
242  (nnoo-import nnagent  (nnoo-import nnagent
243    (nnml))    (nnml))

Legend:
Removed from v.1.2.18.2  
changed lines
  Added in v.1.2.18.3

savannah-hackers-public@gnu.org
ViewVC Help
Powered by ViewVC 1.1.26