emacs-devel
[Top][All Lists]
Advanced

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

Re: IMAP and Exchange 2007 - imap-fetch-safe


From: Bjorn Solberg
Subject: Re: IMAP and Exchange 2007 - imap-fetch-safe
Date: Sun, 01 Feb 2009 07:43:32 -0800
User-agent: Gnus/5.110007 (No Gnus v0.7) Emacs/23.0.50 (gnu/linux)

Reiner Steib writes:

> On Sat, Jan 17 2009, Dave Love wrote:
>> Simon Josefsson <address@hidden> writes:
>> 
>>> Maybe the problem is a condition-case within another condition-case
>>> work?  I recall problems related to this when run as an async process
>>> filter.
>> 
>> Yes -- signals from process filters are normally caught; I wasn't
>> thinking or looking closely enough at what the code does originally.  I
>> must have had debug-on-error set when testing, but I was sure I'd
>> actually tried it in fresh Emacs.
>> 
>>> Maybe it is possible to re-write the approach without using
>>> condition-case, that would likely be easier to debug anyway.
>> 
>> I'm not sure it would be easier, but see the comment in the patch below.
>> I made it before reading this, and at least the fix over my previous
>> code is just an extra binding.  It works for me in a fresh Emacs, and
>> isn't broken in Emacs 22.
>> 
>>> I'd prefer to avoid sending the Exchange bug-workaround approach
>>> ("1,*:*") to any server that does not need it.  I've seen servers that
>>> (internally) open up all e-mails in the folder and searches them, but
>>> for the 1,* approach was able to return data quickly.
>> 
>> Obviously that's a good reason.  Previous comments about efficiency that
>> I was referred to seemed to be about something different.
>> 
>>> This may be old information now, but generally I don't see why
>>> imap.el should send poor protocol output to all servers just
>>> because Exchange is broken.
>> 
>> [It does have workarounds for various other servers, not that I want to
>> defend Exchange in any way.  Exchange 2007 is doing horrible things like
>> messing with MIME parts, which I don't think the previous version did,
>> and I wish I could avoid it.]
>> 
>> Anyhow, per the comment in the patch, 

> +  ;; FIXME:  Maybe it would be cleaner to have a flag to not signal
> +  ;; the error (which otherwise gives a message), and test
> +  ;; `imap-failed-tags'.  Also, Other IMAP clients use other forms of
> +  ;; request which work with Exchange, e.g. Claws does "UID FETCH 1:*
> +  ;; (UID)" rather than "FETCH UID 1,*".  Is there a good reason not
> +  ;; to do the same?

>> is there a good reason -- other than simplicity? -- to use FETCH
>> rather than UID like other clients?  I'm speaking mostly in
>> ignorance of IMAP...

> Comments?  (Simon?)

>> 2009-01-17  Dave Love  <address@hidden>
>> 
>> * imap.el (imap-fetch-safe): Bind debug-on-error.
>> (imap-debug): Add imap-fetch-safe.

> Installed.

> Bjorn (and others), does the auto-detection work for you with the
> current version from CVS?

I just did a "cvs update" in trunk.  First off, I get the following
message

byte-code: Error in ~/.gnus: Please use `smtpmail.el' bundled with Emacs.

as smtpmail.el got restored in the contrib directory when I did the cvs
update.

But other than that, Gnus now starts up fine with no need to set
imap-enable-exchange-bug-workaround to t.

Thanks,

Bjorn.




reply via email to

[Prev in Thread] Current Thread [Next in Thread]