ptexinfmt.el; Fix last change
[elisp/wanderlust.git] / wl / wl-summary.el
index cb4b661..e0db0b2 100644 (file)
@@ -952,13 +952,15 @@ Entering Folder mode calls the value of `wl-summary-mode-hook'."
        (wl-summary-window-scroll-functions))
   (when wl-summary-buffer-window-scroll-functions
     (let ((hook (if wl-on-xemacs 'pre-idle-hook 'window-scroll-functions)))
-      (make-local-hook hook)
+      (if (fboundp 'make-local-hook)
+         (make-local-hook hook))
       (dolist (function wl-summary-buffer-window-scroll-functions)
        (add-hook hook function nil t)))
     (add-hook 'window-size-change-functions
              #'wl-summary-after-resize-function))
   (dolist (hook '(change-major-mode-hook kill-buffer-hook))
-    (make-local-hook hook)
+    (if (fboundp 'make-local-hook)
+       (make-local-hook hook))
     (add-hook hook #'wl-summary-buffer-detach nil t))
   ;; This hook may contain the function `wl-setup-summary' for reasons
   ;; of system internal to accord facilities for the Emacs variants.
@@ -1596,7 +1598,7 @@ If ARG is non-nil, checking is omitted."
                    (widen)
                    (y-or-n-p
                     (format
-                     "Message from %s has %d bytes.  Prefetch it? "
+                     "Message from %s has %s bytes.  Prefetch it? "
                      (concat
                       "[ "
                       (save-match-data
@@ -1612,7 +1614,10 @@ If ARG is non-nil, checking is omitted."
                              'from)
                             "??")))))
                       " ]")
-                     size))))
+                     (do ((size (/ size 1024.0) (/ size 1024.0))
+                          ;; kilo, mega, giga, tera, peta, exa
+                          (post-fixes (list "k" "M" "G" "T" "P" "E") (cdr post-fixes)))
+                         ((< size 1024) (format "%.0f%s" size (car post-fixes))))))))
            (message "")))              ; flush.
        (if force-read
            (save-excursion
@@ -4746,7 +4751,7 @@ If ARG is numeric number, decode message as following:
   (let ((number (wl-summary-message-number))
        (folder wl-summary-buffer-elmo-folder))
     (if number
-       (let ((raw (elmo-message-fetch-string 
+       (let ((raw (elmo-message-fetch-string
                    folder number
                    (elmo-find-fetch-strategy folder number)))
              (raw-buffer (get-buffer-create "*wl:raw message*"))
@@ -4774,13 +4779,10 @@ If ARG is numeric number, decode message as following:
       (setq wl-save-dir wl-temporary-file-directory))
     (if num
        (save-excursion
-         (setq filename (expand-file-name
-                         (concat (number-to-string num)
-                                 wl-summary-save-file-suffix)
-                         wl-save-dir))
+         (setq filename (concat (number-to-string num) wl-summary-save-file-suffix))
          (when (or (null arg)
                    (file-exists-p filename))
-           (setq filename (read-file-name "Save to file: " filename)))
+           (setq filename (expand-file-name (read-file-name "Save to file: " wl-save-dir nil nil filename))))
          (wl-summary-set-message-buffer-or-redisplay)
          (set-buffer (wl-message-get-original-buffer))
          (when (or arg
@@ -4980,10 +4982,7 @@ If ARG is numeric number, decode message as following:
       (unwind-protect
          (let ((decode-dir wl-temporary-file-directory))
            (if (not wl-prog-uudecode-no-stdout-option)
-               (setq filename (read-file-name "Save to file: "
-                                              (expand-file-name
-                                               (elmo-safe-filename filename)
-                                               wl-temporary-file-directory)))
+               (setq filename (expand-file-name (read-file-name "Save to file: " wl-temporary-file-directory nil nil (elmo-safe-filename))))
              (setq decode-dir
                    (wl-read-directory-name "Save to directory: "
                                            wl-temporary-file-directory))