* wl-message.el (wl-message-buffer-cache-add): Create new buffer
authoryoichi <yoichi>
Sat, 24 May 2003 12:32:35 +0000 (12:32 +0000)
committeryoichi <yoichi>
Sat, 24 May 2003 12:32:35 +0000 (12:32 +0000)
when it hits killed buffer.

wl/ChangeLog
wl/wl-message.el

index 0c0d18c..56b5dd5 100644 (file)
@@ -1,3 +1,8 @@
+2003-05-24  Yoichi NAKAYAMA  <yoichi@geiin.org>
+
+       * wl-message.el (wl-message-buffer-cache-add): Create new buffer
+       when it hits killed buffer.
+
 2003-05-12  Yoichi NAKAYAMA  <yoichi@geiin.org>
 
        * wl-draft.el, wl-expire.el, wl-mime.el, wl-summary.el, wl-util.el
index 2355dc5..0ba6843 100644 (file)
@@ -147,9 +147,12 @@ Return its cache buffer."
        (buf nil))
     (if (< len wl-message-buffer-cache-size)
        (setq buf (wl-message-buffer-create))
-      (setq buf (wl-message-buffer-cache-buffer-get
-                (nth (1- len) wl-message-buffer-cache)))
-      (setcdr (nthcdr (- len 2) wl-message-buffer-cache) nil))
+      (let ((entry (nth (1- len) wl-message-buffer-cache)))
+       (if (buffer-live-p
+            (setq buf (wl-message-buffer-cache-buffer-get entry)))
+           (setcdr (nthcdr (- len 2) wl-message-buffer-cache) nil)
+         (setq wl-message-buffer-cache (delq entry wl-message-buffer-cache))
+         (setq buf (wl-message-buffer-create)))))
     (setq wl-message-buffer-cache
          (cons (wl-message-buffer-cache-entry-make key buf)
                wl-message-buffer-cache))