Mercurial > hg > xemacs-beta
diff lisp/mel/mel.el @ 4:b82b59fe008d r19-15b3
Import from CVS: tag r19-15b3
author | cvs |
---|---|
date | Mon, 13 Aug 2007 08:46:56 +0200 |
parents | |
children | 4b173ad71786 |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/lisp/mel/mel.el Mon Aug 13 08:46:56 2007 +0200 @@ -0,0 +1,140 @@ +;;; mel.el : a MIME encoding/decoding library + +;; Copyright (C) 1995,1996 Free Software Foundation, Inc. + +;; Author: MORIOKA Tomohiko <morioka@jaist.ac.jp> +;; modified by Shuhei KOBAYASHI <shuhei-k@jaist.ac.jp> +;; Created: 1995/6/25 +;; Version: $Id: mel.el,v 1.1.1.1 1996/12/18 03:55:30 steve Exp $ +;; Keywords: MIME, Base64, Quoted-Printable, uuencode, gzip64 + +;; This file is part of MEL (MIME Encoding Library). + +;; This program is free software; you can redistribute it and/or +;; modify it under the terms of the GNU General Public License as +;; published by the Free Software Foundation; either version 2, or (at +;; your option) any later version. + +;; This program is distributed in the hope that it will be useful, but +;; WITHOUT ANY WARRANTY; without even the implied warranty of +;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +;; General Public License for more details. + +;; You should have received a copy of the GNU General Public License +;; along with GNU Emacs; see the file COPYING. If not, write to the +;; Free Software Foundation, Inc., 59 Temple Place - Suite 330, +;; Boston, MA 02111-1307, USA. + +;;; Code: + +;;; @ region +;;; + +(autoload 'base64-encode-region "mel-b" nil t) +(autoload 'quoted-printable-encode-region "mel-q" nil t) +(autoload 'uuencode-encode-region "mel-u" nil t) +(autoload 'gzip64-encode-region "mel-g" nil t) + +(defvar mime-encoding-method-alist + '(("base64" . base64-encode-region) + ("quoted-printable" . quoted-printable-encode-region) + ("x-uue" . uuencode-encode-region) + ("x-gzip64" . gzip64-encode-region) + ("7bit") + ("8bit") + ("binary") + )) + +(autoload 'base64-decode-region "mel-b" nil t) +(autoload 'quoted-printable-decode-region "mel-q" nil t) +(autoload 'uuencode-decode-region "mel-u" nil t) +(autoload 'gzip64-decode-region "mel-g" nil t) + +(defvar mime-decoding-method-alist + '(("base64" . base64-decode-region) + ("quoted-printable" . quoted-printable-decode-region) + ("x-uue" . uuencode-decode-region) + ("x-gzip64" . gzip64-decode-region) + )) + +(defun mime-encode-region (beg end encoding) + "Encode region BEG to END of current buffer using ENCODING. [mel.el]" + (interactive + (list (region-beginning) (region-end) + (completing-read "encoding: " + mime-encoding-method-alist + nil t "base64")) + ) + (let ((f (cdr (assoc encoding mime-encoding-method-alist)))) + (if f + (funcall f beg end) + ))) + +(defun mime-decode-region (beg end encoding) + "Decode region BEG to END of current buffer using ENCODING. [mel.el]" + (interactive + (list (region-beginning) (region-end) + (completing-read "encoding: " + mime-decoding-method-alist + nil t "base64")) + ) + (let ((f (cdr (assoc encoding mime-decoding-method-alist)))) + (if f + (funcall f beg end) + ))) + + +;;; @ file +;;; + +(autoload 'base64-insert-encoded-file "mel-b" nil t) +(autoload 'quoted-printable-insert-encoded-file "mel-q" nil t) +(autoload 'uuencode-insert-encoded-file "mel-u" nil t) +(autoload 'gzip64-insert-encoded-file "mel-g" nil t) + +(defvar mime-file-encoding-method-alist + '(("base64" . base64-insert-encoded-file) + ("quoted-printable" . quoted-printable-insert-encoded-file) + ("x-uue" . uuencode-insert-encoded-file) + ("x-gzip64" . gzip64-insert-encoded-file) + ("7bit" . insert-binary-file-contents-literally) + ("8bit" . insert-binary-file-contents-literally) + ("binary" . insert-binary-file-contents-literally) + )) + +(defun mime-insert-encoded-file (filename encoding) + "Encode region BEG to END of current buffer using ENCODING. [mel.el]" + (interactive + (list (read-file-name "Insert encoded file: ") + (completing-read "encoding: " + mime-encoding-method-alist + nil t "base64")) + ) + (let ((f (cdr (assoc encoding mime-file-encoding-method-alist)))) + (if f + (funcall f filename) + ))) + + +;;; @ string +;;; + +(autoload 'base64-encode-string "mel-b") +(autoload 'base64-decode-string "mel-b") + +(autoload 'q-encoding-encode-string-for-text "mel-q") +(autoload 'q-encoding-encode-string-for-comment "mel-q") +(autoload 'q-encoding-encode-string-for-phrase "mel-q") +(autoload 'q-encoding-encode-string "mel-q") +(autoload 'q-encoding-decode-string "mel-q") + +(autoload 'base64-encoded-length "mel-b") +(autoload 'q-encoding-encoded-length "mel-q") + + +;;; @ end +;;; + +(provide 'mel) + +;;; mel.el ends here.