-;;; pccl-20.el --- Portable CCL utility for Emacs 20 and XEmacs-mule
+;;; pccl-20.el --- Portable CCL utility for Emacs 20 and XEmacs-21-mule
;; Copyright (C) 1998 Free Software Foundation, Inc.
;; Copyright (C) 1998 Tanaka Akira
;;; Code:
-(require 'poem)
-
(eval-when-compile (require 'ccl))
(require 'broken)
(eval-and-compile
+ (static-if (featurep 'xemacs)
+ (defadvice make-coding-system (before ccl-compat (name type &rest ad-subr-args) activate)
+ (when (and (integerp type)
+ (eq type 4)
+ (characterp (ad-get-arg 2))
+ (stringp (ad-get-arg 3))
+ (consp (ad-get-arg 4))
+ (symbolp (car (ad-get-arg 4)))
+ (symbolp (cdr (ad-get-arg 4))))
+ (setq type 'ccl)
+ (setq ad-subr-args
+ (list
+ (ad-get-arg 3)
+ (append
+ (list
+ 'mnemonic (char-to-string (ad-get-arg 2))
+ 'decode (symbol-value (car (ad-get-arg 4)))
+ 'encode (symbol-value (cdr (ad-get-arg 4))))
+ (ad-get-arg 5)))))))
+
(if (featurep 'xemacs)
(defun make-ccl-coding-system (name mnemonic docstring decoder encoder)
"\
(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]"
+If CCL-PROG is symbol, it is dereferenced."
(ccl-vector-program-execute
(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]"
+If CCL-PROG is symbol, it is dereferenced."
(ccl-vector-program-execute-on-string
(if (symbolp ccl-prog) (symbol-value ccl-prog) ccl-prog)
status string contin)))
)
(broken-facility ccl-execute-eof-block-on-encoding-null
- "Emacs forgets executing CCL_EOF_BLOCK with encoding on empty input."
+ "Emacs forgets executing CCL_EOF_BLOCK with encoding on empty input. (Fixed on Emacs 20.4)"
(equal (encode-coding-string "" 'test-ccl-eof-block-cs) "[EOF]"))
(broken-facility ccl-execute-eof-block-on-encoding-some
- "Emacs forgets executing CCL_EOF_BLOCK with encoding on non-empty input."
+ "Emacs forgets executing CCL_EOF_BLOCK with encoding on non-empty input. (Fixed on Emacs 20.3)"
(equal (encode-coding-string "a" 'test-ccl-eof-block-cs) "a[EOF]"))
(broken-facility ccl-execute-eof-block-on-decoding-null
- "Emacs forgets executing CCL_EOF_BLOCK with decoding on empty input."
+ "Emacs forgets executing CCL_EOF_BLOCK with decoding on empty input. (Fixed on Emacs 20.4)"
(equal (decode-coding-string "" 'test-ccl-eof-block-cs) "[EOF]"))
(broken-facility ccl-execute-eof-block-on-decoding-some
- "Emacs forgets executing CCL_EOF_BLOCK with decoding on non-empty input."
+ "Emacs forgets executing CCL_EOF_BLOCK with decoding on non-empty input. (Fixed on Emacs 20.4)"
(equal (decode-coding-string "a" 'test-ccl-eof-block-cs) "a[EOF]"))
(broken-facility ccl-execute-eof-block-on-encoding
;;; @ end
;;;
-(provide 'pccl-20)
+(require 'product)
+(product-provide (provide 'pccl-20) (require 'apel-ver))
;;; pccl-20.el ends here