Mercurial > emacs
comparison lisp/language/chinese.el @ 20109:b68cac3f8e3a
Use coding-system-put to set coding system
properties, post-read-conversion and pre-write-conversion.
(post-read-decode-hz): Return the result of decode-hz-region.
(pre-write-encode-hz): Do not change the value of
last-coding-system.
author | Kenichi Handa <handa@m17n.org> |
---|---|
date | Tue, 21 Oct 1997 10:45:26 +0000 |
parents | 383d11185239 |
children | 36eb3e583396 |
comparison
equal
deleted
inserted
replaced
20108:00b744016673 | 20109:b68cac3f8e3a |
---|---|
72 | 72 |
73 (make-coding-system | 73 (make-coding-system |
74 'chinese-hz 0 ?z | 74 'chinese-hz 0 ?z |
75 "Hz/ZW 7-bit encoding for Chinese GB2312 (MIME:HZ-GB-2312)" | 75 "Hz/ZW 7-bit encoding for Chinese GB2312 (MIME:HZ-GB-2312)" |
76 nil) | 76 nil) |
77 (put 'chinese-hz 'post-read-conversion 'post-read-decode-hz) | 77 (coding-system-put 'chinese-hz 'post-read-conversion 'post-read-decode-hz) |
78 (put 'chinese-hz 'pre-write-conversion 'pre-write-encode-hz) | 78 (coding-system-put 'chinese-hz 'pre-write-conversion 'pre-write-encode-hz) |
79 | 79 |
80 (define-coding-system-alias 'hz-gb-2312 'chinese-hz) | 80 (define-coding-system-alias 'hz-gb-2312 'chinese-hz) |
81 (define-coding-system-alias 'hz 'chinese-hz) | 81 (define-coding-system-alias 'hz 'chinese-hz) |
82 | 82 |
83 (defun post-read-decode-hz (len) | 83 (defun post-read-decode-hz (len) |
84 (let ((pos (point))) | 84 (let ((pos (point)) |
85 (decode-hz-region pos (+ pos len)))) | 85 (buffer-modified-p (buffer-modified-p)) |
86 last-coding-system-used) | |
87 (prog1 | |
88 (decode-hz-region pos (+ pos len)) | |
89 (set-buffer-modified-p buffer-modified-p)))) | |
86 | 90 |
87 (defun pre-write-encode-hz (from to) | 91 (defun pre-write-encode-hz (from to) |
88 (let ((buf (current-buffer)) | 92 (let ((buf (current-buffer)) |
89 (work (get-buffer-create " *pre-write-encoding-work*"))) | 93 (work (get-buffer-create " *pre-write-encoding-work*"))) |
90 (set-buffer work) | 94 (set-buffer work) |
91 (erase-buffer) | 95 (erase-buffer) |
92 (if (stringp from) | 96 (if (stringp from) |
93 (insert from) | 97 (insert from) |
94 (insert-buffer-substring buf from to)) | 98 (insert-buffer-substring buf from to)) |
95 (encode-hz-region 1 (point-max)) | 99 (let (last-coding-system-used) |
100 (encode-hz-region 1 (point-max))) | |
96 nil)) | 101 nil)) |
97 | 102 |
98 (set-language-info-alist | 103 (set-language-info-alist |
99 "Chinese-GB" '((setup-function . (setup-chinese-gb-environment | 104 "Chinese-GB" '((setup-function . (setup-chinese-gb-environment |
100 . setup-chinese-environment-map)) | 105 . setup-chinese-environment-map)) |