aboutsummaryrefslogtreecommitdiffstats
path: root/lisp
diff options
context:
space:
mode:
authorRichard M. Stallman <[email protected]>1994-09-19 05:03:02 +0000
committerRichard M. Stallman <[email protected]>1994-09-19 05:03:02 +0000
commitaa138cb4197b06a94f26c01131dd2574347f37bc (patch)
tree83ae80878e94aa109e93fc7a39d8370a90bc7f9a /lisp
parent61029318d24c6102ac394e55f46f24d7bb378d6e (diff)
(rmail-summary-construct-io-menu): New function.
(rmail-new-summary): Call rmail-summary-construct-io-menu. (rmail-summary-mode-map): New menu items 'Input Rmail File' and 'Output Rmail File'. (rmail-summary-output-to-rmail-file): New arg 'file-name'. If it non-nil, call rmail-output-to-rmail-file.
Diffstat (limited to 'lisp')
-rw-r--r--lisp/mail/rmailsum.el28
1 files changed, 26 insertions, 2 deletions
diff --git a/lisp/mail/rmailsum.el b/lisp/mail/rmailsum.el
index 46ea888fe0..cf9d6bbd20 100644
--- a/lisp/mail/rmailsum.el
+++ b/lisp/mail/rmailsum.el
@@ -674,6 +674,12 @@ Commands for sorting the summary:
(define-key rmail-summary-mode-map [menu-bar classify input-menu]
'("Input Rmail file (menu)..." . rmail-input-menu))
+(define-key rmail-summary-mode-map [menu-bar classify input-menu]
+ '(nil))
+
+(define-key rmail-summary-mode-map [menu-bar classify output-menu]
+ '(nil))
+
(define-key rmail-summary-mode-map [menu-bar classify output-inbox]
'("Output (inbox)..." . rmail-summary-output))
@@ -1106,7 +1112,7 @@ see the documentation of `rmail-resend'."
;; Summary output commands.
-(defun rmail-summary-output-to-rmail-file ()
+(defun rmail-summary-output-to-rmail-file (&optional file-name)
"Append the current message to an Rmail file named FILE-NAME.
If the file does not exist, ask if it should be created.
If file is being visited, the message is appended to the Emacs
@@ -1115,7 +1121,9 @@ buffer visiting that file."
(save-excursion
(set-buffer rmail-buffer)
(let ((rmail-delete-after-output nil))
- (call-interactively 'rmail-output-to-rmail-file)))
+ (if file-name
+ (rmail-output-to-rmail-file file-name)
+ (call-interactively 'rmail-output-to-rmail-file))))
(if rmail-delete-after-output
(rmail-summary-delete-forward nil)))
@@ -1141,6 +1149,22 @@ The variables `rmail-secondary-file-directory' and
(call-interactively 'rmail-output)))
(if rmail-delete-after-output
(rmail-summary-delete-forward nil)))
+
+(defun rmail-summary-construct-io-menu ()
+ (let ((files (rmail-find-all-files rmail-secondary-file-directory)))
+ (if (listp files)
+ (progn
+ (define-key rmail-summary-mode-map [menu-bar classify input-menu]
+ (cons "Input Rmail File"
+ (rmail-list-to-menu "Input Rmail File"
+ (cdr files)
+ 'rmail-summary-input)))
+ (define-key rmail-summary-mode-map [menu-bar classify output-menu]
+ (cons "Output Rmail File"
+ (rmail-list-to-menu "Output Rmail File"
+ (cdr files)
+ 'rmail-summary-output-to-rmail-file)))))))
+
;; Sorting messages in Rmail Summary buffer.