a873fad27fd922db994d64a9f43cf3d021e57d7c
[elisp/tm.git] / tm-nemacs.el
1 ;;;
2 ;;; $Id: tm-nemacs.el,v 6.1 1995/08/26 18:44:31 morioka Exp $
3 ;;;
4
5 (require 'emu)
6
7
8 ;;; @ variables
9 ;;;
10
11 (defvar mime/default-coding-system 2)
12
13 (defvar mime/lc-charset-and-encoding-alist
14   (list
15    (cons lc-ascii nil)
16    (cons lc-jp   '("ISO-2022-JP" . "B"))
17    ))
18
19 (defvar mime/latin-lc-list
20   (list lc-ascii))
21        
22 ;; by mol. 1993/10/4
23 (defun mime/convert-string-to-emacs (charset str)
24   (cond ((string-match "^ISO-2022-JP$" charset)
25          (convert-string-kanji-code str 2 3))
26         ((string-match "^US-ASCII$" charset) str)
27         ((string-match "^ISO-8859-[1-9]$" charset)
28          (check-ASCII-string str))
29         (t nil)
30         ))
31
32 ;; by mol. 1993/11/2
33 (defun mime/convert-string-from-emacs (string charset)
34   (cond ((equal charset "ISO-2022-JP")
35          (code-convert-string string *internal* *junet*))
36         ((equal charset "US-ASCII") string)
37         (t nil)
38         ))
39
40 ;; by mol. 1993/10/4
41 (defun mime/decode-encoded-text (charset encoding str)
42   (let ((ds (mime/convert-string-to-emacs
43              charset
44              (cond ((string-match "^B$" encoding)
45                     (mime/base64-decode-string str))
46                    ((string-match "^Q$" encoding)
47                     (mime/Quoted-Printable-decode-string str))
48                    (t
49                     (message "unknown encoding %s" encoding)
50                     (concat "=?" charset "?" encoding "?" str "?=")
51                     )))))
52     (if ds
53         ds
54       (concat "=?" charset "?" encoding "?" str "?="))
55     ))
56
57 (defun mime/code-convert-region-to-emacs (beg end charset &optional encoding)
58   (if (stringp charset)
59       (progn
60         (setq charset (upcase charset))
61         (if (string= charset "ISO-2022-JP")
62             (convert-region-kanji-code beg end 2 3)
63           ))))
64
65 (run-hooks 'tm-nemacs-load-hook)
66
67 (provide 'tm-nemacs)