[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

nnimap 0.3.15 released



Bugfixes and support for the Lines: header.

I'm attaching patches.

Get it from http://vic20.dzp.se/gnus-imap/nnimap.tar.gz.

/s

1998-08-09 20:18:14  Simon Josefsson  <jas@pdc.kth.se>

	* nnimap 0.3.15 released

1998-08-09 20:02:14  Simon Josefsson  <jas@pdc.kth.se>

	* nnimap.el (nnimap-retrieve-headers): add a Lines: header from
	BODY information

1998-08-09 16:24:36  Simon Josefsson  <jas@pdc.kth.se>

	* nnimap.el (nnimap-request-update-info): gnus-message about
	what's happening

1998-08-09 16:24:03  Simon Josefsson  <jas@pdc.kth.se>

	* nnimap.el (nnimap-open-server): we support IMAP4rev1-only
	servers too

diff -u -r nnimap-0.3.14/nnimap.el nnimap-0.3.15/nnimap.el
--- nnimap-0.3.14/nnimap.el	Mon Aug  3 13:39:23 1998
+++ nnimap-0.3.15/nnimap.el	Sun Aug  9 20:17:46 1998
@@ -43,6 +43,7 @@
 
 ;;; Todo (in order of priority):
 
+;;;   o Verify that we don't use IMAP4rev1 specific things (RFC2060 App B)
 ;;;   o nnimap-request-close-group should do incremental flag setting
 ;;;     instead of first clearing all flags and setting them again. It also
 ;;;     shouldn't try to set flags at all in read-only groups.
@@ -59,9 +60,7 @@
 ;;;   o Figure out when update-info is called and why and if we need to
 ;;;     call it more often and from where.
 ;;;   o Add update-info calls? To request-group, close-group, retrieve-groups
-;;;   o Add asynchronous support with two server connections (we have
-;;;     to unset Seen marks when we do asynch fetches, which the server
-;;;     sets for us. this will be somewhat ugly...)
+;;;   o Add asynchronous support with two server connections (use BODY.PEEK)
 ;;;   o Add support for the following: (if applicable)
 
 ;;;       request-list-newsgroups, request-regenerate
@@ -78,7 +77,10 @@
 ;;;   o MIME
 ;;;   o Disconnected support (I haven't a clue about the Gnus Agent thing,
 ;;;     but IMAP has very good disconnected support)
-;;;   o Support ACL's (RFC2086)
+;;;   o Support RFC2086 (ACL editing)
+;;;   o Support RFC2221 (Login referrals)
+;;;   o Support RFC2095 (MD5 logins -- is there a MD5 library in Elisp?)
+;;;   o IMAP2BIS compatibility (RFC2061)
 ;;;   
 
 (require 'imap4rev1)
@@ -95,7 +97,7 @@
 
 (nnoo-declare nnimap) ; we derive from no one
 
-(defconst nnimap-version "nnimap 0.3.14")
+(defconst nnimap-version "nnimap 0.3.15")
 
 (defvoo nnimap-list-pattern "*" 
 "*PATTERN or list of PATTERNS use to limit available groups.  
@@ -289,6 +291,9 @@
 
 (nnoo-define-basics nnimap)
 
+;; todo:
+;; use NOV lines instead? BODY gives me everything but references
+;; remove redundant lines:/chars:
 (deffoo nnimap-retrieve-headers (articles &optional group server fetch-old)
   (when (nnimap-possibly-change-group group server)
     (with-current-buffer nntp-server-buffer (erase-buffer))
@@ -307,15 +312,27 @@
                                   (if (and fetch-old (not (numberp fetch-old)))
                                       "1:*"
                                     (nnimap-range-to-string compressed))
-                                  " (UID RFC822.HEADER RFC822.SIZE)")))
+                                  " (UID RFC822.HEADER RFC822.SIZE BODY)")))
           (mapc (lambda (num)
                   (let ((header (imap-message-get num 'RFC822.HEADER))
-			(size   (imap-message-get num 'RFC822.SIZE)))
+			(size   (imap-message-get num 'RFC822.SIZE))
+			(body   (imap-message-get num 'BODY))
+			(lines  0))
+		    (mapcar (lambda (mime-imb)
+			      (if (and (listp mime-imb)
+				       (eq (car mime-imb) "TEXT"))
+				  (let ((len (nth 7 mime-imb)))
+				    (if (numberp len)
+					(setq lines (+ lines len))))))
+			    body)
+		    (if (numberp (nth 7 body))
+			(setq lines (+ lines (nth 7 body))))
                     (with-current-buffer nntp-server-buffer
                       (if (not header)
                           (insert "423 Bad article number.\n")
                         (insert (format "221 %d Article retrieved.\n" num))
 			(insert (format "Chars: %d\n" size))
+			(insert (format "Lines: %d\n" lines))
                         (insert header)
                         (delete-char -1)
                         (insert ".\n")))))
@@ -340,10 +357,12 @@
 				      nnimap-server-buffer nnimap-imap-defs)
 		(unless (and (nnimap-ok-p (nnimap-send-command-wait 
 					   "CAPABILITY" nnimap-server-buffer))
-			     (memq 'IMAP4 (imap-capability-get
-					   nnimap-server-buffer)))
+			     (or (memq 'IMAP4 (imap-capability-get
+					       nnimap-server-buffer))
+				 (memq 'IMAP4REV1 (imap-capability-get
+						   nnimap-server-buffer))))
 		  (imap-close-server nnimap-server-buffer)
-		  (message "Sorry, this is not a IMAP4 server.")
+		  (message "Sorry, this is not a IMAP4(rev1) server.")
 		  (sit-for 2)
 		  (error))
 		;; Login
@@ -615,6 +634,8 @@
 (deffoo nnimap-request-update-info (group info &optional server)
   (when (nnimap-possibly-change-group group server) ;; SELECT
     (with-current-buffer nnimap-server-buffer
+      (gnus-message 9 "Updating active info for mailbox %s" group)
+
       ;; extend info to have parameters (otherwise when we set them, 
       ;; they don't get set)
       (or (gnus-info-params info) 
diff -u -r nnimap-0.3.14/ChangeLog nnimap-0.3.15/ChangeLog
--- nnimap-0.3.14/ChangeLog     Mon Aug  3 13:46:31 1998
+++ nnimap-0.3.15/ChangeLog     Sun Aug  9 20:18:17 1998
@@ -1,3 +1,22 @@
+1998-08-09 20:18:14  Simon Josefsson  <jas@pdc.kth.se>
+
+       * nnimap 0.3.15 released
+
+1998-08-09 20:02:14  Simon Josefsson  <jas@pdc.kth.se>
+
+       * nnimap.el (nnimap-retrieve-headers): add a Lines: header from
+       BODY information
+
+1998-08-09 16:24:36  Simon Josefsson  <jas@pdc.kth.se>
+
+       * nnimap.el (nnimap-request-update-info): gnus-message about
+       what's happening
+
+1998-08-09 16:24:03  Simon Josefsson  <jas@pdc.kth.se>
+
+       * nnimap.el (nnimap-open-server): we support IMAP4rev1-only
+       servers too
+
 1998-08-03 13:46  Simon Josefsson  <jas@pdc.kth.se>
 
        * nnimap 0.3.14 released