-(defun mh-ps-spool-buffer (buffer)
- "Spool BUFFER."
- (save-excursion
- (set-buffer buffer)
- (let ((ps-print-color-p mh-ps-print-color-option)
- (ps-left-header
- (list
- (concat "(" (mh-get-header-field "Subject:") ")")
- (concat "(" (mh-get-header-field "From:") ")")))
- (ps-right-header
- (list
- "/pagenumberstring load"
- (concat "(" (mh-get-header-field "Date:") ")"))))
- (funcall mh-ps-print-func))))
-
-(defun mh-ps-spool-msg (msg)
- "Spool MSG."
- (let* ((folder mh-current-folder)
- (buffer (mh-in-show-buffer (mh-show-buffer)
- (if (not (equal (mh-msg-filename msg folder)
- buffer-file-name))
- (get-buffer-create mh-temp-buffer)))))
- (unwind-protect
- (save-excursion
- (if buffer
- (let ((mh-show-buffer buffer))
- (mh-display-msg msg folder)))
- (mh-ps-spool-buffer (if buffer buffer mh-show-buffer)))
- (if buffer
- (kill-buffer buffer)))))
-
-(defun mh-ps-print-range (range file)
- "Print RANGE to FILE.
-
-This is the function that actually does the work.
-If FILE is nil, then the messages are spooled to the printer."
- (mh-iterate-on-range msg range
- (unwind-protect
- (mh-ps-spool-msg msg))
- (mh-notate msg mh-note-printed mh-cmd-note))
- (ps-despool file))
-
-(defun mh-ps-print-preprint (prefix-arg)
- "Provide a better default file name for `ps-print-preprint'.
-Pass along the PREFIX-ARG to it."
- (let ((buffer-file-name (format "mh-%s" (substring (buffer-name) 1))))
- (ps-print-preprint prefix-arg)))
-