mel of MEL 3.2.
[elisp/flim.git] / mel.el
1 ;;;
2 ;;; mel : a MIME encoding library
3 ;;;
4 ;;;     by MORIOKA Tomohiko <morioka@jaist.ac.jp>, 1995/6/25
5 ;;;
6 ;;; $Id: mel.el,v 3.2 1995/11/02 04:19:47 morioka Exp $
7 ;;;
8
9 (autoload 'base64-encode-region "mel-b" nil t)
10 (autoload 'base64-decode-region "mel-b" nil t)
11 (autoload 'base64-encode-string "mel-b")
12 (autoload 'base64-decode-string "mel-b")
13 (autoload 'base64-encoded-length "mel-b")
14
15 (autoload 'quoted-printable-encode-region "mel-q" nil t)
16 (autoload 'quoted-printable-decode-region "mel-q" nil t)
17
18 (autoload 'q-encoding-encode-string-for-text "mel-q")
19 (autoload 'q-encoding-encode-string-for-comment "mel-q")
20 (autoload 'q-encoding-encode-string-for-phrase "mel-q")
21 (autoload 'q-encoding-encode-string "mel-q")
22 (autoload 'q-encoding-decode-string "mel-q")
23 (autoload 'q-encoding-encoded-length "mel-q")
24
25 (autoload 'uuencode-encode-region "mel-u" nil t)
26 (autoload 'uuencode-decode-region "mel-u" nil t)
27
28 (defvar mime-encoding-method-alist
29   '(("base64"           . base64-encode-region)
30     ("quoted-printable" . quoted-printable-encode-region)
31     ("x-uue"            . uuencode-encode-region)
32     ("7bit")
33     ("8bit")
34     ("binary")
35     ))
36
37 (defvar mime-decoding-method-alist
38   '(("base64"           . base64-decode-region)
39     ("quoted-printable" . quoted-printable-decode-region)
40     ("x-uue"            . uuencode-decode-region)
41     ))
42
43
44 ;;; @ region
45 ;;;
46
47 (defun mime/encode-region (encoding beg end)
48   "Encode region BEG to END of current buffer using ENCODING. [mel.el]"
49   (interactive
50    (list (completing-read "encoding: "
51                           mime-encoding-method-alist
52                           nil t "base64")
53          (region-beginning) (region-end))
54    )
55   (let ((f (cdr (assoc encoding mime-encoding-method-alist))))
56     (if f
57         (funcall f beg end)
58       )))
59
60 (defun mime/decode-region (encoding beg end)
61   "Decode region BEG to END of current buffer using ENCODING. [mel.el]"
62   (interactive
63    (list (completing-read "encoding: "
64                           mime-decoding-method-alist
65                           nil t "base64")
66          (region-beginning) (region-end))
67    )
68   (let ((f (cdr (assoc encoding mime-decoding-method-alist))))
69     (if f
70         (funcall f beg end)
71       )))
72
73 (defalias 'mime-encode-region 'mime/encode-region)
74 (defalias 'mime-decode-region 'mime/decode-region)
75
76
77 ;;; @ end
78 ;;;
79
80 (provide 'mel)