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

nnimap 0.3.31 released



Bug&doc fixes.

Get it from http://www.extundo.com/gnus-imap/nnimap.tar.gz

/s

1998-09-04 11:32:57  Simon Josefsson  <jas@pdc.kth.se>

	* nnimap 0.3.31 released.

1998-09-04 11:21:06  Simon Josefsson  <jas@pdc.kth.se>

	* imap.el (imap-open-imtest-stream): Use port number.
	(imap-open-imtest-stream): Check if process is open/running.
	Sit-for 1 not to hang Emacs.

1998-09-04 11:19:06  Simon Josefsson  <jas@pdc.kth.se>

	* imap.el (imap-authenticate): Return t if imap-do-login is nil.

1998-09-03 13:03:54  Simon Josefsson  <jas@pdc.kth.se>

	* nnimap.el (nnimap-request-accept-article): Only cdr appenduid.

1998-08-31 17:25:44  Simon Josefsson  <jas@pdc.kth.se>

	* nnimap.texi (config-expunge-on-close): Fix.

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

	* nnimap.texi (using-acl): Typo.

1998-08-31 16:35:37  Simon Josefsson  <jas@pdc.kth.se>

	* nnimap.texi (using): Add expunge section.
	(using-expunge): New section

1998-08-31 16:29:05  Simon Josefsson  <jas@pdc.kth.se>

	* nnimap.texi (config-server): Add auth server variable.
	(config-expunge-on-close): New section.

1998-08-31 16:17:02  Simon Josefsson  <jas@pdc.kth.se>

	* nnimap.el (gnus-group-nnimap-expunge): Select group.

Index: nnimap/ChangeLog
diff -c nnimap/ChangeLog:1.92 nnimap/ChangeLog:1.97
*** nnimap/ChangeLog:1.92	Mon Aug 31 05:50:15 1998
--- nnimap/ChangeLog	Fri Sep  4 02:35:17 1998
***************
*** 1,3 ****
--- 1,43 ----
+ 1998-09-04 11:32:57  Simon Josefsson  <jas@pdc.kth.se>
+ 
+ 	* nnimap 0.3.31 released.
+ 
+ 1998-09-04 11:21:06  Simon Josefsson  <jas@pdc.kth.se>
+ 
+ 	* imap.el (imap-open-imtest-stream): Use port number.
+ 	(imap-open-imtest-stream): Check if process is open/running.
+ 	Sit-for 1 not to hang Emacs.
+ 
+ 1998-09-04 11:19:06  Simon Josefsson  <jas@pdc.kth.se>
+ 
+ 	* imap.el (imap-authenticate): Return t if imap-do-login is nil.
+ 
+ 1998-09-03 13:03:54  Simon Josefsson  <jas@pdc.kth.se>
+ 
+ 	* nnimap.el (nnimap-request-accept-article): Only cdr appenduid.
+ 
+ 1998-08-31 17:25:44  Simon Josefsson  <jas@pdc.kth.se>
+ 
+ 	* nnimap.texi (config-expunge-on-close): Fix.
+ 
+ 1998-08-31 16:36:42  Simon Josefsson  <jas@pdc.kth.se>
+ 
+ 	* nnimap.texi (using-acl): Typo.
+ 
+ 1998-08-31 16:35:37  Simon Josefsson  <jas@pdc.kth.se>
+ 
+ 	* nnimap.texi (using): Add expunge section.
+ 	(using-expunge): New section
+ 
+ 1998-08-31 16:29:05  Simon Josefsson  <jas@pdc.kth.se>
+ 
+ 	* nnimap.texi (config-server): Add auth server variable.
+ 	(config-expunge-on-close): New section.
+ 
+ 1998-08-31 16:17:02  Simon Josefsson  <jas@pdc.kth.se>
+ 
+ 	* nnimap.el (gnus-group-nnimap-expunge): Select group.
+ 
  1998-08-31 14:48:30  Simon Josefsson  <jas@pdc.kth.se>
  
  	* nnimap 0.3.30 released.
Index: nnimap/imap.el
diff -c nnimap/imap.el:1.38 nnimap/imap.el:1.39
*** nnimap/imap.el:1.38	Sat Aug 29 15:09:24 1998
--- nnimap/imap.el	Fri Sep  4 02:23:32 1998
***************
*** 40,46 ****
  ;;; o On expunge, remove messages from message-data. Note it doesn't
  ;;;   return UIDs.  Ouch.
  ;;; o Rename "folder" to "mailbox".
! ;;; o Use Kyle Jones base64 library instead of TM/SEMI.
  ;;; 
  
  (eval-when-compile (require 'cl))
--- 40,46 ----
  ;;; o On expunge, remove messages from message-data. Note it doesn't
  ;;;   return UIDs.  Ouch.
  ;;; o Rename "folder" to "mailbox".
! ;;; o Use pGnus's base64 if available.
  ;;; 
  
  (eval-when-compile (require 'cl))
***************
*** 365,371 ****
  		encoded))))))))
  
  (defun imap-authenticate (server &optional buffer)
!   (when imap-do-login
      (with-current-buffer (or buffer (current-buffer))
        (if imap-auth-method
  	  (funcall imap-auth-method server buffer)
--- 365,372 ----
  		encoded))))))))
  
  (defun imap-authenticate (server &optional buffer)
!   (if (not imap-do-login)
!       t
      (with-current-buffer (or buffer (current-buffer))
        (if imap-auth-method
  	  (funcall imap-auth-method server buffer)
***************
*** 639,658 ****
  
  (defun imap-open-imtest-stream (name buffer host &optional port)
    (let ((process (start-process name (or buffer (current-buffer))
!                                 "imtest" "-kp" host "imap")))
      (with-current-buffer (process-buffer process)
        (setq imap-eol "\n")
        (setq imap-do-login nil) ;; don't login even if kerberos auth fails
        (when process
  	(message "Opening Kerberized IMAP connection...")
  	;; Result of authentication is a string: __Full privacy protection__
! 	(while (not (or 
! 		     ;; if everything is ok, this will match...
! 		     (re-search-backward "__\\(.*\\)__\n" nil t)
! 		     ;; ...errors will match this
! 		     (re-search-backward 
! 		      "\\. \\([^OA][^KU][^T][^H].*\\)\r\n" nil t)))
! 	  (accept-process-output process 5)) ; Yes, this is an oo loop
  	(let ((response (match-string 1)))
  	  (erase-buffer)
  	  (message "Kerberized IMAP connection: %s" response)
--- 640,663 ----
  
  (defun imap-open-imtest-stream (name buffer host &optional port)
    (let ((process (start-process name (or buffer (current-buffer))
!                                 "imtest" "-kp" host 
! 				(number-to-string (or port 
! 						      imap-default-port)))))
      (with-current-buffer (process-buffer process)
        (setq imap-eol "\n")
        (setq imap-do-login nil) ;; don't login even if kerberos auth fails
        (when process
  	(message "Opening Kerberized IMAP connection...")
  	;; Result of authentication is a string: __Full privacy protection__
! 	(while (and (member (process-status imap-process) '(open run))
! 		    (not (or
! 			  ;; if everything is ok, this will match...
! 			  (re-search-backward "__\\(.*\\)__\n" nil t)
! 			  ;; ...errors will match this
! 			  (re-search-backward 
! 			   "\\. \\([^OA][^KU][^T][^H].*\\)\r\n" nil t))))
! 	  (accept-process-output process 1)
! 	  (sit-for 1)) ; Yes, this is an oo loop, allow for C-g
  	(let ((response (match-string 1)))
  	  (erase-buffer)
  	  (message "Kerberized IMAP connection: %s" response)
Index: nnimap/nnimap.el
diff -c nnimap/nnimap.el:1.73 nnimap/nnimap.el:1.76
*** nnimap/nnimap.el:1.73	Sat Aug 29 15:24:10 1998
--- nnimap/nnimap.el	Fri Sep  4 02:35:01 1998
***************
*** 97,103 ****
  
  (nnoo-declare nnimap) ; we derive from no one
  
! (defconst nnimap-version "nnimap 0.3.30")
  
  ;; Various server variables.
  
--- 97,103 ----
  
  (nnoo-declare nnimap) ; we derive from no one
  
! (defconst nnimap-version "nnimap 0.3.31")
  
  ;; Various server variables.
  
***************
*** 1024,1035 ****
  			  (list (concat "APPEND " group " ") 
  				(current-buffer))
  			  nnimap-server-buffer))
! 	(let ((high (cdr (if (memq 'UIDPLUS (imap-capability-get
! 					     nnimap-server-buffer))
! 			     (imap-folder-get 'appenduid nil 
! 					      nnimap-server-buffer)
! 			   (imap-folder-get 'UIDNEXT group
! 					    nnimap-server-buffer)))))
  	  (when high
  	    (cons group high)))))))
  
--- 1024,1035 ----
  			  (list (concat "APPEND " group " ") 
  				(current-buffer))
  			  nnimap-server-buffer))
! 	(let ((high (if (memq 'UIDPLUS (imap-capability-get
! 					nnimap-server-buffer))
! 			(cdr (imap-folder-get 'appenduid nil 
! 					      nnimap-server-buffer))
! 		      (imap-folder-get 'UIDNEXT group
! 				       nnimap-server-buffer))))
  	  (when high
  	    (cons group high)))))))
  
***************
*** 1161,1167 ****
        (error "Killed group; can't be edited"))
      (unless (eq 'nnimap (car (setq method (gnus-find-method-for-group group))))
        (error "Expunging only available for nnimap groups"))
!     (when (nnimap-possibly-change-server (cadr method))
        (nnimap-send-command-wait "EXPUNGE" nnimap-server-buffer))))
  
  (defun gnus-group-nnimap-edit-acl (group)
--- 1161,1167 ----
        (error "Killed group; can't be edited"))
      (unless (eq 'nnimap (car (setq method (gnus-find-method-for-group group))))
        (error "Expunging only available for nnimap groups"))
!     (when (nnimap-possibly-change-group mailbox (cadr method))
        (nnimap-send-command-wait "EXPUNGE" nnimap-server-buffer))))
  
  (defun gnus-group-nnimap-edit-acl (group)
Index: nnimap/nnimap.texi
diff -c nnimap/nnimap.texi:1.7 nnimap/nnimap.texi:1.10
*** nnimap/nnimap.texi:1.7	Sat Aug 29 09:53:47 1998
--- nnimap/nnimap.texi	Mon Aug 31 08:36:49 1998
***************
*** 7,13 ****
  @setchapternewpage odd
  @paragraphindent 0
  
! @set VERSION $Revision: 1.1 $
  @set NNIMAP-VERSION 0.3.30
  
  @ifinfo
--- 7,13 ----
  @setchapternewpage odd
  @paragraphindent 0
  
! @set VERSION $Revision: 1.1 $
  @set NNIMAP-VERSION 0.3.30
  
  @ifinfo
***************
*** 247,252 ****
--- 247,253 ----
  * config-list-method:: nnimap-list-method
  * config-list-pattern:: nnimap-list-pattern
  * config-auth-method:: nnimap-auth-method
+ * config-expunge-on-close:: nnimap-expunge-on-close
  @end menu
  @end ifinfo
  
***************
*** 327,333 ****
  @c
  @c -->
  
! @node config-auth-method, , config-list-pattern,  config-server
  @subsection @code{nnimap-auth-method}
  @cindex Authorization method
  @vindex nnimap-auth-method
--- 328,334 ----
  @c
  @c -->
  
! @node config-auth-method, config-expunge-on-close, config-list-pattern,  config-server
  @subsection @code{nnimap-auth-method}
  @cindex Authorization method
  @vindex nnimap-auth-method
***************
*** 361,366 ****
--- 362,404 ----
                  (nnimap-auth-method kerberos4))))
  @end lisp
  
+ @node config-expunge-on-close, , config-auth-method,  config-server
+ @subsection @code{nnimap-expunge-on-close}
+ @cindex Expunging
+ @cindex Closing mailboxes
+ @vindex nnimap-expunge-on-close
+ 
+ Unlike Parmenides the IMAP designers has decided that things that
+ doesn't exist actually does exist. More specifically, IMAP has this
+ concept of marking articles "Deleted" which doesn't actually delete
+ them, and this (marking them "Deleted", that is) is what nnimap does
+ when you delete a article in Gnus (with `G d' or similair).
+ 
+ Since the articles aren't really removed when we mark them with the
+ "Deleted" flag we'll need a way to actually delete them. Feel like
+ running in circles yet?
+ 
+ Traditionally, nnimap has removed all articles marked as "Deleted" when
+ closing a mailbox but this is now configurable by this server variable.
+ 
+ The possible options are:
+ 
+ @table @code
+ 
+ @item always
+ The default behaviour, delete all articles marked as "Deleted" when
+ closing a mailbox.
+ @item never
+ Never actually delete articles. Currently there is no way of showing the
+ articles marked for deletion in nnimap, but other IMAP clients may allow
+ you to do this. If you ever want to run the EXPUNGE command manually,
+ @xref{using-expunge}.
+ @item ask
+ When closing mailboxes, nnimap will ask if you wish to expunge deleted
+ articles or not.
+ @end table
+ 
+ 
  @node config-splitting, config-expiring, config-server, config
  @section Splitting Mail
  @cindex Configuring splitting
***************
*** 543,555 ****
  
  @menu
  * using-acl:: Editing ACLs
  @end menu
  
! @node using-acl, , , using
  @section Editing ACLs
  @cindex Access Control Lists
  @cindex Editing ACLs
! @kindex H l
  @findex gnus-group-edit-nnimap-acl
  
  ACL stands for Access Control List.  ACLs are used for limiting (or
--- 581,594 ----
  
  @menu
  * using-acl:: Editing ACLs
+ * using-expunge:: Manually expunging articles
  @end menu
  
! @node using-acl, using-expunge, , using
  @section Editing ACLs
  @cindex Access Control Lists
  @cindex Editing ACLs
! @kindex G l
  @findex gnus-group-edit-nnimap-acl
  
  ACL stands for Access Control List.  ACLs are used for limiting (or
***************
*** 558,564 ****
  function.
  
  To edit a group's ACL, move the cursor in the Group buffer to a nnimap
! Group and type @kbd{H l} (@code{gnus-group-edit-nnimap-acl}) to have it
  jump to the ACL editor. The instructions presented in that buffer should
  get you going.
  
--- 597,603 ----
  function.
  
  To edit a group's ACL, move the cursor in the Group buffer to a nnimap
! Group and type @kbd{G l} (@code{gnus-group-edit-nnimap-acl}) to have it
  jump to the ACL editor. The instructions presented in that buffer should
  get you going.
  
***************
*** 575,580 ****
--- 614,636 ----
  mail sent to user+mailbox@@domain ending up in the IMAP mailbox
  INBOX.mailbox).
  @end itemize
+ 
+ @node using-expunge, , using-acl, using
+ @section "Compress mailbox" 
+ @cindex Expunge
+ @cindex Manual expunging
+ @kindex G x
+ @findex gnus-group-nnimap-expunge
+ 
+ If you're using the `never' @code{nnimap-expunge-close} setting, you may
+ want the option of expunging all deleted articles in a mailbox manually
+ sometimes.
+ 
+ Jump to the group, in the group buffer, you wish to run the EXPUNGE
+ command in and type `G x', it will complain if you're not standing over
+ a nnimap group.
+ 
+ Currently there is no way of showing deleted articles.
  
  @node trix, contributors, using, Top
  @chapter Neat tricks