X-Git-Url: http://git.chise.org/gitweb/?a=blobdiff_plain;f=pccl.el;h=93892ae6fb3dd907a5ee496af2f5f78a288daf46;hb=feb5abeb62b119c2dd1d327af07c1aaa2b18a341;hp=4b0dead10df4a2ba21c620510813206e7e2badb9;hpb=dfd2f7162fe8801265f2a62e66567e00ea0ffe97;p=elisp%2Fapel.git diff --git a/pccl.el b/pccl.el index 4b0dead..93892ae 100644 --- a/pccl.el +++ b/pccl.el @@ -34,19 +34,20 @@ (>= emacs-major-version 19)))) (unless-broken ccl-usable - (require 'ccl) (require 'advice) (if (featurep 'mule) - (if (featurep 'xemacs) - (if (>= emacs-major-version 21) - ;; for XEmacs 21 with mule - (require 'pccl-20)) - (if (>= emacs-major-version 20) - ;; for Emacs 20 - (require 'pccl-20) - ;; for Mule 2.* - (require 'pccl-om)))) + (progn + (require 'ccl) + (if (featurep 'xemacs) + (if (>= emacs-major-version 21) + ;; for XEmacs 21 with mule + (require 'pccl-20)) + (if (>= emacs-major-version 20) + ;; for Emacs 20 + (require 'pccl-20) + ;; for Mule 2.* + (require 'pccl-om))))) (static-if (or (featurep 'xemacs) (< emacs-major-version 21)) (defadvice define-ccl-program @@ -85,11 +86,12 @@ Value is a list of transformed arguments." (setq properties (plist-put properties 'pre-write-conversion tmp))) (cond ((eq type 'shift-jis) - `(,name 1 ,mnemonic ,doc-string () ,properties ,eol-type)) + (` ((, name) 1 (, mnemonic) (, doc-string) + nil (, properties) (, eol-type)))) ((eq type 'iso2022) ; This is not perfect. (if (plist-get props 'escape-quoted) (error "escape-quoted is not supported: %S" - `(,name ,type ,doc-string ,props))) + (` ((, name) (, type) (, doc-string) (, props))))) (let ((g0 (plist-get props 'charset-g0)) (g1 (plist-get props 'charset-g1)) (g2 (plist-get props 'charset-g2)) @@ -112,46 +114,47 @@ Value is a list of transformed arguments." 'japanese-jisx0208-1978)))) (if (charsetp g0) (if (plist-get props 'force-g0-on-output) - (setq g0 `(nil ,g0)) - (setq g0 `(,g0 t)))) + (setq g0 (` (nil (, g0)))) + (setq g0 (` ((, g0) t))))) (if (charsetp g1) (if (plist-get props 'force-g1-on-output) - (setq g1 `(nil ,g1)) - (setq g1 `(,g1 t)))) + (setq g1 (` (nil (, g1)))) + (setq g1 (` ((, g1) t))))) (if (charsetp g2) (if (plist-get props 'force-g2-on-output) - (setq g2 `(nil ,g2)) - (setq g2 `(,g2 t)))) + (setq g2 (` (nil (, g2)))) + (setq g2 (` ((, g2) t))))) (if (charsetp g3) (if (plist-get props 'force-g3-on-output) - (setq g3 `(nil ,g3)) - (setq g3 `(,g3 t)))) - `(,name 2 ,mnemonic ,doc-string - (,g0 ,g1 ,g2 ,g3 - ,(plist-get props 'short) - ,(not (plist-get props 'no-ascii-eol)) - ,(not (plist-get props 'no-ascii-cntl)) - ,(plist-get props 'seven) - t - ,(not (plist-get props 'lock-shift)) - ,use-roman - ,use-oldjis - ,(plist-get props 'no-iso6429) - nil nil nil nil) - ,properties ,eol-type))) + (setq g3 (` (nil (, g3)))) + (setq g3 (` ((, g3) t))))) + (` ((, name) 2 (, mnemonic) (, doc-string) + ((, g0) (, g1) (, g2) (, g3) + (, (plist-get props 'short)) + (, (not (plist-get props 'no-ascii-eol))) + (, (not (plist-get props 'no-ascii-cntl))) + (, (plist-get props 'seven)) + t + (, (not (plist-get props 'lock-shift))) + (, use-roman) + (, use-oldjis) + (, (plist-get props 'no-iso6429)) + nil nil nil nil) + (, properties) (, eol-type))))) ((eq type 'big5) - `(,name 3 ,mnemonic ,doc-string () ,properties ,eol-type)) + (` ((, name) 3 (, mnemonic) (, doc-string) + nil (, properties) (, eol-type)))) ((eq type 'ccl) - `(,name 4 ,mnemonic ,doc-string - (,(plist-get props 'decode) . ,(plist-get props 'encode)) - ,properties ,eol-type)) + (` ((, name) 4 (, mnemonic) (, doc-string) + ((, (plist-get props 'decode)) . (, (plist-get props 'encode))) + (, properties) (, eol-type)))) (t (error "unsupported XEmacs style make-coding-style arguments: %S" - `(,name ,type ,doc-string ,props)))))) + (` ((, name) (, type) (, doc-string) (, props)))))))) (defadvice make-coding-system (before ccl-compat (name type &rest ad-subr-args) activate) "Emulate XEmacs style make-coding-system." - (when (symbolp type) + (when (and (symbolp type) (not (memq type '(t nil)))) (let ((args (apply 'transform-make-coding-system-args name type ad-subr-args))) (setq type (cadr args)