diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 9e1215ea5d6..79a74b68488 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -913,7 +913,16 @@ * simple.el (beginning-of-buffer, end-of-buffer, goto-line, undo) (copy-region-as-kill, kill-ring-save, use-region-p, mark-word) - (keyboard-escape-quit): Check region-active-p i.s.o transient-mark-mode. + (keyboard-escape-quit): Check region-active-p i.s.o + transient-mark-mode. + +2008-04-02 Simon Josefsson + + * net/imap.el (imap-enable-exchange-bug-workaround): New variable. + (imap-message-copyuid-1): Use it. + (imap-message-appenduid-1): Likewise. Based on patch by Nathan + J. Williams in + . 2008-04-02 Alan Mackenzie diff --git a/lisp/gnus/ChangeLog b/lisp/gnus/ChangeLog index 5710f01ccaa..96cc3112700 100644 --- a/lisp/gnus/ChangeLog +++ b/lisp/gnus/ChangeLog @@ -30,6 +30,20 @@ * gnus-win.el (gnus-configure-frame, gnus-all-windows-visible-p): Fix last change in case the element is not even a symbol. +2008-04-02 Simon Josefsson + + * nnimap.el (nnimap-enable-minmax-bug-workaround): Remove, replaced by + imap-enable-exchange-bug-workaround. + (nnimap-find-minmax-uid): Use imap-enable-exchange-bug-workaround. + +2008-04-01 Simon Josefsson + + * nnimap.el (nnimap-find-minmax-uid): Revert last fix, the "fix" turns + a 100 byte status-checks into a 2-3MB transfer for each group. + (nnimap-enable-minmax-bug-workaround): New variable to toggle whether + to enable bug workaround or not. + (nnimap-find-minmax-uid): Only enable workaround conditionally. + 2008-03-31 Glenn Morris * message.el (mml2015-use): Declare for compiler. @@ -46,6 +60,10 @@ (nntp-open-netcat-stream): New function. (nntp-open-via-rlogin-and-netcat): Don't use a pty. +2008-03-29 Sven Joachim + + * gnus-sum.el (gnus-summary-make-menu-bar): Add missing dots. + 2008-03-29 Stefan Monnier * message.el (message-make-in-reply-to): Use mm-with-multibyte-buffer. diff --git a/lisp/gnus/gnus-sum.el b/lisp/gnus/gnus-sum.el index 2e3b55a0c42..0d76e63bf74 100644 --- a/lisp/gnus/gnus-sum.el +++ b/lisp/gnus/gnus-sum.el @@ -2262,7 +2262,7 @@ increase the score of each group you read." ["Set mark below..." gnus-score-set-mark-below t] ["Set expunge below..." gnus-score-set-expunge-below t] ["Edit current score file" gnus-score-edit-current-scores t] - ["Edit score file" gnus-score-edit-file t] + ["Edit score file..." gnus-score-edit-file t] ["Trace score" gnus-score-find-trace t] ["Find words" gnus-score-find-favourite-words t] ["Rescore buffer" gnus-summary-rescore t] diff --git a/lisp/gnus/nnimap.el b/lisp/gnus/nnimap.el index b2d23d32a80..45f794626a6 100644 --- a/lisp/gnus/nnimap.el +++ b/lisp/gnus/nnimap.el @@ -555,7 +555,8 @@ If EXAMINE is non-nil the group is selected read-only." (imap-mailbox-select group examine)) (let (minuid maxuid) (when (> (imap-mailbox-get 'exists) 0) - (imap-fetch "1:*" "UID" nil 'nouidfetch) + (imap-fetch (if imap-enable-exchange-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))) diff --git a/lisp/net/imap.el b/lisp/net/imap.el index 399d5ec8237..9e3d0a966a9 100644 --- a/lisp/net/imap.el +++ b/lisp/net/imap.el @@ -440,6 +440,12 @@ The actual value is really the text on the continuation line.") The function should take two arguments, the first the IMAP tag and the second the status (OK, NO, BAD etc) of the command.") +(defvar imap-enable-exchange-bug-workaround nil + "Send FETCH UID commands as *:* instead of *. +Enabling this appears to be required for some servers (e.g., +Microsoft Exchange) which otherwise would trigger a response 'BAD +The specified message set is invalid.'.") + ;; Utility functions: @@ -1774,7 +1780,8 @@ is non-nil return these properties." (imap-message-data (make-vector 2 0))) (when (imap-mailbox-examine-1 mailbox) (prog1 - (and (imap-fetch "*" "UID") + (and (imap-fetch + (if imap-enable-exchange-bug-workaround "*:*" "*") "UID") (list (imap-mailbox-get-1 'uidvalidity mailbox) (apply 'max (imap-message-map (lambda (uid prop) uid) 'UID)))) @@ -1818,7 +1825,8 @@ first element, rest of list contain the saved articles' UIDs." (imap-message-data (make-vector 2 0))) (when (imap-mailbox-examine-1 mailbox) (prog1 - (and (imap-fetch "*" "UID") + (and (imap-fetch + (if imap-enable-exchange-bug-workaround "*:*" "*") "UID") (list (imap-mailbox-get-1 'uidvalidity mailbox) (apply 'max (imap-message-map (lambda (uid prop) uid) 'UID))))