included commits to RCS files with non-trunk default branches.
-1998-02-18 NIIBE Yutaka <gniibe@mri.co.jp>
-
- * Egg.prj: Use PRCS.
-
- * Makefile (SRCS): Rename euc-cn.el to euc-china.el
- * egg-mlh.el (mlh-space-bar-backward-henkan): Put "Japanese"
- language property for text.
-
-1998-02-18 KATAYAMA Yoshio <kate@pfu.co.jp>
-
- * euc-china.el: Rename from euc-cn.el. Update.
-
- * egg.el (egg-mode): Bug fix. Call get-exit-conversion.
- * leim-list-egg.el ("japanese-egg-wnn", "japanese-egg-sj3"):
- Use new definition (with language argument).
- * egg/wnn.el (egg-activate-wnn):
- * egg/sj3.el (egg-activate-sj3):
-
-1998-02-17 NIIBE Yutaka <gniibe@mri.co.jp>
-
- * Makefile (SRCS): Add its/pinyin.el, its/hangul.el and
- its-keydef.el.
-
- * egg-com.el (ccl-encode-fixed-euc-kr): Fixed the name.
-
-1998-02-17 KATAYAMA Yoshio <kate@pfu.co.jp>
-
- * its-keydef.el: New file.
- * its/hangul.el, its/pinyin.el: New version.
-
- * egg/wnnrpc.el (load-library "egg/wnn"): Comment it out.
- (wnnrpc-get-error-message): Support multiple languages.
- (wnnrpc-call-with-environment): Chinese support.
-
- * egg/wnn.el (wnn-support-languages): New const.
- (<env>): Add <server-type>, <dic-set>, and <rev-flag>.
- (wnnenv-get-server-type, wnnenv-get-dictionary-set,
- wnnenv-get-reverse-flag): New substs.
- (wnnenv-get-daibunsetsu-info, wnnenv-set-daibunsetsu-info): Changed.
- (wnn-server): Removed.
- (wnn-jserver, wnn-cserver, wnn-tserver, wnn-kserver): New custom.
- (wnn-server-info-list): New const.
- (wnn-get-server-info): New function.
- (wnn-server-locale, wnn-server-type, wnn-server-port,
- wnn-server-stream-name, wnn-server-buffer-name,
- wnn-server-coding-system, wnn-server-hostname): New substs.
- (wnn-start-conversion): Add new arguments.
- (wnn-uniq-candidates): Initialize 'n'.
- (wnn-change-bunsetsu-length): Simplefied.
- (wnn-change-bunsetsu-length): Call renbunsetsu-conversion,
- instead.
- (wnn-fini, wnn-comm-sentinel): back to 971009 version.
- (wnn-jserver-port): Removed.
- (wnn-open): Argument change. Support languages.
-
- (wnn-dictionary-specification): Removed.
- (wnn-dictionary-specification-list): New variable.
- (wnn-get-dic-spec, wnn-dic-spec-dic-set, wnn-dic-spec-reverse,
- wnn-dic-spec-name, wnn-dic-spec-param, wnn-dic-spec-fuzokugo,
- wnn-dic-spec-dic-list): New substs.
- (wnn-get-environment): Rewrite.
- (wnn-create-environment): Rewrite.
-
- (egg-activate-wnn): Support languages.
-
- * egg/sj3rpc.el (load-library "egg/sj3"): Don't load it.
-
- * egg/sj3.el (sj3-support-languages): New const.
- (sj3-start-conversion, sj3-fini): Add lang.
- (sj3-change-bunsetsu-length): Simplified.
- (egg-activate-sj3): Support language.
-
- * its/hira.el (its/hira): Packagefy. (?)
- (its-hira-map): Add language spec. Move here the escape keys
- ("Z", "~").
-
- * leim-list-egg.el ("chinese-gb-egg-wnn-py", "chinese-gb-egg-wnn-zy",
- "chinese-cns-egg-wnn-py", "chinese-cns-egg-wnn-zy",
- "korean-egg-wnn"): New input methods.
-
- * its.el (its-current-language): New Local Variables.
- <map>: Change the structure. Add <language>.
- (its-get-language): New substitution.
- (its-set-indicator): Removed.
- (its-get-indicator, its-get-start-state): New implementation.
- (its-reset-start-state): Removed.
- (its-buffer-ins/del-SYL): Add new properties, its-map and its-lang.
- (its-exit-mode-internal): Change for its-map and its-lang.
- (its-in-fence-p): New function.
-
- ("its-keydef.el"): Load it.
-
- (its-select-map-menu): Removed.
- (its-select-map-from-menu): Removed.
- (its-select-hiragana, its-select-katakana, its-select-downcase,
- its-select-upcase, its-select-zenkaku-downcase,
- its-select-zenkaku-upcase, its-select-map, its-zenkaku-escape,
- its-hankaku-escape): Removed.
-
- (define-its-state-machine): Rewrite.
- (define-its-compiled-map): New macro.
- (its-define-state-machine): Removed.
-
- (its-forward-SYL): Cleanup.
-
- (its-beginning-of-input-buffer): Fix.
- (its-end-of-input-buffer): Likewise.
-
- * egg-com.el (egg-fixed-euc, egg-mb-euc): New Local Variables.
- (ccl-decode-fixed-euc-kr, ccl-encode-fixed-euc-kr): New CCLs.
- (fixed-euc-kr): New coding system.
- (comm-format-mb-string, comm-format-u16-string): Support EUC-KR.
- (comm-unpack-u16-string, comm-unpack-mb-string): Likewise.
-
- * egg-cnv.el (egg-get-bunsetsu-info): New function.
- (egg-conversion-backend-alist, egg-finalize-backend-alist):
- New Variables.
- Make egg-conversion-backend buffer local.
- (egg-set-current-backend): New function.
- (egg-initialize-backend): Call egg-set-current-backend.
- (egg-start-conversion): Add new argument LANGUAGE.
- (egg-finalize-backend): Finalize for all backend(s).
- (egg-set-conversion-backend-internal): New Macro.
- (egg-convert-region): Support multiple languages in the region.
- (egg-separate-languages, egg-char-to-language, egg-next-part-lang,
- egg-next-chinese-lang): New functions.
- (egg-insert-bunsetsu-list): Change the meaning of last argument.
- (egg-shrink-bunsetsu): Simplified. Just call egg-enlarge-bunsetsu.
- (egg-enlarge-bunsetsu): Support shrink.
-
- (egg-decide-bunsetsu, egg-next-candidate, egg-select-candidate):
- Use egg-get-bunsetsu-info.
-
- (egg-insert-bunsetsu): The property now includes
- egg-conversion-backend.
-
- * egg.el: Don't load its/hira and don't set its-current-map.
-
- * egg.el (egg-default-language, egg-support-languages): New Variables.
- (egg-last-method-name, egg-mode-line-title): New Local Variables.
- (egg-set-mode-line-title, egg-check-language): New functions.
- (egg-set-support-languages): New function.
- (egg-mode): Final processing: call its-exit-mode, call
- egg-exit-conversion.
- Changing the arguments, remember last input method.
-
- Bug fix. Don't set its-hira-period and its-hira-comma.
-
-1998-02-17 KAWABATA, Taichi
-
- * menudiag.el (menudiag-mode-map): New binds for new commands.
- (menudiag-beginning-of-items, menudiag-end-of-items): New commands.
- (menudiag-make-menu-formatted-string): Bug fix. Use
- menudiag-item-num-to-char.
- (menudiag-goto-item): Rewrite. Better user interface.
- (menudiag-char-to-item-num, menudiag-item-num-to-char): New
- functions.
-
1998-02-07 MORIOKA Tomohiko <morioka@jaist.ac.jp>
* leim-list-egg.el: Delete autoload setting for `egg-mode'.
;;; egg.el --- EGG Input Method Architecture
-;; Copyright (C) 1997, 1998 Mule Project, Powered by Electrotechnical
+;; Copyright (C) 1997 Mule Project, Powered by Electrotechnical
;; Laboratory, JAPAN.
;; Project Leader: Satoru Tomura <tomura@etl.go.jp>
;; Author: NIIBE Yutaka <gniibe@mri.co.jp>
-;; KATAYAMA Yoshio <kate@pfu.co.jp>
;; Maintainer: NIIBE Yutaka <gniibe@mri.co.jp>
;; Keywords: mule, multilingual, input method
;; This file will be part of GNU Emacs (in future).
-;; EGG is free software; you can redistribute it and/or modify
+;; GNU Emacs is free software; you can redistribute it and/or modify
;; it under the terms of the GNU General Public License as published by
;; the Free Software Foundation; either version 2, or (at your option)
;; any later version.
-;; EGG is distributed in the hope that it will be useful,
+;; GNU Emacs is distributed in the hope that it will be useful,
;; but WITHOUT ANY WARRANTY; without even the implied warranty of
;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;; GNU General Public License for more details.
(defvar egg-mode-preference t
"Non-nil if modefull.")
-(defvar egg-default-language "Japanese")
-(defvar egg-last-method-name)
-(make-variable-buffer-local 'egg-last-method-name)
-(defvar egg-mode-line-title)
-(make-variable-buffer-local 'egg-mode-line-title)
-
;;;###autoload
-(defun egg-mode (&rest arg)
+(defun egg-mode (&optional arg)
"Toggle EGG mode.
\\[describe-bindings]
"
(if (null arg)
;; Turn off
(progn
- (cond
- ((its-in-fence-p)
- (its-exit-mode))
- ((egg-get-bunsetsu-info (point))
- (egg-exit-conversion)))
(setq describe-current-input-method-function nil)
(setq current-input-method nil)
(let ((orig-local-map (keymap-parent (current-local-map))))
(use-local-map orig-local-map))
(run-hooks 'input-method-inactivate-hook))
;; Turn on
- (if (null (string= (car arg) egg-last-method-name))
- (progn
- (funcall (nth 1 arg))
- (setq egg-default-language its-current-language)))
- (setq egg-last-method-name (car arg))
(use-local-map (if egg-mode-preference
(egg-modefull-map)
(egg-modeless-map)))
(run-hooks 'input-method-activate-hook))
(force-mode-line-update))
-(defun egg-set-mode-line-title (title)
- (setq egg-mode-line-title title)
- (force-mode-line-update))
-
-(defun egg-check-language (lang)
- (if (null (member lang egg-support-languages))
- (error "%S is not supported" lang)))
-
(defun egg-modefull-map ()
"Generate modefull keymap for EGG mode."
(let ((map (make-sparse-keymap))
(setq ocolumn (current-column))
(funcall auto-fill-function)))))
+(setq its-hira-period "\e$B!#\e(B") ; ". " "\e$B!%\e(B" "\e$B!#\e(B"
+(setq its-hira-comma ", ") ; ", " "\e$B!$\e(B" "\e$B!"\e(B"
+
(require 'its)
(require 'menudiag)
(require 'egg-mlh)
(defgroup egg nil
"Tamagotchy --- EGG Versio 4.0")
-;;(load-library "its/hira")
-;;(setq-default its-current-map its-hira-map)
+(load-library "its/hira")
+(setq-default its-current-map its-hira-map)
;;(load-library "egg/wnn")
;;(load-library "egg/wnnrpc")
;;(load-library "egg/sj3")
;;(setq egg-conversion-backend sj3-conversion-backend)
-(defvar egg-support-languages nil)
-
-(defun egg-set-support-languages (langs)
- (while langs
- (if (null (member (car langs) egg-support-languages))
- (setq egg-support-languages (cons (car langs) egg-support-languages)))
- (setq langs (cdr langs))))
-
(add-hook 'kill-emacs-hook 'egg-kill-emacs-function)
(defun egg-kill-emacs-function ()
(egg-finalize-backend))
;; This file will be part of GNU Emacs (in future).
-;; EGG is free software; you can redistribute it and/or modify
+;; GNU Emacs is free software; you can redistribute it and/or modify
;; it under the terms of the GNU General Public License as published by
;; the Free Software Foundation; either version 2, or (at your option)
;; any later version.
-;; EGG is distributed in the hope that it will be useful,
+;; GNU Emacs is distributed in the hope that it will be useful,
;; but WITHOUT ANY WARRANTY; without even the implied warranty of
;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;; GNU General Public License for more details.
;;; Code:
-(defconst sj3-support-languages '("Japanese"))
-
(defconst sj3-conversion-backend
[ sj3-init
(defun sj3-init ()
)
-(defun sj3-start-conversion (yomi lang)
+(defun sj3-start-conversion (yomi)
"Convert YOMI string to kanji, and enter conversion mode.
Return the list of bunsetsu."
(let ((env (sj3-get-environment)))
(env (sj3bunsetsu-get-env b1))
yomi1 yomi2
bunsetsu1 bunsetsu2)
- (setq yomi1 (substring yomi 0 len)
- yomi2 (substring yomi len))
+ (save-match-data
+ (string-match (concat "^\\(" (make-string len ?.) "\\)\\(.*$\\)") yomi)
+ (setq yomi1 (match-string 1 yomi))
+ (setq yomi2 (match-string 2 yomi)))
(setq bunsetsu1
(sj3rpc-tanbunsetsu-conversion env yomi1))
;; Only set once.
(list bunsetsu1))))
;; XXX: Not implemented yet
-(defun sj3-fini (lang)
+(defun sj3-fini ()
)
;;; setup
(load "egg/sj3rpc")
;;;###autoload
-(defun egg-activate-sj3 (&rest arg)
+(defun egg-activate-sj3 (&optional arg)
"Activate SJ3 backend of Tamagotchy."
- (egg-set-support-languages sj3-support-languages)
- (egg-set-conversion-backend sj3-conversion-backend
- sj3-support-languages
- nil)
- (apply 'egg-mode arg))
+ (setq egg-conversion-backend sj3-conversion-backend)
+ (egg-mode arg)
+ )
;;; egg/sj3.el ends here.
;; This file will be part of GNU Emacs (in future).
-;; EGG is free software; you can redistribute it and/or modify
+;; GNU Emacs is free software; you can redistribute it and/or modify
;; it under the terms of the GNU General Public License as published by
;; the Free Software Foundation; either version 2, or (at your option)
;; any later version.
-;; EGG is distributed in the hope that it will be useful,
+;; GNU Emacs is distributed in the hope that it will be useful,
;; but WITHOUT ANY WARRANTY; without even the implied warranty of
;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;; GNU General Public License for more details.
(eval-when-compile
(require 'egg-com)
-;; (load-library "egg/sj3")
+ (load-library "egg/sj3")
(defmacro sj3-const (c)
(cond ((eq c 'OPEN) 1)
((eq c 'CLOSE) 2)
;;; egg/wnn.el --- WNN Support (high level interface) in Egg
;;; Input Method Architecture
-;; Copyright (C) 1997, 1998 Mule Project, Powered by Electrotechnical
+;; Copyright (C) 1997 Mule Project, Powered by Electrotechnical
;; Laboratory, JAPAN.
;; Project Leader: Satoru Tomura <tomura@etl.go.jp>
;; Author: NIIBE Yutaka <gniibe@mri.co.jp>
-;; KATAYAMA Yoshio <kate@pfu.co.jp> ; Korean, Chinese support.
-;;
;; Maintainer: NIIBE Yutaka <gniibe@mri.co.jp>
-;; This file will be part of EGG (in future).
+;; This file will be part of GNU Emacs (in future).
-;; EGG is free software; you can redistribute it and/or modify
+;; GNU Emacs is free software; you can redistribute it and/or modify
;; it under the terms of the GNU General Public License as published by
;; the Free Software Foundation; either version 2, or (at your option)
;; any later version.
-;; EGG is distributed in the hope that it will be useful,
+;; GNU Emacs is distributed in the hope that it will be useful,
;; but WITHOUT ANY WARRANTY; without even the implied warranty of
;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;; GNU General Public License for more details.
;;; Commentary:
;;; Code:
+
(defgroup wnn nil
"Wnn interface for Tamagotchy"
:group 'egg)
-(defconst wnn-support-languages
- '("Japanese" "Chinese-GB" "Chinese-CNS" "Korean"))
-
(eval-when-compile
(defmacro WNN-const (c)
(cond ((eq c 'BUN_SENTOU) -1)
wnn-fini
])
-;; <env> ::= [ <proc> <env-id> <server-type> <dic-set> <rev-flag>
-;; <daibunsetsu-info> ]
+;; <env> ::= [ <proc> <env-id> <daibunsetsu-info> ]
-(defsubst wnnenv-create (proc env-id server-type dic-set rev-flag)
- (vector proc env-id server-type dic-set rev-flag nil))
+(defsubst wnnenv-create (proc env-id)
+ (vector proc env-id nil))
(defsubst wnnenv-get-proc (env)
(aref env 0))
(defsubst wnnenv-get-env-id (env)
(aref env 1))
-(defsubst wnnenv-get-server-type (env)
- (aref env 2))
-
-(defsubst wnnenv-get-dictionary-set (env)
- (aref env 3))
-
-(defsubst wnnenv-get-reverse-flag (env)
- (aref env 4))
-
(defsubst wnnenv-get-daibunsetsu-info (env)
- (aref env 5))
+ (aref env 2))
(defsubst wnnenv-set-daibunsetsu-info (env d)
- (aset env 5 d))
+ (aset env 2 d))
;; <bunsetsu> ::= [ <env> <end> <start> <jiritsugo-end> <dic-no>
;; <entry> <freq> <right-now> <hinshi> <status>
(defsubst wnn-bunsetsu-set-zenkouho-pos (bunsetsu zp)
(aset bunsetsu 18 zp))
\f
-(defvar wnn-environments nil
- "Environment for WNN kana-kanji conversion")
-
-(defcustom wnn-jserver "localhost" "jserver host" :group 'wnn :type 'string)
-(defcustom wnn-cserver "localhost" "cserver host" :group 'wnn :type 'string)
-(defcustom wnn-tserver "localhost" "tserver host" :group 'wnn :type 'string)
-(defcustom wnn-kserver "localhost" "kserver host" :group 'wnn :type 'string)
-
-;; The port number should be initialized from $WNNLIB/serverdefs by wnn-init
-(defconst wnn-server-info-list
- ;; language locale server port stream coding-system hostname
- '(("Japanese" "ja_JP" jserver 22273 "Wnn" fixed-euc-jp wnn-jserver)
- ("Chinese-GB" "zh_CN" cserver 22289 "cWnn" fixed-euc-cn wnn-cserver)
- ("Chinese-CNS" "zh_TW" tserver 22321 "tWnn" fixed-euc-tw wnn-tserver)
- ("Korean" "ko_KR" kserver 22305 "kWnn" fixed-euc-kr wnn-kserver)))
-
-(defun wnn-get-server-info (lang)
- (let (info)
- (if (null lang)
- (setq lang its-current-language))
- (if (setq info (assoc lang wnn-server-info-list)) info
- (assoc "Japanese" wnn-server-info-list))))
-
-(defsubst wnn-server-locale (info)
- (nth 1 info))
-
-(defsubst wnn-server-type (info)
- (nth 2 info))
-
-(defsubst wnn-server-port (info)
- (nth 3 info))
-
-(defsubst wnn-server-stream-name (info)
- (nth 4 info))
-
-(defsubst wnn-server-buffer-name (info)
- (concat " *" (wnn-server-stream-name info) "*"))
-
-(defsubst wnn-server-coding-system (info)
- (nth 5 info))
+(defcustom wnn-server "localhost"
+ "Hostname of wnn server"
+ :group 'wnn
+ :type 'string)
-(defsubst wnn-server-hostname (info)
- (symbol-value (nth 6 info)))
+(defvar wnn-environment nil
+ "Environment for WNN kana-kanji conversion")
(defun wnn-init ()
)
-(defun wnn-start-conversion (yomi &optional language dic-set reverse)
+(defun wnn-start-conversion (yomi)
"Convert YOMI string to kanji, and enter conversion mode.
Return the list of bunsetsu."
- (let* ((server-info (wnn-get-server-info language))
- (env (wnn-get-environment server-info dic-set reverse))
+ (let* ((env (wnn-get-environment wnn-dictionary-specification))
(result (wnnrpc-renbunsetsu-conversion env yomi
(WNN-const BUN_SENTOU) "")))
(wnnenv-set-daibunsetsu-info env (car result))
(let ((hash-table (make-vector 31 0)) ; XXX why 31?
(l bunsetsu-list)
(i 0)
- (n 0) sym0 result p b sym)
+ n sym0 result p b sym)
(setq sym0 (intern (wnn-get-bunsetsu-converted bunsetsu) hash-table))
(while l
(setq b (car l)
prev-fuzokugo "")
(setq prev-hinshi (wnn-bunsetsu-get-hinshi b0)
prev-fuzokugo (wnn-bunsetsu-get-fuzokugo b0)))
- (setq yomi1 (substring yomi 0 len)
- yomi2 (substring yomi len))
+ (save-match-data
+ (string-match (concat "^\\(" (make-string len ?.) "\\)\\(.*$\\)") yomi)
+ (setq yomi1 (match-string 1 yomi))
+ (setq yomi2 (match-string 2 yomi)))
(setq bunsetsu1
(car (wnnrpc-tanbunsetsu-conversion env yomi1
prev-hinshi prev-fuzokugo)))
(list b1 b2)
(list b1))))
(if (< 0 (length yomi2))
+ ;; RENBUNSETSU? XXX
(setq bunsetsu2
- (cdr (wnnrpc-renbunsetsu-conversion
+ (car (wnnrpc-tanbunsetsu-conversion
env yomi2
(wnn-bunsetsu-get-hinshi bunsetsu1)
(wnn-bunsetsu-get-fuzokugo bunsetsu1))))
(setq bunsetsu2 nil))
(if bunsetsu2
- (append (list bunsetsu1) bunsetsu2)
+ (list bunsetsu1 bunsetsu2)
(list bunsetsu1))))
(defvar wnn-sticky-environment-flag nil
"*Flag which specifies sticky environment.")
-(defun wnn-fini (lang) ; XXX
- ; tamago-971009 version
- ; argument LANG is still dummy
- (if wnn-environments
- (let ((l wnn-environments))
- (condition-case nil
- (while l
- (let ((env (car l)))
- (if wnn-sticky-environment-flag
- (wnnrpc-make-env-sticky env)
- (wnnrpc-make-env-unsticky env))
- (wnnrpc-disconnect env)
- (setq l (cdr l))))
- (error nil))
- (setq l wnn-environments)
- (while l
- (let ((proc (wnnenv-get-proc (car l))))
- (if (eq (process-status proc) 'open)
- (progn
- (wnnrpc-close proc)
- (kill-buffer (process-buffer proc)))
- (setq l (cdr l)))))
- (setq wnn-environments nil))))
+(defun wnn-fini () ; XXX
+ (if (null wnn-environment)
+ nil
+ (condition-case nil
+ (progn
+ (if wnn-sticky-environment-flag
+ (wnnrpc-make-env-sticky wnn-environment)
+ (wnnrpc-make-env-unsticky wnn-environment))
+ (wnnrpc-disconnect wnn-environment))
+ (error nil))
+ (let ((proc (wnnenv-get-proc wnn-environment)))
+ (if (eq (process-status proc) 'open)
+ (progn
+ (wnnrpc-close proc)
+ (kill-buffer (process-buffer proc))
+ (delete-process proc))))
+ (setq wnn-environment nil)))
\f
+;; XXX should be array (index: server) of {C,J,K}server
+(defconst wnn-jserver-port 22273)
;;
(defun wnn-comm-sentinel (proc reason) ; assume it is close
- ; tamago-971009 version
- (let ((l wnn-environments)
- env l1)
- (kill-buffer (process-buffer proc))
- ;; delete env from the list.
- (while l
- (setq env (car l))
- (if (eq proc (wnnenv-get-proc env))
- (progn
- (if l1
- (setcdr l1 (cdr l))
- (setq wnn-environments (cdr l)))
- (setq l (cdr l)))
- (setq l1 l
- l (cdr l))))))
+ (kill-buffer (process-buffer proc))
+ (delete-process proc)
+ (setq wnn-environment nil)
+ (message "WNN: connection closed"))
;;
-(defun wnn-open (server-info)
+(defun wnn-open (hostname language)
"Establish the connection to WNN server. Return process object."
- ;; Open the session to WNN server,
- (let ((buf (generate-new-buffer (wnn-server-buffer-name server-info)))
- (hostname (wnn-server-hostname server-info))
- proc result)
+ ;; Specifying language (jserver/cserver/kserver),
+ ;; open the session to WNN server,
+ (let ((buf (generate-new-buffer " *WNN*"))
+ proc result)
(condition-case result
- (setq proc (open-network-stream (wnn-server-stream-name server-info)
- buf
- hostname
- (wnn-server-port server-info)))
+ (setq proc (open-network-stream "WNN" buf hostname wnn-jserver-port))
(error (progn
(kill-buffer buf)
(signal (car result) (cdr result)))))
(set-buffer buf)
(erase-buffer)
(buffer-disable-undo)
- (setq enable-multibyte-characters nil
- egg-fixed-euc (wnn-server-coding-system server-info)))
- (setq result (wnnrpc-open proc
- (if (equal hostname "localhost")
- "unix"
- (system-name))
- (user-login-name)))
+ (setq enable-multibyte-characters nil))
+ (setq result (wnnrpc-open proc (system-name) (user-login-name)))
(if (< result 0)
(let ((msg (wnnrpc-get-error-message (- result))))
(delete-process proc)
(kill-buffer buf)
- (error "Can't open WNN session (%s %S): %s"
- hostname
- (wnn-server-type server-info) msg))
+ (error "Can't open WNN session (%s %s): %s" hostname language msg))
proc)))
-(defvar wnn-dictionary-specification-list
- '((jserver
- (nil nil ""
- [2 10 2 45 100 200 5 1 40 -100 200 -100 200 80 200 200 200]
- "pubdic/full.fzk"
- ["pubdic/kihon.dic" ("kihon.h") 5 nil t]
- ["pubdic/setsuji.dic" ("setsuji.h") 5 nil t]
- ["pubdic/koyuu.dic" ("koyuu.h") 1 nil t]
- ["pubdic/chimei.dic" ("chimei.h") 1 nil t]
- ["pubdic/jinmei.dic" ("jinmei.h") 1 nil t]
- ["pubdic/special.dic" ("special.h") 5 nil t]
- ["pubdic/computer.dic" ("computer.h") 5 nil t]
- ["pubdic/symbol.dic" ("symbol.h") 1 nil t]
- ["pubdic/tankan.dic" nil 1 nil nil]
- ["pubdic/bio.dic" ("bio.h") 1 nil t]
- ["gerodic/g-jinmei.dic" ("g-jinmei.h") 1 nil t]
- ["wnncons/tankan2.dic" nil 1 nil nil]
- ["wnncons/tankan3.dic" nil 1 nil nil]
- [("ud") nil 5 t t])
- (nil t "R"
- [2 10 2 45 1 80 5 1 50 -20 400 -10 100 -100 200 0 200]
- "pubdic/full.fzk"
- ["pubdic/kihon.dic" ("kihon.h") 5 nil t]
- ["pubdic/setsuji.dic" ("setsuji.h") 5 nil t]
- ["pubdic/koyuu.dic" ("koyuu.h") 1 nil t]
- ["pubdic/chimei.dic" ("chimei.h") 1 nil t]
- ["pubdic/jinmei.dic" ("jinmei.h") 1 nil t]
- ["pubdic/special.dic" ("special.h") 5 nil t]
- ["pubdic/computer.dic" ("computer.h") 5 nil t]
- ["pubdic/symbol.dic" ("symbol.h") 1 nil t]
- ["pubdic/tankan.dic" nil 1 nil nil]
- ["pubdic/bio.dic" ("bio.h") 1 nil t]
- ["gerodic/g-jinmei.dic" ("g-jinmei.h") 1 nil t]
- ["wnncons/tankan2.dic" nil 1 nil nil]
- ["wnncons/tankan3.dic" nil 1 nil nil]
- [("ud") nil 5 t t]))
- (cserver
- (Q nil "Q"
- nil
- "sys/full.con"
- ["sys/QianMa.dic" nil 1 nil nil])
- (W nil "W"
- nil
- "sys/full.con"
- ["sys/WuBi.dic" nil 1 nil nil])
- (nil nil "PZ"
- [1 5 2 750 10 80 10 5 1000 50 0 -200 0 0 0 16 0]
- "sys/full.con"
- ["sys/level_1.dic" ("level_1.h") 4 nil t]
- ["sys/level_2.dic" ("level_2.h") 1 nil t]
- ["sys/basic.dic" ("basic.h") 7 nil t]
- ["sys/computer.dic" ("computer.h") 4 nil t]
- ["sys/cwnn.dic" ("cwnn.h") 4 nil t]
- [("ud") nil 5 t t])
- (Q t "QR"
- nil
- "sys/full.conR"
- ["sys/QianMa.dic" nil 1 nil nil])
- (W t "WR"
- nil
- "sys/full.conR"
- ["sys/WuBi.dic" nil 1 nil nil])
- (nil t "PZR"
- [1 5 2 750 10 80 10 5 1000 50 0 -200 0 0 0 16 0]
- "sys/full.conR"
- ["sys/level_1.dic" ("level_1.h") 4 nil t]
- ["sys/level_2.dic" ("level_2.h") 1 nil t]
- ["sys/basic.dic" ("basic.h") 7 nil t]
- ["sys/computer.dic" ("computer.h") 4 nil t]
- ["sys/cwnn.dic" ("cwnn.h") 4 nil t]
- [("ud") nil 5 t t]))
- (tserver
- (nil nil ""
- [1 5 2 750 10 80 10 5 1000 50 0 -200 0 0 0 16 0]
- "sys/full.con"
- ["sys/cns_ch.dic" ("cns_ch.h") 4 nil t]
- ["sys/cns_wd.dic" ("cns_wd.h") 1 nil t]
- [("ud") nil 5 t t])
- (nil t "R"
- [1 5 2 750 10 80 10 5 1000 50 0 -200 0 0 0 16 0]
- "sys/full.conR"
- ["sys/cns_ch.dic" ("cns_ch.h") 4 nil t]
- ["sys/cns_wd.dic" ("cns_wd.h") 1 nil t]
- [("ud") nil 5 t t]))
- (kserver
- (nil nil ""
- [2 5 2 45 200 80 5 1 40 0 400 -100 400 80 200 2 200]
- "sys/full.fzk"
- ["sys/hword.dic" ("hword.h") 5 nil t]
- ["sys/single.dic" ("single.h") 1 nil t]
- [("ud") nil 2 t t])
- (nil t "R"
- [2 10 2 45 1 80 5 1 50 -20 400 -10 100 -100 200 0 200]
- "sys/full.fzk"
- ["sys/hword.dic" ("hword.h") 5 nil t]
- ["sys/single.dic" ("single.h") 1 nil t]
- [("ud") nil 2 t t]))))
-
-(defsubst wnn-get-dic-spec (server)
- (cdr (assoc server wnn-dictionary-specification-list)))
-
-(defsubst wnn-dic-spec-dic-set (spec)
- (nth 0 spec))
-
-(defsubst wnn-dic-spec-reverse (spec)
- (nth 1 spec))
-
-(defsubst wnn-dic-spec-name (spec)
- (nth 2 spec))
-
-(defsubst wnn-dic-spec-param (spec)
- (nth 3 spec))
-
-(defsubst wnn-dic-spec-fuzokugo (spec)
- (nth 4 spec))
-
-(defsubst wnn-dic-spec-dic-list (spec)
- (nthcdr 5 spec))
-
+(defvar wnn-dictionary-specification
+ '([2 10 2 45 100 200 5 1 40 0 -100 200 -100 200 80 200 200]
+ "pubdic/full.fzk"
+ ["pubdic/kihon.dic" ("kihon.h") 5 nil t]
+ ["pubdic/setsuji.dic" ("setsuji.h") 5 nil t]
+ ["pubdic/koyuu.dic" ("koyuu.h") 1 nil t]
+ ["pubdic/chimei.dic" ("chimei.h") 1 nil t]
+ ["pubdic/jinmei.dic" ("jinmei.h") 1 nil t]
+ ["pubdic/special.dic" ("special.h") 5 nil t]
+ ["pubdic/computer.dic" ("computer.h") 5 nil t]
+ ["pubdic/symbol.dic" ("symbol.h") 1 nil t]
+ ["pubdic/tankan.dic" ("tankan.h") 1 nil t]
+ ["pubdic/bio.dic" ("bio.h") 1 nil t]
+ ["gerodic/g-jinmei.dic" ("g-jinmei.h") 1 nil t]
+ ["wnncons/tankan2.dic" ("tankan2.h") 1 nil t]
+ ["wnncons/tankan3.dic" ("tankan3.h") 1 nil t]
+ [("ud") nil 5 t t])
+ "")
(defcustom wnn-usr-dic-dir (concat "usr/" (user-login-name))
"*Directory of user dictionary for Wnn."
(wnnrpc-open-file proc env-id freqname)) ; XXX: error?
-1))
-(defun wnn-get-environment (server-info &optional dic-set reverse)
- "Return WNN Environemt for the conversion server specified
-by SERVER-INFO. If none, create new environment. Optional
-argument DIC-SET specifies dictionary set. Optional argument
-REVERSE specifies reverse conversion, if non nil."
- (let ((server-type (wnn-server-type server-info))
- (env wnn-environments)
- proc spec e s)
- (setq reverse (null (null reverse)))
- (if (catch 'found
- (while env
- (setq e (car env))
- (if (and (eq (wnnenv-get-server-type e) server-type)
- (eq (wnnenv-get-dictionary-set e) dic-set)
- (eq (wnnenv-get-reverse-flag e) reverse))
- (throw 'found t))
- (setq env (cdr env))))
- e
- (setq proc (wnn-open server-info)
- spec (wnn-get-dic-spec server-type))
- (while spec
- (setq s (car spec)
- e (wnn-create-environment proc server-type s)
- wnn-environments (cons e wnn-environments))
- (if (and (eq (wnn-dic-spec-dic-set s) dic-set)
- (eq (wnn-dic-spec-reverse s) reverse))
- (setq env e))
- (setq spec (cdr spec)))
- env)))
-
-(defun wnn-create-environment (proc server-type spec)
+(defun wnn-get-environment (dic-spec)
+ "Return WNN Environemt. If none, create new environment.
+Take one argument DIC-SPEC for dictionary specification."
+ (if wnn-environment
+ wnn-environment
+ (let ((username (user-login-name))
+ (proc (wnn-open wnn-server "ja_JP")))
+ (setq wnn-environment
+ (wnn-create-environment proc username nil dic-spec)))))
+
+(defun wnn-create-environment (proc username reverse-flag spec)
""
;; Create new data structure: something like wnn_buf
;; Process, Environment-ID and Daibunsetsu-info.
- (let (env-id parameters filename fuzokugo-fid ret dic-set reverse)
- (setq env-id (wnnrpc-connect proc (wnn-make-env-name spec)))
+ (let (env env-id parameters)
+ (setq env-id (wnnrpc-connect proc username))
(if (< env-id 0)
- (error "Can't connect new WNN environment: %s"
- (wnnrpc-get-error-message (- env-id))))
- (setq dic-set (wnn-dic-spec-dic-set spec)
- reverse (wnn-dic-spec-reverse spec)
- parameters (wnn-dic-spec-param spec)
- filename (wnn-filename (wnn-dic-spec-fuzokugo spec))
- fuzokugo-fid (wnn-open-file proc env-id filename))
- (if (null fuzokugo-fid)
- (setq fuzokugo-fid -1)
- (if (< fuzokugo-fid 0)
- (progn
- (message "WNN: Can't open fuzokugo file (%s): %s"
- filename
- (wnnrpc-get-error-message (- fuzokugo-fid)))
- (setq fuzokugo-fid -1))))
- (setq ret (wnnrpc-set-fuzokugo-file proc env-id fuzokugo-fid))
- (if (< ret 0)
- (let ((msg (wnnrpc-get-error-message (- ret))))
- (message "WNN: Error on setting fuzokugo (%s): %s" filename msg)))
- (setq spec (wnn-dic-spec-dic-list spec))
+ (let ((msg (wnnrpc-get-error-message (- env-id))))
+ (error "Can't connect new WNN environment: %s" msg)))
+ (setq parameters (car spec))
+ (setq spec (cdr spec))
+ (let ((filename (wnn-filename (car spec)))
+ fuzokugo-fid ret)
+ (setq fuzokugo-fid (wnn-open-file proc env-id filename))
+ (if (null fuzokugo-fid)
+ (setq fuzokugo-fid -1)
+ (if (< fuzokugo-fid 0)
+ (let ((msg (wnnrpc-get-error-message (- fuzokugo-fid))))
+ (message "WNN: Can't open fuzokugo file (%s): %s" filename msg)
+ (setq fuzokugo-fid -1))))
+ (setq ret (wnnrpc-set-fuzokugo-file proc env-id fuzokugo-fid))
+ (if (< ret 0)
+ (let ((msg (wnnrpc-get-error-message (- ret))))
+ (message "WNN: Error on setting fuzokugo (%s): %s" filename msg))))
+ (setq spec (cdr spec))
(while spec
- (wnn-set-dictionary proc env-id reverse (car spec))
- (setq spec (cdr spec)))
- (if parameters
- (wnnrpc-set-conversion-parameters proc env-id parameters))
- (wnnenv-create proc env-id server-type dic-set reverse)))
-
-(defvar wnn-user-name nil)
-
-(defun wnn-make-env-name (spec)
- (or wnn-user-name
- (setq wnn-user-name (getenv "WNNUSER"))
- (setq wnn-user-name (user-login-name)))
- (concat wnn-user-name (wnn-dic-spec-name spec)))
+ (let ((dic-spec (car spec)))
+ (wnn-set-dictionary proc env-id reverse-flag dic-spec)
+ (setq spec (cdr spec))))
+ (wnnrpc-set-conversion-parameters proc env-id parameters)
+ (setq env (wnnenv-create proc env-id))
+ env))
(defun wnn-update-frequency (env bunsetsu-info-list)
(let ((l bunsetsu-info-list))
(wnnrpc-add-word env dic-number yomi kanji comment
hinshi-id initial-freq)))
+
;;; setup
(require 'egg)
(load "egg/wnnrpc")
;;;###autoload
-(defun egg-activate-wnn (&rest arg)
+(defun egg-activate-wnn (&optional arg)
"Activate Wnn backend of Tamagotchy."
- (egg-set-support-languages wnn-support-languages)
- (egg-set-conversion-backend wnn-conversion-backend
- (list (nth 2 arg))
- wnn-support-languages)
- (apply 'egg-mode arg))
+ (setq egg-conversion-backend wnn-conversion-backend)
+ (egg-mode arg)
+ )
;;; egg/wnn.el ends here.
;;; egg/wnnrpc.el --- WNN Support (low level interface) in Egg
;;; Input Method Architecture
-;; Copyright (C) 1997, 1998 Mule Project, Powered by Electrotechnical
+;; Copyright (C) 1997 Mule Project, Powered by Electrotechnical
;; Laboratory, JAPAN.
;; Project Leader: Satoru Tomura <tomura@etl.go.jp>
;; Author: NIIBE Yutaka <gniibe@mri.co.jp>
-;; KATAYAMA Yoshio <kate@pfu.co.jp> ; Korean, Chinese support.
-;;
;; Maintainer: NIIBE Yutaka <gniibe@mri.co.jp>
;; This file will be part of GNU Emacs (in future).
-;; EGG is free software; you can redistribute it and/or modify
+;; GNU Emacs is free software; you can redistribute it and/or modify
;; it under the terms of the GNU General Public License as published by
;; the Free Software Foundation; either version 2, or (at your option)
;; any later version.
-;; EGG is distributed in the hope that it will be useful,
+;; GNU Emacs is distributed in the hope that it will be useful,
;; but WITHOUT ANY WARRANTY; without even the implied warranty of
;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;; GNU General Public License for more details.
(eval-when-compile
(require 'egg-com)
- ;; (load-library "egg/wnn")
+ (load-library "egg/wnn")
(defmacro wnn-const (c)
"Macro for WNN constants."
(cond ((eq c 'JS_VERSION) 0)
((eq c 'WNN_MAX_FILE_OF_AN_ENV) 60))))
(defconst wnnrpc-error-message
- '(("Japanese" .
- [
- nil
- "\e$B%U%!%$%k$,B8:_$7$^$;$s\e(B"
- nil
- "\e$B%a%b%j\e(B allocation \e$B$G<:GT$7$^$7$?\e(B"
- nil
- "\e$B<-=q$G$O$"$j$^$;$s\e(B"
- "\e$BIQEY%U%!%$%k$G$O$"$j$^$;$s\e(B"
- "\e$BIUB08l%U%!%$%k$G$O$"$j$^$;$s\e(B"
- nil
- "\e$B<-=q%F!<%V%k$,0lGU$G$9\e(B"
- "\e$BIQEY%U%!%$%k$,;XDj$5$l$?<-=q$NIQEY%U%!%$%k$G$O$"$j$^$;$s\e(B"
- nil
- nil
- nil
- nil
- nil
- "\e$B%U%!%$%k$,%*!<%W%s$G$-$^$;$s\e(B"
- "\e$B@5$7$$IQEY%U%!%$%k$G$O$"$j$^$;$s\e(B"
- "\e$B@5$7$$IUB08l%U%!%$%k$G$O$"$j$^$;$s\e(B"
- "\e$BIUB08l$N8D?t\e(B, \e$B%Y%/%?D9$5$J$I$,B?2a$.$^$9\e(B"
- "\e$B$=$NHV9f$N<-=q$O;H$o$l$F$$$^$;$s\e(B"
- nil
- nil
- nil
- "\e$BIUB08l%U%!%$%k$NFbMF$,@5$7$/$"$j$^$;$s\e(B"
- "\e$B5?;wIJ;lHV9f$,0[>o$G$9\e(B(hinsi.data \e$B$,@5$7$/$"$j$^$;$s\e(B)"
- "\e$BL$Dj5A$NIJ;l$,A0C<IJ;l$H$7$FDj5A$5$l$F$$$^$9\e(B"
- "\e$BIUB08l%U%!%$%k$,FI$_9~$^$l$F$$$^$;$s\e(B"
- nil
- nil
- "\e$B<-=q$N%(%$%s%H%j$,B?2a$.$^$9\e(B"
- "\e$BJQ49$7$h$&$H$9$kJ8;zNs$,D92a$.$^$9\e(B"
- "\e$BIUB08l2r@ONN0h$,ITB-$7$F$$$^$9\e(B"
- nil
- "\e$B<!8uJdNN0h$,ITB-$7$F$$$^$9\e(B"
- "\e$B8uJd$,\e(B 1 \e$B$D$b:n$l$^$;$s$G$7$?\e(B"
- nil
- nil
- nil
- nil
- "\e$BFI$_$,D92a$.$^$9\e(B"
- "\e$B4A;z$,D92a$.$^$9\e(B"
- "\e$B;XDj$5$l$?<-=q$OEPO?2DG=$G$O$"$j$^$;$s\e(B"
- "\e$BFI$_$ND9$5$,\e(B 0 \e$B$G$9\e(B"
- "\e$B;XDj$5$l$?<-=q$O5U0z$-2DG=$G$O$"$j$^$;$s\e(B"
- "\e$B%j!<%I%*%s%j!<$N<-=q$KEPO?\e(B/\e$B:o=|$7$h$&$H$7$^$7$?\e(B"
- "\e$B4D6-$KB8:_$7$J$$<-=q$KEPO?$7$h$&$H$7$^$7$?\e(B"
- nil
- nil
- "\e$B%j!<%I%*%s%j!<$NIQEY$rJQ99$7$h$&$H$7$^$7$?\e(B"
- "\e$B;XDj$5$l$?C18l$,B8:_$7$^$;$s\e(B"
- nil
- nil
- nil
- nil
- nil
- nil
- nil
- nil
- nil
- "\e$B%a%b%j\e(B allocation \e$B$G<:GT$7$^$7$?\e(B"
- nil
- nil
- nil
- nil
- nil
- nil
- nil
- "\e$B2?$+$N%(%i!<$,5/$3$j$^$7$?\e(B"
- "\e$B%P%0$,H/@8$7$F$$$kLOMM$G$9\e(B"
- "\e$B%5!<%P$,;`$s$G$$$^$9\e(B"
- "allocation \e$B$K<:GT$7$^$7$?\e(B"
- "\e$B%5!<%P$H@\B3$G$-$^$;$s$G$7$?\e(B"
- "\e$BDL?.%W%m%H%3%k$N%P!<%8%g%s$,9g$C$F$$$^$;$s\e(B"
- "\e$B%/%i%$%"%s%H$N@8@.$7$?4D6-$G$O$"$j$^$;$s\e(B"
- nil
- nil
- nil
- nil
- nil
- "\e$B%G%#%l%/%H%j$r:n$k$3$H$,$G$-$^$;$s\e(B"
- nil
- nil
- nil
- nil
- nil
- nil
- nil
- nil
- nil
- "\e$B%U%!%$%k$rFI$_9~$`$3$H$,$G$-$^$;$s\e(B"
- "\e$B%U%!%$%k$r=q$-=P$9$3$H$,$G$-$^$;$s\e(B"
- "\e$B%/%i%$%"%s%H$NFI$_9~$s$@%U%!%$%k$G$O$"$j$^$;$s\e(B"
- "\e$B$3$l0J>e%U%!%$%k$rFI$_9~$`$3$H$,$G$-$^$;$s\e(B"
- "\e$B%Q%9%o!<%I$,4V0c$C$F$$$^$9\e(B"
- "\e$B%U%!%$%k$,FI$_9~$^$l$F$$$^$9\e(B"
- "\e$B%U%!%$%k$,:o=|$G$-$^$;$s\e(B"
- "\e$B%U%!%$%k$,:n@.=PMh$^$;$s\e(B"
- "WNN \e$B$N%U%!%$%k$G$"$j$^$;$s\e(B"
- "\e$B%U%!%$%k$N\e(B inode \e$B$H\e(B FILE_UNIQ \e$B$r0lCW$5$;$k;v$,$G$-$^$;$s\e(B"
- "\e$BIJ;l%U%!%$%k$,Bg$-2a$.$^$9\e(B"
- "\e$BIJ;l%U%!%$%k$,Bg$-2a$.$^$9\e(B"
- "\e$BIJ;l%U%!%$%k$,B8:_$7$^$;$s\e(B"
- "\e$BIJ;l%U%!%$%k$NFbMF$,4V0c$C$F$$$^$9\e(B"
- nil
- "\e$BIJ;l%U%!%$%k$,FI$_9~$^$l$F$$$^$;$s\e(B"
- "\e$BIJ;lL>$,4V0c$C$F$$$^$9\e(B"
- "\e$BIJ;lHV9f$,4V0c$C$F$$$^$9\e(B"
- nil
- "\e$B$=$NA`:n$O%5%]!<%H$5$l$F$$$^$;$s\e(B"
- "\e$B%Q%9%o!<%I$NF~$C$F$$$k%U%!%$%k$,%*!<%W%s$G$-$^$;$s\e(B"
- "uumrc \e$B%U%!%$%k$,B8:_$7$^$;$s\e(B"
- "uumrc \e$B%U%!%$%k$N7A<0$,8m$C$F$$$^$9\e(B"
- "\e$B$3$l0J>e4D6-$r:n$k$3$H$O$G$-$^$;$s\e(B"
- "\e$B$3$N%/%i%$%"%s%H$,FI$_9~$s$@%U%!%$%k$G$"$j$^$;$s\e(B"
- "\e$B<-=q$KIQEY%U%!%$%k$,$D$$$F$$$^$;$s\e(B"
- "\e$B%Q%9%o!<%I$N%U%!%$%k$,:n@.=PMh$^$;$s\e(B"
- ])
- ("Chinese-GB" .
- [
- nil
- "\e$AND<~2;4fTZ\e(B"
- nil
- "\e$ADZ4f\e(Balloc\e$AJ'0\\e(B"
- nil
- "\e$A2;JGWV5d\e(B"
- "\e$A2;JGF56HND<~\e(B"
- "\e$A2;JGND7(ND<~\e(B"
- nil
- "\e$AWV5d1m8qBz\e(B"
- "\e$AF56HND<~#:2;JGV86(5DWV5d5DF56HND<~\e(B"
- nil
- nil
- nil
- nil
- nil
- "\e$AND<~2;D\4r?*\e(B"
- "\e$A2;JGU}H75DF56HND<~\e(B"
- "\e$A2;JGU}H75DND7(ND<~\e(B"
- "\e$A8=JtSo5D8vJ}!"OrA?3$6H5H3,9}\e(B"
- "\e$AUb8v:EBk5DWV5d!"C;SPJ9SC\e(B"
- nil
- nil
- nil
- "\e$AND7(ND<~5DDZH]2;U}H7\e(B"
- "\e$APiDb4JPT:EBkRl3#\e(Bcixing.data\e$A2;U}H7\e(B"
- "\e$AN46(Re5D4JPT!"6(ReAKG06K4JPT\e(B"
- "\e$AND7(ND<~2;D\6AH!\e(B"
- nil
- nil
- "\e$AWV5d5DOnJ}3,9}\e(B"
- "\e$A1d;;:sWV7{4.5D3$6H3,9}\e(B"
- "\e$A8=JtSo=bNvSr2;9;\e(B"
- nil
- "\e$A4N:n29Sr2;9;\e(B"
- "\e$A:n29\e(B 1\e$A8vR2C;SP\e(B"
- nil
- nil
- nil
- nil
- "\e$A6ARt3$6H3,9}\e(B"
- "\e$A::WV3$6H3,9}\e(B"
- "\e$AV86(5DWV5d!"2;D\5GB<\e(B"
- "\e$A6ARt5D3$6HJG\e(B0"
- "\e$AV86(5DWV5d!"2;D\Df2i\e(B"
- "\e$AV;6A5DWV5d!"5GB<\e(B/\e$AO{3}AK\e(B"
- "\e$A;7>3VP2;4fTZ5DWV5d!"5GB<AK\e(B"
- nil
- nil
- "\e$AV;6A5DF56H!"1d8|AK\e(B"
- "\e$AV86(5D5%WV2;4fTZ\e(B"
- nil
- nil
- nil
- nil
- nil
- nil
- nil
- nil
- nil
- "\e$ADZ4f\e(Balloc\e$AJ'0\\e(B"
- nil
- nil
- nil
- nil
- nil
- nil
- nil
- "\e$ASP3v4m7"Iz\e(B"
- "\e$A:COsSP#b#u#g7"Iz\e(B"
- "server\e$AK@AK\e(B"
- "alloc\e$AJ'0\AK\e(B"
- "\e$A2;D\:M\e(Bserver\e$AA,=S\e(B"
- "\e$AM(PE9f3L5D0f1>2;7{\e(B"
- "\e$A2;JG#c#W#n#nSC;'Iz3I5D;7>3\e(B"
- nil
- nil
- nil
- nil
- nil
- "\e$AWSD?B<2;D\44=(\e(B"
- nil
- nil
- nil
- nil
- nil
- nil
- nil
- nil
- nil
- "\e$AND<~2;D\6AH!\e(B"
- "\e$AND<~2;D\P43v\e(B"
- "\e$A2;JG#c#W#n#nSC;'?I6AH!5DND<~\e(B"
- "\e$ARTIO5DND<~2;D\6AH!\e(B"
- "password\e$A2;6T\e(B"
- "\e$AND<~U}TZ6AH!\e(B"
- "\e$AND<~2;D\O{3}\e(B"
- "\e$AND<~C;SP44=(3v@4\e(B"
- "\e$A2;JG#c#W#n#n5DND<~\e(B"
- "\e$AND<~5D\e(BI-node\e$A:M\e(BFILE_UNIQ\e$A2;D\R;VB\e(B"
- "\e$A4JPTND<~L+4s\e(B"
- "\e$A4JPTND<~L+4s\e(B"
- "\e$A4JPTND<~2;4fTZ\e(B"
- "\e$A4JPTND<~5DDZH]2;6T\e(B"
- nil
- "\e$A4JPTND<~2;D\6AH!\e(B"
- "\e$A4JPTC{2;6T\e(B"
- "\e$A4JPT:EBk2;6T\e(B"
- nil
- "\e$AUb8v2YWw2;V'3V\e(B"
- "password\e$A5DJdHkND<~2;D\4r?*\e(B"
- "uumrc\e$AND<~2;4fTZ\e(B"
- "uumrc\e$AND<~5DPNJ=4mNs\e(B"
- "\e$ARTIO;7>32;D\44=(\e(B"
- "\e$AUb8v#c#W#n#nSC;'!"6AH!5DND<~C;SP\e(B"
- "\e$AWV5d5DF56HND<~C;SP\e(B"
- "password\e$A5DND<~C;SP44=(3v@4\e(B"
- ])
- ("Chinese-CNS" .
- [
- nil
- "\e$(GEFG5DbGtGc\e(B"
- nil
- "\e$(GDyGt\e(Balloc\e$(GFBZu\e(B"
- nil
- "\e$(GDbQRGsL(\e(B"
- "\e$(GDbQRs"PyEFG5\e(B"
- "\e$(GDbQREFNNEFG5\e(B"
- nil
- "\e$(GGsL(OPV*iH\e(B"
- "\e$(Gs"PyEFG5!3DbQRQ@LyN{GsL(N{s"PyEFG5\e(B"
- nil
- nil
- nil
- nil
- nil
- "\e$(GEFG5DbWdFTbd\e(B"
- "\e$(GDbQRF_m}N{s"PyEFG5\e(B"
- "\e$(GDbQRF_m}N{EFNNEFG5\e(B"
- "\e$(GOazhk#N{T6m0!#GWbXO[Pya+b>g4\e(B"
- "\e$(G]UT6f@n#N{GsL(!#JtH4KpFn\e(B"
- nil
- nil
- nil
- "\e$(GEFNNEFG5N{DyU)DbF_m}\e(B"
- "\e$(Gapsib$MLf@n#\,Z&\e(Bcixing.data\e$(GDbF_m}\e(B"
- "\e$(GF\LyexN{b$ML!#LyexD'P)j&b$ML\e(B"
- "\e$(GEFNNEFG5DbWd{tL=\e(B"
- nil
- nil
- "\e$(GGsL(N{bzm0b>g4\e(B"
- "\e$(G|H_PG[Gs\JHkN{O[Pyb>g4\e(B"
- "\e$(GOazhk#fXN5YQDbY\\e(B"
- nil
- "\e$(GH9OlfPYQDbY\\e(B"
- "\e$(GOlfP\e(B 1\e$(GT6D>JtH4\e(B"
- nil
- nil
- nil
- nil
- "\e$(G{tSvO[Pyb>g4\e(B"
- "\e$(GiGGsO[Pyb>g4\e(B"
- "\e$(GQ@LyN{GsL(!#DbWd`trg\e(B"
- "\e$(G{tSvN{O[PyQR\e(B0"
- "\e$(GQ@LyN{GsL(!#DbWdXKQg\e(B"
- "\e$(GF7{tN{GsL(!#`trg\e(B/\e$(GV<XfD'\e(B"
- "\e$(Gt?h:DcDbGtGcN{GsL(!#`trgD'\e(B"
- nil
- nil
- "\e$(GF7{tN{s"Py!#|HJUD'\e(B"
- "\e$(GQ@LyN{^LGsDbGtGc\e(B"
- nil
- nil
- nil
- nil
- nil
- nil
- nil
- nil
- nil
- "\e$(GDyGt\e(Balloc\e$(GFBZu\e(B"
- nil
- nil
- nil
- nil
- nil
- nil
- nil
- "\e$(GH4Exrc`uFm\e(B"
- "\e$(GGob/H4$\$o$a`uFm\e(B"
- "server\e$(GH;D'\e(B"
- "alloc\e$(GFBZuD'\e(B"
- "\e$(GDbWdLO\e(Bserver\e$(G]YZY\e(B"
- "\e$(G]WOj]=a#N{NjF[Db\J\e(B"
- "\e$(GDbQR$]$q$h$hFnEBFmH)N{t?h:\e(B"
- nil
- nil
- nil
- nil
- nil
- "\e$(GDMFxrgDbWd^6Pz\e(B"
- nil
- nil
- nil
- nil
- nil
- nil
- nil
- nil
- nil
- "\e$(GEFG5DbWd{tL=\e(B"
- "\e$(GEFG5DbWdlQEx\e(B"
- "\e$(GDbQR$]$q$h$hFnEBF+{tL=N{EFG5\e(B"
- "\e$(GEhD8N{EFG5DbWd{tL=\e(B"
- "password\e$(GDbhW\e(B"
- "\e$(GEFG5F_Gc{tL=\e(B"
- "\e$(GEFG5DbWdV<Xf\e(B"
- "\e$(GEFG5JtH4^6PzExKt\e(B"
- "\e$(GDbQR$C$W$h$hN{EFG5\e(B"
- "\e$(GEFG5N{\e(BI-node\e$(GLO\e(BFILE_UNIQ\e$(GDbWdD!S3\e(B"
- "\e$(Gb$MLEFG5E4DK\e(B"
- "\e$(Gb$MLEFG5E4DK\e(B"
- "\e$(Gb$MLEFG5DbGtGc\e(B"
- "\e$(Gb$MLEFG5N{DyU)DbhW\e(B"
- nil
- "\e$(Gb$MLEFG5DbWd{tL=\e(B"
- "\e$(Gb$MLGXDbhW\e(B"
- "\e$(Gb$MLf@n#DbhW\e(B"
- nil
- "\e$(G]UT6pgI"DbEEQ=\e(B"
- "password\e$(GN{rSD+EFG5DbWdFTbd\e(B"
- "cwnnrc\e$(GEFG5DbGtGc\e(B"
- "cwnnrc\e$(GEFG5N{J0H"rck(\e(B"
- "\e$(GEhD8t?h:DbWd^6Pz\e(B"
- "\e$(G]UT6$C$W$h$hFnEB!#{tL=N{EFG5JtH4\e(B"
- "\e$(GGsL(N{s"PyEFG5JtH4\e(B"
- "password\e$(GN{EFG5JtH4^6PzExKt\e(B"
- ])
- ("Korean" .
- [
- nil
- "\e$(CH-@O@L\e(B \e$(CA8@gGOAv\e(B \e$(C>J=@4O4Y\e(B"
- nil
- "\e$(C8^8p8.\e(B alloc \e$(C?!<-\e(B \e$(C=GFPG_@>4O4Y\e(B"
- nil
- "\e$(C;g@|@L\e(B \e$(C>F4U4O4Y\e(B"
- "\e$(C:s55\e(B \e$(CH-@O@L\e(B \e$(C>F4U4O4Y\e(B"
- "\e$(C:N<S>n\e(B \e$(CH-@O@L\e(B \e$(C>F4U4O4Y\e(B"
- nil
- "\e$(C;g@|\e(B \e$(CEW@L:m@L\e(B \e$(C2K\e(B \e$(CC!@>4O4Y\e(B"
- "\e$(CAvA$5H\e(B \e$(C;g@|@G\e(B \e$(C:s55\e(B \e$(CH-@O@L\e(B \e$(C>F4U4O4Y\e(B"
- nil
- nil
- nil
- nil
- nil
- "\e$(CH-@O@;\e(B \e$(C?-\e(B \e$(C<v\e(B \e$(C>x@>4O4Y\e(B"
- "\e$(C8B4B\e(B \e$(C:s55\e(B \e$(CH-@O@L\e(B \e$(C>F4U4O4Y\e(B"
- "\e$(C8B4B\e(B \e$(C:N<S>n\e(B \e$(CH-@O@L\e(B \e$(C>F4U4O4Y\e(B"
- "\e$(C:N<S>n@G\e(B \e$(C09<v0!\e(B \e$(C3J9+\e(B \e$(C890E3*\e(B \e$(C:$EM@G\e(B \e$(C1f@L0!\e(B \e$(C3J9+\e(B \e$(C1i4O4Y\e(B"
- "\e$(C1W\e(B \e$(C9xH#@G\e(B \e$(C;g@|@:\e(B \e$(C;g?k5G0m\e(B \e$(C@VAv\e(B \e$(C>J=@4O4Y\e(B"
- nil
- nil
- nil
- "\e$(C:N<S>n\e(B \e$(CH-@O@G\e(B \e$(C3;?k@L\e(B \e$(C8BAv\e(B \e$(C>J=@4O4Y\e(B"
- "\e$(C0!;s\e(B \e$(CG0;g@G\e(B \e$(C9xH#0!\e(B \e$(CF2834O4Y\e(B. hinsi.data \e$(C0!\e(B \e$(C8BAv\e(B \e$(C>J=@4O4Y\e(B"
- "\e$(C9LA$@G@G\e(B \e$(CG0;g0!\e(B \e$(C@|4\\e(B \e$(CG0;g7N\e(B \e$(CA$@G5G>n\e(B \e$(C@V=@4O4Y\e(B"
- "\e$(C:N<S>n\e(B \e$(CH-@O@L\e(B \e$(C@PGtA.\e(B \e$(C@VAv\e(B \e$(C>J=@4O4Y\e(B"
- nil
- nil
- "\e$(C;g@|@G\e(B \e$(C?#F.8.0!\e(B \e$(C3J9+\e(B \e$(C89=@4O4Y\e(B"
- "\e$(C:/H/GO7A4B\e(B \e$(C9.@Z?-@L\e(B \e$(C3J9+\e(B \e$(C1i4O4Y\e(B"
- "\e$(C:N<S>n\e(B \e$(CGX<.\e(B \e$(C?5?*@L\e(B \e$(C:NA7GU4O4Y\e(B"
- nil
- "\e$(C4Y@=\e(B \e$(CHD:8\e(B \e$(C?5?*@L\e(B \e$(C:NA7GU4O4Y\e(B"
- "\e$(CHD:80!\e(B \e$(C>x@>4O4Y\e(B"
- nil
- nil
- nil
- nil
- "\e$(CGQ1[@L\e(B \e$(C3J9+\e(B \e$(C1i4O4Y\e(B"
- "\e$(CGQ@Z0!\e(B \e$(C3J9+\e(B \e$(C1i4O4Y\e(B"
- "\e$(CAvA$5H\e(B \e$(C;g@|@:\e(B \e$(C5n7O\e(B \e$(C:R0!4I@T4O4Y\e(B"
- "\e$(CGQ1[@G\e(B \e$(C1f@L0!\e(B 0 \e$(C@T4O4Y\e(B"
- "\e$(CAvA$5H\e(B \e$(C;g@|@:\e(B \e$(C?*B|A6\e(B \e$(C:R0!4I@T4O4Y\e(B"
- "\e$(C@P1b@|?k\e(B \e$(C;g@|?!\e(B \e$(C5n7O\e(B/\e$(C<R0E\e(B \e$(CGO7A0m\e(B \e$(CG_@>4O4Y\e(B"
- "\e$(CA8@gGOAv\e(B \e$(C>J4B\e(B \e$(C;g@|?!\e(B \e$(C5n7O\e(B \e$(CGO7A0m\e(B \e$(CG_@>4O4Y\e(B"
- nil
- nil
- "\e$(C@P1b@|?k\e(B \e$(C:s558&\e(B \e$(C0f=E\e(B \e$(CGO7A0m\e(B \e$(CG_@>4O4Y\e(B"
- "\e$(CAvA$5H\e(B \e$(C4\>n4B\e(B \e$(CA8@gGOAv\e(B \e$(C>J=@4O4Y\e(B"
- nil
- nil
- nil
- nil
- nil
- nil
- nil
- nil
- nil
- "\e$(C8^8p8.\e(B alloc \e$(C?!\e(B \e$(C=GFPG_@>4O4Y\e(B"
- nil
- nil
- nil
- nil
- nil
- nil
- nil
- "\e$(C?!7/0!\e(B \e$(C9_;}G_@>4O4Y\e(B"
- "\e$(C9v1W\e(B(Bug)\e$(C0!\e(B \e$(C9_;}G_@>4O4Y\e(B"
- "\e$(C<-9v\e(B(Server)\e$(C0!\e(B \e$(CAW>n\e(B \e$(C@V@>4O4Y\e(B"
- "alloc\e$(C?!\e(B \e$(C=GFPG_@>4O4Y\e(B"
- "\e$(C<-9v\e(B(Server) \e$(C?M\e(B \e$(CA"CKGR\e(B \e$(C<v\e(B \e$(C>x@>4O4Y\e(B"
- "\e$(CEk=E\e(B \e$(CGA7NEdD]@G\e(B \e$(C9vA/@L\e(B \e$(C8BAv\e(B \e$(C>J=@4O4Y\e(B"
- "\e$(CE,6s@L>HF.0!\e(B \e$(C;}<:GQ\e(B \e$(CH/0f@L\e(B \e$(C>F4U4O4Y\e(B"
- nil
- nil
- nil
- nil
- nil
- "\e$(C5p7:Ed8.8&\e(B \e$(C885i\e(B \e$(C<v\e(B \e$(C>x@>4O4Y\e(B"
- nil
- nil
- nil
- nil
- nil
- nil
- nil
- nil
- nil
- "\e$(CH-@O\e(B \e$(C@P1b?!\e(B \e$(C=GFPG_@>4O4Y\e(B"
- "\e$(CH-@O\e(B \e$(C>21b?!\e(B \e$(C=GFPG_@>4O4Y\e(B"
- "\e$(CE,6s@L>HF.0!\e(B \e$(C@P>n\e(B \e$(C5e80\e(B \e$(CH-@O@L\e(B \e$(C>F4U4O4Y\e(B"
- "\e$(C4u\e(B \e$(C@L;s@G\e(B \e$(CH-@O@;\e(B \e$(C@P>n\e(B \e$(C5e81\e(B \e$(C<v\e(B \e$(C>x@>4O4Y\e(B"
- "\e$(CFP=:?v5e0!\e(B \e$(CF2834O4Y\e(B"
- "\e$(CH-@O@L\e(B \e$(C@PGtA.\e(B \e$(C@V@>4O4Y\e(B"
- "\e$(CH-@O@;\e(B \e$(C<R0EGR\e(B \e$(C<v\e(B \e$(C>x@>4O4Y\e(B"
- "\e$(CH-@O@;\e(B \e$(C@[<:GR\e(B \e$(C<v\e(B \e$(C>x@>4O4Y\e(B"
- "kWnn\e$(C@G\e(B \e$(CH-@O@L\e(B \e$(C>F4U4O4Y\e(B"
- "\e$(CH-@O@G\e(B I-node \e$(C?M\e(B FILE_UNIQ \e$(C8&\e(B \e$(C@OD!=CE3\e(B \e$(C<v\e(B \e$(C>x@>4O4Y\e(B"
- "\e$(CG0;g\e(B \e$(CH-@O@G\e(B \e$(CE)1b0!\e(B \e$(C3J9+\e(B \e$(CE.4O4Y\e(B"
- "\e$(CG0;g\e(B \e$(CH-@O@G\e(B \e$(CE)1b0!\e(B \e$(C3J9+\e(B \e$(CE.4O4Y\e(B"
- "\e$(CG0;g\e(B \e$(CH-@O@L\e(B \e$(CA8@gGOAv\e(B \e$(C>J=@4O4Y\e(B"
- "\e$(CG0;g\e(B \e$(CH-@O@G\e(B \e$(C3;?k@L\e(B \e$(CF2834O4Y\e(B"
- nil
- "\e$(CG0;g\e(B \e$(CH-@O@L\e(B \e$(C@PGtA.\e(B \e$(C@VAv\e(B \e$(C>J=@4O4Y\e(B"
- "\e$(CG0;g\e(B \e$(C@L8'@L\e(B \e$(CF2834O4Y\e(B"
- "\e$(CG0;g\e(B \e$(C9xH#0!\e(B \e$(CF2834O4Y\e(B"
- nil
- "\e$(C1W\e(B \e$(CA6@[@:\e(B \e$(CAv?x5GAv\e(B \e$(C>J=@4O4Y\e(B"
- "\e$(CFP=:?v5e0!\e(B \e$(C5i>n@V4B\e(B \e$(CH-@O@;\e(B \e$(C?-\e(B \e$(C<v\e(B \e$(C>x@>4O4Y\e(B"
- "uumrc \e$(C@L\e(B \e$(CA8@gGOAv\e(B \e$(C>J=@4O4Y\e(B"
- "uumrc \e$(C@G\e(B \e$(CG|=D@L\e(B \e$(CF2834O4Y\e(B"
- "\e$(C@L\e(B \e$(C@L;s\e(B \e$(CH/0f@;\e(B \e$(C@[<:GR\e(B \e$(C<v\e(B \e$(C>x@>4O4Y\e(B"
- "\e$(CE)6s@L>HF.0!\e(B \e$(C@P>n\e(B \e$(C5e80\e(B \e$(CH-@O@L\e(B \e$(C>F4U4O4Y\e(B"
- "\e$(C;g@|?!\e(B \e$(C:s55\e(B \e$(CH-@O@L\e(B \e$(CA8@gGOAv\e(B \e$(C>J=@4O4Y\e(B"
- "\e$(CFP=:?v5e\e(B \e$(CH-@O@;\e(B \e$(C@[<:GR\e(B \e$(C<v\e(B \e$(C>x@>4O4Y\e(B"
- ]))
+ [
+ nil
+ "\e$B%U%!%$%k$,B8:_$7$^$;$s\e(B"
+ nil
+ "\e$B%a%b%j\e(B allocation \e$B$G<:GT$7$^$7$?\e(B"
+ nil
+ "\e$B<-=q$G$O$"$j$^$;$s\e(B"
+ "\e$BIQEY%U%!%$%k$G$O$"$j$^$;$s\e(B"
+ "\e$BIUB08l%U%!%$%k$G$O$"$j$^$;$s\e(B"
+ nil
+ "\e$B<-=q%F!<%V%k$,0lGU$G$9\e(B"
+ "\e$BIQEY%U%!%$%k$,;XDj$5$l$?<-=q$NIQEY%U%!%$%k$G$O$"$j$^$;$s\e(B"
+ nil
+ nil
+ nil
+ nil
+ nil
+ "\e$B%U%!%$%k$,%*!<%W%s$G$-$^$;$s\e(B"
+ "\e$B@5$7$$IQEY%U%!%$%k$G$O$"$j$^$;$s\e(B"
+ "\e$B@5$7$$IUB08l%U%!%$%k$G$O$"$j$^$;$s\e(B"
+ "\e$BIUB08l$N8D?t\e(B, \e$B%Y%/%?D9$5$J$I$,B?2a$.$^$9\e(B"
+ "\e$B$=$NHV9f$N<-=q$O;H$o$l$F$$$^$;$s\e(B"
+ nil
+ nil
+ nil
+ "\e$BIUB08l%U%!%$%k$NFbMF$,@5$7$/$"$j$^$;$s\e(B"
+ "\e$B5?;wIJ;lHV9f$,0[>o$G$9\e(B(hinsi.data \e$B$,@5$7$/$"$j$^$;$s\e(B)"
+ "\e$BL$Dj5A$NIJ;l$,A0C<IJ;l$H$7$FDj5A$5$l$F$$$^$9\e(B"
+ "\e$BIUB08l%U%!%$%k$,FI$_9~$^$l$F$$$^$;$s\e(B"
+ nil
+ nil
+ "\e$B<-=q$N%(%$%s%H%j$,B?2a$.$^$9\e(B"
+ "\e$BJQ49$7$h$&$H$9$kJ8;zNs$,D92a$.$^$9\e(B"
+ "\e$BIUB08l2r@ONN0h$,ITB-$7$F$$$^$9\e(B"
+ nil
+ "\e$B<!8uJdNN0h$,ITB-$7$F$$$^$9\e(B"
+ "\e$B8uJd$,\e(B 1 \e$B$D$b:n$l$^$;$s$G$7$?\e(B"
+ nil
+ nil
+ nil
+ nil
+ "\e$BFI$_$,D92a$.$^$9\e(B"
+ "\e$B4A;z$,D92a$.$^$9\e(B"
+ "\e$B;XDj$5$l$?<-=q$OEPO?2DG=$G$O$"$j$^$;$s\e(B"
+ "\e$BFI$_$ND9$5$,\e(B 0 \e$B$G$9\e(B"
+ "\e$B;XDj$5$l$?<-=q$O5U0z$-2DG=$G$O$"$j$^$;$s\e(B"
+ "\e$B%j!<%I%*%s%j!<$N<-=q$KEPO?\e(B/\e$B:o=|$7$h$&$H$7$^$7$?\e(B"
+ "\e$B4D6-$KB8:_$7$J$$<-=q$KEPO?$7$h$&$H$7$^$7$?\e(B"
+ nil
+ nil
+ "\e$B%j!<%I%*%s%j!<$NIQEY$rJQ99$7$h$&$H$7$^$7$?\e(B"
+ "\e$B;XDj$5$l$?C18l$,B8:_$7$^$;$s\e(B"
+ nil
+ nil
+ nil
+ nil
+ nil
+ nil
+ nil
+ nil
+ nil
+ "\e$B%a%b%j\e(B allocation \e$B$G<:GT$7$^$7$?\e(B"
+ nil
+ nil
+ nil
+ nil
+ nil
+ nil
+ nil
+ "\e$B2?$+$N%(%i!<$,5/$3$j$^$7$?\e(B"
+ "\e$B%P%0$,H/@8$7$F$$$kLOMM$G$9\e(B"
+ "\e$B%5!<%P$,;`$s$G$$$^$9\e(B"
+ "allocation \e$B$K<:GT$7$^$7$?\e(B"
+ "\e$B%5!<%P$H@\B3$G$-$^$;$s$G$7$?\e(B"
+ "\e$BDL?.%W%m%H%3%k$N%P!<%8%g%s$,9g$C$F$$$^$;$s\e(B"
+ "\e$B%/%i%$%"%s%H$N@8@.$7$?4D6-$G$O$"$j$^$;$s\e(B"
+ nil
+ nil
+ nil
+ nil
+ nil
+ "\e$B%G%#%l%/%H%j$r:n$k$3$H$,$G$-$^$;$s\e(B"
+ nil
+ nil
+ nil
+ nil
+ nil
+ nil
+ nil
+ nil
+ nil
+ "\e$B%U%!%$%k$rFI$_9~$`$3$H$,$G$-$^$;$s\e(B"
+ "\e$B%U%!%$%k$r=q$-=P$9$3$H$,$G$-$^$;$s\e(B"
+ "\e$B%/%i%$%"%s%H$NFI$_9~$s$@%U%!%$%k$G$O$"$j$^$;$s\e(B"
+ "\e$B$3$l0J>e%U%!%$%k$rFI$_9~$`$3$H$,$G$-$^$;$s\e(B"
+ "\e$B%Q%9%o!<%I$,4V0c$C$F$$$^$9\e(B"
+ "\e$B%U%!%$%k$,FI$_9~$^$l$F$$$^$9\e(B"
+ "\e$B%U%!%$%k$,:o=|$G$-$^$;$s\e(B"
+ "\e$B%U%!%$%k$,:n@.=PMh$^$;$s\e(B"
+ "WNN \e$B$N%U%!%$%k$G$"$j$^$;$s\e(B"
+ "\e$B%U%!%$%k$N\e(B inode \e$B$H\e(B FILE_UNIQ \e$B$r0lCW$5$;$k;v$,$G$-$^$;$s\e(B"
+ "\e$BIJ;l%U%!%$%k$,Bg$-2a$.$^$9\e(B"
+ "\e$BIJ;l%U%!%$%k$,Bg$-2a$.$^$9\e(B"
+ "\e$BIJ;l%U%!%$%k$,B8:_$7$^$;$s\e(B"
+ "\e$BIJ;l%U%!%$%k$NFbMF$,4V0c$C$F$$$^$9\e(B"
+ nil
+ "\e$BIJ;l%U%!%$%k$,FI$_9~$^$l$F$$$^$;$s\e(B"
+ "\e$BIJ;lL>$,4V0c$C$F$$$^$9\e(B"
+ "\e$BIJ;lHV9f$,4V0c$C$F$$$^$9\e(B"
+ nil
+ "\e$B$=$NA`:n$O%5%]!<%H$5$l$F$$$^$;$s\e(B"
+ "\e$B%Q%9%o!<%I$NF~$C$F$$$k%U%!%$%k$,%*!<%W%s$G$-$^$;$s\e(B"
+ "uumrc \e$B%U%!%$%k$,B8:_$7$^$;$s\e(B"
+ "uumrc \e$B%U%!%$%k$N7A<0$,8m$C$F$$$^$9\e(B"
+ "\e$B$3$l0J>e4D6-$r:n$k$3$H$O$G$-$^$;$s\e(B"
+ "\e$B$3$N%/%i%$%"%s%H$,FI$_9~$s$@%U%!%$%k$G$"$j$^$;$s\e(B"
+ "\e$B<-=q$KIQEY%U%!%$%k$,$D$$$F$$$^$;$s\e(B"
+ "\e$B%Q%9%o!<%I$N%U%!%$%k$,:n@.=PMh$^$;$s\e(B"
+]
"Array of WNN error messages. Indexed by error code.")
(defun wnnrpc-get-error-message (errno)
"Return error message string specified by ERRNO."
- (let ((msg (or (assoc egg-default-language wnnrpc-error-message)
- (assoc its-current-language wnnrpc-error-message)
- (assoc "Japanese" wnnrpc-error-message))))
- (or (aref (cdr msg) errno) (format "#%d" errno))))
+ (or (aref wnnrpc-error-message errno) (format "#%d" errno)))
(defmacro wnnrpc-call-with-environment (e vlist send-expr &rest receive-exprs)
(let ((v (append
`((proc (wnnenv-get-proc ,e))
- (env-id (wnnenv-get-env-id ,e))
- (egg-zhuyin its-zhuyin))
+ (env-id (wnnenv-get-env-id ,e)))
vlist)))
(list
'let v
(register-input-method
"japanese-egg-wnn" "Japanese" 'egg-activate-wnn
- 'egg-mode-line-title "Romaji -> Hiragana -> Kanji&Kana"
- 'its-select-hiragana "Japanese")
+ "A\e$B$"\e(B" "Romaji -> Hiragana -> Kanji&Kana")
(register-input-method
"japanese-egg-sj3" "Japanese" 'egg-activate-sj3
- 'egg-mode-line-title "Romaji -> Hiragana -> Kanji&Kana"
- 'its-select-hiragana "Japanese")
-
-(register-input-method
- "chinese-gb-egg-wnn-py" "Chinese-GB" 'egg-activate-wnn
- 'egg-mode-line-title "Pinyin -> Simplified Hanzi"
- 'its-select-pinyin-cn "Chinese-GB")
-
-(register-input-method
- "chinese-gb-egg-wnn-zy" "Chinese-GB" 'egg-activate-wnn
- 'egg-mode-line-title "Zhunyin -> Simplified Hanzi"
- 'its-select-zhuyin-cn "Chinese-GB")
-
-(register-input-method
- "chinese-cns-egg-wnn-py" "Chinese-CNS" 'egg-activate-wnn
- 'egg-mode-line-title "Pinyin -> Traditional Hanzi"
- 'its-select-pinyin-tw "Chinese-CNS")
-
-(register-input-method
- "chinese-cns-egg-wnn-zy" "Chinese-CNS" 'egg-activate-wnn
- 'egg-mode-line-title "Zhunyin -> Traditional Hanzi"
- 'its-select-zhuyin-tw "Chinese-CNS")
-
-(register-input-method
- "korean-egg-wnn" "Korean" 'egg-activate-wnn
- 'egg-mode-line-title "Hangul -> Hanja"
- 'its-select-hangul "Korean")
-
-(autoload 'egg-mode "egg" "Toggle EGG mode." t)
+ "A\e$B$"\e(B" "Romaji -> Hiragana -> Kanji&Kana")
(defvar menudiag-mode-map
(let ((map (make-keymap))
(ch 0))
- (while (< ch 27)
- (define-key map (char-to-string ch) 'undefined)
- (setq ch (1+ ch)))
- (setq ch 28)
- (while (< ch 255)
+ (while (< ch 127)
(define-key map (char-to-string ch) 'undefined)
(setq ch (1+ ch)))
(setq ch ?0)
(setq ch (1+ ch)))
(define-key map "\C-a" 'menudiag-beginning-of-line)
(define-key map "\C-e" 'menudiag-end-of-line)
- (define-key map "\M-<" 'menudiag-beginning-of-items)
- (define-key map "\M->" 'menudiag-end-of-items)
(define-key map "\C-f" 'menudiag-forward-item)
(define-key map "\C-b" 'menudiag-backward-item)
(define-key map "\C-n" 'menudiag-next-line)
(mapconcat
(function (lambda (item)
(setq i (1+ i))
- (format " %c.%s" (menudiag-item-num-to-char i)
- (menudiag-item-string item))))
+ (format " %x.%s" i (menudiag-item-string item))))
item-list "")))
-
-;; ITEM No --> Character
-(defun menudiag-item-num-to-char (num)
- (let ((char))
- (cond ((<= num 9)
- (setq char (+ ?0 num)))
- (t
- (setq char (+ ?a (- num 10))))
- )
- char))
-
-;; Character --> ITEM No
-(defun menudiag-char-to-item-num (char)
- (let ((num))
- (cond ((and (<= ?0 ch) (<= ch ?9))
- (setq num (- ch ?0)))
- ((and (<= ?a ch) (<= ch ?z))
- (setq num (+ 10 (- ch ?a))))
- ((and (<= ?A ch) (<= ch ?Z))
- (setq num (+ 10 (- ch ?A))))
- (t (setq num 1000)))
- num))
-
-
(defun menudiag-goto-item ()
(interactive)
(let ((ch last-command-char)
(n 0))
- (setq n (menudiag-char-to-item-num ch))
+ (cond ((and (<= ?0 ch) (<= ch ?9))
+ (setq n (- ch ?0)))
+ ((and (<= ?a ch) (<= ch ?z))
+ (setq n (+ 10 (- ch ?a))))
+ ((and (<= ?A ch) (<= ch ?Z))
+ (setq n (+ 10 (- ch ?A)))))
(if (>= n (length line))
(error "No such item")
(menudiag-goto-item-internal n))))
(setq i (1+ i)))
(goto-char p)))
-(defun menudiag-beginning-of-items ()
- (interactive)
- (menudiag-goto-line 0)
- (menudiag-beginning-of-line))
-
-(defun menudiag-end-of-items ()
- (interactive)
- (menudiag-goto-line (1- (length selection-list)))
- (menudiag-end-of-line))
-
(defun menudiag-beginning-of-line ()
(interactive)
(menudiag-goto-item-internal 0))