gnus-request-head: when gnus-override-method is set, allow the backend
[gnus] / lisp / nnimap.el
index 8227bf6..b544ae8 100644 (file)
@@ -127,10 +127,10 @@ textual parts.")
   "IMAP for Gnus."
   :group 'gnus)
 
-(defcustom nnimap-request-move-articles-find-limit nil
+(defcustom nnimap-request-articles-find-limit nil
   "Limit the number of articles to look for after moving an article."
   :type 'integer
-  :version "24.2"
+  :version "24.3"
   :group 'nnimap)
 
 (defvar nnimap-process nil)
@@ -878,7 +878,7 @@ textual parts.")
                      (or (nnimap-find-uid-response "COPYUID" (cadr result))
                          (nnimap-find-article-by-message-id
                           internal-move-group server message-id
-                           nnimap-request-move-articles-find-limit)))))
+                           nnimap-request-articles-find-limit)))))
          ;; Move the article to a different method.
          (let ((result (eval accept-form)))
            (when result
@@ -1112,7 +1112,8 @@ If LIMIT, first try to limit the search to the N last articles."
              (cons group
                    (or (nnimap-find-uid-response "APPENDUID" (car result))
                        (nnimap-find-article-by-message-id
-                        group server message-id))))))))))
+                        group server message-id
+                         nnimap-request-articles-find-limit))))))))))
 
 (defun nnimap-process-quirk (greeting-match type data)
   (when (and (nnimap-greeting nnimap-object)
@@ -1751,15 +1752,24 @@ if READ-ONLY is set, send EXAMINE rather than SELECT to the server."
 (defvar nnimap-record-commands nil
   "If non-nil, log commands to the \"*imap log*\" buffer.")
 
+(defun nnimap-log-buffer ()
+  (let ((name "*imap log*"))
+    (or (get-buffer name)
+        (with-current-buffer (get-buffer-create name)
+          (when (boundp 'window-point-insertion-type)
+            (make-local-variable 'window-point-insertion-type)
+            (setq window-point-insertion-type t))
+          (current-buffer)))))
+
 (defun nnimap-log-command (command)
   (when nnimap-record-commands
-    (with-current-buffer (get-buffer-create "*imap log*")
+    (with-current-buffer (nnimap-log-buffer)
       (goto-char (point-max))
       (insert (format-time-string "%H:%M:%S")
-             " [" nnimap-address "] "
-             (if nnimap-inhibit-logging
-                 "(inhibited)\n"
-               command))))
+              " [" nnimap-address "] "
+              (if nnimap-inhibit-logging
+                  "(inhibited)\n"
+                command))))
   command)
 
 (defun nnimap-command (&rest args)
@@ -1898,15 +1908,6 @@ if READ-ONLY is set, send EXAMINE rather than SELECT to the server."
          (forward-line 1)))
       (buffer-substring (point) end))))
 
-(defun nnimap-get-responses (sequences)
-  (let (responses)
-    (dolist (sequence sequences)
-      (goto-char (point-min))
-      (when (re-search-forward (format "^%d " sequence) nil t)
-       (push (list sequence (nnimap-parse-response))
-             responses)))
-    responses))
-
 (defvar nnimap-incoming-split-list nil)
 
 (defun nnimap-fetch-inbox (articles)