X-Git-Url: http://git.chise.org/gitweb/?a=blobdiff_plain;f=wl%2Fwl-summary.el;h=e0db0b2d26c4e84bd8f0df687cfa490f046418fd;hb=refs%2Fheads%2Fmaster;hp=83998c452c7acf8b5190277b534873519b92ed9b;hpb=22b98e8265691c80573b7e52a59be0f930f4f927;p=elisp%2Fwanderlust.git diff --git a/wl/wl-summary.el b/wl/wl-summary.el index 83998c4..e0db0b2 100644 --- a/wl/wl-summary.el +++ b/wl/wl-summary.el @@ -245,6 +245,7 @@ See also variable `wl-use-petname'." (defvar wl-summary-mode-menu-spec '("Summary" ["Read" wl-summary-read t] + ["Edit draft message" wl-summary-reedit :visible (string= (wl-summary-buffer-folder-name) wl-draft-folder)] ["Prev page" wl-summary-prev-page t] ["Next page" wl-summary-next-page t] ["Top" wl-summary-display-top t] @@ -292,7 +293,8 @@ See also variable `wl-use-petname'." ["Enter the message" wl-summary-jump-to-current-message t] ["Pipe message" wl-summary-pipe-message t] ["Print message" wl-summary-print-message t] - ["View raw message" wl-summary-display-raw t]) + ["View raw message" wl-summary-display-raw t] + ) ("Thread Operation" ["Open or Close" wl-thread-open-close (eq wl-summary-buffer-view 'thread)] ["Open all" wl-thread-open-all (eq wl-summary-buffer-view 'thread)] @@ -430,6 +432,7 @@ See also variable `wl-use-petname'." (define-key wl-summary-mode-map "\C-c\C-n" 'wl-summary-next-buffer) (define-key wl-summary-mode-map "H" 'wl-summary-toggle-all-header) (define-key wl-summary-mode-map "M" 'wl-summary-toggle-mime) + (define-key wl-summary-mode-map "\C-cm" 'wl-summary-toggle-mime-buttons) (define-key wl-summary-mode-map "B" 'wl-summary-burst) (define-key wl-summary-mode-map "Z" 'wl-status-update) (define-key wl-summary-mode-map "#" 'wl-summary-print-message) @@ -949,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. @@ -1593,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 @@ -1609,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 @@ -3007,7 +3015,7 @@ The mark is decided according to the FOLDER and STATUS." (let ((inhibit-read-only t) (buffer-read-only nil)) (move-to-column wl-summary-buffer-temp-mark-column) - (delete-backward-char 1) + (delete-char -1) (insert mark))))) (defun wl-summary-next-buffer () @@ -3140,7 +3148,7 @@ Return non-nil if the mark is updated" (new-mark (wl-summary-persistent-mark number status))) (prog1 (unless (string= new-mark mark) - (delete-backward-char 1) + (delete-char -1) (insert new-mark) (wl-summary-set-message-modified) t) @@ -4743,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*")) @@ -4771,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 @@ -4977,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)) @@ -5102,6 +5104,13 @@ If ARG is numeric number, decode message as following: (wl-message-header-narrowing-toggle) (and wpos (set-window-start mwin wpos))))))) +(defun wl-summary-toggle-mime-buttons () + "Toggle visibility of mime buttons." + (interactive) + (customize-set-value 'mime-view-buttons-visible (not mime-view-buttons-visible)) + (wl-message-buffer-cache-clean-up) + (wl-summary-redisplay)) + (require 'product) (product-provide (provide 'wl-summary) (require 'wl-version))