mel of MEL 3.1.
[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.1 1995/10/30 06:03:37 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     ))
33
34 (defvar mime-decoding-method-alist
35   '(("base64"           . base64-decode-region)
36     ("quoted-printable" . quoted-printable-decode-region)
37     ("x-uue"            . uuencode-decode-region)
38     ))
39
40
41 ;;; @ region
42 ;;;
43
44 (defun mime/encode-region (encoding beg end)
45   "Encode region BEG to END of current buffer using ENCODING. [mel.el]"
46   (interactive
47    (list (completing-read "encoding: "
48                           mime-encoding-method-alist
49                           nil t "base64")
50          (region-beginning) (region-end))
51    )
52   (let ((f (cdr (assoc encoding mime-encoding-method-alist))))
53     (if f
54         (funcall f beg end)
55       )))
56
57 (defun mime/decode-region (encoding beg end)
58   "Decode region BEG to END of current buffer using ENCODING. [mel.el]"
59   (interactive
60    (list (completing-read "encoding: "
61                           mime-decoding-method-alist
62                           nil t "base64")
63          (region-beginning) (region-end))
64    )
65   (let ((f (cdr (assoc encoding mime-decoding-method-alist))))
66     (if f
67         (funcall f beg end)
68       )))
69
70 (defalias 'mime-encode-region 'mime/encode-region)
71 (defalias 'mime-decode-region 'mime/decode-region)
72
73
74 ;;; @ end
75 ;;;
76
77 (provide 'mel)