tm 7.102.
[elisp/apel.git] / emu-mule.el
index 9d63e5f..ea8242e 100644 (file)
@@ -1,13 +1,12 @@
-;;; emu-mule.el --- Mule 2.* emulation module for Mule
+;;; emu-mule.el --- emu module for Mule 1.* and Mule 2.*
 
-;; Copyright (C) 1995,1996 Free Software Foundation, Inc.
+;; Copyright (C) 1995,1996,1997 MORIOKA Tomohiko
 
 ;; Author: MORIOKA Tomohiko <morioka@jaist.ac.jp>
-;; Version:
-;;     $Id: emu-mule.el,v 7.50 1996/09/05 08:58:28 morioka Exp $
+;; Version: $Id: emu-mule.el,v 7.60 1997/01/29 15:48:26 morioka Exp $
 ;; Keywords: emulation, compatibility, Mule
 
-;; This file is part of tl (Tiny Library).
+;; This file is part of emu.
 
 ;; This program is free software; you can redistribute it and/or
 ;; modify it under the terms of the GNU General Public License as
@@ -20,8 +19,8 @@
 ;; General Public License for more details.
 
 ;; You should have received a copy of the GNU General Public License
-;; along with This program; see the file COPYING.  If not, write to
-;; the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+;; 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:
 ;;; @ character set
 ;;;
 
-(defalias 'charset-description 'char-description)
-(defalias 'charset-registry    'char-registry)
-(defalias 'charset-columns     'char-width)
-(defalias 'charset-direction   'char-direction)
+(defalias 'find-non-ascii-charset-string 'find-charset-string)
+(defalias 'find-non-ascii-charset-region 'find-charset-region)
+
+(defalias 'charset-bytes       'char-bytes)
+(defalias 'charset-description 'char-description)
+(defalias 'charset-registry    'char-registry)
+(defalias 'charset-columns     'char-width)
+(defalias 'charset-direction   'char-direction)
 
 
 ;;; @ coding system
     (concat ret (substring str len))
     ))
 
+(defalias 'detect-coding-region 'code-detect-region)
+
+(defalias 'set-buffer-file-coding-system 'set-file-coding-system)
+
 (defmacro as-binary-process (&rest body)
   (` (let (selective-display   ; Disable ^M to nl translation.
           ;; Mule
        (,@ body)
        )))
 
+(defmacro as-binary-input-file (&rest body)
+  (` (let (mc-flag
+          (file-coding-system-for-read *noconv*)
+          )
+       (,@ body)
+       )))
+
+(defmacro as-binary-output-file (&rest body)
+  (` (let (mc-flag
+          (file-coding-system *noconv*)
+          )
+       (,@ body)
+       )))
+
 (defalias 'set-process-input-coding-system 'set-process-coding-system)
 
 
     (x-shiftjis      . *sjis*)
     ))
 
-(defun mime-charset-to-coding-system (charset)
+(defun mime-charset-to-coding-system (charset &optional lbt)
   (if (stringp charset)
       (setq charset (intern (downcase charset)))
     )
-  (or (cdr (assq charset mime-charset-coding-system-alist))
-      (let ((cs (intern (concat "*" (symbol-name charset) "*"))))
-       (and (coding-system-p cs) cs)
-       )))
+  (let ((cs
+        (or (cdr (assq charset mime-charset-coding-system-alist))
+            (let ((cs (intern (concat "*" (symbol-name charset) "*"))))
+              (and (coding-system-p cs) cs)
+              ))))
+    (if (or (null lbt)
+           (null cs))
+       cs
+      (intern (concat (symbol-name cs) (symbol-name lbt)))
+      )))
 
 (defun detect-mime-charset-region (start end)
   "Return MIME charset for region between START and END.