Gnus development mailing list
 help / color / mirror / Atom feed
From: Ted Zlatanov <tzz@lifelogs.com>
To: ding@gnus.org
Subject: Re: FIXMEs in imap.el and nnimap.el
Date: Fri, 02 Jan 2009 16:19:12 -0600	[thread overview]
Message-ID: <86mye95p27.fsf@lifelogs.com> (raw)
In-Reply-To: <87wsde7t5j.fsf_-_@marauder.physik.uni-ulm.de>

[-- Attachment #1: Type: text/plain, Size: 781 bytes --]

On Thu, 01 Jan 2009 19:55:36 +0100 Reiner Steib <reinersteib+gmane@imap.cc> wrote: 

RS> On Tue, Dec 23 2008, Dave Love wrote:
>> Sorry it's conflated with some random doc/commentary changes -- I
>> should use darcs in parallel...  You might want to note or zap the
>> `fixme' comments in particular.

RS> Thanks, I've committed them with minor editing (sorry that this will
RS> cause merge conflicts for you):
RS> <http://article.gmane.org/gmane.emacs.gnus.commits/6101>

RS> Would someone take a look at the FIXMEs, please?

I don't know about the rest of them, but the easy patch, which merges
copyuid and appenduid handling, is appended below.  It's really trivial
and the code is almost exactly the same so if someone wants to try it to
verify it works, I'll commit it.

Ted


[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: copyuid+appenduid.merge.patch --]
[-- Type: text/x-diff, Size: 2844 bytes --]

Index: imap.el
===================================================================
RCS file: /usr/local/cvsroot/gnus/lisp/imap.el,v
retrieving revision 7.50
diff -c -r7.50 imap.el
*** imap.el	1 Jan 2009 18:50:34 -0000	7.50
--- imap.el	2 Jan 2009 22:14:42 -0000
***************
*** 1816,1830 ****
         (signal (car data) (cdr data))))))
  
  (defun imap-message-copyuid-1 (mailbox)
    (if (imap-capability 'UIDPLUS)
!       (list (nth 0 (imap-mailbox-get-1 'copyuid mailbox))
! 	    (string-to-number (nth 2 (imap-mailbox-get-1 'copyuid mailbox))))
      (let ((old-mailbox imap-current-mailbox)
  	  (state imap-state)
  	  (imap-message-data (make-vector 2 0)))
        (when (imap-mailbox-examine-1 mailbox)
  	(prog1
! 	    (and (imap-fetch-safe '("*" . "*:*") "UID")
  		 (list (imap-mailbox-get-1 'uidvalidity mailbox)
  		       (apply 'max (imap-message-map
  				    (lambda (uid prop) uid) 'UID))))
--- 1816,1838 ----
         (signal (car data) (cdr data))))))
  
  (defun imap-message-copyuid-1 (mailbox)
+   (imap-message-copyuid-or-appenduid-1 mailbox t))
+ 
+ (defun imap-message-appenduid-1 (mailbox)
+   (imap-message-copyuid-or-appenduid-1 mailbox nil))
+ 
+ (defun imap-message-copyuid-or-appenduid-1 (mailbox copy)
    (if (imap-capability 'UIDPLUS)
!       (if copy
! 	  (list (nth 0 (imap-mailbox-get-1 'copyuid mailbox))
! 		(string-to-number (nth 2 (imap-mailbox-get-1 'copyuid mailbox))))
! 	(imap-mailbox-get-1 'appenduid mailbox))
      (let ((old-mailbox imap-current-mailbox)
  	  (state imap-state)
  	  (imap-message-data (make-vector 2 0)))
        (when (imap-mailbox-examine-1 mailbox)
  	(prog1
! 	    (and (imap-fetch-safe '("*" "*:*") "UID")
  		 (list (imap-mailbox-get-1 'uidvalidity mailbox)
  		       (apply 'max (imap-message-map
  				    (lambda (uid prop) uid) 'UID))))
***************
*** 1860,1883 ****
  	    (or no-copyuid
  		(imap-message-copyuid-1 mailbox)))))))
  
- ;; FIXME: Amalgamate with imap-message-copyuid-1, using an extra arg, since it
- ;; shares most of the code?  -- fx
- (defun imap-message-appenduid-1 (mailbox)
-   (if (imap-capability 'UIDPLUS)
-       (imap-mailbox-get-1 'appenduid mailbox)
-     (let ((old-mailbox imap-current-mailbox)
- 	  (state imap-state)
- 	  (imap-message-data (make-vector 2 0)))
-       (when (imap-mailbox-examine-1 mailbox)
- 	(prog1
- 	    (and (imap-fetch-safe '("*" "*:*") "UID")
- 		 (list (imap-mailbox-get-1 'uidvalidity mailbox)
- 		       (apply 'max (imap-message-map
- 				    (lambda (uid prop) uid) 'UID))))
- 	  (if old-mailbox
- 	      (imap-mailbox-select old-mailbox (eq state 'examine))
- 	    (imap-mailbox-unselect)))))))
- 
  (defun imap-message-appenduid (mailbox &optional buffer)
    (with-current-buffer (or buffer (current-buffer))
      (imap-message-appenduid-1 (imap-utf7-encode mailbox))))
--- 1868,1873 ----

  reply	other threads:[~2009-01-02 22:19 UTC|newest]

Thread overview: 34+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <87iqphil5p.fsf@liv.ac.uk>
2008-12-22 22:38 ` imap.el workaround for Exchange 2007 Reiner Steib
2008-12-23 15:41   ` Dave Love
2009-01-01 18:34     ` Reiner Steib
2009-01-02 22:20       ` Ted Zlatanov
2009-01-02 22:38         ` Reiner Steib
2009-01-09 12:00       ` Simon Josefsson
2009-01-01 18:55     ` FIXMEs in imap.el and nnimap.el (was: imap.el workaround for Exchange 2007) Reiner Steib
2009-01-02 22:19       ` Ted Zlatanov [this message]
2009-01-02 22:57         ` FIXMEs in imap.el and nnimap.el Reiner Steib
2009-01-04 23:10           ` Dave Love
2009-01-07 21:07             ` Dave Love
2009-01-08 20:42               ` Reiner Steib
2009-01-07 19:25           ` Ted Zlatanov
2009-01-08 21:04             ` Reiner Steib
2009-01-13 10:40               ` Dave Love
2009-01-13 17:00                 ` IMAP and Exchange 2007 - imap-fetch-safe (was: FIXMEs in imap.el and nnimap.el) Reiner Steib
2009-01-13 17:20                   ` IMAP and Exchange 2007 - imap-fetch-safe Simon Josefsson
2009-01-17 20:58                     ` Dave Love
2009-01-28  1:18                       ` Dave Love
2009-01-31 15:27                       ` Reiner Steib
2009-02-01 15:43                         ` Bjorn Solberg
2009-02-02 14:54                           ` Dave Goldberg
2009-02-02 19:19                             ` Reiner Steib
2009-02-03 16:21                               ` Stephen J. Turnbull
2009-02-08 18:00                               ` Dave Love
2009-02-08 18:38                                 ` Dave Goldberg
2009-02-02 19:15                           ` Reiner Steib
2009-01-13 18:28                   ` Bjorn Solberg
2009-01-13 20:18                     ` Bjorn Solberg
2009-01-17 20:59                     ` Dave Love
2009-01-04 20:08       ` FIXMEs in imap.el and nnimap.el Dave Love
2009-01-05 16:13       ` Dave Love
2009-01-05 20:35         ` Conventions (was: FIXMEs in imap.el and nnimap.el) Reiner Steib
2009-01-06 11:33           ` Conventions Tassilo Horn

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=86mye95p27.fsf@lifelogs.com \
    --to=tzz@lifelogs.com \
    --cc=ding@gnus.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).