Mercurial > emacs
annotate lisp/mail/unrmail.el @ 37678:ebec0594dece
(compile-files): Redirect output of chmod to
/dev/null.
| author | Gerd Moellmann <gerd@gnu.org> |
|---|---|
| date | Fri, 11 May 2001 10:53:56 +0000 |
| parents | 11218164bc54 |
| children | 67b464da13ec |
| rev | line source |
|---|---|
| 982 | 1 ;;; unrmail.el --- convert Rmail files to mailbox files. |
|
2233
fb0ed5a1d0f3
Add standard library headers.
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
982
diff
changeset
|
2 |
| 982 | 3 ;;; Copyright (C) 1992 Free Software Foundation, Inc. |
| 4 | |
|
2247
2c7997f249eb
Add or correct keywords
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
2233
diff
changeset
|
5 ;; Keywords: mail |
|
2c7997f249eb
Add or correct keywords
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
2233
diff
changeset
|
6 |
| 982 | 7 ;; This file is part of GNU Emacs. |
| 8 | |
| 9 ;; GNU Emacs is free software; you can redistribute it and/or modify | |
| 10 ;; it under the terms of the GNU General Public License as published by | |
| 11 ;; the Free Software Foundation; either version 2, or (at your option) | |
| 12 ;; any later version. | |
| 13 | |
| 14 ;; GNU Emacs is distributed in the hope that it will be useful, | |
| 15 ;; but WITHOUT ANY WARRANTY; without even the implied warranty of | |
| 16 ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
| 17 ;; GNU General Public License for more details. | |
| 18 | |
| 19 ;; You should have received a copy of the GNU General Public License | |
| 14169 | 20 ;; along with GNU Emacs; see the file COPYING. If not, write to the |
| 21 ;; Free Software Foundation, Inc., 59 Temple Place - Suite 330, | |
| 22 ;; Boston, MA 02111-1307, USA. | |
| 982 | 23 |
|
2233
fb0ed5a1d0f3
Add standard library headers.
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
982
diff
changeset
|
24 ;;; Code: |
|
fb0ed5a1d0f3
Add standard library headers.
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
982
diff
changeset
|
25 |
| 982 | 26 (defvar command-line-args-left) ;Avoid 'free variable' warning |
| 27 | |
| 28 ;;;###autoload | |
| 29 (defun batch-unrmail () | |
| 6618 | 30 "Convert Rmail files to system inbox format. |
| 982 | 31 Specify the input Rmail file names as command line arguments. |
| 32 For each Rmail file, the corresponding output file name | |
| 33 is made by adding `.mail' at the end. | |
| 34 For example, invoke `emacs -batch -f batch-unrmail RMAIL'." | |
| 35 ;; command-line-args-left is what is left of the command line (from startup.el) | |
| 36 (if (not noninteractive) | |
| 37 (error "`batch-unrmail' is to be used only with -batch")) | |
| 38 (let ((error nil)) | |
| 39 (while command-line-args-left | |
| 40 (or (unrmail (car command-line-args-left) | |
| 41 (concat (car command-line-args-left) ".mail")) | |
| 42 (setq error t)) | |
| 43 (setq command-line-args-left (cdr command-line-args-left))) | |
| 44 (message "Done") | |
| 45 (kill-emacs (if error 1 0)))) | |
| 46 | |
| 47 ;;;###autoload | |
| 48 (defun unrmail (file to-file) | |
| 6618 | 49 "Convert Rmail file FILE to system inbox format file TO-FILE." |
|
4266
5a7266ff9af1
(unrmail): Total rewrite.
Richard M. Stallman <rms@gnu.org>
parents:
2247
diff
changeset
|
50 (interactive "fUnrmail (rmail file): \nFUnrmail into (new mailbox file): ") |
|
5a7266ff9af1
(unrmail): Total rewrite.
Richard M. Stallman <rms@gnu.org>
parents:
2247
diff
changeset
|
51 (let ((message-count 0) |
|
11177
6a26526998f6
(unrmail): Don't make or switch to a summary buffer.
Richard M. Stallman <rms@gnu.org>
parents:
6618
diff
changeset
|
52 ;; Prevent rmail from making, or switching to, a summary buffer. |
|
6a26526998f6
(unrmail): Don't make or switch to a summary buffer.
Richard M. Stallman <rms@gnu.org>
parents:
6618
diff
changeset
|
53 (rmail-display-summary nil) |
|
4266
5a7266ff9af1
(unrmail): Total rewrite.
Richard M. Stallman <rms@gnu.org>
parents:
2247
diff
changeset
|
54 (rmail-delete-after-output nil)) |
| 982 | 55 (rmail file) |
|
14296
e3e1d7c2e7e5
(unrmail): Default the directory of TO-FILE based on FILE.
Karl Heuer <kwzh@gnu.org>
parents:
14169
diff
changeset
|
56 ;; Default the directory of TO-FILE based on where FILE is. |
|
e3e1d7c2e7e5
(unrmail): Default the directory of TO-FILE based on FILE.
Karl Heuer <kwzh@gnu.org>
parents:
14169
diff
changeset
|
57 (setq to-file (expand-file-name to-file default-directory)) |
|
4266
5a7266ff9af1
(unrmail): Total rewrite.
Richard M. Stallman <rms@gnu.org>
parents:
2247
diff
changeset
|
58 (message "Writing messages to %s..." to-file) |
|
5a7266ff9af1
(unrmail): Total rewrite.
Richard M. Stallman <rms@gnu.org>
parents:
2247
diff
changeset
|
59 (while (< message-count rmail-total-messages) |
|
5a7266ff9af1
(unrmail): Total rewrite.
Richard M. Stallman <rms@gnu.org>
parents:
2247
diff
changeset
|
60 (rmail-show-message |
|
5a7266ff9af1
(unrmail): Total rewrite.
Richard M. Stallman <rms@gnu.org>
parents:
2247
diff
changeset
|
61 (setq message-count (1+ message-count))) |
|
13113
ece0744c0bb0
(unrmail): Call rmail-toggle-header.
Richard M. Stallman <rms@gnu.org>
parents:
11177
diff
changeset
|
62 (rmail-toggle-header) |
|
4266
5a7266ff9af1
(unrmail): Total rewrite.
Richard M. Stallman <rms@gnu.org>
parents:
2247
diff
changeset
|
63 (rmail-output to-file 1 t)) |
|
5a7266ff9af1
(unrmail): Total rewrite.
Richard M. Stallman <rms@gnu.org>
parents:
2247
diff
changeset
|
64 (message "Writing messages to %s...done" to-file))) |
|
2233
fb0ed5a1d0f3
Add standard library headers.
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
982
diff
changeset
|
65 |
| 18383 | 66 (provide 'unrmail) |
| 67 | |
|
2233
fb0ed5a1d0f3
Add standard library headers.
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
982
diff
changeset
|
68 ;;; unrmail.el ends here |
