[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