* 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 <simon@josefsson.org>
+
+ * 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
+ <http://permalink.gmane.org/gmane.emacs.gnus.general/65855>.
2008-04-02 Alan Mackenzie <acm@muc.de>
* 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 <simon@josefsson.org>
+
+ * 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 <simon@josefsson.org>
+
+ * 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 <rgm@gnu.org>
* message.el (mml2015-use): Declare for compiler.
(nntp-open-netcat-stream): New function.
(nntp-open-via-rlogin-and-netcat): Don't use a pty.
+2008-03-29 Sven Joachim <svenjoac@gmx.de>
+
+ * gnus-sum.el (gnus-summary-make-menu-bar): Add missing dots.
+
2008-03-29 Stefan Monnier <monnier@iro.umontreal.ca>
* message.el (message-make-in-reply-to): Use mm-with-multibyte-buffer.
["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]
(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)))
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.'.")
+
\f
;; Utility functions:
(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))))
(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))))