annotate lisp/egg/egg-wnn-client.el @ 112:48d667d6f17f r20-1b8

Import from CVS: tag r20-1b8
author cvs
date Mon, 13 Aug 2007 09:20:48 +0200
parents 131b0175ea99
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
70
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1 ;; Wnn3 server interface for Egg
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2 ;; Coded by S.Tomura, Electrotechnical Lab. (tomura@etl.go.jp)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
3
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
4 ;; This file is part of Egg on Mule (Multilingual Environment)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
5
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
6 ;; Egg is distributed in the forms of patches to GNU
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
7 ;; Emacs under the terms of the GNU EMACS GENERAL PUBLIC
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
8 ;; LICENSE which is distributed along with GNU Emacs by the
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
9 ;; Free Software Foundation.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
10
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
11 ;; Egg is distributed in the hope that it will be useful,
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
12 ;; but WITHOUT ANY WARRANTY; without even the implied
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
13 ;; warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
14 ;; PURPOSE. See the GNU EMACS GENERAL PUBLIC LICENSE for
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
15 ;; more details.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
16
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
17 ;; You should have received a copy of the GNU EMACS GENERAL
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
18 ;; PUBLIC LICENSE along with Nemacs; see the file COPYING.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
19 ;; If not, write to the Free Software Foundation, 675 Mass
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
20 ;; Ave, Cambridge, MA 02139, USA.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
21
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
22 ;;;
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
23 ;;; Nemacs - Wnn V3 server interface in elisp
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
24 ;;;
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
25
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
26 ;;; 93.4.6 modified for Mule Ver.0.9.7.1
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
27 ;;; by T.Saneto <sanewo@pdp.crl.sony.co.jp>
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
28 ;;; Bug in wnn-bunsetu-yomi-equal fixed.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
29
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
30 (provide 'wnn-client)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
31
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
32 ;;;
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
33 ;;; Wnn deamon command constants
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
34 ;;;
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
35
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
36 (defconst JD_OPEN_IN 9 "$BJQ49(B") ;;; V3.0
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
37 (defconst JD_OPEN 1 "$BMxMQ<TEPO?(B")
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
38 (defconst JD_CLOSE 2 "$BMxMQ<T:o=|(B")
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
39 (defconst JD_BEGIN 3 "$BJQ493+;O(B")
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
40 (defconst JD_END 4 "$BIQEY99?7(B")
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
41 ;;;
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
42 (defconst JD_NEXT 17 "$B<!8uJd(B") ;;; 0x11
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
43 (defconst JD_RECONV 18 "$B:FJQ49!JJ8;zNsJQ99!K(B") ;;; 0x12
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
44 (defconst JD_TANCONV 19 "$B:FJQ49!JJ8@a?-=L!K(B") ;;; 0x13
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
45 ;;;
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
46 (defconst JD_UDP 33 "") ;;; 0x21
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
47 (defconst JD_UDCHG 34 "$BMxMQ<T<-=qJQ99(B") ;;; 0x22
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
48 (defconst JD_FREQSV 35 "$B<-=qB`Hr(B") ;;; 0x23
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
49 (defconst JD_DICADD 36 "$B<-=qDI2C(B") ;;; 0x24
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
50 (defconst JD_DICDEL 37 "$B<-=q:o=|(B") ;;; 0x25
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
51 (defconst JD_DICINFO 38 "$B<-=q>pJs(B") ;;; 0x26
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
52 (defconst JD_DICSTAT 39 "") ;;; 0x27 V3.0
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
53
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
54 (defconst JD_WDEL 49 "$BC18l:o=|(B") ;;; 0x31
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
55 (defconst JD_WSCH 50 "$BC18l8!:w(B") ;;; 0x32
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
56 (defconst JD_WREG 51 "$BC18lEPO?(B") ;;; 0x33
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
57 (defconst JD_WHDEL 52 "") ;;; 0x34
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
58
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
59 (defconst JD_SETEVF 65 "$BJQ49J}<0JQ99(B") ;;; 0x41
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
60 (defconst JD_GETEVF 66 "$BJQ49J}<0>pJs(B") ;;; 0x42
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
61
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
62 (defconst JD_MKDIR 81 "") ;;; 0x51 V3.0
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
63 (defconst JD_ACCESS 82 "") ;;; 0x52 V3.0
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
64 (defconst JD_WHO 83 "$BMxMQ<T0lMw(B") ;;; 0x53 V3.0
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
65 (defconst JD_VERSION 84 "") ;;; 0x54 V3.0
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
66
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
67
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
68 (defvar wnn-server-buffer nil "Buffer associated with Wnn server process.")
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
69
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
70 (defvar wnn-server-process nil "Wnn Kana Kanji hankan process.")
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
71
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
72 (defvar wnn-command-tail-position nil)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
73 (defvar wnn-command-buffer nil)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
74
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
75 (defvar wnn-result-buffer nil)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
76 (defvar wnn-henkan-string nil)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
77 (defvar wnn-bunsetu-suu nil)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
78
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
79 (defvar wnn-return-code nil)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
80 (defvar wnn-error-code nil)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
81
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
82 ;;;
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
83 ;;; Put data into buffer
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
84 ;;;
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
85
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
86 (defun wnn-put-4byte (integer)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
87 (insert (if (<= 0 integer) 0 255)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
88 (logand 255 (lsh integer -16))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
89 (logand 255 (lsh integer -8))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
90 (logand 255 integer)))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
91
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
92 (defun wnn-put-string (str)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
93 (insert str 0))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
94
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
95 (defun wnn-put-string* (str)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
96 (let ((size (length str))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
97 (i 0))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
98 (while (< i size)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
99 (if (<= 128 (aref str i))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
100 (progn (insert (aref str i) (aref str (1+ i)))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
101 (setq i (+ i 2)))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
102 (progn (insert 0 (aref str i))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
103 (setq i (1+ i))))))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
104 (insert 0 0))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
105
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
106 (defun wnn-put-bit-position (pos)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
107 (if (< pos 24) (wnn-put-4byte (lsh 1 pos))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
108 (insert (lsh 1 (- pos 24)) 0 0 0)))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
109
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
110 ;;;
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
111 ;;; Get data from buffer
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
112 ;;;
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
113
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
114 (defun wnn-get-4byte ()
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
115
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
116 (let ((c 0) (point (point)))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
117 ;;;(goto-char (point-min))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
118 (while (< (point-max) (+ point 4))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
119 (accept-process-output)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
120 (if (= c 10) (error "Count exceed."))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
121 (setq c (1+ c)))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
122 (goto-char point))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
123
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
124 (let ((point (point)))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
125 (if (not (or (and (= (char-after point) 0)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
126 (< (char-after (+ point 1)) 128))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
127 (and (= (char-after point) 255)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
128 (<= 128 (char-after (+ point 1))))))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
129 (error "wnn-get-4byte: integer range overflow."))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
130 (prog1
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
131 (logior
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
132 (lsh (char-after point) 24)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
133 (lsh (char-after (+ point 1)) 16)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
134 (lsh (char-after (+ point 2)) 8)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
135 (lsh (char-after (+ point 3)) 0))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
136 (goto-char (+ (point) 4)))))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
137
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
138 (defun wnn-peek-4byte ()
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
139
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
140 (let ((c 0) (point (point)))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
141 ;;;(goto-char (point-min))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
142 (while (< (point-max) (+ point 4))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
143 (accept-process-output)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
144 (if (= c 10) (error "Count exceed."))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
145 (setq c (1+ c)))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
146 (goto-char point))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
147
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
148 (let ((point (point)))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
149 (if (not (or (and (= (char-after point) 0)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
150 (< (char-after (+ point 1)) 128))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
151 (and (= (char-after point) 255)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
152 (<= 128 (char-after (+ point 1))))))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
153 (error "wnn-get-4byte: integer range overflow."))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
154 (prog1
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
155 (logior
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
156 (lsh (char-after point) 24)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
157 (lsh (char-after (+ point 1)) 16)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
158 (lsh (char-after (+ point 2)) 8)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
159 (lsh (char-after (+ point 3)) 0)))))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
160
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
161
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
162 (defun wnn-get-bit-positions ()
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
163
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
164 (let ((c 0) (point (point)))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
165 ;;;(goto-char (point-min))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
166 (while (< (point-max) (+ point 4))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
167 (accept-process-output)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
168 (if (= c 10) (error "Count exceed."))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
169 (setq c (1+ c)))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
170 (goto-char point))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
171
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
172 (let* ((point (point))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
173 (left (+ (lsh (char-after point) 8)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
174 (char-after (+ point 1))))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
175 (right (+ (lsh (char-after (+ point 2)) 8)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
176 (char-after (+ point 3))))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
177 (result))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
178 (forward-char 4)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
179 (let ((i 0))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
180 (while (< 0 right)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
181 (if (zerop (logand 1 right)) nil
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
182 (setq result (cons i result)))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
183 (setq right (lsh right -1))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
184 (setq i (1+ i)))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
185 (setq i 16)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
186 (while (< 0 left)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
187 (if (zerop (logand 1 left)) nil
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
188 (setq result (cons i result)))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
189 (setq left (lsh left -1))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
190 (setq i (1+ i))))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
191 (if (= (length result) 1)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
192 (car result)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
193 (nreverse result))))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
194
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
195 (defun wnn-get-string ()
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
196 (let ((point (point)))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
197 (skip-chars-forward "^\0")
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
198 (let ((c 0))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
199 (while (not (= (following-char) 0))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
200 (forward-char -1)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
201 (accept-process-output)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
202 (if (= c 10) (error "Count exceed"))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
203 (setq c (1+ c))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
204 (skip-chars-forward "^\0")))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
205 (prog1
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
206 (buffer-substring point (point))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
207 (forward-char 1))))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
208
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
209 (defun wnn-get-string* ()
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
210 (let ((point (point)))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
211 (let ((c 0))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
212 (while (not (search-forward "\0\0" nil t))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
213 (accept-process-output)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
214 (goto-char point)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
215 (if (= c 10) (error "Count exceed"))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
216 (setq c (1+ c))))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
217 (goto-char point)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
218 (if (= (following-char) 0) (delete-char 1)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
219 (forward-char 1))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
220 (while (< 0 (following-char))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
221 (forward-char 1)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
222 (if (= (following-char) 0) (delete-char 1)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
223 (forward-char 1)))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
224 (prog1
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
225 (buffer-substring point (point))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
226 (forward-char 1))))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
227
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
228 ;;;
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
229 ;;; Wnn Server Command Primitives
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
230 ;;;
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
231
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
232 (defun wnn-command-start (command)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
233 (set-buffer wnn-command-buffer)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
234 (goto-char (point-min))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
235 (if (not (= (point-max) (+ wnn-command-tail-position 1024)))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
236 (error "wnn command start error"))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
237 (delete-region (point-min) wnn-command-tail-position)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
238 (wnn-put-4byte command))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
239
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
240 (defun wnn-command-reset ()
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
241 (save-excursion
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
242 (progn
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
243 ;;; for Nemacs 3.0 and later
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
244 (if (fboundp 'set-process-kanji-code)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
245 (set-process-kanji-code wnn-server-process 0))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
246 (set-buffer wnn-command-buffer)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
247 (setq kanji-flag nil)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
248 (setq kanji-fileio-code 0) ;;; for Nemacs 2.1
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
249 (buffer-flush-undo wnn-command-buffer)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
250 (erase-buffer)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
251 (setq wnn-command-tail-position (point-min))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
252 (let ((max 1024) (i 0))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
253 (while (< i max)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
254 (insert 0)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
255 (setq i (1+ i)))))))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
256
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
257 (defun wnn-command-end ()
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
258 (set-buffer wnn-server-buffer)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
259 (erase-buffer)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
260 (set-buffer wnn-command-buffer)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
261 (setq wnn-command-tail-position (point))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
262 (process-send-region wnn-server-process (point-min)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
263 (+ (point-min) (lsh (1+ (lsh (- (point) (point-min)) -10)) 10)))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
264 )
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
265
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
266 ;;;
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
267 ;;; Wnn Server Reply primitives
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
268 ;;;
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
269
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
270 (defun wnn-get-result ()
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
271 (set-buffer wnn-server-buffer)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
272 (condition-case ()
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
273 (accept-process-output wnn-server-process)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
274 (error nil))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
275 (goto-char (point-min)))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
276
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
277 (defun wnn-get-return-code ()
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
278 (setq wnn-return-code (wnn-get-4byte))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
279 (setq wnn-error-code (if (= wnn-return-code -1)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
280 (wnn-error-symbol (wnn-get-4byte))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
281 nil))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
282 (if wnn-error-code nil
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
283 wnn-return-code))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
284
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
285 ;;;
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
286 ;;; Wnn Server Interface: wnn-server-open
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
287 ;;;
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
288
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
289 (defvar *wnn-server-max-kana-string-length* 1000)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
290 (defvar *wnn-server-max-bunsetu-suu* 1000)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
291
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
292 (defvar *wnn-service-name* "wnn")
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
293
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
294 (defun wnn-server-open (server-host-name login-name)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
295 (if (wnn-server-active-p) t
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
296 (let ((kana_len *wnn-server-max-kana-string-length*)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
297 (klist_len *wnn-server-max-bunsetu-suu*)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
298 (jserver_name
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
299 (if (or (null server-host-name)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
300 (equal server-host-name "")
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
301 (equal server-host-name "unix"))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
302 (system-name)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
303 server-host-name))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
304 (user_name
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
305 (if (or (null login-name) (equal login-name ""))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
306 (user-login-name)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
307 login-name))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
308 (host_name (system-name)))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
309 (setq wnn-server-process
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
310 (condition-case var
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
311 (open-network-stream "Wnn V3" " [Wnn V3 Output Buffer] "
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
312 jserver_name *wnn-service-name* )
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
313 (error
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
314 (cond((string-match "Unknown host" (car (cdr var)))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
315 (setq wnn-error-code (list ':WNN_UNKNOWN_HOST
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
316 jserver_name)))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
317 ((string-match "Unknown service" (car (cdr var)))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
318 (setq wnn-error-code (list ':WNN_UNKNOWN_SERVICE
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
319 *wnn-service-name*)))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
320 (t ;;; "Host ... not respoding"
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
321 (setq wnn-error-code ':WNN_SOCK_OPEN_FAIL)))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
322 nil)))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
323 (if (null wnn-server-process) nil
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
324 (setq wnn-server-buffer (get-buffer " [Wnn V3 Output Buffer] "))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
325 (setq wnn-command-buffer (get-buffer-create " [Wnn V3 Command Buffer] "))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
326 (setq wnn-result-buffer (get-buffer-create " [Wnn V3 Result Buffer] "))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
327
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
328 (save-excursion
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
329 ;;; for Nemacs 3.0
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
330 (if (fboundp 'set-process-kanji-code)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
331 (set-process-kanji-code wnn-server-process 0))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
332 (progn
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
333 (set-buffer wnn-server-buffer)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
334 (setq kanji-flag nil)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
335 ;;; for Nemacs 2.1
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
336 (setq kanji-fileio-code 0)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
337 (buffer-flush-undo wnn-server-buffer)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
338 )
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
339 (progn
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
340 (set-buffer wnn-result-buffer)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
341 (setq kanji-flag nil)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
342 ;;; for Nemacs 2.1
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
343 (setq kanji-fileio-code 0)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
344 (buffer-flush-undo wnn-result-buffer))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
345 (progn
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
346 (set-buffer wnn-command-buffer)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
347 (setq kanji-flag nil)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
348 ;;; for Nemacs 2.1
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
349 (setq kanji-fileio-code 0)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
350 (buffer-flush-undo wnn-command-buffer)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
351 (erase-buffer)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
352 (setq wnn-command-tail-position (point-min))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
353 (let ((max 1024) (i 0))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
354 (while (< i max)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
355 (insert 0)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
356 (setq i (1+ i)))))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
357 (wnn-command-start JD_OPEN_IN)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
358 (wnn-put-4byte kana_len)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
359 (wnn-put-4byte klist_len)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
360 (wnn-put-string user_name)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
361 (wnn-put-string host_name)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
362 (wnn-command-end)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
363 (wnn-get-result)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
364 (wnn-get-return-code))))))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
365
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
366 (defun wnn-server-active-p ()
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
367 (and wnn-server-process
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
368 (eq (process-status wnn-server-process) 'open)))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
369
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
370 (defun wnn-connection-error ()
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
371 (setq wnn-error-code ':wnn-no-connection)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
372 (setq wnn-return-code -1)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
373 nil)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
374
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
375 (defun wnn-zero-arg-command (op)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
376 (if (wnn-server-active-p)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
377 (save-excursion
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
378 (wnn-command-start op)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
379 (wnn-command-end)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
380 (wnn-get-result)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
381 (wnn-get-return-code))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
382 (wnn-connection-error)))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
383
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
384 (defun wnn-server-close ()
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
385 (wnn-zero-arg-command JD_CLOSE))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
386
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
387 (or (fboundp 'si:kill-emacs)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
388 (fset 'si:kill-emacs (symbol-function 'kill-emacs)))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
389
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
390 (defun kill-emacs (&optional arg)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
391 (interactive "P")
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
392 (if (wnn-server-active-p)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
393 (progn
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
394 (wnn-server-dict-save)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
395 (message "Wnn$B$NIQEY>pJs!&<-=q>pJs$rB`Hr$7$^$7$?!#(B") (sit-for 0)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
396 (wnn-server-close)))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
397 (si:kill-emacs arg))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
398
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
399 (or (fboundp 'si:do-auto-save)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
400 (fset 'si:do-auto-save (symbol-function 'do-auto-save)))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
401
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
402 (defvar *wnn-do-auto-save-dict* nil)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
403
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
404 (defun do-auto-save (&optional nomsg)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
405 (interactive)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
406 (if (and *wnn-do-auto-save-dict*
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
407 (wnn-server-dict-save))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
408 (progn
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
409 (wnn-serve-dict-save)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
410 (message "Wnn$B$NIQEY>pJs!&<-=q>pJs$rB`Hr$7$^$7$?!#(B")
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
411 (sit-for 1)))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
412 (si:do-auto-save nomsg))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
413
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
414 ;;; Wnn Result Buffer's layout:
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
415 ;;;
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
416 ;;; { length:4 kana 0 kouhoSuu:4 kouhoNo:4
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
417 ;;; {jihoNo:4 serialNo:4 jirituGo 0 fuzokuGo 0 } ...
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
418 ;;; }
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
419 ;;; 0 0 0 0
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
420
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
421 (defun wnn-skip-length ()
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
422 (goto-char (+ (point) 4)))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
423
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
424 (defun wnn-skip-4byte ()
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
425 (goto-char (+ (point) 4)))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
426
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
427 (defun wnn-skip-yomi ()
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
428 (skip-chars-forward "^\0") (forward-char 1))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
429
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
430 (defun wnn-skip-kouho ()
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
431 (goto-char (+ (point) 8))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
432 (skip-chars-forward "^\0") (forward-char 1)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
433 (skip-chars-forward "^\0") (forward-char 1)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
434 )
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
435
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
436 (defun wnn-forward-char (n)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
437 (let ((i 1))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
438 (while (<= i n)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
439 (if (<= 128 (following-char))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
440 (forward-char 2)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
441 (forward-char 1))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
442 (setq i (1+ i)))))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
443
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
444 ;;;
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
445 ;;; entry function
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
446 ;;;
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
447 (defun wnn-server-henkan-begin (henkan-string)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
448 (if (not (wnn-server-active-p)) (wnn-connection-error)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
449 (let ((inhibit-quit t))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
450 (save-excursion
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
451 (setq wnn-henkan-string henkan-string)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
452 (set-buffer wnn-result-buffer)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
453 (erase-buffer)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
454 (setq wnn-bunsetu-suu 0)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
455 (goto-char (point-min))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
456 (wnn-command-start JD_BEGIN)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
457 (wnn-put-string* henkan-string)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
458 (wnn-command-end)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
459 (wnn-get-result)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
460 (wnn-henkan-recieve)))))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
461
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
462 ;;;
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
463 ;;; entry function
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
464 ;;;
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
465 (defun wnn-server-henkan-quit () t)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
466
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
467 ;;;
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
468 ;;; entry function
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
469 ;;;
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
470 (defun wnn-server-henkan-end (bunsetu-no)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
471 (if (not (wnn-server-active-p)) (wnn-connection-error)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
472 (let ((inhibit-quit t))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
473 (save-excursion
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
474 (let (length jisho-no serial-no kouho-no p0)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
475 (wnn-command-start JD_END)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
476 (set-buffer wnn-result-buffer)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
477 (goto-char (point-min))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
478 (let ((max (if (and (integerp bunsetu-no)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
479 (<= 0 bunsetu-no)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
480 (<= bunsetu-no wnn-bunsetu-suu))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
481 bunsetu-no
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
482 wnn-bunsetu-suu))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
483 (i 0))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
484 (while (< i max)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
485 (setq length (wnn-get-4byte))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
486 (setq p0 (point))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
487 (wnn-skip-yomi)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
488 (wnn-skip-4byte) ;;; kouho suu
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
489 (setq kouho-no (wnn-get-4byte))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
490 (let ((j 0))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
491 (while (< j kouho-no)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
492 (wnn-skip-kouho)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
493 (setq j (1+ j))))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
494 (setq jisho-no (wnn-get-4byte))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
495 (setq serial-no (wnn-get-4byte))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
496 (goto-char (+ p0 length))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
497 (set-buffer wnn-command-buffer)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
498 (insert 0 )
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
499 (wnn-put-4byte jisho-no)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
500 (wnn-put-4byte serial-no)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
501 (set-buffer wnn-result-buffer)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
502 (setq i (1+ i)))))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
503 (set-buffer wnn-command-buffer)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
504 (insert 255)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
505 (wnn-command-end)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
506 (wnn-get-result)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
507 (wnn-get-return-code)))))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
508
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
509 (defun wnn-result-goto-bunsetu (bunsetu-no)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
510 (goto-char (point-min))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
511 (let (length (i 0))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
512 (while (< i bunsetu-no)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
513 (setq length (wnn-get-4byte))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
514 (goto-char (+ (point) length))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
515 (setq i (1+ i)))))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
516
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
517 ;;;
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
518 ;;; entry function
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
519 ;;;
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
520 (defun wnn-server-henkan-kakutei (bunsetu-no jikouho-no)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
521 (cond((not (wnn-server-active-p)) (wnn-connection-error))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
522 ((or (< bunsetu-no 0) (<= wnn-bunsetu-suu bunsetu-no))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
523 nil)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
524 (t
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
525 (let ((inhibit-quit t))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
526 (save-excursion
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
527 (set-buffer wnn-result-buffer)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
528 (let (kouho-suu)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
529 (wnn-result-goto-bunsetu bunsetu-no)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
530 (wnn-skip-length)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
531 (wnn-skip-yomi)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
532 (setq kouho-suu (wnn-get-4byte))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
533 (if (or (< jikouho-no 0) (<= kouho-suu jikouho-no)) nil
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
534 (delete-char 4) (wnn-put-4byte jikouho-no)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
535 t)))))))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
536
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
537 ;;;
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
538 ;;; entry function
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
539 ;;;
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
540 (defun wnn-server-henkan-next (bunsetu-no)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
541 (if (not (wnn-server-active-p)) (wnn-connection-error)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
542 (let ((inhibit-quit t))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
543 (save-excursion
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
544 (let (p0 p1 kouho-suu length yomi0 yomi1)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
545 (set-buffer wnn-result-buffer)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
546 (wnn-result-goto-bunsetu bunsetu-no)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
547 (setq length (wnn-get-4byte))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
548 (setq p0 (point))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
549 (setq p1 (+ p0 length))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
550 (setq yomi0 (point))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
551 (wnn-skip-yomi)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
552 (setq yomi1 (point))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
553 (setq kouho-suu (wnn-peek-4byte))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
554 (cond((< 1 kouho-suu) t)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
555 (t
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
556 (wnn-command-start JD_NEXT)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
557 (wnn-put-4byte bunsetu-no)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
558 (wnn-command-end)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
559 (wnn-get-result)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
560 (wnn-get-return-code)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
561 (if (= wnn-return-code -1) wnn-return-code
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
562 (let (jl jisho-no serial-no kanji)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
563 (set-buffer wnn-result-buffer)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
564 (delete-region (point) p1)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
565 (wnn-put-4byte wnn-return-code)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
566 (wnn-put-4byte 0) ;;; current jikouho number
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
567 (set-buffer wnn-server-buffer)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
568 (while (not (= (setq jl (wnn-get-4byte)) -1))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
569 (setq jisho-no (wnn-get-4byte)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
570 serial-no (wnn-get-4byte)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
571 kanji (wnn-get-string*))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
572 (set-buffer wnn-result-buffer)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
573 (wnn-put-4byte jisho-no)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
574 (wnn-put-4byte serial-no)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
575 (insert kanji 0)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
576 (let ((p1 (point)) fuzoku)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
577 (goto-char yomi0)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
578 (wnn-forward-char jl)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
579 (setq fuzoku (point))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
580 (goto-char p1)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
581 (insert-buffer-substring wnn-result-buffer fuzoku yomi1))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
582 (set-buffer wnn-server-buffer))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
583 (set-buffer wnn-result-buffer)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
584 (setq length (- (point) p0))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
585 (goto-char p0) (delete-char -4)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
586 (wnn-put-4byte length))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
587 t))))))))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
588
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
589 (defun jd_reconv (bunsetu-no new-kana)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
590 (if (not (wnn-server-active-p)) (wnn-connection-error)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
591 (if (= bunsetu-no 0) (jd_begin kana)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
592 (let ((inhibit-quit t))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
593 (save-excursion
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
594 (wnn-command-start JD_RECONV)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
595 (wnn-put-4byte bunsetu-no)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
596 (wnn-put-string* new-kana)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
597 (wnn-command-end)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
598 (wnn-get-result)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
599 (wnn-henkan-recieve bunsetu-no))))))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
600
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
601 ;;;
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
602 ;;; entry function
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
603 ;;;
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
604 (defun wnn-server-bunsetu-henkou (bunsetu-no bunsetu-length)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
605 (cond((not (wnn-server-active-p)) (wnn-connection-error))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
606 ((or (< bunsetu-no 0) (<= wnn-bunsetu-suu bunsetu-no))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
607 nil)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
608 (t
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
609 (let ((inhibit-quit t))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
610 (save-excursion
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
611 (set-buffer wnn-result-buffer)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
612 (wnn-result-goto-bunsetu bunsetu-no)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
613 (wnn-command-start JD_TANCONV)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
614 (wnn-put-4byte bunsetu-no)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
615 (wnn-put-4byte bunsetu-length)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
616 (wnn-command-end)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
617 (wnn-get-result)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
618 (setq wnn-bunsetu-suu bunsetu-no)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
619 (wnn-henkan-recieve))))))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
620
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
621 (defun wnn-henkan-recieve ()
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
622 (wnn-get-return-code)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
623 (if (= wnn-return-code -1) nil
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
624 (let (p0 p1 length s-ichi jl fl jisho-no serial-no kanji fuzokugo)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
625 (setq wnn-bunsetu-suu (+ wnn-bunsetu-suu wnn-return-code))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
626 (if (zerop wnn-return-code) nil
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
627 (setq s-ichi (wnn-peek-4byte))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
628 (set-buffer wnn-result-buffer)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
629 (delete-region (point) (point-max))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
630 (setq p0 (point))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
631 (insert wnn-henkan-string 0 0 0 0)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
632 (goto-char p0)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
633 (wnn-forward-char s-ichi)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
634 (delete-region p0 (point))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
635 (set-buffer wnn-server-buffer)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
636 (while (not (= (setq s-ichi (wnn-get-4byte)) -1))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
637 (setq jl (wnn-get-4byte)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
638 fl (wnn-get-4byte)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
639 jisho-no (wnn-get-4byte)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
640 serial-no (wnn-get-4byte)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
641 kanji (wnn-get-string*))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
642 (set-buffer wnn-result-buffer)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
643 (setq p0 (point))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
644 (wnn-forward-char jl)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
645 (setq p1 (point))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
646 (wnn-forward-char fl)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
647 (setq fuzokugo (buffer-substring p1 (point)))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
648 (insert 0) ;;; yomi
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
649 (wnn-put-4byte 1) ;;; kouho suu
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
650 (wnn-put-4byte 0) ;;; current kouho number
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
651 (wnn-put-4byte jisho-no)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
652 (wnn-put-4byte serial-no)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
653 (insert kanji 0 fuzokugo 0)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
654 (setq length (- (point) p0))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
655 (goto-char p0) (wnn-put-4byte length)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
656 (goto-char (+ (point) length))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
657 (set-buffer wnn-server-buffer)))))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
658 wnn-return-code)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
659
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
660 (defun wnn-bunsetu-suu () wnn-bunsetu-suu)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
661
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
662 (defun wnn-bunsetu-kanji (bunsetu-no &optional buffer)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
663 (let ((savebuffer (current-buffer)))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
664 (unwind-protect
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
665 (progn
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
666 (set-buffer wnn-result-buffer)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
667 (if (or (< bunsetu-no 0)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
668 (<= wnn-bunsetu-suu bunsetu-no))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
669 nil
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
670 (wnn-result-goto-bunsetu bunsetu-no)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
671 (wnn-skip-length)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
672 (wnn-skip-yomi)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
673
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
674 (wnn-skip-4byte) ;;; kouho-suu
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
675 (let ((i 0) (max (wnn-get-4byte)))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
676 (while (< i max)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
677 (wnn-skip-kouho)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
678 (setq i (1+ i))))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
679
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
680 (let ( p1 p2 p3 )
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
681 (goto-char (+ (point) 4 4))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
682 (setq p1 (point))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
683 (skip-chars-forward "^\0") (setq p2 (point))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
684 (forward-char 1) (skip-chars-forward "^\0")
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
685 (setq p3 (point))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
686 (if (null buffer)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
687 (concat (buffer-substring p1 p2) (buffer-substring (1+ p2) p3))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
688 (set-buffer buffer)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
689 (insert-buffer-substring wnn-result-buffer p1 p2)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
690 (insert-buffer-substring wnn-result-buffer (1+ p2) p3)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
691 nil))))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
692 (set-buffer savebuffer))))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
693
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
694 (defun wnn-bunsetu-kanji-length (bunsetu-no)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
695 (save-excursion
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
696 (set-buffer wnn-result-buffer)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
697 (if (or (< bunsetu-no 0)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
698 (<= wnn-bunsetu-suu bunsetu-no))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
699 nil
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
700 (wnn-result-goto-bunsetu bunsetu-no)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
701 (wnn-skip-length)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
702 (wnn-skip-yomi)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
703
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
704 (wnn-skip-4byte) ;;; kouho-suu
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
705 (let ((i 0) (max (wnn-get-4byte)))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
706 (while (< i max)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
707 (wnn-skip-kouho)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
708 (setq i (1+ i))))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
709
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
710 (let ( p1 p3 )
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
711 (goto-char (+ (point) 4 4))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
712 (setq p1 (point))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
713 (skip-chars-forward "^\0")(forward-char 1) (skip-chars-forward "^\0")
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
714 (setq p3 (point))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
715 (- p3 p1 1)))))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
716
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
717 (defun wnn-bunsetu-yomi-moji-suu (bunsetu-no)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
718 (save-excursion
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
719 (set-buffer wnn-result-buffer)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
720 (if (or (< bunsetu-no 0)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
721 (<= wnn-bunsetu-suu bunsetu-no))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
722 nil
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
723 (wnn-result-goto-bunsetu bunsetu-no)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
724 (wnn-skip-length)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
725 (let ((c 0) ch)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
726 (while (not (zerop (setq ch (following-char))))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
727 (if (<= 128 ch) (forward-char 2)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
728 (forward-char 1))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
729 (setq c (1+ c)))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
730 c))))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
731
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
732 (defun wnn-bunsetu-yomi (bunsetu-no &optional buffer)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
733 (let ((savebuff (current-buffer)))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
734 (unwind-protect
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
735 (progn
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
736 (set-buffer wnn-result-buffer)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
737 (if (or (< bunsetu-no 0)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
738 (<= wnn-bunsetu-suu bunsetu-no))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
739 nil
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
740 (wnn-result-goto-bunsetu bunsetu-no)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
741 (wnn-skip-length)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
742 (let (p1 p2 )
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
743 (setq p1 (point))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
744 (skip-chars-forward "^\0")
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
745 (if (null buffer ) (buffer-substring p1 (point))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
746 (setq p2 (point))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
747 (set-buffer buffer)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
748 (insert-buffer-substring wnn-result-buffer p1 p2)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
749 t))))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
750 (set-buffer savebuff))))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
751
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
752 (defun wnn-bunsetu-yomi-equal (bunsetu-no yomi)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
753 (save-excursion
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
754 (set-buffer wnn-result-buffer)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
755 (if (or (< bunsetu-no 0)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
756 (<= wnn-bunsetu-suu bunsetu-no))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
757 nil
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
758 (wnn-result-goto-bunsetu bunsetu-no)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
759 (wnn-skip-length)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
760 (looking-at yomi)))) ; 93.4.6 by T.Saneto
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
761
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
762 (defun wnn-bunsetu-kouho-suu (bunsetu-no)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
763 (save-excursion
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
764 (set-buffer wnn-result-buffer)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
765 (if (or (< bunsetu-no 0)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
766 (<= wnn-bunsetu-suu bunsetu-no))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
767 nil
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
768 (wnn-result-goto-bunsetu bunsetu-no)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
769 (wnn-skip-length)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
770 (wnn-skip-yomi)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
771 (wnn-get-4byte))))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
772
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
773 (defun wnn-bunsetu-kouho-list (bunsetu-no)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
774 (save-excursion
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
775 (set-buffer wnn-result-buffer)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
776 (if (or (< bunsetu-no 0)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
777 (<= wnn-bunsetu-suu bunsetu-no))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
778 nil
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
779 (wnn-result-goto-bunsetu bunsetu-no)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
780 (wnn-skip-length)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
781 (wnn-skip-yomi)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
782 (let ((max (wnn-get-4byte)) (i 0) (result nil) p0 p1)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
783 (wnn-skip-4byte) ;;; current kouhou number
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
784 (while (< i max)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
785 (wnn-skip-4byte) (wnn-skip-4byte)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
786 (setq p0 (point))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
787 (skip-chars-forward "^\0")
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
788 (setq p1 (point))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
789 (forward-char 1)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
790 (skip-chars-forward "^\0")
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
791 (setq result
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
792 (cons (concat (buffer-substring p0 p1)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
793 (buffer-substring (1+ p1) (point)))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
794 result))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
795 (forward-char 1)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
796 (setq i (1+ i)))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
797 (nreverse result)))))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
798
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
799 (defun wnn-bunsetu-kouho-number (bunsetu-no)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
800 (save-excursion
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
801 (set-buffer wnn-result-buffer)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
802 (if (or (< bunsetu-no 0)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
803 (<= wnn-bunsetu-suu bunsetu-no))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
804 nil
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
805 (wnn-result-goto-bunsetu bunsetu-no)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
806 (wnn-skip-length)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
807 (wnn-skip-yomi)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
808 (wnn-skip-4byte)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
809 (wnn-get-4byte)))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
810 )
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
811
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
812 (defun wnn-bunsetu-kouho-kanji (bunsetu-no kouho-no)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
813 (save-excursion
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
814 (set-buffer wnn-result-buffer)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
815 (if (or (< bunsetu-no 0)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
816 (<= wnn-bunsetu-suu bunsetu-no))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
817 nil
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
818 (wnn-result-goto-bunsetu bunsetu-no)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
819 (wnn-skip-length) (wnn-skip-yomi)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
820 (let ((kouho-suu (wnn-get-4byte)))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
821 (if (or (< kouho-no 0) (<= kouho-suu kouho-no))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
822 nil
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
823 (wnn-skip-4byte) ;;; current kouho number
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
824 (let ((i 0))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
825 (while (< i kouho-no)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
826 (wnn-skip-kouho)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
827 (setq i (1+ i))))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
828 (let ( p1 p2 p3 )
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
829 (goto-char (+ (point) 4 4))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
830 (setq p1 (point))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
831 (skip-chars-forward "^\0") (setq p2 (point))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
832 (forward-char 1) (skip-chars-forward "^\0")
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
833 (setq p3 (point))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
834 (concat (buffer-substring p1 p2) (buffer-substring (1+ p2) p3))))))))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
835
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
836 (defun wnn-bunsetu-kouho-inspect (bunsetu-no kouho-no)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
837 (save-excursion
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
838 (set-buffer wnn-result-buffer)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
839 (if (or (< bunsetu-no 0)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
840 (<= wnn-bunsetu-suu bunsetu-no))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
841 nil
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
842 (let (p0 p1 kouho-suu jiritugo fuzokugo yomi jishono serial )
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
843 (wnn-result-goto-bunsetu bunsetu-no)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
844 (wnn-skip-length)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
845 (setq p0 (point))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
846 (wnn-skip-yomi)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
847 (setq p1 (1- (point)))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
848 (setq kouho-suu (wnn-get-4byte))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
849 (if (or (< kouho-no 0) (<= kouho-suu kouho-no))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
850 nil
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
851 (wnn-skip-4byte) ;;; current kouho number
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
852 (let ((i 0))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
853 (while (< i kouho-no)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
854 (wnn-skip-kouho)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
855 (setq i (1+ i))))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
856 (setq jishono (wnn-get-4byte))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
857 (setq serial (wnn-get-4byte))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
858 (setq jiritugo (wnn-get-string))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
859 (setq fuzokugo (wnn-get-string))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
860 (goto-char p1)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
861 (if (not (equal "" fuzokugo)) (search-backward fuzokugo p0))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
862 (setq yomi (buffer-substring p0 (point)))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
863 (list jiritugo fuzokugo yomi jishono serial))))))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
864
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
865 (defun wnn-simple-command (op arg)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
866 (if (wnn-server-active-p)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
867 (let ((inhibit-quit t))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
868 (save-excursion
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
869 (wnn-command-start op)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
870 (wnn-put-4byte arg)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
871 (wnn-command-end)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
872 (wnn-get-result)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
873 (wnn-get-return-code)))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
874 (wnn-connection-error)))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
875
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
876 (defun jd_udp (dict-no)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
877 (wnn-simpale-command JD_UDP dict-no))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
878
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
879 (defun wnn-server-set-current-dict (dict-no)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
880 (wnn-simple-command JD_UDCHG dict-no))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
881
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
882 (defun wnn-server-dict-save ()
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
883 (wnn-zero-arg-command JD_FREQSV))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
884
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
885 (defun wnn-server-use-dict (dict-file-name hindo-file-name priority readonly-flag)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
886 (if (not (wnn-server-active-p))(wnn-connection-error)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
887 (let ((inhibit-quit t))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
888 (save-excursion
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
889 (wnn-command-start JD_DICADD)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
890 (wnn-put-string dict-file-name)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
891 (wnn-put-string hindo-file-name)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
892 (wnn-put-4byte priority)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
893 (wnn-put-4byte (if readonly-flag 1 0))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
894 (wnn-command-end)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
895 (wnn-get-result)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
896 (wnn-get-return-code)))))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
897
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
898 (defun jd_dicdel (dict-no)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
899 (wnn-simple-command JD_DICDEL dict-no))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
900
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
901 (defun jd_dicinfo ()
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
902 (if (not (wnn-server-active-p)) (wnn-connection-error)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
903 (let ((inhibit-quit t))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
904 (save-excursion
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
905 (wnn-command-start JD_DICINFO)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
906 (wnn-command-end)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
907 (wnn-get-result)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
908 (let ((dic-no 0) (result nil))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
909 (while (not (= (setq dic-no (wnn-get-4byte)) -1))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
910 (setq result
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
911 (cons (list
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
912 dic-no
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
913 (wnn-get-4byte) ;;; ttl_hindo
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
914 (wnn-get-4byte) ;;; dic_type
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
915 (wnn-get-4byte) ;;; udp
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
916 (wnn-get-4byte) ;;; dic_size
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
917 (wnn-get-4byte) ;;; prioritry
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
918 (wnn-get-4byte) ;;; readonly no:0 yes:1
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
919 (wnn-get-string) ;;; dic_name
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
920 (wnn-get-string) ;;; hindo_name
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
921 )
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
922 result))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
923 (nreverse result)))))))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
924
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
925 (defun jd_dicstat (file-name)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
926 (if (not (wnn-server-active-p)) (wnn-connection-error)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
927 (let ((inhibit-quit t))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
928 (save-excursion
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
929 (wnn-command-start JD_DICSTAT)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
930 (wnn-put-string file-name)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
931 (wnn-command-end)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
932 (wnn-get-result)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
933 (wnn-get-return-code)))))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
934
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
935 (defun wnn-server-dict-delete (serial-no yomi)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
936 (if (not (wnn-server-active-p)) (wnn-connection-error)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
937 (let ((inhibit-quit t))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
938 (save-excursion
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
939 (wnn-command-start JD_WDEL)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
940 (wnn-put-4byte serial-no)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
941 (wnn-put-string* yomi)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
942 (wnn-command-end)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
943 (wnn-get-result)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
944 (wnn-get-return-code)))))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
945
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
946 (defun wnn-server-dict-info (yomi)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
947 (if (not (wnn-server-active-p)) (wnn-connection-error)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
948 (let ((inhibit-quit t))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
949 (save-excursion
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
950 (wnn-command-start JD_WSCH)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
951 (wnn-put-string* yomi)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
952 (wnn-command-end)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
953 (wnn-get-result)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
954 (wnn-get-return-code)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
955 (if (= wnn-return-code -1) nil
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
956 (let ((hindo 0) bunpo jisho serial kanji (result nil))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
957 (while (not (= (setq hindo (wnn-get-4byte)) -1))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
958 (setq bunpo (wnn-get-bit-positions))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
959 (setq jisho (wnn-get-4byte))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
960 (setq serial (wnn-get-4byte))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
961 (setq kanji (wnn-get-string*))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
962 (setq result
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
963 (if (integerp bunpo)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
964 (cons (list kanji bunpo hindo jisho serial)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
965 result)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
966 (append
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
967 (mapcar (function (lambda (x)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
968 (list kanji x hindo jisho serial)))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
969 bunpo)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
970 result))))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
971 (nreverse result)))))))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
972
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
973 (defun wnn-server-dict-add (kanji yomi bunpo)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
974 (if (not (wnn-server-active-p))(wnn-connection-error)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
975 (let ((inhibit-quit t))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
976 (save-excursion
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
977 (wnn-command-start JD_WREG)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
978 (wnn-put-bit-position bunpo)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
979 (wnn-put-4byte 129) ;;; 0x81 hindo always 1 with imatukattayo bit.(jl.c)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
980 (wnn-put-string* kanji)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
981 (wnn-put-string* yomi)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
982 (wnn-command-end)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
983 (wnn-get-result)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
984 (wnn-get-return-code)))))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
985
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
986 (defun jd_whdel (serial-no yomi bunpo)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
987 (if (not (wnn-server-active-p)) (wnn-connection-error)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
988 (let ((inhibit-quit t))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
989 (save-excursion
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
990 (wnn-command-start JD_WHDEL)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
991 (wnn-put-4byte serial-no)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
992 (wnn-put-string* yomi)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
993 (wnn-put-4byte bunpo)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
994 (wnn-command-end)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
995 (wnn-get-result)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
996 (wnn-get-return-code)))))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
997
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
998 (defun jd_setevf (bunsetu-su p1 p2 p3 p4 p5)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
999 (if (not (wnn-server-active-p)) (wnn-connection-error)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1000 (let ((inhibit-quit t))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1001 (save-excursion
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1002 (wnn-command-start JD_SETEVF)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1003 (wnn-put-4byte bunsetu-su)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1004 (wnn-put-4byte p1)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1005 (wnn-put-4byte p2)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1006 (wnn-put-4byte p3)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1007 (wnn-put-4byte p4)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1008 (wnn-put-4byte p5)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1009 (wnn-put-4byte 0);; p6
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1010 (wnn-put-4byte 0);; p7
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1011 (wnn-put-4byte 0);; p8
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1012 (wnn-put-4byte 0);; p9
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1013 (wnn-put-4byte 0);; p10
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1014 (wnn-command-end)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1015 (wnn-get-result)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1016 (wnn-get-return-code)))))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1017
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1018 (defun jd_getevf ()
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1019 (if (not (wnn-server-active-p)) (wnn-connection-error)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1020 (let ((inhibit-quit t))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1021 (save-excursion
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1022 (wnn-command-start JD_GETEVF)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1023 (wnn-command-end)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1024 (wnn-get-result)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1025 (prog1
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1026 (list
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1027 (wnn-get-4byte) ;;; bunsetu-su
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1028 (wnn-get-4byte) ;;; p1
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1029 (wnn-get-4byte) ;;; p2
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1030 (wnn-get-4byte) ;;; p3
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1031 (wnn-get-4byte) ;;; p4
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1032 (wnn-get-4byte) ;;; p5
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1033 )
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1034 (wnn-get-4byte);; p6
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1035 (wnn-get-4byte);; p7
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1036 (wnn-get-4byte);; p8
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1037 (wnn-get-4byte);; p9
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1038 (wnn-get-4byte);; p10
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1039 )))))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1040
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1041 (defun wnn-server-make-directory (dir-name)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1042 (if (not (wnn-server-active-p)) (wnn-connection-error)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1043 (let ((inhibit-quit t))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1044 (save-excursion
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1045 (wnn-command-start JD_MKDIR)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1046 (wnn-put-string dir-name)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1047 (wnn-command-end)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1048 (wnn-get-result)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1049 (wnn-get-return-code)))))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1050
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1051 (defun wnn-server-file-access (file-name access-mode)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1052 (if (not (wnn-server-active-p)) (wnn-connection-error)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1053 (let ((inhibit-quit t))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1054 (save-excursion
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1055 (wnn-command-start JD_ACCESS)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1056 (wnn-put-4byte access-mode)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1057 (wnn-put-string file-name)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1058 (wnn-command-end)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1059 (wnn-get-result)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1060 (setq wnn-return-code (wnn-get-4byte))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1061 (setq wnn-error-code nil)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1062 wnn-return-code))))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1063
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1064 (defun jd_who ()
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1065 (if (not (wnn-server-active-p)) (wnn-connection-error)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1066 (let ((inhibit-quit t))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1067 (save-excursion
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1068 (wnn-command-start JD_WHO)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1069 (wnn-command-end)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1070 (wnn-get-result)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1071 (let ( number user host result)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1072 (while (not (= (setq number (wnn-get-4byte)) -1))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1073 (setq result
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1074 (cons
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1075 (list number (wnn-get-string) (wnn-get-string))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1076 result)))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1077 (nreverse result))))))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1078
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1079 (defun jd_version ()
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1080 (wnn-zero-arg-command JD_VERSION))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1081
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1082 (defconst *wnn-error-alist*
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1083 '(
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1084 (1 :WNN_NO_EXIST
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1085 "$B%U%!%$%k$,B8:_$7$^$;$s!#(B")
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1086 (2 :WNN_NOT_USERDICT
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1087 "$B@5$7$$%f!<%6!<<-=q$G$O$"$j$^$;$s!#(B")
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1088 (3 :WNN_MALLOC_ERR
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1089 "$B%a%b%j(Balloc$B$G<:GT$7$^$7$?!#(B")
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1090 (4 :WNN_NOT_SYSTEM
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1091 "$B@5$7$$%7%9%F%`<-=q$G$O$"$j$^$;$s!#(B")
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1092 (5 :WNN_NOT_A_DICT
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1093 "$B@5$7$$<-=q$G$O$"$j$^$;$s!#(B")
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1094 (6 :WNN_FILE_NO_SPECIFIED
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1095 "$B%U%!%$%kL>$,;XDj$5$l$F$$$^$;$s!#(B")
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1096 (8 :WNN_HINDO_FILE_NOT_SPECIFIED
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1097 "$B%7%9%F%`<-=q$KBP$7$F!"IQEY%U%!%$%k$N;XDj$,$"$j$^$;$s!#(B")
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1098 (9 :WNN_JISHOTABLE_FULL
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1099 "$B<-=q%F!<%V%k$,0lGU$G$9!#(B")
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1100 (10 :WNN_HINDO_NO_MATCH
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1101 "$BIQEY%U%!%$%k$,!";XDj$5$l$?<-=q$NIQEY%U%!%$%k$G$O$"$j$^$;$s!#(B")
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1102 (11 :WNN_PARAMR
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1103 "$B%U%!%$%k$NFI$_9~$_8"8B$,$"$j$^$;$s!#(B")
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1104 (12 :WNN_HJT_FULL
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1105 "$B%0%m!<%P%kIQEY%F!<%V%k$,0lGU$G$9!#(B")
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1106 (13 :WNN_JT_FULL
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1107 "$B%0%m!<%P%k<-=q%F!<%V%k$,0lGU$G$9!#(B")
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1108 (15 :WNN_PARAMW
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1109 "$B%U%!%$%k$KBP$9$k=q$-9~$_8"8B$,$"$j$^$;$s!#(B")
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1110 (16 :WNN_OPENF_ERR
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1111 "$B%U%!%$%k$,%*!<%W%s$G$-$^$;$s!#(B")
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1112 ;;; $B<-=q:o=|4X78$N%(%i!<(B
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1113 (20 :WNN_DICT_NOT_USED
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1114 "$B$=$NHV9f$N<-=q$O!";H$o$l$F$$$^$;$s!#(B")
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1115 ;;; $B%f!<%6!<<-=qJQ994X78$N%(%i!<(B
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1116 ;;;
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1117 ;;;WNN_DICT_NOT_USED
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1118 ;;;
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1119 (21 :WNN_NOT_A_USERDICT
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1120 "$B;XDj$5$l$F<-=q$O!"%f!<%6!<<-=q$G$O$"$j$^$;$s!#(B")
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1121 (22 :WNN_READONLY
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1122 "$B%j!<%I%*%s%j!<$N<-=q$O!"%+%l%s%H%f!<%6!<<-=q$K$O$G$-$^$;$s!#(B")
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1123 ;;; $B<-=q%;!<%V4X78$N%(%i!<(B
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1124 ;;;
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1125 ;;; WNN_PARAMW
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1126 ;;; WNN_OPENF_ERR
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1127 ;;; $BJQ49;~$N%(%i!<(B
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1128 ;;; jishobiki.c
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1129 (30 :WNN_JMT_FULL
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1130 "$B<-=q%F!<%V%k$,$"$U$l$F$$$^$9!#(B ")
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1131
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1132 (31 :WNN_LONG_MOJIRETSU
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1133 "$BJQ49$7$h$&$H$9$kJ8;zNs$,D92a$.$^$9!#(B")
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1134 (32 :WNN_WKAREA_FULL
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1135 "$BIUB08l2r@ONN0h$,ITB-$7$F$$$^$9!#(B")
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1136 (33 :WNN_KAREA_FULL
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1137 "$B2r@ONN0h$,ITB-$7$F$$$^$9!#(B")
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1138
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1139 ;;; $BC18lEPO?;~$N%(%i!<(B
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1140 (40 :WNN_YOMI_LONG
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1141 "$BFI$_$,D92a$.$^$9!#(B")
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1142 (41 :WNN_KANJI_LONG
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1143 "$B4A;z$,D92a$.$^$9!#(B")
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1144 (42 :WNN_BAD_YOMI
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1145 "$BFI$_$KITE,Ev$JJ8;z$,4^$^$l$F$$$^$9!#(B")
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1146 (43 :WNN_NO_YOMI
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1147 "$BFI$_$ND9$5$,(B0$B$G$9!#(B")
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1148 (44 :WNN_NO_CURRENT
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1149 "$B%+%l%s%H<-=q$,B8:_$7$^$;$s!#(B")
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1150 (45 :WNN_RDONLY
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1151 "$B%j!<%I%*%s%j!<$N<-=q$KEPO?$7$h$&$H$7$^$7$?!#(B")
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1152
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1153 ;;; $BC18l:o=|;~!"IJ;l:o=|;~$N%(%i!<(B
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1154 ;;;
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1155 ;;;WNN_NO_CURRENT
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1156 ;;;WNN_RDONLY
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1157 ;;;
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1158 (50 :WNN_WORD_NO_EXIST
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1159 "$B;XDj$5$l$?C18l$,B8:_$7$^$;$s!#(B")
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1160
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1161 ;;; $B<!8uJd;~$N%(%i!<(B
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1162 (55 :WNN_JIKOUHO_TOO_MANY
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1163 "$B<!8uJd$N%(%s%H%j!<$N8D?t$,$*$*2a$.$^$9!#(B")
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1164
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1165 ;;; $B=i4|2=$N;~$N%(%i!<(B
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1166 (60 :WNN_MALLOC_INITIALIZE
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1167 "$B%a%b%j(Balloc$B$G<:GT$7$^$7$?!#(B")
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1168
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1169 ;;; $BC18l8!:w;~$N%(%i!<(B
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1170 ;;;
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1171 ;;;WNN_BAD_YOMI
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1172 ;;;WNN_JMT_FULL
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1173 ;;;
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1174
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1175 (68 :WNN_SOME_ERROR
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1176 " $B2?$+$N%(%i!<$,5/$3$j$^$7$?!#(B")
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1177 (69 :WNN_SONOTA
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1178 "$B%P%0$,H/@8$7$F$$$kLOMM$G$9!#(B")
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1179 (70 :WNN_JSERVER_DEAD
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1180 "$B%5!<%P$,;`$s$G$$$^$9!#(B")
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1181 (71 :WNN_ALLOC_FAIL
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1182 "jd_begin$B$G(Balloc$B$K<:GT(B")
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1183 (72 :WNN_SOCK_OPEN_FAIL
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1184 "jd_begin$B$G(Bsocket$B$N(Bopen$B$K<:GT(B")
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1185
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1186 (73 :WNN_RCV_SPACE_OVER
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1187 "$B<u?.%9%Z!<%9$+$i%G!<%?$,$O$_$@$7$?(B")
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1188 (74 :WNN_MINUS_MOJIRETSU
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1189 "$BJ8;zNs$ND9$5$N;XDj$,Ii$G$"$k(B")
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1190 ;;; V3.0
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1191 (80 :WNN_MKDIR_FAIL
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1192 " $B%G%#%l%/%H%j$r:n$jB;$J$C$?(B ")
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1193 (81 :WNN_BAD_USER
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1194 " $B%f!<%6L>$,$J$$(B ")
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1195 (82 :WNN_BAD_HOST
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1196 " $B%[%9%HL>$,$J$$(B ")
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1197 ))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1198
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1199 (defun wnn-error-symbol (code)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1200 (let ((pair (assoc code *wnn-error-alist*)))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1201 (if (null pair)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1202 (list ':wnn-unknown-error-code code)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1203 (car (cdr pair)))))