comparison lisp/mule/chinese.el @ 776:79940b592197

[xemacs-hg @ 2002-03-15 07:43:14 by ben] .cvsignore: ignore .tmp files that are getting auto-created by VC. Makefile.in.in: Use -no-packages to avoid problems with package files shadowing core files (e.g. unicode.el in mule-ucs). alloc.c, emacs.c, lisp.h: add new -no-packages. make sure list of args for sorting is actually correct. clean up arg parsing code. xemacs.mak: Use -no-packages to avoid problems with package files shadowing core files (e.g. unicode.el in mule-ucs). Makefile: Use -no-packages to avoid problems with package files shadowing core files (e.g. unicode.el in mule-ucs). mule\chinese.el, mule\japan-util.el: fix warnings. behavior-defs.el: fix errors with require. bytecomp-runtime.el: add new funs {when,and}-{f}boundp, clean up docs. cus-edit.el: pretty-print values. dump-paths.el, find-paths.el, startup.el, setup-paths.el: fix problems/inconsistencies parsing options. support new -no-packages option. merge code duplication in dump-paths and startup. lisp-mode.el: indent macrolet and labels correctly. update comments about lisp-indent-function. flet already handled in cl. apropos.el, auto-save.el, buff-menu.el, cl-extra.el, dragdrop.el, faces.el, files.el, fill.el, font-lock.el, font.el, gtk-faces.el, gui.el, help.el, hyper-apropos.el, info.el, isearch-mode.el, keymap.el, lisp-mnt.el, mouse.el, package-admin.el, package-get.el, printer.el, process.el, resize-minibuffer.el, simple.el, toolbar-items.el, wid-edit.el, win32-native.el: fix warnings. very-early-lisp.el: update docs. mule\chinese.el, mule\japan-util.el: fix warnings. mule\chinese.el, mule\japan-util.el: fix warnings. behavior-defs.el: fix errors with require. bytecomp-runtime.el: add new funs {when,and}-{f}boundp, clean up docs. cus-edit.el: pretty-print values. dump-paths.el, find-paths.el, startup.el, setup-paths.el: fix problems/inconsistencies parsing options. support new -no-packages option. merge code duplication in dump-paths and startup. lisp-mode.el: indent macrolet and labels correctly. update comments about lisp-indent-function. flet already handled in cl. apropos.el, auto-save.el, buff-menu.el, cl-extra.el, dragdrop.el, faces.el, files.el, fill.el, font-lock.el, font.el, gtk-faces.el, gui.el, help.el, hyper-apropos.el, info.el, isearch-mode.el, keymap.el, lisp-mnt.el, mouse.el, package-admin.el, package-get.el, printer.el, process.el, resize-minibuffer.el, simple.el, toolbar-items.el, wid-edit.el, win32-native.el: fix warnings. very-early-lisp.el: update docs. mule\chinese.el, mule\japan-util.el: fix warnings. Makefile.in.in: Use -no-packages to avoid problems with package files shadowing core files (e.g. unicode.el in mule-ucs). Makefile.in.in: Use -no-packages to avoid problems with package files shadowing core files (e.g. unicode.el in mule-ucs).
author ben
date Fri, 15 Mar 2002 07:43:43 +0000
parents 943eaba38521
children 2923009caf47
comparison
equal deleted inserted replaced
775:7d972c3de90a 776:79940b592197
1 ;;; chinese.el --- Support for Chinese -*- coding: iso-2022-7bit; -*- 1 ;;; chinese.el --- Support for Chinese -*- coding: iso-2022-7bit; -*-
2 2
3 ;; Copyright (C) 1995 Electrotechnical Laboratory, JAPAN. 3 ;; Copyright (C) 1995 Electrotechnical Laboratory, JAPAN.
4 ;; Licensed to the Free Software Foundation. 4 ;; Licensed to the Free Software Foundation.
5 ;; Copyright (C) 1997 MORIOKA Tomohiko 5 ;; Copyright (C) 1997 MORIOKA Tomohiko
6 ;; Copyright (C) 2000, 2001 Ben Wing. 6 ;; Copyright (C) 2000, 2001, 2002 Ben Wing.
7 7
8 ;; Keywords: multilingual, Chinese 8 ;; Keywords: multilingual, Chinese
9 9
10 ;; This file is part of XEmacs. 10 ;; This file is part of XEmacs.
11 11
28 28
29 ;; For Chinese, three character sets GB2312, BIG5, and CNS11643 are 29 ;; For Chinese, three character sets GB2312, BIG5, and CNS11643 are
30 ;; supported. 30 ;; supported.
31 31
32 ;;; Code: 32 ;;; Code:
33
34 (eval-when-compile
35 (require 'china-util))
33 36
34 ;; Syntax of Chinese characters. 37 ;; Syntax of Chinese characters.
35 (modify-syntax-entry 'chinese-gb2312 "w") 38 (modify-syntax-entry 'chinese-gb2312 "w")
36 (loop for row in '(33 34 41) 39 (loop for row in '(33 34 41)
37 do (modify-syntax-entry `[chinese-gb2312 ,row] ".")) 40 do (modify-syntax-entry `[chinese-gb2312 ,row] "."))
198 (define-coding-system-alias 'hz 'hz-gb-2312) 201 (define-coding-system-alias 'hz 'hz-gb-2312)
199 202
200 (defun post-read-decode-hz (len) 203 (defun post-read-decode-hz (len)
201 (let ((pos (point)) 204 (let ((pos (point))
202 (buffer-modified-p (buffer-modified-p)) 205 (buffer-modified-p (buffer-modified-p))
203 last-coding-system-used) 206 ;last-coding-system-used
207 )
204 (prog1 208 (prog1
205 (decode-hz-region pos (+ pos len)) 209 (decode-hz-region pos (+ pos len))
206 (set-buffer-modified-p buffer-modified-p)))) 210 (set-buffer-modified-p buffer-modified-p))))
207 211
208 (defun pre-write-encode-hz (from to) 212 (defun pre-write-encode-hz (from to)
209 (let ((buf (current-buffer))) 213 (let ((buf (current-buffer)))
210 (set-buffer (generate-new-buffer " *temp*")) 214 (set-buffer (generate-new-buffer " *temp*"))
211 (if (stringp from) 215 (if (stringp from)
212 (insert from) 216 (insert from)
213 (insert-buffer-substring buf from to)) 217 (insert-buffer-substring buf from to))
214 (let (last-coding-system-used) 218 ;(let (last-coding-system-used)
215 (encode-hz-region 1 (point-max))) 219 (encode-hz-region 1 (point-max))
216 nil)) 220 nil))
217 221
218 (set-language-info-alist 222 (set-language-info-alist
219 "Chinese-GB" '((setup-function . setup-chinese-gb-environment-internal) 223 "Chinese-GB" '((setup-function . setup-chinese-gb-environment-internal)
220 (charset chinese-gb2312 sisheng) 224 (charset chinese-gb2312 sisheng)