*** empty log message ***
[gnus] / lisp / gnus-cache.el
index 4f33023..6ef161c 100644 (file)
@@ -28,6 +28,8 @@
 (require 'gnus-load)
 (require 'gnus-int)
 (require 'gnus-range)
+(require 'gnus-sum)
+(require 'gnus-start)
 (require 'gnus)
 
 (defvar gnus-cache-directory
@@ -100,7 +102,8 @@ variable to \"^nnml\".")
            (if (> (buffer-size) 0)
                ;; non-empty overview, write it out
                (progn
-                 (make-directory (file-name-directory overview-file) t)
+                 (unless (file-exists-p (file-name-directory overview-file))
+                   (make-directory (file-name-directory overview-file) t))
                  (write-region (point-min) (point-max)
                                overview-file nil 'quietly))
              ;; empty overview file, remove it
@@ -141,8 +144,8 @@ variable to \"^nnml\".")
                 (not (file-exists-p (setq file (gnus-cache-file-name
                                                 group number)))))
        ;; Possibly create the cache directory.
-       (or (file-exists-p (setq dir (file-name-directory file)))
-           (make-directory dir t))
+       (unless (file-exists-p (setq dir (file-name-directory file)))
+         (make-directory dir t))
        ;; Save the article in the cache.
        (if (file-exists-p file)
            t                           ; The article already is saved.
@@ -551,7 +554,8 @@ Returns the list of articles removed."
                           (symbol-name sym) (cdr (symbol-value sym))
                           (car (symbol-value sym))))))
        gnus-cache-active-hashtb)
-      (make-directory (file-name-directory gnus-cache-active-file) t)
+      (unless (file-exists-p (file-name-directory gnus-cache-active-file))
+       (make-directory (file-name-directory gnus-cache-active-file) t))
       (write-region 
        (point-min) (point-max) gnus-cache-active-file nil 'silent))
     ;; Mark the active hashtb as unaltered.