Mercurial > emacs
changeset 35946:c5fa4e9ce635
(transform-make-coding-system-args): Make
it work also for coding systems not using CCL.
author | Kenichi Handa <handa@m17n.org> |
---|---|
date | Tue, 06 Feb 2001 23:39:26 +0000 |
parents | 404096c90c97 |
children | 9d09efb7f382 |
files | lisp/international/mule.el |
diffstat | 1 files changed, 60 insertions(+), 6 deletions(-) [+] |
line wrap: on
line diff
--- a/lisp/international/mule.el Tue Feb 06 23:39:10 2001 +0000 +++ b/lisp/international/mule.el Tue Feb 06 23:39:26 2001 +0000 @@ -584,15 +584,69 @@ (if (setq tmp (plist-get props 'pre-write-conversion)) (setq properties (plist-put properties 'pre-write-conversion tmp))) (cond + ((eq type 'shift-jis) + `(,name 1 ,mnemonic ,doc-string () ,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))) + (let ((g0 (plist-get props 'charset-g0)) + (g1 (plist-get props 'charset-g1)) + (g2 (plist-get props 'charset-g2)) + (g3 (plist-get props 'charset-g3)) + (use-roman + (and + (eq (cadr (assoc 'latin-jisx0201 + (plist-get props 'input-charset-conversion))) + 'ascii) + (eq (cadr (assoc 'ascii + (plist-get props 'output-charset-conversion))) + 'latin-jisx0201))) + (use-oldjis + (and + (eq (cadr (assoc 'japanese-jisx0208-1978 + (plist-get props 'input-charset-conversion))) + 'japanese-jisx0208) + (eq (cadr (assoc 'japanese-jisx0208 + (plist-get props 'output-charset-conversion))) + 'japanese-jisx0208-1978)))) + (if (charsetp g0) + (if (plist-get props 'force-g0-on-output) + (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)))) + (if (charsetp g2) + (if (plist-get props 'force-g2-on-output) + (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))) + ((eq type 'big5) + `(,name 3 ,mnemonic ,doc-string () ,properties ,eol-type)) ((eq type 'ccl) - `(,name 4 - ,mnemonic - ,doc-string + `(,name 4 ,mnemonic ,doc-string (,(plist-get props 'decode) . ,(plist-get props 'encode)) - ,properties - ,eol-type)) + ,properties ,eol-type)) (t - (error "Unsupported XEmacs style arguments for make-coding-style: %S" + (error "unsupported XEmacs style make-coding-style arguments: %S" `(,name ,type ,doc-string ,props)))))) (defun make-coding-system (coding-system type mnemonic doc-string