X-Git-Url: http://git.chise.org/gitweb/?a=blobdiff_plain;f=mcs-ltn1.el;fp=mcs-ltn1.el;h=2fed09a69b897552c6d6f2ac2f79145f6f9320e7;hb=0df64d3b6ef5ae5212fd59ee13dd5f044b378ba6;hp=0000000000000000000000000000000000000000;hpb=8d2c84f87fa030c2111fb47bd811de3b4373ca93;p=elisp%2Fapel.git diff --git a/mcs-ltn1.el b/mcs-ltn1.el new file mode 100644 index 0000000..2fed09a --- /dev/null +++ b/mcs-ltn1.el @@ -0,0 +1,86 @@ +;;; mcs-ltn1.el --- MIME charset implementation for Emacs 19 +;;; and XEmacs without MULE + +;; Copyright (C) 1995,1996,1997,1998 MORIOKA Tomohiko + +;; Author: MORIOKA Tomohiko +;; Keywords: emulation, compatibility, Mule + +;; This file is part of APEL (A Portable Emacs 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: + +(defvar charsets-mime-charset-alist + '(((ascii) . us-ascii))) + +(defvar default-mime-charset 'iso-8859-1) + +(defun mime-charset-to-coding-system (charset) + (if (stringp charset) + (setq charset (intern (downcase charset))) + ) + (if (memq charset (list 'us-ascii default-mime-charset)) + charset + )) + +(defun detect-mime-charset-region (start end) + "Return MIME charset for region between START and END." + (if (save-excursion + (goto-char start) + (re-search-forward "[\200-\377]" end t)) + default-mime-charset + 'us-ascii)) + +(defun encode-mime-charset-region (start end charset) + "Encode the text between START and END as MIME CHARSET." + ) + +(defun decode-mime-charset-region (start end charset &optional lbt) + "Decode the text between START and END as MIME CHARSET." + (cond ((eq lbt 'CRLF) + (save-excursion + (save-restriction + (narrow-to-region start end) + (goto-char (point-min)) + (while (search-forward "\r\n" nil t) + (replace-match "\n")) + )) + ))) + +(defun encode-mime-charset-string (string charset) + "Encode the STRING as MIME CHARSET." + string) + +(defun decode-mime-charset-string (string charset &optional lbt) + "Decode the STRING as MIME CHARSET." + (if lbt + (with-temp-buffer + (insert string) + (decode-mime-charset-region (point-min)(point-max) charset lbt) + (buffer-string)) + string)) + +(defalias 'write-region-as-mime-charset 'write-region) + + +;;; @ end +;;; + +(provide 'mcs-ltn1) + +;;; mcs-ltn1.el ends here