annotate lisp/skk/skk-server.el @ 219:262b8bb4a523 r20-4b8

Import from CVS: tag r20-4b8
author cvs
date Mon, 13 Aug 2007 10:09:35 +0200
parents
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
219
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
1 ;;; skk-server.el --- SKK $B%5!<%P!<$N$?$a$N%W%m%0%i%`(B
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
2 ;; Copyright (C) 1988, 1989, 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
3 ;; Masahiko Sato <masahiko@kuis.kyoto-u.ac.jp>
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
4
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
5 ;; Author: Masahiko Sato <masahiko@kuis.kyoto-u.ac.jp>
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
6 ;; Maintainer: Mikio Nakajima <minakaji@osaka.email.ne.jp>
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
7 ;; Version: $Id: skk-server.el,v 1.1 1997/12/02 08:48:39 steve Exp $
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
8 ;; Keywords: japanese
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
9 ;; Last Modified: $Date: 1997/12/02 08:48:39 $
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
10
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
11 ;; This program is free software; you can redistribute it and/or modify
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
12 ;; it under the terms of the GNU General Public License as published by
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
13 ;; the Free Software Foundation; either versions 2, or (at your option)
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
14 ;; any later version.
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
15
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
16 ;; This program is distributed in the hope that it will be useful
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
17 ;; but WITHOUT ANY WARRANTY; without even the implied warranty of
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
18 ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
19 ;; GNU General Public License for more details.
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
20
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
21 ;; You should have received a copy of the GNU General Public License
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
22 ;; along with SKK, see the file COPYING. If not, write to the Free
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
23 ;; Software Foundation Inc., 59 Temple Place - Suite 330, Boston,
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
24 ;; MA 02111-1307, USA.
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
25
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
26 ;;; Commentary:
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
27 ;; Following people contributed modifications to skk-server.el (Alphabetical
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
28 ;; order):
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
29 ;;
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
30 ;; Hitoshi SUZUKI <h-suzuki@ael.fujitsu.co.jp>
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
31 ;; Hideki Sakurada <sakurada@kuis.kyoto-u.ac.jp>
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
32 ;; Kenji Rikitake <kenji@reseau.toyonaka.osaka.jp>
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
33 ;; Kiyotaka Sakai <ksakai@netwk.ntt-at.co.jp>
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
34 ;; Mikio Nakajima <minakaji@osaka.email.ne.jp>
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
35 ;; TOKUYA Junichi <tokuya@crab.fuji-ric.co.jp>
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
36
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
37 ;;; Change log:
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
38
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
39
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
40 ;;; Code:
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
41 (require 'skk-foreword)
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
42 (require 'skk-vars)
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
43
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
44 ;; user variables.
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
45 ;;;###skk-autoload
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
46 (defvar skk-server-host (getenv "SKKSERVER")
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
47 "*SKK $B<-=q%5!<%P!<$rAv$i$;$F$$$k%[%9%HL>!#(B" )
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
48
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
49 ;;;###skk-autoload
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
50 (defvar skk-server-prog (getenv "SKKSERV")
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
51 "*SKK $B<-=q%5!<%P!<%W%m%0%i%`L>!#%U%k%Q%9$G=q$/!#(B" )
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
52
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
53 (defvar skk-server-jisyo (getenv "SKK_JISYO")
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
54 "*SKK $B<-=q%5!<%P!<%W%m%0%i%`$KEO$9<-=qL>!#%U%k%Q%9$G=q$/!#(B" )
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
55
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
56 (defvar skk-server-portnum nil
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
57 "*Non-nil $B$G$"$l$P!"$=$NCM$r(B port number $B$H$7$F(B skkserv $B$H(B TCP $B@\B3$9$k!#(B
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
58 /etc/services $B$rD>@\=q$-49$($k8"8B$,$J$$%f!<%6!<$N$?$a$NJQ?t!#(B" )
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
59
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
60 ;;(defvar skk-server-debug nil
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
61 ;; "*Non-nil $B$G$"$l$P!"<-=q%5!<%P!<%W%m%0%i%`$r%G%#%P%C%0%b!<%I$G5/F0$9$k!#(B
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
62 ;;$B%G%#%P%C%0!&%b!<%I$G(B skkserv $B$rAv$i$;$k$H!"$=$N$^$^(B foreground $B$GAv$j!"%a%C%;!<(B
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
63 ;;$B%8$r=PNO$9$k!#%-!<%\!<%I$+$i3d$j$3$_$r$+$1$k$3$H$b$G$-$k!#(B" )
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
64
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
65 ;;;###skk-autoload
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
66 (defvar skk-servers-list nil
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
67 "*$B<-=q%5!<%P!<Kh$N>pJs%j%9%H!#(B
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
68 $BJ#?t$N%^%7!<%s$GF0$$$F$$$k%5!<%P$K%"%/%;%9$G$-$k>l9g$K$O!"0J2<$N$h$&$K!"%j%9%H(B
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
69 $B$N3FMWAG$K=g$K%[%9%HL>!"%U%k%Q%9$G$N(B SKK $B%5!<%P!<L>!"(BSKK $B%5!<%P!<$KEO$9<-=qL>!"(B
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
70 SKK $B%5!<%P!<$,;HMQ$9$k%]!<%HHV9f$r=q$-!"@_Dj$r$9$k$3$H$b$G$-$k!#(B
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
71
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
72 (setq skk-servers-list
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
73 '((\"mars\" \"/usr/local/soft/nemacs/etc/skkserv\" nil nil)
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
74 (\"venus\" \"/usr/local/nemacs/etc/skkserv\" nil nil) ))
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
75
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
76 $B$3$N>l9g:G=i$K;XDj$7$?%5!<%P$K%"%/%;%9$G$-$J$/$J$k$H!"<+F0E*$K=g<!%j%9%H$K$"$k(B
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
77 $B;D$j$N%5!<%P$K%"%/%;%9$9$k$h$&$K$J$k!#$J$*(B SKK $B%5!<%P!<$KEO$9<-=q$*$h$S(B SKK $B%5!<(B
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
78 $B%P!<$,;HMQ$9$k%]!<%HHV9f$G!"(BSKK $B%5!<%P!<$r%3%s%Q%$%k;~$NCM$r;HMQ$9$k>l9g$O(B nil
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
79 $B$r;XDj$9$k!#(B" )
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
80
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
81 (defvar skk-report-server-response nil
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
82 "*Non-nil $B$G$"$l$P!"JQ49;~(B SKK $B%5!<%P!<$NAw=P$9$kJ8;z$r<u$1<h$k$^$G$K(B accept-process-output $B$r2?2s<B9T$7$?$+$rJs9p$9$k!#(B" )
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
83
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
84 (defvar skk-remote-shell-program
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
85 (or (getenv "REMOTESHELL")
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
86 (and (boundp 'remote-shell-program) remote-shell-program)
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
87 (cond
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
88 ((eq system-type 'berkeley-unix)
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
89 (if (file-exists-p "/usr/ucb/rsh") "/usr/ucb/rsh" "/usr/bin/rsh") )
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
90 ((eq system-type 'usg-unix-v)
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
91 (if (file-exists-p "/usr/ucb/remsh") "/usr/ucb/remsh" "/bin/rsh"))
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
92 ((eq system-type 'hpux) "/usr/bin/remsh")
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
93 ((eq system-type 'EWS-UX/V) "/usr/ucb/remsh")
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
94 ((eq system-type 'pcux) "/usr/bin/rcmd")
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
95 (t "rsh") ))
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
96 "*$B%j%b!<%H%7%'%k$N%W%m%0%i%`L>!#(B" )
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
97
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
98 (defvar skk-server-load-hook nil
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
99 "*skk-server.el $B$r%m!<%I$7$?8e$K%3!<%k$5$l$k%U%C%/!#(B" )
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
100
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
101 ;; internal variable.
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
102 (defvar skk-network-open-status 'open
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
103 "" )
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
104
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
105 ;;;###skk-autoload
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
106 (defun skk-server-version ()
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
107 (interactive)
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
108 (if (interactive-p)
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
109 (message (skk-server-version))
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
110 (let (status)
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
111 (if (not (or skk-server-host skk-servers-list))
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
112 (skk-error "Lack of host information of SKK server"
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
113 "SKK $B%5!<%P!<$N%[%9%H>pJs$,$"$j$^$;$s(B" ))
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
114 (setq status (process-status "skkservd"))
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
115 (if (not (eq status skk-network-open-status))
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
116 (setq status (skk-open-server)) )
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
117 (if (eq status skk-network-open-status)
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
118 (let (v)
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
119 (save-match-data
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
120 (with-current-buffer " *skkserv*"
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
121 (erase-buffer)
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
122 ;; $B%5!<%P!<%P!<%8%g%s$rF@$k!#(B
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
123 (process-send-string "skkservd" "2")
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
124 (while (eq (buffer-size) 0)
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
125 (accept-process-output) )
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
126 (setq v (buffer-string))
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
127 (erase-buffer)
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
128 ;; $B%[%9%HL>$rF@$k!#(B
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
129 (process-send-string "skkservd" "3")
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
130 (while (eq (buffer-size) 0)
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
131 (accept-process-output) )
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
132 (goto-char (point-min))
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
133 (format
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
134 (concat "SKK SERVER version %s"
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
135 (if skk-japanese-message-and-error
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
136 "($B%[%9%HL>(B %s)"
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
137 "running on HOST %s" ))
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
138 v (prog1 (buffer-string) (erase-buffer)) ))))))))
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
139
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
140 (defun skk-search-server (file limit &optional nomsg)
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
141 ;; SKK $B<-=q%U%)!<%^%C%H$N(B FILE $B$G(B SKK $B%5!<%P!<$r;HMQ$7$F(B skk-henkan-key $B$r%-!<(B
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
142 ;; $B$K$7$F8!:w$r9T$&!#(B
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
143 ;; SKK $B%5!<%P!<$,;HMQ$G$-$J$$$H$-$O!"(BFILE $B$r%P%C%U%!$KFI$_9~$s$G%5!<%A$r9T(B
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
144 ;; $B$&!#(B
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
145 ;; LIMIT $B$H(B NOMSG $B$O(B SKK $B%5!<%P!<$r;HMQ$7$J$$$H$-$N$_;H$&!#(B
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
146 ;; $B8!:w%j!<%8%g%s$,(B LIMIT $B0J2<$K$J$k$^$G%P%$%J%j%5!<%A$r9T$$!"$=$N8e%j%K%"(B
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
147 ;; $B%5!<%A$r9T$&!#(B
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
148 ;; LIMIT $B$,(B 0 $B$G$"$l$P!"%j%K%"%5!<%A$N$_$r9T$&!#(B
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
149 ;; $B<-=q$,%=!<%H$5$l$F$$$J$$$N$G$"$l$P!"(BLIMIT $B$r(B 0 $B$9$kI,MW$,$"$k!#(B
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
150 ;; $B%*%W%7%g%J%k0z?t$N(B NOMSG $B$,(B non-nil $B$G$"$l$P(B skk-get-jisyo-buffer $B$N%a%C(B
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
151 ;; $B%;!<%8$r=PNO$7$J$$$h$&$K$9$k!#(B
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
152 (if (or skk-server-host skk-servers-list)
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
153 (skk-search-server-subr file limit)
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
154 (skk-search-jisyo-file file limit nomsg) ))
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
155
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
156 (defun skk-search-server-subr (file limit)
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
157 ;; skk-search-server $B$N%5%V%k!<%A%s!#(B
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
158 (let ((key
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
159 (if skk-use-numeric-conversion
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
160 (skk-compute-numeric-henkan-key skk-henkan-key)
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
161 skk-henkan-key))
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
162 ;; $B%P%C%U%!%m!<%+%kCM$N<u$1EO$7$N$?$a!"JLL>$N0l;~JQ?t$K<h$k!#(B
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
163 (okurigana (or skk-henkan-okurigana skk-okuri-char))
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
164 (status (process-status "skkservd")) )
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
165 (if (or (not status) (not (eq status skk-network-open-status)))
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
166 (setq status (skk-open-server)) )
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
167 (if (eq status skk-network-open-status)
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
168 (with-current-buffer " *skkserv*"
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
169 (let ((cont t) (count 0)
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
170 l )
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
171 (erase-buffer)
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
172 (process-send-string "skkservd" (concat "1" key " "))
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
173 (while (and cont (eq (process-status "skkservd")
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
174 skk-network-open-status ))
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
175 (accept-process-output)
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
176 (setq count (1+ count))
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
177 (if (> (buffer-size) 0)
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
178 (if (eq (char-after 1) ?1) ;?1
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
179 ;; found key successfully, so check if a whole line
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
180 ;; is received.
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
181 (if (eq (char-after (1- (point-max))) ?\n) ;?\n
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
182 (setq cont nil) )
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
183 ;; not found or error, so exit
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
184 (setq cont nil) )))
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
185 (goto-char (point-min))
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
186 (if skk-report-server-response
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
187 (skk-message "%d $B2s(B SKK $B%5!<%P!<$N1~EzBT$A$r$7$^$7$?(B"
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
188 "Waited for server response %d times" count ))
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
189 (if (eq (following-char) ?1) ;?1
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
190 (progn
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
191 (forward-char 2)
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
192 (setq l (skk-compute-henkan-lists okurigana))
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
193 (if l
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
194 (cond ((and okurigana skk-henkan-okuri-strictly)
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
195 ;; $BAw$j2>L>$,F10l$N%(%s%H%j$N$_$rJV$9!#(B
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
196 (nth 2 l) )
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
197 ((and okurigana skk-henkan-strict-okuri-precedence)
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
198 (skk-nunion (nth 2 l) (car l)) )
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
199 (t (car l)) ))))))
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
200 ;; server is not active, so search file instead
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
201 (skk-search-jisyo-file file limit) )))
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
202
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
203 (defun skk-open-server ()
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
204 ;; SKK $B%5!<%P!<$H@\B3$9$k!#%5!<%P!<%W%m%;%9$N(B status $B$rJV$9!#(B
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
205 (let (status code)
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
206 (if (or (skk-open-network-stream) (skk-open-server-1))
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
207 (progn
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
208 (setq status (process-status "skkservd"))
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
209 (if (eq status skk-network-open-status)
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
210 (progn
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
211 (setq code (cdr (assoc "euc" skk-coding-system-alist)))
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
212 (if skk-xemacs
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
213 (let ((proc (get-process "skkservd")))
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
214 (set-process-input-coding-system proc code)
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
215 (set-process-output-coding-system proc code))
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
216 (if skk-mule
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
217 (set-process-coding-system (get-process "skkservd")
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
218 code code )))))))
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
219 status ))
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
220
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
221 (defun skk-open-server-1 ()
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
222 ;; skk-open-server $B$N%5%V%k!<%A%s!#(B
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
223 ;; skkserv $B%5!<%S%9$r%*!<%W%s$G$-$?$i(B t $B$rJV$9!#(B
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
224 (let (status)
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
225 (if (null skk-servers-list)
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
226 (progn
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
227 ;; Emacs $B5/F08e$K4D6-JQ?t$r@_Dj$7$?>l9g!#(B
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
228 (if (not skk-server-host)
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
229 (setq skk-server-host (getenv "SKKSERVER")) )
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
230 (if (not skk-server-prog)
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
231 (setq skk-server-prog (getenv "SKKSERV")) )
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
232 (if (not skk-server-jisyo)
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
233 (setq skk-server-jisyo (getenv "SKK_JISYO")) )
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
234 (if (and skk-server-host skk-server-prog
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
235 ;; skkserv $B$O0z?t$K<-=q$,;XDj$5$l$F$$$J$1$l$P!"(B
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
236 ;; DEFAULT_JISYO $B$r;2>H$9$k!#(B
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
237 ;;skk-server-jisyo
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
238 )
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
239 (setq skk-servers-list (list (list skk-server-host
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
240 skk-server-prog
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
241 skk-server-jisyo
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
242 skk-server-portnum )))
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
243 ;; reset SKK-SERVER-HOST so as not to use server in this session
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
244 (setq skk-server-host nil
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
245 skk-server-prog nil ))))
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
246 (while (and (not (eq (process-status "skkservd") skk-network-open-status))
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
247 skk-servers-list )
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
248 (let ((elt (car skk-servers-list))
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
249 arg )
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
250 (setq skk-server-host (car elt)
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
251 skk-server-prog (nth 1 elt)
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
252 skk-server-jisyo (nth 2 elt)
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
253 skk-server-portnum (nth 3 elt)
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
254 skk-servers-list (cdr skk-servers-list) )
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
255 ;; skkserv $B$N5/F0%*%W%7%g%s$O2<5-$NDL$j!#(B
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
256 ;; skkserv [-d] [-p NNNN] [JISHO]
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
257 ;; `-d' $B%G%#%P%C%0!&%b!<%I(B
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
258 ;; `-p NNNN' $BDL?.MQ$N%]!<%HHV9f$H$7$F(BNNNN$B$r;H$&(B.
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
259 ;; `~/JISYO' ~/JISYO$B$r<-=q$H$7$FMxMQ(B.
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
260 (if skk-server-jisyo
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
261 (setq arg (list skk-server-jisyo))
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
262 ;; skkserv $B$O0z?t$K<-=q$,;XDj$5$l$F$$$J$1$l$P!"(BDEFAULT_JISYO $B$r(B
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
263 ;; $B;2>H$9$k!#(B
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
264 )
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
265 ;;(if skk-server-debug
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
266 ;; (setq arg (cons "-d" arg)) )
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
267 (if (and skk-server-portnum (not (eq skk-server-portnum 1178)))
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
268 (setq arg
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
269 (nconc (list "-p" (int-to-string skk-server-portnum)) arg)))
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
270 (or (skk-open-network-stream)
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
271 (skk-startup-server arg) )))
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
272 (if (not (eq (process-status "skkservd") skk-network-open-status))
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
273 ;; reset SKK-SERVER-HOST so as not to use server in this session
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
274 (setq skk-server-host nil
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
275 skk-server-prog nil
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
276 skk-servers-list nil )
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
277 t )))
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
278
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
279 (defun skk-open-network-stream ()
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
280 ;; skk-server-host $B$K$*$1$k(B skkserv $B%5!<%S%9$N(B TCP $B@\B3$r%*!<%W%s$7!"%W%m%;(B
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
281 ;; $B%9$rJV$9!#(B
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
282 ;; open-network-stream $B$GB8:_$7$J$$%P%C%U%!$,;XDj$5$l$?$i!"(Bget-buffer-create
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
283 ;; $B$7$F$/$F$k$N$G!"ITMW!#(B
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
284 ;;(get-buffer-create " *skkserv*")
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
285 (condition-case nil
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
286 (open-network-stream
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
287 "skkservd" " *skkserv*" skk-server-host (or skk-server-portnum "skkserv"))
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
288 (error nil) ))
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
289
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
290 (defun skk-startup-server (arg)
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
291 ;; skkserv $B$r5/F0$G$-$?$i(B t $B$rJV$9!#(B
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
292 (let (
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
293 ;;(msgbuff (get-buffer-create " *skkserv-msg*"))
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
294 (count 7) status )
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
295 (while (> count 0)
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
296 (skk-message
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
297 "%s $B$N(B SKK $B%5!<%P!<$,5/F0$7$F$$$^$;$s!#5/F0$7$^$9(B%s"
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
298 "SKK SERVER on %s is not active, I will activate it%s"
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
299 skk-server-host (make-string count ?.) )
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
300 (if (or (string= skk-server-host (system-name))
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
301 (string= skk-server-host "localhost"))
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
302 ;; server host is local machine
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
303 (apply 'call-process skk-server-prog nil
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
304 ;;msgbuff
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
305 0 nil arg)
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
306 (apply 'call-process
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
307 skk-remote-shell-program nil
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
308 ;; 0 $B$K$7$F%5%V%W%m%;%9$N=*N;$rBT$C$F$O$$$1$J$$M}M3$,$"$k!)(B
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
309 ;; $B$J$1$l$P(B msgbuf $B$K%(%i!<=PNO$r<h$C$?J}$,7z@_E*$G$O!)(B $B$^$?$=(B
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
310 ;; $B$N>l9g$O$3$N(B while $B%k!<%W<+?H$,$$$i$J$$!)(B
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
311 ;; msgbuff
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
312 0 nil skk-server-host skk-server-prog arg ))
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
313 (sit-for 3)
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
314 (if (and (skk-open-network-stream)
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
315 (eq (process-status "skkservd") skk-network-open-status) )
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
316 (setq count 0)
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
317 (setq count (1- count)) ))
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
318 (if (eq (process-status "skkservd") skk-network-open-status)
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
319 (progn
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
320 (skk-message "$B%[%9%H(B %s $B$N(B SKK $B%5!<%P!<$,5/F0$7$^$7$?(B"
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
321 "SKK SERVER on %s is active now"
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
322 skk-server-host )
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
323 (sit-for 1) ; return t
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
324 t ) ; $B$G$bG0$N$?$a(B
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
325 (skk-message "%s $B$N(B SKK $B%5!<%P!<$r5/F0$9$k$3$H$,$G$-$^$;$s$G$7$?(B"
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
326 "Could not activate SKK SERVER on %s"
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
327 skk-server-host )
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
328 (sit-for 1)
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
329 (ding) ;return nil
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
330 nil ))) ; $B$G$bG0$N$?$a(B
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
331
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
332 ;;;###skk-autoload
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
333 (defun skk-adjust-search-prog-list-for-server-search (&optional non-del)
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
334 ;; skk-server-host $B$b$7$/$O(B skk-servers-list $B$,(B nil $B$G$"$l$P!"(B
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
335 ;; skk-search-prog-list $B$+$i(B skk-search-server $B$r(B car $B$K;}$D%j%9%H$r>C$9!#(B
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
336 ;; non-nil $B$G$"$l$P!"2C$($k!#(B
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
337 (if (or skk-server-host skk-servers-list)
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
338 (if (null (assq 'skk-search-server skk-search-prog-list))
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
339 ;; skk-search-prog-list $B$,(B nil $B$H$$$&$3$H$O$^$:$J$$$@$m$&$,!"G0$N$?(B
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
340 ;; $B$a!"(Bsetq $B$7$F$*$/!#(B
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
341 (setq skk-search-prog-list
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
342 ;; $BKvHx$KIU$1$k!#KvHx$K$O(B (skk-okuri-search) $B$r;}$C$F$-$?$$?M(B
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
343 ;; $B$b$$$k$+$b!#%*%W%7%g%s$GIU$1$k>l=j$rJQ99$9$k$h$&$K$7$?J}$,(B
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
344 ;; $BNI$$!)(B
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
345 (nconc skk-search-prog-list
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
346 (list
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
347 '(skk-search-server skk-aux-large-jisyo 10000) ))))
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
348 (if (not non-del)
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
349 ;; skk-search-prog-list $B$N@hF,$,(B skk-search-server $B$+$i;O$^$k%j%9%H$@(B
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
350 ;; $B$H$$$&$3$H$O$^$:$J$$$@$m$&$,!"G0$N$?$a!"(Bsetq $B$7$F$*$/!#(B
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
351 (setq skk-search-prog-list
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
352 (delq (assq 'skk-search-server skk-search-prog-list)
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
353 skk-search-prog-list )))))
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
354
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
355 (defun skk-disconnect-server ()
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
356 ;; $B%5!<%P!<$r@Z$jN%$9!#(B
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
357 (if (and skk-server-host
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
358 (eq (process-status "skkservd") skk-network-open-status) )
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
359 (progn
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
360 (process-send-string "skkservd" "0") ; disconnect server
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
361 (accept-process-output (get-process "skkservd")) )))
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
362
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
363 ;;(add-hook 'skk-mode-hook 'skk-adjust-search-prog-list-for-server-search)
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
364 (add-hook 'skk-before-kill-emacs-hook 'skk-disconnect-server)
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
365
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
366 (run-hooks 'skk-server-load-hook)
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
367
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
368 (provide 'skk-server)
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
369 ;;; skk-server.el ends here