X-Git-Url: http://git.chise.org/gitweb/?p=elisp%2Ftm.git;a=blobdiff_plain;f=tm-nemacs.el;h=aad22496ce4a2e94c7905e091e0490ded7d7f834;hp=fdd1c37112fcb8f23320cecf268978b3885495e1;hb=d1f12c89ac3491cdbbba0e24173e9b31f79ba73a;hpb=c8d67b7f628b6e02157bbee9018bcf0ef9b4f16d diff --git a/tm-nemacs.el b/tm-nemacs.el index fdd1c37..aad2249 100644 --- a/tm-nemacs.el +++ b/tm-nemacs.el @@ -1,105 +1,80 @@ ;;; -;;; $Id: tm-nemacs.el,v 4.4 1994/08/01 05:09:00 morioka Exp $ +;;; tm-nemacs.el --- tm definitions depended on NEmacs ;;; - -(provide 'tm-nemacs) - -(require 'tl-18) - -;;; @ constants +;;; Copyright (C) 1995 Free Software Foundation, Inc. +;;; Copyright (C) 1994,1995,1996 MORIOKA Tomohiko +;;; +;;; Author: MORIOKA Tomohiko +;;; Version: +;;; $Id: tm-nemacs.el,v 7.6 1996/01/11 05:12:50 morioka Exp $ +;;; Keywords: mail, news, MIME, multimedia, multilingual, encoded-word +;;; +;;; This file is part of tm (Tools for MIME). ;;; -(defconst *junet* 2) -(defconst *internal* 3) -(defconst *euc-japan* 3) +;;; 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 This program. If not, write to the Free Software +;;; Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. +;;; +;;; Code: -(defconst lc-ascii 0) -(defconst lc-jp 146) +(require 'emu) ;;; @ variables ;;; -(defvar mime/lc-charset-and-encoding-alist +(defvar mime/default-coding-system *junet*) + +(defvar mime/lc-charset-alist (list - (cons lc-ascii nil) - (cons lc-jp '("ISO-2022-JP" . "B")) + (cons (list lc-ascii) "US-ASCII") + (cons (list lc-ascii lc-jp) "ISO-2022-JP") )) -(defvar mime/latin-lc-list - (list lc-ascii)) - -(defun mime/char-leading-char (chr) - (if (< chr 128) - lc-ascii - lc-jp)) - -;; by mol. 1993/9/26 -(defun string-width (str) - "Return number of columns STRING will occupy. - [Mule compatible function in tm-nemacs]" - (length str)) - -(defun char-bytes (chr) - "Return number of bytes CHAR will occupy in a buffer. - [Mule compatible function in tm-nemacs]" - (if (< chr 128) 1 2)) - -(defun char-width (chr) - "Return number of columns CHAR will occupy when displayed. - [Mule compatible function in tm-nemacs]" - (if (< chr 128) 1 2)) - -(defun code-convert-string (str ic oc) - "Convert code in STRING from SOURCE code to TARGET code, -On successful converion, returns the result string, -else returns nil. [Mule compatible function in tm-nemacs]" - (if (not (eq ic oc)) - (convert-string-kanji-code str ic oc) - str)) - -(defun check-ASCII-string (str) - (let ((i 0) - len) - (setq len (length str)) - (catch 'label - (while (< i len) - (if (>= (elt str i) 128) - (throw 'label nil)) - (setq i (+ i 1)) - ) - str))) - -;; by mol. 1993/10/4 +(defvar mime/unknown-charset "ISO-2022-JP") + + +;;; @ functions +;;; + (defun mime/convert-string-to-emacs (charset str) - (cond ((string-match "^ISO-2022-JP$" charset) - (convert-string-kanji-code str 2 3)) - ((string-match "^US-ASCII$" charset) str) + (cond ((string= "ISO-2022-JP" charset) + (code-convert-string str *junet* *internal*)) + ((string= "US-ASCII" charset) str) ((string-match "^ISO-8859-[1-9]$" charset) (check-ASCII-string str)) - (t nil) )) -;; by mol. 1993/11/2 (defun mime/convert-string-from-emacs (string charset) - (cond ((equal charset "ISO-2022-JP") + (cond ((string= charset "ISO-2022-JP") (code-convert-string string *internal* *junet*)) - ((equal charset "US-ASCII") string) - (t nil) + ((string= charset "US-ASCII") string) )) -;; by mol. 1993/10/4 -(defun mime/decode-encoded-text (charset encoding str) - (let ((ds (mime/convert-string-to-emacs - charset - (cond ((string-match "^B$" encoding) - (mime/base64-decode-string str)) - ((string-match "^Q$" encoding) - (mime/Quoted-Printable-decode-string str)) - (t - (message "unknown encoding %s" encoding) - (concat "=?" charset "?" encoding "?" str "?=") - ))))) - (if ds - ds - (concat "=?" charset "?" encoding "?" str "?=")) - )) +(defun mime/code-convert-region-to-emacs (beg end charset &optional encoding) + (if (stringp charset) + (progn + (setq charset (upcase charset)) + (if (string= charset "ISO-2022-JP") + (code-convert-region beg end *junet* *internal*) + )))) + + +;;; @ end +;;; + +(provide 'tm-nemacs) + +(run-hooks 'tm-nemacs-load-hook) + +;;; tm-nemacs.el ends here