X-Git-Url: http://git.chise.org/gitweb/?a=blobdiff_plain;f=wl%2Fwl-message.el;h=1611a3711ceabfbc93fd4647f4ed4043b5af3b0c;hb=6444631eeac4bef1933e27202080f62ac536aada;hp=dd91c8653d76c654d319b2f29a31d56b3f430d5c;hpb=58eed29a09573026d2997a6facd9bb5049d4e301;p=elisp%2Fwanderlust.git diff --git a/wl/wl-message.el b/wl/wl-message.el index dd91c86..1611a37 100644 --- a/wl/wl-message.el +++ b/wl/wl-message.el @@ -28,6 +28,7 @@ ;;; Code: ;; +(eval-when-compile (require 'cl)) (require 'wl-vars) (require 'wl-highlight) @@ -443,6 +444,9 @@ Returns non-nil if bottom of message." (defun wl-message-display-all-header-p (display-type) (eq (wl-message-display-type-property display-type :header) 'all)) +(defun wl-message-display-no-merge-p (display-type) + (eq (wl-message-display-type-property display-type :mime) 'no-merge)) + (defun wl-message-buffer-display-type (&optional message-buffer) (if message-buffer (with-current-buffer message-buffer @@ -553,19 +557,24 @@ Returns non-nil if bottom of message." (setq redisplay t)) (when (or force-reload redisplay) (condition-case err - (save-excursion - (set-buffer hit) + (with-current-buffer hit (when (or force-reload (null entity) (not (elmo-mime-entity-display-p entity (if (wl-message-mime-analysis-p display-type) 'mime - 'as-is)))) + 'as-is))) + (if (wl-message-display-no-merge-p display-type) + (elmo-mime-entity-reassembled-p entity) + (elmo-mime-entity-fragment-p entity))) (setq entity (elmo-message-mime-entity folder number (wl-message-get-original-buffer) + (and wl-message-auto-reassemble-message/partial + (not (wl-message-display-no-merge-p + display-type))) force-reload unread (not (wl-message-mime-analysis-p display-type))))) @@ -683,7 +692,7 @@ Returns non-nil if bottom of message." &optional summary charset) (let* ((summary (or summary (get-buffer wl-summary-buffer-name))) (num number)) - (when (and count + (when (and (> count 0) (wl-message-buffer-prefetch-p folder)) (unless (wl-message-buffer-prefetch-p folder number) (setq num @@ -697,7 +706,7 @@ Returns non-nil if bottom of message." &optional summary charset) (let* ((summary (or summary (get-buffer wl-summary-buffer-name))) next) - (when (and count + (when (and (> count 0) (wl-message-buffer-prefetch-p folder)) (setq next (wl-message-buffer-prefetch-get-next folder number summary)) (when next