Mercurial > emacs
annotate lisp/mail/unrmail.el @ 20407:ac6d8d01e311
Require imenu.
author | Karl Heuer <kwzh@gnu.org> |
---|---|
date | Thu, 04 Dec 1997 05:17:31 +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 |