[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Exchange 2007 Issues When Copying Between Folders
From: |
Simon Josefsson |
Subject: |
Re: Exchange 2007 Issues When Copying Between Folders |
Date: |
Tue, 01 Apr 2008 16:29:49 +0200 |
User-agent: |
Gnus/5.110007 (No Gnus v0.7) Emacs/22.1 (gnu/linux) |
Simon Josefsson <address@hidden> writes:
> Jake Colman <address@hidden> writes:
>
>> Simon,
>>
>> Can you suggest something better to fix this problem? I'm sure that I'm
>> not the only user who will want to use Gnus with Exchange 2007. This
>> fix, incorrect though it may be, does work. Is there something other
>> IMAP command that will get data in the way Gnus needs to see it?
>
> Does the fix work? In another post you said it didn't help.
>
> We can introduce a variable nnimap-enable-exchange-bug-workaround that
> toggles the way the code works. You can set that variable, if it indeed
> solves your problem, and others can leave it at its disabled default
> value.
Here is what I propose, if 1:* really solves the problem. Please test
it, apply the patch and customize nnimap-enable-minmax-bug-workaround to
a non-nil value.
/Simon
--- nnimap.el 01 Apr 2008 16:03:24 +0200 7.44
+++ nnimap.el 01 Apr 2008 16:27:27 +0200
@@ -219,6 +219,19 @@
;; Performance / bug workaround variables
+(defcustom nnimap-enable-minmax-bug-workaround nil
+ "Send UID FETCH UID commands as 1:* instead of 1,*.
+Enabling this appears to be required for some servers (e.g.,
+Exchange) which otherwise would trigger a response 'BAD The
+specified message set is invalid.'.
+Note that enabling this work around may cause significant
+performance penalties if you have large mailboxes. It makes the
+code transfer one line of data for each message in a
+mailbox (i.e., O(n)) compared to transfering only two
+lines (i.e., O(1))."
+ :type 'boolean
+ :group 'nnimap)
+
(defcustom nnimap-close-asynchronous t
"Close mailboxes asynchronously in `nnimap-close-group'.
This means that errors caught by nnimap when closing the mailbox will
@@ -555,7 +568,8 @@
(imap-mailbox-select group examine))
(let (minuid maxuid)
(when (> (imap-mailbox-get 'exists) 0)
- (imap-fetch "1,*" "UID" nil 'nouidfetch)
+ (imap-fetch (if nnimap-enable-minmax-bug-workaround "1:*" "1,*")
+ "UID" nil 'nouidfetch)
(imap-message-map (lambda (uid Uid)
(setq minuid (if minuid (min minuid uid) uid)
maxuid (if maxuid (max maxuid uid) uid)))
Re: Exchange 2007 Issues When Copying Between Folders, Gaute Strokkenes, 2008/04/01
Re: Exchange 2007 Issues When Copying Between Folders, Ted Zlatanov, 2008/04/02