- Rename emu-e20.el to pccl-20.el.
authormorioka <morioka>
Thu, 17 Sep 1998 15:37:37 +0000 (15:37 +0000)
committermorioka <morioka>
Thu, 17 Sep 1998 15:37:37 +0000 (15:37 +0000)
- Move definition of emu-x20.el to pccl-20.el.
- Move code about CCL from emu-mule.el to pccl-om.el.

EMU-ELS
emu-e20.el [deleted file]
emu-mule.el
emu-x20.el [deleted file]
emu.el
pccl-20.el [new file with mode: 0644]
pccl-om.el [new file with mode: 0644]
pccl.el [new file with mode: 0644]

diff --git a/EMU-ELS b/EMU-ELS
index 714390f..c92a266 100644 (file)
--- a/EMU-ELS
+++ b/EMU-ELS
@@ -13,7 +13,8 @@
              (cons 'poe-xemacs
                    (if (featurep 'mule)
                        ;; for XEmacs with MULE
-                       '(poem-20 poem-xm mcs-20 mcs-xm emu-20 emu-x20)
+                       '(poem-20 poem-xm mcs-20 mcs-xm pccl pccl-20
+                                 emu-20 emu-x20)
                      ;; for XEmacs without MULE
                      '(poem-ltn1 mcs-ltn1)
                      ))
                        'poem-e20_3 ; for Emacs 20.3
                      'poem-e20_2 ; for Emacs 20.1 and 20.2
                      )
-                   '(poe-19 poem-20 poem-e20 mcs-20 mcs-e20 emu-20 emu-e20))
+                   '(poe-19 poem-20 poem-e20 mcs-20 mcs-e20 pccl pccl-20
+                            emu-20 emu-e20))
              )
             ((boundp 'MULE)
              ;; for MULE 1.* and MULE 2.*
-             (append '(poem-om mcs-om emu-mule)
+             (append '(poem-om mcs-om emu-mule pccl pccl-om)
                      (if running-emacs-18
                          '(poe-18 env)
                        '(poe-19)))
diff --git a/emu-e20.el b/emu-e20.el
deleted file mode 100644 (file)
index e076c74..0000000
+++ /dev/null
@@ -1,143 +0,0 @@
-;;; emu-e20.el --- emu API implementation for Emacs 20.1 and 20.2
-
-;; Copyright (C) 1996,1997,1998 Free Software Foundation, Inc.
-
-;; Author: MORIOKA Tomohiko <morioka@jaist.ac.jp>
-;; Keywords: emulation, compatibility, Mule
-
-;; 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
-;; 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.
-
-;;; Commentary:
-
-;;    This module requires Emacs 20.1 and 20.2.
-
-;;; Code:
-
-(require 'poem)
-
-
-;;; @ CCL
-;;;
-(eval-when-compile (require 'ccl))
-
-(eval-when-compile
-  (defconst ccl-use-symbol-as-program
-    (progn
-      (define-ccl-program ew-ccl-identity-program
-       '(1 ((read r0) (loop (write-read-repeat r0)))))
-      (condition-case nil
-         (progn
-           (funcall
-            (if (fboundp 'ccl-vector-program-execute-on-string)
-                'ccl-vector-program-execute-on-string
-              'ccl-execute-on-string)
-            'ew-ccl-identity-program
-            (make-vector 9 nil)
-            "")
-           t)
-       (error nil)))
-    "\
-T if CCL related builtins accept symbol as CCL program.
-(20.2 with ExCCL, 20.3 or later)
-Otherwise nil (20.2 without ExCCL or former).
-
-Because emu provides functions accepting symbol as CCL program,
-user programs should not refer this variable.")
-  )
-
-(eval-and-compile
-  (defconst ccl-use-symbol-as-program
-    (eval-when-compile ccl-use-symbol-as-program))
-
-  (defun make-ccl-coding-system
-    (coding-system mnemonic doc-string decoder encoder)
-    "\
-Define a new CODING-SYSTEM (symbol) by CCL programs
-DECODER (symbol) and ENCODER (symbol)."
-    (unless ccl-use-symbol-as-program
-      (setq decoder (symbol-value decoder))
-      (setq encoder (symbol-value encoder)))
-    (make-coding-system coding-system 4 mnemonic doc-string
-                       (cons decoder encoder)))
-  )
-
-(eval-when-compile
-  (define-ccl-program test-ccl-eof-block
-    '(1
-      (read r0)
-      (write "[EOF]")))
-
-  (unless (coding-system-p 'test-ccl-eof-block-cs)
-    (make-ccl-coding-system
-     'test-ccl-eof-block-cs ?T "CCL_EOF_BLOCK tester"
-     'test-ccl-eof-block 'test-ccl-eof-block)
-    )
-  )
-
-(defconst ccl-encoder-eof-block-is-broken
-  (eval-when-compile
-    (not (equal (encode-coding-string "" 'test-ccl-eof-block-cs)
-               "[EOF]")))
-  "t if CCL_EOF_BLOCK is not executed when coding system encounts EOF on
-encoding.")
-
-(defconst ccl-decoder-eof-block-is-broken
-  (eval-when-compile
-    (not (equal (decode-coding-string "" 'test-ccl-eof-block-cs)
-               "[EOF]")))
-  "t if CCL_EOF_BLOCK is not executed when coding system encounts EOF on
-decoding.")
-
-(defconst ccl-eof-block-is-broken
-  (or ccl-encoder-eof-block-is-broken
-      ccl-decoder-eof-block-is-broken))
-
-(unless ccl-use-symbol-as-program
-
-  (when (subrp (symbol-function 'ccl-execute))
-    (fset 'ccl-vector-program-execute
-         (symbol-function 'ccl-execute))
-    (defun ccl-execute (ccl-prog reg)
-      "\
-Execute CCL-PROG with registers initialized by REGISTERS.
-If CCL-PROG is symbol, it is dereferenced.
-\[Emacs 20.3 emulating function]"
-      (ccl-vector-program-execute
-       (if (symbolp ccl-prog) (symbol-value ccl-prog) ccl-prog)
-       reg)))
-
-  (when (subrp (symbol-function 'ccl-execute-on-string))
-    (fset 'ccl-vector-program-execute-on-string
-         (symbol-function 'ccl-execute-on-string))
-    (defun ccl-execute-on-string (ccl-prog status string &optional contin)
-      "\
-Execute CCL-PROG with initial STATUS on STRING.
-If CCL-PROG is symbol, it is dereferenced.
-\[Emacs 20.3 emulating function]"
-      (ccl-vector-program-execute-on-string
-       (if (symbolp ccl-prog) (symbol-value ccl-prog) ccl-prog)
-       status string contin)))
-  )
-
-
-;;; @ end
-;;;
-
-(provide 'emu-e20)
-
-;;; emu-e20.el ends here
index 5e2d569..62cb5ce 100644 (file)
     dest))
 
 
-;;; @ CCL
-;;;
-(eval-when-compile (require 'ccl))
-
-(defconst ccl-use-symbol-as-program nil
-  "t if CCL related builtins accept symbol as CCL program.
-(20.2 with ExCCL, 20.3 or later)
-Otherwise nil (20.2 without ExCCL or former).
-
-Because emu provides functions accepting symbol as CCL program,
-user programs should not refer this variable.")
-
-(defun make-ccl-coding-system
-  (coding-system mnemonic doc-string decoder encoder)
-  "Define a new CODING-SYSTEM (symbol) by CCL programs
-DECODER (symbol) and ENCODER (symbol)."
-  (setq decoder (symbol-value decoder)
-       encoder (symbol-value encoder))
-  (make-coding-system coding-system 4 mnemonic doc-string
-                     nil ; Mule takes one more optional argument: EOL-TYPE.
-                     (cons decoder encoder)))
-
-(eval-when-compile
-  (define-ccl-program test-ccl-eof-block
-    '(1
-      (read r0)
-      (write "[EOF]")))
-
-  (make-ccl-coding-system
-   'test-ccl-eof-block-cs ?T "CCL_EOF_BLOCK tester"
-   'test-ccl-eof-block 'test-ccl-eof-block)
-  )
-
-(defconst ccl-encoder-eof-block-is-broken
-  (eval-when-compile
-    (not (equal (encode-coding-string "" 'test-ccl-eof-block-cs)
-               "[EOF]")))
-  "t if CCL_EOF_BLOCK is not executed when coding system encounts EOF on
-encoding.")
-
-(defconst ccl-decoder-eof-block-is-broken
-  (eval-when-compile
-    (not (equal (decode-coding-string "" 'test-ccl-eof-block-cs)
-               "[EOF]")))
-  "t if CCL_EOF_BLOCK is not executed when coding system encounts EOF on
-decoding.")
-
-(defconst ccl-eof-block-is-broken
-  (or ccl-encoder-eof-block-is-broken
-      ccl-decoder-eof-block-is-broken))
-
-(defun ccl-execute (ccl-prog reg)
-  "Execute CCL-PROG with registers initialized by REGISTERS.
-If CCL-PROG is symbol, it is dereferenced.
-\[Emacs 20.3 emulating function]"
-  (exec-ccl
-   (if (symbolp ccl-prog) (symbol-value ccl-prog) ccl-prog)
-   reg))
-
-(defun ccl-execute-on-string (ccl-prog status string &optional contin)
-  "Execute CCL-PROG with initial STATUS on STRING.
-If CCL-PROG is symbol, it is dereferenced.
-\[Emacs 20.3 emulating function]"
-  (exec-ccl-string
-   (if (symbolp ccl-prog) (symbol-value ccl-prog) ccl-prog)
-   status string))
-
-
 ;;; @ end
 ;;;
 
diff --git a/emu-x20.el b/emu-x20.el
deleted file mode 100644 (file)
index 40f466a..0000000
+++ /dev/null
@@ -1,50 +0,0 @@
-;;; emu-x20.el --- emu API implementation for XEmacs with mule
-
-;; Copyright (C) 1994,1995,1996,1997,1998 MORIOKA Tomohiko
-
-;; Author: MORIOKA Tomohiko <morioka@jaist.ac.jp>
-;; Keywords: emulation, compatibility, Mule, XEmacs
-
-;; 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
-;; 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.
-
-;;; Commentary:
-
-;;    This module requires XEmacs 20.3-b5 or later with mule.
-
-;;; Code:
-
-(require 'poem)
-
-
-;;; @ CCL
-;;;
-
-(defun make-ccl-coding-system (name mnemonic doc-string decoder encoder)
-  (make-coding-system
-   name 'ccl doc-string
-   (list 'mnemonic (char-to-string mnemonic)
-         'decode (symbol-value decoder)
-         'encode (symbol-value encoder))))
-
-
-;;; @ end
-;;;
-
-(provide 'emu-x20)
-
-;;; emu-x20.el ends here
diff --git a/emu.el b/emu.el
index 7576479..4b50e61 100644 (file)
--- a/emu.el
+++ b/emu.el
 (require 'mcharset)
 
 (cond ((featurep 'mule)
-       (cond ((featurep 'xemacs)
-             ;; for XEmacs with MULE
-             (require 'emu-x20)
-             
+       (cond ((featurep 'xemacs) ; for XEmacs with MULE
              ;; old Mule emulating aliases
 
              ;;(defalias 'char-leading-char 'char-charset)
@@ -95,9 +92,7 @@ TABLE defaults to the current buffer's category table."
                           (char-category-list character)
                           ""))
              )
-            ((>= emacs-major-version 20)
-             ;; for Emacs 20
-             (require 'emu-e20)
+            ((>= emacs-major-version 20) ; for Emacs 20
              (defalias 'insert-binary-file-contents-literally
                'insert-file-contents-literally)
              
@@ -108,8 +103,7 @@ CHAR can be any multilingual character
 TABLE defaults to the current buffer's category table."
                (category-set-mnemonics (char-category-set character)))
              )
-            (t
-             ;; for MULE 1.* and 2.*
+            (t ; for MULE 1.* and 2.*
              (require 'emu-mule)
              ))
        )
diff --git a/pccl-20.el b/pccl-20.el
new file mode 100644 (file)
index 0000000..a18c65b
--- /dev/null
@@ -0,0 +1,144 @@
+;;; pccl-20.el --- Portable CCL utility for Emacs 20 and XEmacs-mule
+
+;; Copyright (C) 1998 Free Software Foundation, Inc.
+;; Copyright (C) 1998 Tanaka Akira
+
+;; Author: Tanaka Akira  <akr@jaist.ac.jp>
+;; 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:
+
+(require 'poem)
+
+(eval-when-compile (require 'ccl))
+
+(eval-when-compile
+  (defconst ccl-use-symbol-as-program
+    (progn
+      (define-ccl-program ew-ccl-identity-program
+       '(1 ((read r0) (loop (write-read-repeat r0)))))
+      (condition-case nil
+         (progn
+           (funcall
+            (if (fboundp 'ccl-vector-program-execute-on-string)
+                'ccl-vector-program-execute-on-string
+              'ccl-execute-on-string)
+            'ew-ccl-identity-program
+            (make-vector 9 nil)
+            "")
+           t)
+       (error nil)))
+    "\
+T if CCL related builtins accept symbol as CCL program.
+(20.2 with ExCCL, 20.3 or later)
+Otherwise nil (20.2 without ExCCL or former).
+
+Because emu provides functions accepting symbol as CCL program,
+user programs should not refer this variable.")
+  )
+
+(eval-and-compile
+  (defconst ccl-use-symbol-as-program
+    (eval-when-compile ccl-use-symbol-as-program))
+
+  (if (featurep 'xemacs)
+      (defun make-ccl-coding-system (name mnemonic doc-string decoder encoder)
+       (make-coding-system
+        name 'ccl doc-string
+        (list 'mnemonic (char-to-string mnemonic)
+              'decode (symbol-value decoder)
+              'encode (symbol-value encoder))))
+    (defun make-ccl-coding-system
+      (coding-system mnemonic doc-string decoder encoder)
+      "\
+Define a new CODING-SYSTEM (symbol) by CCL programs
+DECODER (symbol) and ENCODER (symbol)."
+      (unless ccl-use-symbol-as-program
+       (setq decoder (symbol-value decoder))
+       (setq encoder (symbol-value encoder)))
+      (make-coding-system coding-system 4 mnemonic doc-string
+                         (cons decoder encoder)))
+    ))
+
+(eval-when-compile
+  (define-ccl-program test-ccl-eof-block
+    '(1
+      (read r0)
+      (write "[EOF]")))
+
+  (unless (coding-system-p 'test-ccl-eof-block-cs)
+    (make-ccl-coding-system
+     'test-ccl-eof-block-cs ?T "CCL_EOF_BLOCK tester"
+     'test-ccl-eof-block 'test-ccl-eof-block)
+    )
+  )
+
+(defconst ccl-encoder-eof-block-is-broken
+  (eval-when-compile
+    (not (equal (encode-coding-string "" 'test-ccl-eof-block-cs)
+               "[EOF]")))
+  "t if CCL_EOF_BLOCK is not executed when coding system encounts EOF on
+encoding.")
+
+(defconst ccl-decoder-eof-block-is-broken
+  (eval-when-compile
+    (not (equal (decode-coding-string "" 'test-ccl-eof-block-cs)
+               "[EOF]")))
+  "t if CCL_EOF_BLOCK is not executed when coding system encounts EOF on
+decoding.")
+
+(defconst ccl-eof-block-is-broken
+  (or ccl-encoder-eof-block-is-broken
+      ccl-decoder-eof-block-is-broken))
+
+(unless ccl-use-symbol-as-program
+
+  (when (subrp (symbol-function 'ccl-execute))
+    (fset 'ccl-vector-program-execute
+         (symbol-function 'ccl-execute))
+    (defun ccl-execute (ccl-prog reg)
+      "\
+Execute CCL-PROG with registers initialized by REGISTERS.
+If CCL-PROG is symbol, it is dereferenced.
+\[Emacs 20.3 emulating function]"
+      (ccl-vector-program-execute
+       (if (symbolp ccl-prog) (symbol-value ccl-prog) ccl-prog)
+       reg)))
+
+  (when (subrp (symbol-function 'ccl-execute-on-string))
+    (fset 'ccl-vector-program-execute-on-string
+         (symbol-function 'ccl-execute-on-string))
+    (defun ccl-execute-on-string (ccl-prog status string &optional contin)
+      "\
+Execute CCL-PROG with initial STATUS on STRING.
+If CCL-PROG is symbol, it is dereferenced.
+\[Emacs 20.3 emulating function]"
+      (ccl-vector-program-execute-on-string
+       (if (symbolp ccl-prog) (symbol-value ccl-prog) ccl-prog)
+       status string contin)))
+  )
+
+
+;;; @ end
+;;;
+
+(provide 'pccl-20)
+
+;;; pccl-20.el ends here
diff --git a/pccl-om.el b/pccl-om.el
new file mode 100644 (file)
index 0000000..68510ec
--- /dev/null
@@ -0,0 +1,102 @@
+;;; pccl-om.el --- Portable CCL utility for Mule 1.* and Mule 2.*
+
+;; Copyright (C) 1998 Free Software Foundation, Inc.
+;; Copyright (C) 1998 Tanaka Akira
+
+;; Author: Tanaka Akira <akr@jaist.ac.jp>
+;;         Shuhei KOBAYASHI <shuhei-k@jaist.ac.jp>
+;; 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:
+
+(require 'poem)
+
+(eval-when-compile (require 'ccl))
+
+(defconst ccl-use-symbol-as-program nil
+  "t if CCL related builtins accept symbol as CCL program.
+(20.2 with ExCCL, 20.3 or later)
+Otherwise nil (20.2 without ExCCL or former).
+
+Because emu provides functions accepting symbol as CCL program,
+user programs should not refer this variable.")
+
+(defun make-ccl-coding-system
+  (coding-system mnemonic doc-string decoder encoder)
+  "Define a new CODING-SYSTEM (symbol) by CCL programs
+DECODER (symbol) and ENCODER (symbol)."
+  (setq decoder (symbol-value decoder)
+       encoder (symbol-value encoder))
+  (make-coding-system coding-system 4 mnemonic doc-string
+                     nil ; Mule takes one more optional argument: EOL-TYPE.
+                     (cons decoder encoder)))
+
+(eval-when-compile
+  (define-ccl-program test-ccl-eof-block
+    '(1
+      (read r0)
+      (write "[EOF]")))
+
+  (make-ccl-coding-system
+   'test-ccl-eof-block-cs ?T "CCL_EOF_BLOCK tester"
+   'test-ccl-eof-block 'test-ccl-eof-block)
+  )
+
+(defconst ccl-encoder-eof-block-is-broken
+  (eval-when-compile
+    (not (equal (encode-coding-string "" 'test-ccl-eof-block-cs)
+               "[EOF]")))
+  "t if CCL_EOF_BLOCK is not executed when coding system encounts EOF on
+encoding.")
+
+(defconst ccl-decoder-eof-block-is-broken
+  (eval-when-compile
+    (not (equal (decode-coding-string "" 'test-ccl-eof-block-cs)
+               "[EOF]")))
+  "t if CCL_EOF_BLOCK is not executed when coding system encounts EOF on
+decoding.")
+
+(defconst ccl-eof-block-is-broken
+  (or ccl-encoder-eof-block-is-broken
+      ccl-decoder-eof-block-is-broken))
+
+(defun ccl-execute (ccl-prog reg)
+  "Execute CCL-PROG with registers initialized by REGISTERS.
+If CCL-PROG is symbol, it is dereferenced.
+\[Emacs 20.3 emulating function]"
+  (exec-ccl
+   (if (symbolp ccl-prog) (symbol-value ccl-prog) ccl-prog)
+   reg))
+
+(defun ccl-execute-on-string (ccl-prog status string &optional contin)
+  "Execute CCL-PROG with initial STATUS on STRING.
+If CCL-PROG is symbol, it is dereferenced.
+\[Emacs 20.3 emulating function]"
+  (exec-ccl-string
+   (if (symbolp ccl-prog) (symbol-value ccl-prog) ccl-prog)
+   status string))
+
+
+;;; @ end
+;;;
+
+(provide 'pccl-om)
+
+;;; pccl-om.el ends here
diff --git a/pccl.el b/pccl.el
new file mode 100644 (file)
index 0000000..0343064
--- /dev/null
+++ b/pccl.el
@@ -0,0 +1,43 @@
+;;; pccl.el --- Portable CCL utility for Mule 1.* and Mule 2.*
+
+;; Copyright (C) 1998 Free Software Foundation, Inc.
+;; Copyright (C) 1998 Tanaka Akira
+
+;; Author: Tanaka Akira <akr@jaist.ac.jp>
+;;         Shuhei KOBAYASHI <shuhei-k@jaist.ac.jp>
+;; 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:
+
+(if (featurep 'mule)
+    (if (>= emacs-major-version 20)
+       ;; for Emacs 20 and XEmacs-mule
+       (require 'pccl-20)
+      ;; for MULE 1.* and 2.*
+      (require 'pccl-om)
+      ))
+
+
+;;; @ end
+;;;
+
+(provide 'pccl)
+
+;;; pccl.el ends here