# HG changeset patch # User Richard M. Stallman # Date 915413760 0 # Node ID 9cdc0533268718d20640d60f0f4f875d6e47af75 # Parent 2bc2b506f7878fc10e12b6513a2646e43dfa48a8 (rmail-summary-output-to-rmail-file): Use rmail-output-read-rmail-file-name to read the file name. Always call rmail-output-to-rmail-file noninteractively. When count > 1, do the loop here. Handle rmail-delete-after-output here. (rmail-summary-output): Similar changes. diff -r 2bc2b506f787 -r 9cdc05332687 lisp/mail/rmailsum.el --- a/lisp/mail/rmailsum.el Sun Jan 03 16:36:41 1999 +0000 +++ b/lisp/mail/rmailsum.el Mon Jan 04 01:36:00 1999 +0000 @@ -1456,7 +1456,7 @@ ;; Summary output commands. -(defun rmail-summary-output-to-rmail-file (&optional file-name) +(defun rmail-summary-output-to-rmail-file (&optional file-name &optional n) "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 @@ -1464,11 +1464,41 @@ A prefix argument N says to output N consecutive messages starting with the current one. Deleted messages are skipped and don't count." - (interactive) - (with-current-buffer rmail-buffer - (if file-name - (rmail-output-to-rmail-file file-name) - (call-interactively 'rmail-output-to-rmail-file)))) + (interactive + (progn (require 'rmailout) + (list (rmail-output-read-rmail-file-name) + (prefix-numeric-value current-prefix-arg)))) + (let ((i 0)) + (while (< i n) + (setq i (1+ i)) + (rmail-summary-goto-msg) + (with-current-buffer rmail-buffer + (let ((rmail-delete-after-output nil)) + (rmail-output-to-rmail-file file-name 1))) + (if rmail-delete-after-output + (rmail-summary-delete-forward nil) + (if (< i n) + (rmail-summary-next-msg 1)))))) + +(defun rmail-summary-output (&optional file-name n) + "Append this message to Unix mail file named FILE-NAME. + +A prefix argument N says to output N consecutive messages +starting with the current one. Deleted messages are skipped and don't count." + (interactive + (progn (require 'rmailout) + (list (rmail-output-read-file-name) + (prefix-numeric-value current-prefix-arg)))) + (let ((i 0)) + (while (< i n) + (setq i (1+ i)) + (with-current-buffer rmail-buffer + (let ((rmail-delete-after-output nil)) + (rmail-output file-name 1))) + (if rmail-delete-after-output + (rmail-summary-delete-forward nil) + (if (< i n) + (rmail-summary-next-msg 1)))))) (defun rmail-summary-output-menu () "Output current message to another Rmail file, chosen with a menu. @@ -1483,17 +1513,6 @@ (if rmail-delete-after-output (rmail-summary-delete-forward nil))) -(defun rmail-summary-output (&optional file-name) - "Append this message to Unix mail file named FILE-NAME. - -A prefix argument N says to output N consecutive messages -starting with the current one. Deleted messages are skipped and don't count." - (interactive) - (with-current-buffer rmail-buffer - (if file-name - (rmail-output file-name) - (call-interactively 'rmail-output)))) - (defun rmail-summary-construct-io-menu () (let ((files (rmail-find-all-files rmail-secondary-file-directory))) (if files