Mercurial > emacs
annotate lisp/mail/unrmail.el @ 5494:1ea2b4351945
[MSDOS]: #include "msdos.h" and <sys/param.h> needed for
the following changes.
(Ffile_name_directory, Fexpand_file_name) [FILE_SYSTEM_CASE]: Apply
case conversion if defined.
(Ffile_name_directory, Ffile_name_nondirectory, file_name_as_directory,
directory_file_name, Fexpand_file_name, Fsubstitute_in_file_name,
expand_and_dir_to_file) [MSDOS]: Drive letter support.
(Fexpand_file_name) [MSDOS]: Support for multiple default directories.
(Ffile_writeable_p) [MSDOS]: Don't call access with file name ending in slash.
(Finsert_file_contents) [MSDOS]: Determine file type by name (call
find-buffer-file-type) and change CR+LF to LF if it is a text file.
(Fwrite_region) [MSDOS]: Use text/binary mode as specified by buffer_file_type.
(syms_of_fileio) [MSDOS]: Set Qfind_buffer_file_type.
(Fsubstitute_in_file_name) [MSDOS]: Ignore case in environtment variable.
author | Richard M. Stallman <rms@gnu.org> |
---|---|
date | Sat, 08 Jan 1994 09:15:49 +0000 |
parents | 5a7266ff9af1 |
children | 8d8033687586 |
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 | |
20 ;; along with GNU Emacs; see the file COPYING. If not, write to | |
21 ;; the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. | |
22 | |
2233
fb0ed5a1d0f3
Add standard library headers.
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
982
diff
changeset
|
23 ;;; Code: |
fb0ed5a1d0f3
Add standard library headers.
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
982
diff
changeset
|
24 |
982 | 25 (defvar command-line-args-left) ;Avoid 'free variable' warning |
26 | |
27 ;;;###autoload | |
28 (defun batch-unrmail () | |
29 "Convert Rmail files to mailbox files. | |
30 Specify the input Rmail file names as command line arguments. | |
31 For each Rmail file, the corresponding output file name | |
32 is made by adding `.mail' at the end. | |
33 For example, invoke `emacs -batch -f batch-unrmail RMAIL'." | |
34 ;; command-line-args-left is what is left of the command line (from startup.el) | |
35 (if (not noninteractive) | |
36 (error "`batch-unrmail' is to be used only with -batch")) | |
37 (let ((error nil)) | |
38 (while command-line-args-left | |
39 (or (unrmail (car command-line-args-left) | |
40 (concat (car command-line-args-left) ".mail")) | |
41 (setq error t)) | |
42 (setq command-line-args-left (cdr command-line-args-left))) | |
43 (message "Done") | |
44 (kill-emacs (if error 1 0)))) | |
45 | |
46 ;;;###autoload | |
47 (defun unrmail (file to-file) | |
48 "Convert Rmail file FILE to mailbox-format file TO-FILE." | |
4266
5a7266ff9af1
(unrmail): Total rewrite.
Richard M. Stallman <rms@gnu.org>
parents:
2247
diff
changeset
|
49 (interactive "fUnrmail (rmail file): \nFUnrmail into (new mailbox file): ") |
5a7266ff9af1
(unrmail): Total rewrite.
Richard M. Stallman <rms@gnu.org>
parents:
2247
diff
changeset
|
50 (let ((message-count 0) |
5a7266ff9af1
(unrmail): Total rewrite.
Richard M. Stallman <rms@gnu.org>
parents:
2247
diff
changeset
|
51 (rmail-delete-after-output nil)) |
982 | 52 (rmail file) |
4266
5a7266ff9af1
(unrmail): Total rewrite.
Richard M. Stallman <rms@gnu.org>
parents:
2247
diff
changeset
|
53 (message "Writing messages to %s..." to-file) |
5a7266ff9af1
(unrmail): Total rewrite.
Richard M. Stallman <rms@gnu.org>
parents:
2247
diff
changeset
|
54 (while (< message-count rmail-total-messages) |
5a7266ff9af1
(unrmail): Total rewrite.
Richard M. Stallman <rms@gnu.org>
parents:
2247
diff
changeset
|
55 (rmail-show-message |
5a7266ff9af1
(unrmail): Total rewrite.
Richard M. Stallman <rms@gnu.org>
parents:
2247
diff
changeset
|
56 (setq message-count (1+ message-count))) |
5a7266ff9af1
(unrmail): Total rewrite.
Richard M. Stallman <rms@gnu.org>
parents:
2247
diff
changeset
|
57 (rmail-output to-file 1 t)) |
5a7266ff9af1
(unrmail): Total rewrite.
Richard M. Stallman <rms@gnu.org>
parents:
2247
diff
changeset
|
58 (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
|
59 |
fb0ed5a1d0f3
Add standard library headers.
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
982
diff
changeset
|
60 ;;; unrmail.el ends here |