]> code.delx.au - gnu-emacs/blobdiff - lisp/gnus/nnimap.el
Merge from origin/emacs-25
[gnu-emacs] / lisp / gnus / nnimap.el
index fc9304f672b6f227e09f85ab7c401e4d08a4be19..2e2ec59aa5dfd255c9b4e0d5051d86345715bcc1 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"))
@@ -995,7 +997,8 @@ textual parts.")
       (and (nnimap-change-group group server)
           (with-current-buffer (nnimap-buffer)
             (nnheader-message 7 "Expiring articles from %s: %s" group articles)
-             (let ((can-move (nnimap-capability "MOVE")))
+             (let ((can-move (and (nnimap-capability "MOVE")
+                                 (equal (nnimap-quirk "MOVE") "MOVE"))))
                (nnimap-command
                 (if can-move
                     "UID MOVE %s %S"
@@ -2066,7 +2069,8 @@ Return the server's response to the SELECT or EXAMINE command."
                                  nnmail-split-fancy))
          (nnmail-inhibit-default-split-group t)
          (groups (nnimap-get-groups))
-          (can-move (nnimap-capability "MOVE"))
+          (can-move (and (nnimap-capability "MOVE")
+                        (equal (nnimap-quirk "MOVE") "MOVE")))
          new-articles)
       (erase-buffer)
       (nnimap-command "SELECT %S" nnimap-inbox)