]> code.delx.au - gnu-emacs/commitdiff
Don't use MOVE on Dovecot
authorLars Magne Ingebrigtsen <larsi@gnus.org>
Mon, 14 Mar 2016 19:21:02 +0000 (20:21 +0100)
committerLars Magne Ingebrigtsen <larsi@gnus.org>
Mon, 14 Mar 2016 19:21:24 +0000 (20:21 +0100)
* lisp/gnus/nnimap.el (nnimap-request-move-article): Don't use
MOVE on Dovecot, since it's broken in many versions.
(nnimap-quirks): Mark MOVE on Dovecot as non-working.

lisp/gnus/nnimap.el

index fc9304f672b6f227e09f85ab7c401e4d08a4be19..90de1682861817e3e1f3105b9e1b2755a72972c4 100644 (file)
@@ -157,7 +157,8 @@ textual parts.")
     (forward "gnus-forward")))
 
 (defvar nnimap-quirks
-  '(("QRESYNC" "Zimbra" "QRESYNC ")))
+  '(("QRESYNC" "Zimbra" "QRESYNC ")
+    ("MOVE" "Dovecot" nil)))
 
 (defvar nnimap-inhibit-logging nil)
 
@@ -929,7 +930,8 @@ textual parts.")
       (let ((message-id (message-field-value "message-id")))
        (if internal-move-group
             (with-current-buffer (nnimap-buffer)
-              (let* ((can-move (nnimap-capability "MOVE"))
+              (let* ((can-move (and (nnimap-capability "MOVE")
+                                   (equal (nnimap-quirk "MOVE") "MOVE")))
                     (command (if can-move
                                  "UID MOVE %d %S"
                                "UID COPY %d %S"))