(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]
["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)]
(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)
(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.
(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
'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
(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 ()
(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)
(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*"))
(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
(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))
(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))