* gnus.el (gnus-message-archive-group): Quote value.
[gnus] / lisp / nnml.el
index 11cdfd7..b84ce51 100644 (file)
@@ -846,7 +846,9 @@ article number.  This function is called narrowed to an article."
     buffer))
 
 (defun nnml-open-nov (group)
-  (or (cdr (assoc group nnml-nov-buffer-alist))
+  (or (let ((buffer (cdr (assoc group nnml-nov-buffer-alist))))
+       (and (buffer-name buffer)
+            buffer))
       (let ((buffer (nnml-get-nov-buffer group)))
        (push (cons group buffer) nnml-nov-buffer-alist)
        buffer)))
@@ -942,22 +944,23 @@ Unless no-active is non-nil, update the active file too."
       (when (file-exists-p nov)
        (funcall nnmail-delete-file-function nov))
       (dolist (file files)
-       (unless (file-directory-p (setq file (concat dir (cdr file))))
-         (erase-buffer)
-         (nnheader-insert-file-contents file)
-         (narrow-to-region
-          (goto-char (point-min))
-          (progn
-            (re-search-forward "\n\r?\n" nil t)
-            (setq chars (- (point-max) (point)))
-            (max (point-min) (1- (point)))))
-         (unless (zerop (buffer-size))
-           (goto-char (point-min))
-           (setq headers (nnml-parse-head chars (car file)))
-           (with-current-buffer nov-buffer
-             (goto-char (point-max))
-             (nnheader-insert-nov headers)))
-         (widen)))
+       (let ((path (concat dir (cdr file))))
+         (unless (file-directory-p path)
+           (erase-buffer)
+           (nnheader-insert-file-contents path)
+           (narrow-to-region
+            (goto-char (point-min))
+            (progn
+              (re-search-forward "\n\r?\n" nil t)
+              (setq chars (- (point-max) (point)))
+              (max (point-min) (1- (point)))))
+           (unless (zerop (buffer-size))
+             (goto-char (point-min))
+             (setq headers (nnml-parse-head chars (car file)))
+             (with-current-buffer nov-buffer
+               (goto-char (point-max))
+               (nnheader-insert-nov headers)))
+           (widen))))
       (with-current-buffer nov-buffer
        (nnmail-write-region (point-min) (point-max) nov nil 'nomesg)
        (kill-buffer (current-buffer))))))
@@ -1046,7 +1049,7 @@ Use the nov database for the current group if available."
     (nnml-save-marks group server))
   nil)
 
-(deffoo nnml-request-update-info (group info &optional server)
+(deffoo nnml-request-marks (group info &optional server)
   (nnml-possibly-change-directory group server)
   (when (and (not nnml-marks-is-evil) (nnml-marks-changed-p group server))
     (nnheader-message 8 "Updating marks for %s..." group)