- Move definition of emu-x20.el to pccl-20.el.
- Move code about CCL from emu-mule.el to pccl-om.el.
(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)))
+++ /dev/null
-;;; 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
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
;;;
+++ /dev/null
-;;; 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
(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)
(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)
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)
))
)
--- /dev/null
+;;; 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
--- /dev/null
+;;; 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
--- /dev/null
+;;; 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