annotate lisp/egg/egg-sj3.el @ 164:4e0740e5aab2

Added tag r20-3b8 for changeset 0132846995bd
author cvs
date Mon, 13 Aug 2007 09:43:39 +0200
parents 131b0175ea99
children 262b8bb4a523
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 ;; Kana Kanji Conversion Protocol Package for Egg
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2 ;; Coded by K.Ishii, Sony Corp. (kiyoji@sm.sony.co.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 (Multilingal 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 ;;;
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
24 ;;; sj3-egg.el
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
25 ;;;
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
26 ;;; $B!V$?$^$4!W$N(B sj3 $B%P!<%8%g%s(B
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
27 ;;; $B$+$J4A;zJQ49%5!<%P$K(B sj3serv $B$r;H$$$^$9!#(B
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
28 ;;;
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
29 ;;; sj3-egg $B$K4X$9$kDs0F!"Cn>pJs$O(B kiyoji@sm.sony.co.jp $B$K$*Aw$j2<$5$$!#(B
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
30 ;;;
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
31 ;;; $B@P0f(B $B@6<!(B
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
32
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
33 (require 'egg)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
34 (provide 'sj3-egg)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
35 (if (not (boundp 'SJ3))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
36 (require 'sj3-client))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
37
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
38 ;;;; $B=$@5%a%b!(!((B
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
39 ;;;; Jul-20-93 by age@softlab.is.tsukuba.ac.jp (Eiji FURUKAWA)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
40 ;;;; Bug fixed in diced-add, *sj3-bunpo-menu* and
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
41 ;;;; set-egg-henkan-mode-format.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
42
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
43 ;;;; Mar-19-93 by K.Ishii
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
44 ;;;; DicEd is changed, edit-dict-item -> edit-dict
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
45
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
46 ;;;; Aug-6-92 by K.Ishii
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
47 ;;;; length $B$r(B string-width $B$KJQ99(B
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
48
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
49 ;;;; Jul-30-92 by K.Ishii
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
50 ;;;; set-default-usr-dic-directory $B$G:n$k<-=q%G%#%l%/%H%jL>$N=$@5(B
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
51 ;;;; jserver-host-name, $B4D6-JQ?t(B JSERVER $B$N:o=|(B
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
52 ;;;;
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
53
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
54 ;;;; Jul-7-92 by Y.Kawabe
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
55 ;;;; jserver-host-name $B$r%;%C%H$9$k:]$K4D6-JQ?t(B SJ3SERV $B$bD4$Y$k!#(B
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
56 ;;;; sj3fns.el $B$N%m!<%I$r$d$a$k!#(B
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
57
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
58 ;;;; Jun-2-92 by K.Ishii
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
59 ;;;; sj3-egg.el $B$r(B wnn-egg.el $B$HF1MM$KJ,3d(B
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
60
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
61 ;;;; May-14-92 by K.Ishii
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
62 ;;;; Mule $B$N(B wnn-egg.el $B$r(B sj3serv $B$H$NDL?.MQ$K=$@5(B
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
63
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
64 ;; XEmacs addition: (and remove disable-undo variable)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
65 ;; For Emacs V18 compatibility
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
66 (and (not (fboundp 'buffer-disable-undo))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
67 (fboundp 'buffer-flush-undo)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
68 (defalias 'buffer-disable-undo 'buffer-flush-undo))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
69
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
70 ;;;----------------------------------------------------------------------
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
71 ;;;
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
72 ;;; Version control routine
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
73 ;;;
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
74 ;;;----------------------------------------------------------------------
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
75
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
76 (defvar sj3-egg-version "3.00" "Version number of this version of Egg. ")
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
77 ;;; Last modified date: Thu Aug 4 21:18:11 1994
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
78
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
79 (and (equal (user-full-name) "Kiyoji Ishii")
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
80 (defun sj3-egg-version-update (arg)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
81 (interactive "P")
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
82 (if (equal (buffer-name (current-buffer)) "sj3-egg.el")
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
83 (save-excursion
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
84 (goto-char (point-min))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
85 (re-search-forward "(defvar sj3-egg-version \"[0-9]+\\.")
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
86 (let ((point (point))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
87 (minor))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
88 (search-forward "\"")
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
89 (backward-char 1)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
90 (setq minor (string-to-int (buffer-substring point (point))))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
91 (delete-region point (point))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
92 (if (<= minor 8) (insert "0"))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
93 (insert (int-to-string (1+ minor)))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
94 (re-search-forward "Last modified date: ")
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
95 (kill-line)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
96 (insert (current-time-string)))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
97 (save-buffer)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
98 (if arg (byte-compile-file (buffer-file-name)))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
99 )))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
100 )
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
101
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
102 ;;;----------------------------------------------------------------------
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
103 ;;;
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
104 ;;; KKCP package: Kana Kanji Conversion Protocol
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
105 ;;;
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
106 ;;; KKCP to SJ3SERV interface;
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
107 ;;;
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
108 ;;;----------------------------------------------------------------------
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
109
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
110 (defvar *KKCP:error-flag* t)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
111
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
112 (defun KKCP:error (errorCode &rest form)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
113 (cond((eq errorCode ':SJ3_SOCK_OPEN_FAIL)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
114 (notify "EGG: %s $B>e$K(B SJ3SERV $B$,$"$j$^$;$s!#(B" (or (get-sj3-host-name) "local"))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
115 (if debug-on-error
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
116 (error "EGG: No SJ3SERV on %s is running." (or (get-sj3-host-name) "local"))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
117 (error "EGG: %s $B>e$K(B SJ3SERV $B$,$"$j$^$;$s!#(B" (or (get-sj3-host-name) "local"))))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
118 ((eq errorCode ':SJ3_SERVER_DEAD)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
119 (notify "EGG: %s $B>e$N(BSJ3SERV $B$,;`$s$G$$$^$9!#(B" (or (get-sj3-host-name) "local"))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
120 (if debug-on-error
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
121 (error "EGG: SJ3SERV on %s is dead." (or (get-sj3-host-name) "local"))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
122 (error "EGG: %s $B>e$N(B SJ3SERV $B$,;`$s$G$$$^$9!#(B" (or (get-sj3-host-name) "local"))))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
123 ((and (consp errorCode)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
124 (eq (car errorCode) ':SJ3_UNKNOWN_HOST))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
125 (notify "EGG: $B%[%9%H(B %s $B$,$_$D$+$j$^$;$s!#(B" (car(cdr errorCode)))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
126 (if debug-on-error
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
127 (error "EGG: Host %s is unknown." (car(cdr errorCode)))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
128 (error "EGG: $B%[%9%H(B %s $B$,$_$D$+$j$^$;$s!#(B" (car(cdr errorCode)))))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
129 ((and (consp errorCode)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
130 (eq (car errorCode) ':SJ3_UNKNOWN_SERVICE))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
131 (notify "EGG: Network service %s $B$,$_$D$+$j$^$;$s!#(B" (car(cdr errorCode)))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
132 (if debug-on-error
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
133 (error "EGG: Service %s is unknown." (car(cdr errorCode)))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
134 (error "EGG: Network service %s $B$,$_$D$+$j$^$;$s!#(B" (cdr errorCode))))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
135 (t
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
136 (notify "KKCP: $B860x(B %s $B$G(B %s $B$K<:GT$7$^$7$?!#(B" errorCode form)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
137 (if debug-on-error
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
138 (error "KKCP: %s failed because of %s." form errorCode)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
139 (error "KKCP: $B860x(B %s $B$G(B %s $B$K<:GT$7$^$7$?!#(B" errorCode form)))))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
140
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
141 (defun KKCP:server-open (hostname loginname)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
142 (let ((result (sj3-server-open hostname loginname)))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
143 (cond((null sj3-error-code) result)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
144 (t (KKCP:error sj3-error-code 'KKCP:server-open hostname loginname)))))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
145
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
146 (defun KKCP:use-dict (dict &optional passwd)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
147 (let ((result (sj3-server-open-dict dict passwd)))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
148 (cond((null sj3-error-code) result)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
149 ((eq sj3-error-code ':sj3-no-connection)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
150 (EGG:open-sj3)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
151 (KKCP:use-dict dict passwd))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
152 ((null *KKCP:error-flag*) result)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
153 (t (KKCP:error sj3-error-code
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
154 'kkcp:use-dict dict)))))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
155
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
156 (defun KKCP:make-dict (dict)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
157 (let ((result (sj3-server-make-dict dict)))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
158 (cond((null sj3-error-code) result)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
159 ((eq sj3-error-code ':sj3-no-connection)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
160 (EGG:open-sj3)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
161 (KKCP:make-dict dict))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
162 ((null *KKCP:error-flag*) result)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
163 (t (KKCP:error sj3-error-code
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
164 'kkcp:make-dict dict)))))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
165
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
166 (defun KKCP:use-stdy (stdy)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
167 (let ((result (sj3-server-open-stdy stdy)))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
168 (cond((null sj3-error-code) result)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
169 ((eq sj3-error-code ':sj3-no-connection)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
170 (EGG:open-sj3)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
171 (KKCP:use-stdy stdy))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
172 ((null *KKCP:error-flag*) result)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
173 (t (KKCP:error sj3-error-code
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
174 'kkcp:use-stdy stdy)))))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
175
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
176 (defun KKCP:make-stdy (stdy)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
177 (let ((result (sj3-server-make-stdy stdy)))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
178 (cond((null sj3-error-code) result)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
179 ((eq sj3-error-code ':sj3-no-connection)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
180 (EGG:open-sj3)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
181 (KKCP:make-stdy stdy))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
182 ((null *KKCP:error-flag*) result)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
183 (t (KKCP:error sj3-error-code
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
184 'kkcp:make-stdy stdy)))))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
185
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
186 (defun KKCP:henkan-begin (henkan-string)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
187 (let ((result (sj3-server-henkan-begin henkan-string)))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
188 (cond((null sj3-error-code) result)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
189 ((eq sj3-error-code ':sj3-no-connection)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
190 (EGG:open-sj3)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
191 (KKCP:henkan-begin henkan-string))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
192 ((null *KKCP:error-flag*) result)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
193 (t (KKCP:error sj3-error-code 'KKCP:henkan-begin henkan-string)))))
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 KKCP:henkan-next (bunsetu-no)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
196 (let ((result (sj3-server-henkan-next bunsetu-no)))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
197 (cond ((null sj3-error-code) result)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
198 ((eq sj3-error-code ':sj3-no-connection)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
199 (EGG:open-sj3)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
200 (KKCP:henkan-next bunsetu-no))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
201 ((null *KKCP:error-flag*) result)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
202 (t (KKCP:error sj3-error-code 'KKCP:henkan-next bunsetu-no)))))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
203
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
204 (defun KKCP:henkan-kakutei (bunsetu-no jikouho-no)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
205 ;;; NOTE: $B<!8uJd%j%9%H$,@_Dj$5$l$F$$$k$3$H$r3NG'$7$F;HMQ$9$k$3$H!#(B
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
206 (let ((result (sj3-server-henkan-kakutei bunsetu-no jikouho-no)))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
207 (cond ((null sj3-error-code) result)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
208 ((eq sj3-error-code ':sj3-no-connection)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
209 (EGG:open-sj3)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
210 (KKCP:henkan-kakutei bunsetu-no jikouho-no))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
211 ((null *KKCP:error-flag*) result)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
212 (t (KKCP:error sj3-error-code 'KKCP:henkan-kakutei bunsetu-no jikouho-no)))))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
213
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
214 (defun KKCP:bunsetu-henkou (bunsetu-no bunsetu-length)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
215 (let ((result (sj3-server-bunsetu-henkou bunsetu-no bunsetu-length)))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
216 (cond ((null sj3-error-code) result)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
217 ((eq sj3-error-code ':sj3-no-connection)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
218 (EGG:open-sj3)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
219 (KKCP:bunsetu-henkou bunsetu-no bunsetu-length))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
220 ((null *KKCP:error-flag*) result)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
221 (t (KKCP:error sj3-error-code 'kkcp:bunsetu-henkou bunsetu-no bunsetu-length)))))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
222
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
223
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
224 (defun KKCP:henkan-quit ()
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
225 (let ((result (sj3-server-henkan-quit)))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
226 (cond ((null sj3-error-code) result)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
227 ((eq sj3-error-code ':sj3-no-connection)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
228 (EGG:open-sj3)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
229 (KKCP:henkan-quit))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
230 ((null *KKCP:error-flag*) result)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
231 (t (KKCP:error sj3-error-code 'KKCP:henkan-quit)))))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
232
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
233 (defun KKCP:henkan-end (&optional bunsetuno)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
234 (let ((result (sj3-server-henkan-end bunsetuno)))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
235 (cond ((null sj3-error-code) result)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
236 ((eq sj3-error-code ':sj3-no-connection)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
237 (EGG:open-sj3)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
238 (KKCP:henkan-end bunsetuno))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
239 ((null *KKCP:error-flag*) result)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
240 (t (KKCP:error sj3-error-code 'KKCP:henkan-end)))))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
241
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
242 (defun KKCP:dict-add (dictno kanji yomi bunpo)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
243 (let ((result (sj3-server-dict-add dictno kanji yomi bunpo)))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
244 (cond ((null sj3-error-code) result)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
245 ((eq sj3-error-code ':sj3-no-connection)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
246 (EGG:open-sj3)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
247 (KKCP:dict-add dictno kanji yomi bunpo))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
248 ((null *KKCP:error-flag*) result)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
249 (t (KKCP:error sj3-error-code 'KKCP:dict-add dictno kanji yomi bunpo)))))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
250
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
251 (defun KKCP:dict-delete (dictno kanji yomi bunpo)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
252 (let ((result (sj3-server-dict-delete dictno kanji yomi bunpo)))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
253 (cond ((null sj3-error-code) result)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
254 ((eq sj3-error-code ':sj3-no-connection)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
255 (EGG:open-sj3)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
256 (KKCP:dict-delete dictno kanji yomi bunpo))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
257 ((null *KKCP:error-flag*) result)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
258 (t (KKCP:error sj3-error-code 'KKCP:dict-delete dictno kanji yomi bunpo)))))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
259
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
260 (defun KKCP:dict-info (dictno)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
261 (let ((result (sj3-server-dict-info dictno)))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
262 (cond ((null sj3-error-code) result)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
263 ((eq sj3-error-code ':sj3-no-connection)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
264 (EGG:open-sj3)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
265 (KKCP:dict-info dictno))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
266 ((null *KKCP:error-flag*) result)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
267 (t (KKCP:error sj3-error-code 'KKCP:dict-info dictno)))))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
268
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
269 (defun KKCP:make-directory (pathname)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
270 (let ((result (sj3-server-make-directory pathname)))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
271 (cond ((null sj3-error-code) result)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
272 ((eq sj3-error-code ':sj3-no-connection)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
273 (EGG:open-sj3)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
274 (KKCP:make-directory pathname))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
275 ((null *KKCP:error-flag*) result)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
276 (t (KKCP:error sj3-error-code 'kkcp:make-directory pathname)))))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
277
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
278 (defun KKCP:file-access (pathname mode)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
279 (let ((result (sj3-server-file-access pathname mode)))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
280 (cond ((null sj3-error-code)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
281 (if (= result 0) t nil))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
282 ((eq sj3-error-code ':sj3-no-connection)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
283 (EGG:open-sj3)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
284 (KKCP:file-access pathname mode))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
285 ((null *KKCP:error-flag*) result)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
286 (t (KKCP:error sj3-error-code 'kkcp:file-access pathname mode)))))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
287
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
288 (defun KKCP:server-close ()
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
289 (let ((result (sj3-server-close)))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
290 (cond ((null sj3-error-code) result)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
291 ((null *KKCP:error-flag*) result)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
292 (t (KKCP:error sj3-error-code 'KKCP:server-close)))))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
293
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
294 ;;;----------------------------------------------------------------------
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
295 ;;;
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
296 ;;; Kana Kanji Henkan
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
297 ;;;
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
298 ;;;----------------------------------------------------------------------
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
299
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
300 ;;;
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
301 ;;; Entry functions for egg-startup-file
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
302 ;;;
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
303
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
304 (defvar *default-sys-dic-directory* "/usr/sony/dict/sj3")
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
305
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
306 (defun set-default-sys-dic-directory (pathname)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
307 "$B%7%9%F%`<-=q$NI8=`(Bdirectory PATHNAME$B$r;XDj$9$k!#(B
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
308 PATHNAME$B$O4D6-JQ?t$r4^$s$G$h$$!#(B"
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
309
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
310 (setq pathname (substitute-in-file-name pathname))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
311
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
312 (if (not (file-name-absolute-p pathname))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
313 (error "Default directory must be absolute pathname")
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
314 (if (null (KKCP:file-access pathname 0))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
315 (error
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
316 (format "System Default directory(%s) $B$,$"$j$^$;$s!#(B" pathname))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
317 (setq *default-sys-dic-directory* (file-name-as-directory pathname)))))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
318
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
319 (defvar *default-usr-dic-directory* "/usr/sony/dict/sj3/user/$USER")
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
320
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
321 (defun set-default-usr-dic-directory (pathname)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
322 "$BMxMQ<T<-=q$NI8=`(Bdirectory PATHNAME$B$r;XDj$9$k!#(B
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
323 PATHNAME$B$O4D6-JQ?t$r4^$s$G$h$$!#(B"
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
324
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
325 (setq pathname (file-name-as-directory (substitute-in-file-name pathname)))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
326
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
327 (if (not (file-name-absolute-p pathname))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
328 (error "Default directory must be absolute pathname")
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
329 (if (null (KKCP:file-access pathname 0))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
330 (let ((updir (file-name-directory (substring pathname 0 -1))))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
331 (if (null (KKCP:file-access updir 0))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
332 (error
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
333 (format "User Default directory(%s) $B$,$"$j$^$;$s!#(B" pathname))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
334 (if (yes-or-no-p (format "User Default directory(%s) $B$r:n$j$^$9$+!)(B" pathname))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
335 (progn
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
336 (KKCP:make-directory (directory-file-name pathname))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
337 (notify "User Default directory(%s) $B$r:n$j$^$7$?!#(B" pathname))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
338 nil ;;; do nothing
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
339 ))))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
340 (setq *default-usr-dic-directory* pathname)))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
341
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
342 (defun setsysdic (dict)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
343 (let ((dictfile
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
344 (concat (if (not (file-name-absolute-p dict))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
345 *default-sys-dic-directory*
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
346 "")
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
347 dict)))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
348 (egg:setsysdict (expand-file-name dictfile))))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
349
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
350 (defun setusrdic (dict)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
351 (let ((dictfile
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
352 (concat (if (not (file-name-absolute-p dict))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
353 *default-usr-dic-directory*
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
354 "")
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
355 dict)))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
356 (egg:setusrdict (expand-file-name dictfile))))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
357
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
358 (defvar egg:*dict-list* nil)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
359
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
360 (defun setusrstdy (stdy)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
361 (let ((stdyfile
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
362 (concat (if (not (file-name-absolute-p stdy))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
363 *default-usr-dic-directory*
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
364 "")
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
365 stdy)))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
366 (egg:setusrstdy (expand-file-name stdyfile))))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
367
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
368 (defun egg:setsysdict (dict)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
369 (cond((assoc (file-name-nondirectory dict) egg:*dict-list*)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
370 (beep)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
371 (notify "$B4{$KF1L>$N%7%9%F%`<-=q(B %s $B$,EPO?$5$l$F$$$^$9!#(B"
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
372 (file-name-nondirectory dict))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
373 )
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
374 ((null (KKCP:file-access dict 0))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
375 (beep)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
376 (notify "$B%7%9%F%`<-=q(B %s $B$,$"$j$^$;$s!#(B" dict))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
377 (t(let* ((*KKCP:error-flag* nil)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
378 (rc (KKCP:use-dict dict)))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
379 (if (null rc)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
380 (error "EGG: setsysdict failed. :%s" dict)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
381 (setq egg:*dict-list*
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
382 (cons (cons (file-name-nondirectory dict) dict)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
383 egg:*dict-list*)))))))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
384
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
385 ;;; dict-no --> dict-name
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
386 (defvar egg:*usr-dict* nil)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
387
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
388 ;;; dict-name --> dict-no
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
389 (defvar egg:*dict-menu* nil)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
390
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
391 (defmacro push-end (val loc)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
392 (list 'push-end-internal val (list 'quote loc)))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
393
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
394 (defun push-end-internal (val loc)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
395 (set loc
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
396 (if (eval loc)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
397 (nconc (eval loc) (cons val nil))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
398 (cons val nil))))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
399
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
400 (defun egg:setusrdict (dict)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
401 (cond((assoc (file-name-nondirectory dict) egg:*dict-list*)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
402 (beep)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
403 (notify "$B4{$KF1L>$NMxMQ<T<-=q(B %s $B$,EPO?$5$l$F$$$^$9!#(B"
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
404 (file-name-nondirectory dict))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
405 )
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
406 ((null (KKCP:file-access dict 0))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
407 (notify "$BMxMQ<T<-=q(B %s $B$,$"$j$^$;$s!#(B" dict)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
408 (if (yes-or-no-p (format "$BMxMQ<T<-=q(B %s $B$r:n$j$^$9$+!)(B" dict))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
409 (let ((*KKCP:error-flag* nil))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
410 (if (KKCP:make-dict dict)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
411 (progn
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
412 (notify "$BMxMQ<T<-=q(B %s $B$r:n$j$^$7$?!#(B" dict)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
413 (let* ((*KKCP:error-flag* nil)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
414 (dict-no (KKCP:use-dict dict "")))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
415 (cond((numberp dict-no)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
416 (setq egg:*usr-dict*
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
417 (cons (cons dict-no dict) egg:*usr-dict*))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
418 (push-end (cons (file-name-nondirectory dict)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
419 dict-no) egg:*dict-menu*))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
420 (t (error "EGG: setusrdict failed. :%s" dict)))))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
421 (error "EGG: setusrdict failed. : %s" dict)))))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
422 (t (let* ((*KKCP:error-flag* nil)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
423 (dict-no (KKCP:use-dict dict "")))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
424 (cond((numberp dict-no)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
425 (setq egg:*usr-dict* (cons(cons dict-no dict)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
426 egg:*usr-dict*))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
427 (push-end (cons (file-name-nondirectory dict) dict-no)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
428 egg:*dict-menu*)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
429 (setq egg:*dict-list*
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
430 (cons (cons (file-name-nondirectory dict) dict)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
431 egg:*dict-list*)))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
432 (t (error "EGG: setusrdict failed. : %s" dict)))))))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
433
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
434 (defun egg:setusrstdy (stdy)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
435 (cond((null (KKCP:file-access stdy 0))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
436 (notify "$B3X=,%U%!%$%k(B %s $B$,$"$j$^$;$s!#(B" stdy)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
437 (if (yes-or-no-p (format "$B3X=,%U%!%$%k(B %s $B$r:n$j$^$9$+!)(B" stdy))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
438 (if (null (KKCP:make-stdy stdy))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
439 (error "EGG: setusrstdy failed. : %s" stdy)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
440 (notify "$B3X=,%U%!%$%k(B %s $B$r:n$j$^$7$?!#(B" stdy)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
441 (if (null (KKCP:use-stdy stdy))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
442 (error "EGG: setusrstdy failed. : %s" stdy))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
443 )))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
444 (t (if (null (KKCP:use-stdy stdy))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
445 (error "EGG: setusrstdy failed. : %s" stdy)))))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
446
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
447
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
448 ;;;
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
449 ;;; SJ3 interface
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
450 ;;;
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
451
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
452 (defun get-sj3-host-name ()
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
453 (cond((and (boundp 'sj3-host-name) (stringp sj3-host-name))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
454 sj3-host-name)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
455 ((and (boundp 'sj3serv-host-name) (stringp sj3serv-host-name))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
456 sj3serv-host-name)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
457 (t(getenv "SJ3SERV")))) ; 92.7.7 by Y.Kawabe
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
458
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
459 (fset 'get-sj3serv-host-name (symbol-function 'get-sj3-host-name))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
460
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
461 (defun set-sj3-host-name (name)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
462 (interactive "sHost name: ")
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
463 (let ((*KKCP:error-flag* nil))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
464 (disconnect-sj3))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
465 (setq sj3-host-name name)
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 (defvar egg-default-startup-file "eggrc-sj3"
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
469 "*Egg startup file name (system default)")
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
470
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
471 (defvar egg-startup-file ".eggrc-sj3"
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
472 "*Egg startup file name.")
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
473
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
474 (defvar egg-startup-file-search-path (append '("~" ".") load-path)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
475 "*List of directories to search for start up file to load.")
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
476
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
477 (defun egg:search-file (filename searchpath)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
478 (let ((result nil))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
479 (if (null (file-name-directory filename))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
480 (let ((path searchpath))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
481 (while (and path (null result ))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
482 (let ((file (substitute-in-file-name
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
483 (expand-file-name filename (if (stringp (car path)) (car path) nil)))))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
484 (if (file-exists-p file) (setq result file)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
485 (setq path (cdr path))))))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
486 (let((file (substitute-in-file-name (expand-file-name filename))))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
487 (if (file-exists-p file) (setq result file))))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
488 result))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
489
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
490 (defun EGG:open-sj3 ()
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
491 (KKCP:server-open (or (get-sj3-host-name) (system-name))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
492 (user-login-name))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
493 (setq egg:*usr-dict* nil
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
494 egg:*dict-list* nil
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
495 egg:*dict-menu* nil)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
496 (notify "$B%[%9%H(B %s $B$N(B SJ3 $B$r5/F0$7$^$7$?!#(B" (or (get-sj3-host-name) "local"))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
497 (let ((eggrc (or (egg:search-file egg-startup-file egg-startup-file-search-path)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
498 (egg:search-file egg-default-startup-file load-path))))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
499 (if eggrc (load-file eggrc)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
500 (progn
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
501 (KKCP:server-close)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
502 (error "eggrc-search-path $B>e$K(B egg-startup-file $B$,$"$j$^$;$s!#(B")))))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
503
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
504 (defun disconnect-sj3 ()
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
505 (interactive)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
506 (KKCP:server-close))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
507
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
508 (defun close-sj3 ()
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
509 (interactive)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
510 (KKCP:server-close))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
511
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
512 ;;;
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
513 ;;; Kanji henkan
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
514 ;;;
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
515
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
516 (defvar egg:*kanji-kanabuff* nil)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
517
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
518 (defvar *bunsetu-number* nil)
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 bunsetu-su ()
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
521 (sj3-bunsetu-suu))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
522
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
523 (defun bunsetu-length (number)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
524 (sj3-bunsetu-yomi-moji-suu number))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
525
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
526 (defun kanji-moji-suu (str)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
527 (let ((max (length str)) (count 0) (i 0))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
528 (while (< i max)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
529 (setq count (1+ count))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
530 (if (< (aref str i) 128) (setq i (1+ i)) (setq i (+ i 3))))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
531 count))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
532
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
533 (defun bunsetu-position (number)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
534 (let ((pos egg:*region-start*) (i 0))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
535 (while (< i number)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
536 (setq pos (+ pos (bunsetu-kanji-length i) (length egg:*bunsetu-kugiri*)))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
537 (setq i (1+ i)))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
538 pos))
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 bunsetu-kanji-length (bunsetu-no)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
541 (sj3-bunsetu-kanji-length bunsetu-no))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
542
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
543 (defun bunsetu-kanji (number)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
544 (sj3-bunsetu-kanji number))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
545
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
546 (defun bunsetu-kanji-insert (bunsetu-no)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
547 (sj3-bunsetu-kanji bunsetu-no (current-buffer)))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
548
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
549 (defun bunsetu-set-kanji (bunsetu-no kouho-no)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
550 (sj3-server-henkan-kakutei bunsetu-no kouho-no))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
551
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
552 (defun bunsetu-yomi (number)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
553 (sj3-bunsetu-yomi number))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
554
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
555 (defun bunsetu-yomi-insert (bunsetu-no)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
556 (sj3-bunsetu-yomi bunsetu-no (current-buffer)))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
557
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
558 (defun bunsetu-yomi-equal (number yomi)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
559 (sj3-bunsetu-yomi-equal number yomi))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
560
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
561 (defun bunsetu-kouho-suu (bunsetu-no)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
562 (let ((no (sj3-bunsetu-kouho-suu bunsetu-no)))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
563 (if (< 1 no) no
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
564 (KKCP:henkan-next bunsetu-no)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
565 (sj3-bunsetu-kouho-suu bunsetu-no))))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
566
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
567 (defun bunsetu-kouho-list (number)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
568 (let ((no (bunsetu-kouho-suu number)))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
569 (if (= no 1)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
570 (KKCP:henkan-next number))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
571 (sj3-bunsetu-kouho-list number)))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
572
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
573 (defun bunsetu-kouho-number (bunsetu-no)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
574 (sj3-bunsetu-kouho-number bunsetu-no))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
575
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
576 ;;;;
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
577 ;;;; User entry : henkan-region, henkan-paragraph, henkan-sentence
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
578 ;;;;
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
579
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
580 (defconst egg:*bunsetu-face* nil "*$BJ8@aI=<($KMQ$$$k(B face $B$^$?$O(B nil")
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
581 (make-variable-buffer-local
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
582 (defvar egg:*bunsetu-overlay* nil "$BJ8@a$NI=<($K;H$&(B overlay"))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
583
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
584 (defconst egg:*bunsetu-kugiri* " " "*$BJ8@a$N6h@Z$j$r<($9J8;zNs(B")
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
585
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
586
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
587 (defconst egg:*henkan-face* nil "*$BJQ49NN0h$rI=<($9$k(B face $B$^$?$O(B nil")
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
588 (make-variable-buffer-local
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
589 (defvar egg:*henkan-overlay* nil "$BJQ49NN0h$NI=<($K;H$&(B overlay"))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
590
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
591 (defconst egg:*henkan-open* "|" "*$BJQ49$N;OE@$r<($9J8;zNs(B")
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
592 (defconst egg:*henkan-close* "|" "*$BJQ49$N=*E@$r<($9J8;zNs(B")
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
593
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
594 (defun egg:henkan-face-on ()
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
595 (if (overlayp egg:*henkan-overlay*) nil
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
596 (setq egg:*henkan-overlay* (make-overlay 1 1 nil))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
597 (overlay-put egg:*henkan-overlay* 'face egg:*henkan-face*) )
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
598 (move-overlay egg:*henkan-overlay* egg:*region-start* egg:*region-end* (current-buffer)) )
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
599
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
600 (defun egg:henkan-face-off ()
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
601 (and (overlayp egg:*henkan-overlay*)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
602 (delete-overlay egg:*henkan-overlay*) ))
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 henkan-region (start end)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
605 (interactive "r")
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
606 (if (interactive-p) (set-mark (point))) ;;; to be fixed
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
607 (henkan-region-internal start end))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
608
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
609 (defvar henkan-mode-indicator "$B4A(B")
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
610
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
611 (defun henkan-region-internal (start end)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
612 "region$B$r$+$J4A;zJQ49$9$k!#(B"
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
613 (setq egg:*kanji-kanabuff* (buffer-substring start end))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
614 (if overwrite-mode
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
615 (setq egg:*overwrite-mode-deleted-chars*
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
616 (if egg:*henkan-fence-mode* 0
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
617 (length egg:*kanji-kanabuff*))))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
618 (setq *bunsetu-number* nil)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
619 (let ((result (KKCP:henkan-begin egg:*kanji-kanabuff*)))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
620 (if result
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
621 (progn
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
622 (mode-line-egg-mode-update henkan-mode-indicator)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
623 (goto-char start)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
624 (or (markerp egg:*region-start*)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
625 (setq egg:*region-start* (make-marker)))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
626 (or (markerp egg:*region-end*)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
627 (setq egg:*region-end* (set-marker-type (make-marker) t)))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
628 (if (null (marker-position egg:*region-start*))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
629 (progn
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
630 ;;;(setq egg:*global-map-backup* (current-global-map))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
631 (setq egg:*local-map-backup* (current-local-map))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
632 ;; XEmacs change:
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
633 (buffer-disable-undo (current-buffer))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
634 (goto-char start)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
635 (delete-region start end)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
636 (insert egg:*henkan-open*)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
637 (set-marker egg:*region-start* (point))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
638 (insert egg:*henkan-close*)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
639 (set-marker egg:*region-end* egg:*region-start*)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
640 (egg:henkan-face-on)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
641 (goto-char egg:*region-start*)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
642 )
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
643 (progn
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
644 (egg:fence-face-off)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
645 (delete-region (- egg:*region-start* (length egg:*fence-open*))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
646 egg:*region-start*)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
647 (delete-region egg:*region-end* (+ egg:*region-end* (length egg:*fence-close*)))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
648 (goto-char egg:*region-start*)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
649 (insert egg:*henkan-open*)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
650 (set-marker egg:*region-start* (point))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
651 (goto-char egg:*region-end*)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
652 (let ((point (point)))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
653 (insert egg:*henkan-close*)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
654 (set-marker egg:*region-end* point))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
655 (goto-char start)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
656 (delete-region start end)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
657 (egg:henkan-face-on))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
658 )
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
659 (henkan-insert-kouho 0)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
660 (henkan-goto-bunsetu 0)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
661 ;;;(use-global-map henkan-mode-map)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
662 ;;;(use-local-map nil)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
663 (use-local-map henkan-mode-map)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
664 )))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
665 )
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
666
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
667 (defun henkan-paragraph ()
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
668 "Kana-kanji henkan paragraph at or after point."
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
669 (interactive )
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
670 (save-excursion
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
671 (forward-paragraph)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
672 (let ((end (point)))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
673 (backward-paragraph)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
674 (henkan-region-internal (point) end ))))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
675
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
676 (defun henkan-sentence ()
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
677 "Kana-kanji henkan sentence at or after point."
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
678 (interactive )
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
679 (save-excursion
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
680 (forward-sentence)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
681 (let ((end (point)))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
682 (backward-sentence)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
683 (henkan-region-internal (point) end ))))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
684
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
685 (defun henkan-word ()
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
686 "Kana-kanji henkan word at or after point."
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
687 (interactive)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
688 (save-excursion
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
689 (re-search-backward "\\b\\w" nil t)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
690 (let ((start (point)))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
691 (re-search-forward "\\w\\b" nil t)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
692 (henkan-region-internal start (point)))))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
693
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
694 ;;;
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
695 ;;; Kana Kanji Henkan Henshuu mode
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
696 ;;;
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
697
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
698 (defun set-egg-henkan-mode-format (open close kugiri &optional henkan-face bunsetu-face)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
699 "$BJQ49(B mode $B$NI=<(J}K!$r@_Dj$9$k!#(BOPEN $B$OJQ49$N;OE@$r<($9J8;zNs$^$?$O(B nil$B!#(B
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
700 CLOSE$B$OJQ49$N=*E@$r<($9J8;zNs$^$?$O(B nil$B!#(B
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
701 KUGIRI$B$OJ8@a$N6h@Z$j$rI=<($9$kJ8;zNs$^$?$O(B nil$B!#(B
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
702 HENKAN-FACE $B$,;XDj$5$l$F(B nil $B$G$J$1$l$P!"JQ496h4V$rI=<($9$k(B face $B$H$7$F;H$o$l$k!#(B
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
703 BUNSETU-FACE $B$,;XDj$5$l$F(B nil $B$G$J$1$l$P!"CmL\$7$F$$$kJ8@a$rI=<($9$k(B face $B$H$7$F;H$o$l$k(B"
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
704
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
705 (interactive (list (read-string "$BJQ493+;OJ8;zNs(B: ")
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
706 (read-string "$BJQ49=*N;J8;zNs(B: ")
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
707 (read-string "$BJ8@a6h@Z$jJ8;zNs(B: ")
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
708 (cdr (assoc (completing-read "$BJQ496h4VI=<(B0@-(B: " egg:*face-alist*)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
709 egg:*face-alist*))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
710 (cdr (assoc (completing-read "$BJ8@a6h4VI=<(B0@-(B: " egg:*face-alist*)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
711 egg:*face-alist*))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
712 ))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
713
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
714 (if (and (or (stringp open) (null open))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
715 (or (stringp close) (null close))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
716 (or (stringp kugiri) (null kugiri))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
717 (or (null henkan-face) (memq henkan-face (face-list)))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
718 (or (null bunsetu-face) (memq henkan-face (face-list))))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
719 (progn
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
720 (setq egg:*henkan-open* (or open "")
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
721 egg:*henkan-close* (or close "")
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
722 egg:*bunsetu-kugiri* (or kugiri "")
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
723 egg:*henkan-face* henkan-face
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
724 egg:*bunsetu-face* bunsetu-face)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
725 (if (overlayp egg:*henkan-overlay*)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
726 (overlay-put egg:*henkan-overlay* 'face egg:*henkan-face*))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
727 (if (overlayp egg:*bunsetu-overlay*)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
728 (overlay-put egg:*bunsetu-overlay* 'face egg:*bunsetu-face*))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
729
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
730 t)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
731 (error "Wrong type of arguments: %1 %2 %3 %4 %5" open close kugiri henkan-face bunsetu-face)))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
732
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
733 (defun henkan-insert-kouho (bunsetu-no)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
734 (let ((max (bunsetu-su)) (i bunsetu-no))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
735 (while (< i max)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
736 (bunsetu-kanji-insert i)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
737 (insert egg:*bunsetu-kugiri* )
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
738 (setq i (1+ i)))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
739 (if (< bunsetu-no max) (delete-char (- (length egg:*bunsetu-kugiri*))))))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
740
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
741 (defun henkan-kakutei ()
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
742 (interactive)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
743 (egg:bunsetu-face-off *bunsetu-number*)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
744 (egg:henkan-face-off)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
745 (delete-region (- egg:*region-start* (length egg:*henkan-open*))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
746 egg:*region-start*)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
747 (delete-region egg:*region-start* egg:*region-end*)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
748 (delete-region egg:*region-end* (+ egg:*region-end* (length egg:*henkan-close*)))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
749 (goto-char egg:*region-start*)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
750 (let ((i 0) (max (bunsetu-su)))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
751 (while (< i max)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
752 ;;;(KKCP:henkan-kakutei i (bunsetu-kouho-number i))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
753 (bunsetu-kanji-insert i)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
754 (if (not overwrite-mode)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
755 (undo-boundary))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
756 (setq i (1+ i))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
757 ))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
758 (KKCP:henkan-end)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
759 (egg:quit-egg-mode)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
760 )
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 henkan-kakutei-before-point ()
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
763 (interactive)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
764 (egg:bunsetu-face-off *bunsetu-number*)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
765 (egg:henkan-face-off)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
766 (delete-region egg:*region-start* egg:*region-end*)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
767 (goto-char egg:*region-start*)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
768 (let ((i 0) (max *bunsetu-number*))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
769 (while (< i max)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
770 ;;;(KKCP:henkan-kakutei i (bunsetu-kouho-number i))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
771 (bunsetu-kanji-insert i)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
772 (if (not overwrite-mode)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
773 (undo-boundary))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
774 (setq i (1+ i))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
775 ))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
776 (KKCP:henkan-end *bunsetu-number*)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
777 (delete-region (- egg:*region-start* (length egg:*henkan-open*))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
778 egg:*region-start*)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
779 (insert egg:*fence-open*)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
780 (set-marker egg:*region-start* (point))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
781 (delete-region egg:*region-end* (+ egg:*region-end* (length egg:*henkan-close*)))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
782 (goto-char egg:*region-end*)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
783 (let ((point (point)))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
784 (insert egg:*fence-close*)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
785 (set-marker egg:*region-end* point))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
786 (goto-char egg:*region-start*)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
787 (egg:fence-face-on)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
788 (let ((point (point))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
789 (i *bunsetu-number*) (max (bunsetu-su)))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
790 (while (< i max)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
791 (bunsetu-yomi-insert i)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
792 (setq i (1+ i)))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
793 ;;;(insert "|")
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
794 ;;;(insert egg:*fence-close*)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
795 ;;;(set-marker egg:*region-end* (point))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
796 (goto-char point))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
797 (setq egg:*mode-on* t)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
798 ;;;(use-global-map fence-mode-map)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
799 ;;;(use-local-map nil)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
800 (use-local-map fence-mode-map)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
801 (egg:mode-line-display))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
802
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
803 (defun egg:set-bunsetu-face (no face switch)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
804 (if (not switch)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
805 (egg:bunsetu-face-off no) ;; JIC
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
806 (if (overlayp egg:*bunsetu-overlay*) nil
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
807 (setq egg:*bunsetu-overlay* (make-overlay 1 1 nil))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
808 (overlay-put egg:*bunsetu-overlay* 'face egg:*bunsetu-face*))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
809 (move-overlay egg:*bunsetu-overlay*
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
810 (if (eq face 'modeline)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
811 (let ((point (bunsetu-position no)))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
812 (+ point (1+ (char-boundary-p point))))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
813 (bunsetu-position no))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
814
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
815 (if (= no (1- (bunsetu-su)))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
816 egg:*region-end*
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
817 (- (bunsetu-position (1+ no))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
818 (length egg:*bunsetu-kugiri*)))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
819 (current-buffer))))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
820
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
821 (defun egg:bunsetu-face-on (no)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
822 (egg:set-bunsetu-face no egg:*bunsetu-face* t))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
823
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
824 (defun egg:bunsetu-face-off (no)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
825 ;; ``no'' will be ignored
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
826 (and (overlayp egg:*bunsetu-overlay*)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
827 (delete-overlay egg:*bunsetu-overlay*)) )
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
828
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
829 (defun henkan-goto-bunsetu (number)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
830 (setq *bunsetu-number*
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
831 (check-number-range number 0 (1- (bunsetu-su))))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
832 (goto-char (bunsetu-position *bunsetu-number*))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
833 (egg:bunsetu-face-on *bunsetu-number*)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
834 )
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 henkan-forward-bunsetu ()
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
837 (interactive)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
838 (henkan-goto-bunsetu (1+ *bunsetu-number*))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
839 )
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
840
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
841 (defun henkan-backward-bunsetu ()
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
842 (interactive)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
843 (henkan-goto-bunsetu (1- *bunsetu-number*))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
844 )
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
845
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
846 (defun henkan-first-bunsetu ()
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
847 (interactive)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
848 (henkan-goto-bunsetu 0))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
849
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
850 (defun henkan-last-bunsetu ()
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
851 (interactive)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
852 (henkan-goto-bunsetu (1- (bunsetu-su)))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
853 )
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
854
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
855 (defun check-number-range (i min max)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
856 (cond((< i min) max)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
857 ((< max i) min)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
858 (t i)))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
859
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
860 (defun henkan-hiragana ()
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
861 (interactive)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
862 (henkan-goto-kouho (- (bunsetu-kouho-suu *bunsetu-number*) 1)))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
863
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
864 (defun henkan-katakana ()
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
865 (interactive)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
866 (henkan-goto-kouho (- (bunsetu-kouho-suu *bunsetu-number*) 2)))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
867
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
868 (defun henkan-next-kouho ()
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
869 (interactive)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
870 (henkan-goto-kouho (1+ (bunsetu-kouho-number *bunsetu-number*))))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
871
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
872 (defun henkan-previous-kouho ()
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
873 (interactive)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
874 (henkan-goto-kouho (1- (bunsetu-kouho-number *bunsetu-number*))))
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 henkan-goto-kouho (kouho-number)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
877 (let ((point (point))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
878 (yomi (bunsetu-yomi *bunsetu-number*))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
879 (i *bunsetu-number*)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
880 (max (bunsetu-su)))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
881 (setq kouho-number
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
882 (check-number-range kouho-number
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
883 0
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
884 (1- (bunsetu-kouho-suu *bunsetu-number*))))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
885 (while (< i max)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
886 (if (bunsetu-yomi-equal i yomi)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
887 (let ((p1 (bunsetu-position i)))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
888 (delete-region p1
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
889 (+ p1 (bunsetu-kanji-length i)))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
890 (goto-char p1)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
891 (bunsetu-set-kanji i kouho-number)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
892 (bunsetu-kanji-insert i)))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
893 (setq i (1+ i)))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
894 (goto-char point))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
895 (egg:bunsetu-face-on *bunsetu-number*))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
896
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
897 (defun henkan-bunsetu-chijime ()
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
898 (interactive)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
899 (or (= (bunsetu-length *bunsetu-number*) 1)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
900 (bunsetu-length-henko (1- (bunsetu-length *bunsetu-number*)))))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
901
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
902 (defun henkan-bunsetu-nobasi ()
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
903 (interactive)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
904 (if (not (= (1+ *bunsetu-number*) (bunsetu-su)))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
905 (bunsetu-length-henko (1+ (bunsetu-length *bunsetu-number*)))))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
906
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
907 (defun henkan-saishou-bunsetu ()
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
908 (interactive)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
909 (bunsetu-length-henko 1))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
910
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
911 (defun henkan-saichou-bunsetu ()
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
912 (interactive)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
913 (let ((max (bunsetu-su)) (i *bunsetu-number*)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
914 (l 0))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
915 (while (< i max)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
916 (setq l (+ l (bunsetu-length i)))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
917 (setq i (1+ i)))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
918 (bunsetu-length-henko l)))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
919
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
920 (defun bunsetu-length-henko (length)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
921 (let ((r (KKCP:bunsetu-henkou *bunsetu-number* length)))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
922 (cond(r
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
923 (delete-region
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
924 (bunsetu-position *bunsetu-number*) egg:*region-end*)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
925 (goto-char (bunsetu-position *bunsetu-number*))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
926 (henkan-insert-kouho *bunsetu-number*)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
927 (henkan-goto-bunsetu *bunsetu-number*))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
928 (t
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
929 (egg:bunsetu-face-on *bunsetu-number*)))))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
930
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
931 (defun henkan-quit ()
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
932 (interactive)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
933 (egg:bunsetu-face-off *bunsetu-number*)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
934 (egg:henkan-face-off)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
935 (delete-region (- egg:*region-start* (length egg:*henkan-open*))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
936 egg:*region-start*)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
937 (delete-region egg:*region-start* egg:*region-end*)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
938 (delete-region egg:*region-end* (+ egg:*region-end* (length egg:*henkan-close*)))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
939 (goto-char egg:*region-start*)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
940 (insert egg:*fence-open*)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
941 (set-marker egg:*region-start* (point))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
942 (insert egg:*kanji-kanabuff*)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
943 (let ((point (point)))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
944 (insert egg:*fence-close*)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
945 (set-marker egg:*region-end* point)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
946 )
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
947 (goto-char egg:*region-end*)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
948 (egg:fence-face-on)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
949 (KKCP:henkan-quit)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
950 (setq egg:*mode-on* t)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
951 ;;;(use-global-map fence-mode-map)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
952 ;;;(use-local-map nil)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
953 (use-local-map fence-mode-map)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
954 (egg:mode-line-display)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
955 )
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
956
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
957 (defun henkan-select-kouho ()
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
958 (interactive)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
959 (if (not (eq (selected-window) (minibuffer-window)))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
960 (let ((kouho-list (bunsetu-kouho-list *bunsetu-number*))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
961 menu)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
962 (setq menu
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
963 (list 'menu "$B<!8uJd(B:"
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
964 (let ((l kouho-list) (r nil) (i 0))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
965 (while l
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
966 (setq r (cons (cons (car l) i) r))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
967 (setq i (1+ i))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
968 (setq l (cdr l)))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
969 (reverse r))))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
970 (henkan-goto-kouho
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
971 (menu:select-from-menu menu
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
972 (bunsetu-kouho-number *bunsetu-number*))))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
973 (beep)))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
974
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
975 (defun henkan-kakutei-and-self-insert ()
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
976 (interactive)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
977 (setq unread-command-events (list last-command-char))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
978 (henkan-kakutei))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
979
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
980
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
981 (defvar henkan-mode-map (make-keymap))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
982
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
983 (defvar henkan-mode-esc-map (make-keymap))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
984
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
985 (let ((ch 0))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
986 (while (<= ch 127)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
987 (define-key henkan-mode-map (make-string 1 ch) 'undefined)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
988 (define-key henkan-mode-esc-map (make-string 1 ch) 'undefined)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
989 (setq ch (1+ ch))))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
990
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
991 (let ((ch 32))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
992 (while (< ch 127)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
993 (define-key henkan-mode-map (make-string 1 ch) 'henkan-kakutei-and-self-insert)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
994 (setq ch (1+ ch))))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
995
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
996 (define-key henkan-mode-map "\e" henkan-mode-esc-map)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
997 (define-key henkan-mode-map "\ei" 'undefined) ;; henkan-inspect-bunsetu
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
998 ;; not support for sj3
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
999 (define-key henkan-mode-map "\es" 'henkan-select-kouho)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1000 (define-key henkan-mode-map "\eh" 'henkan-hiragana)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1001 (define-key henkan-mode-map "\ek" 'henkan-katakana)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1002 (define-key henkan-mode-map "\e<" 'henkan-saishou-bunsetu)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1003 (define-key henkan-mode-map "\e>" 'henkan-saichou-bunsetu)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1004 (define-key henkan-mode-map " " 'henkan-next-kouho)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1005 (define-key henkan-mode-map "\C-@" 'henkan-next-kouho)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1006 (define-key henkan-mode-map "\C-a" 'henkan-first-bunsetu)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1007 (define-key henkan-mode-map "\C-b" 'henkan-backward-bunsetu)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1008 (define-key henkan-mode-map "\C-c" 'henkan-quit)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1009 (define-key henkan-mode-map "\C-d" 'undefined)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1010 (define-key henkan-mode-map "\C-e" 'henkan-last-bunsetu)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1011 (define-key henkan-mode-map "\C-f" 'henkan-forward-bunsetu)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1012 (define-key henkan-mode-map "\C-g" 'henkan-quit)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1013 (define-key henkan-mode-map "\C-h" 'help-command)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1014 (define-key henkan-mode-map "\C-i" 'henkan-bunsetu-chijime)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1015 (define-key henkan-mode-map "\C-j" 'undefined)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1016 (define-key henkan-mode-map "\C-k" 'henkan-kakutei-before-point)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1017 (define-key henkan-mode-map "\C-l" 'henkan-kakutei)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1018 (define-key henkan-mode-map "\C-m" 'henkan-kakutei)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1019 (define-key henkan-mode-map "\C-n" 'henkan-next-kouho)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1020 (define-key henkan-mode-map "\C-o" 'henkan-bunsetu-nobasi)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1021 (define-key henkan-mode-map "\C-p" 'henkan-previous-kouho)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1022 (define-key henkan-mode-map "\C-q" 'undefined)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1023 (define-key henkan-mode-map "\C-r" 'undefined)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1024 (define-key henkan-mode-map "\C-s" 'undefined)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1025 (define-key henkan-mode-map "\C-t" 'undefined)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1026 (define-key henkan-mode-map "\C-u" 'undefined)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1027 (define-key henkan-mode-map "\C-v" 'undefined)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1028 (define-key henkan-mode-map "\C-w" 'undefined)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1029 (define-key henkan-mode-map "\C-x" 'undefined)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1030 (define-key henkan-mode-map "\C-y" 'undefined)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1031 (define-key henkan-mode-map "\C-z" 'undefined)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1032 (define-key henkan-mode-map "\177" 'henkan-quit)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1033
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1034 (defun henkan-help-command ()
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1035 "Display documentation fo henkan-mode."
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1036 (interactive)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1037 (with-output-to-temp-buffer "*Help*"
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1038 (princ (substitute-command-keys henkan-mode-document-string))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1039 (print-help-return-message)))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1040
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1041 (defvar henkan-mode-document-string "$B4A;zJQ49%b!<%I(B:
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1042 $BJ8@a0\F0(B
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1043 \\[henkan-first-bunsetu]\t$B@hF,J8@a(B\t\\[henkan-last-bunsetu]\t$B8eHxJ8@a(B
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1044 \\[henkan-backward-bunsetu]\t$BD>A0J8@a(B\t\\[henkan-forward-bunsetu]\t$BD>8eJ8@a(B
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1045 $BJQ49JQ99(B
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1046 $B<!8uJd(B \\[henkan-previous-kouho] \t$BA08uJd(B \\[henkan-next-kouho]
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1047 $BJ8@a?-$7(B \\[henkan-bunsetu-nobasi] \t$BJ8@a=L$a(B \\[henkan-bunsetu-chijime]
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1048 $BJQ498uJdA*Br(B \\[henkan-select-kouho]
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1049 $BJQ493NDj(B
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1050 $BA4J8@a3NDj(B \\[henkan-kakutei] \t$BD>A0J8@a$^$G3NDj(B \\[henkan-kakutei-before-point]
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1051 $BJQ49Cf;_(B \\[henkan-quit]
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1052 ")
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1053
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1054 ;;;----------------------------------------------------------------------
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1055 ;;;
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1056 ;;; Dictionary management Facility
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1057 ;;;
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1058 ;;;----------------------------------------------------------------------
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1059
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1060 ;;;
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1061 ;;; $B<-=qEPO?(B
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1062 ;;;
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1063
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1064 ;;;;
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1065 ;;;; User entry: toroku-region
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1066 ;;;;
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1067
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1068 (defun remove-regexp-in-string (regexp string)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1069 (cond((not(string-match regexp string))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1070 string)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1071 (t(let ((str nil)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1072 (ostart 0)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1073 (oend (match-beginning 0))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1074 (nstart (match-end 0)))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1075 (setq str (concat str (substring string ostart oend)))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1076 (while (string-match regexp string nstart)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1077 (setq ostart nstart)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1078 (setq oend (match-beginning 0))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1079 (setq nstart (match-end 0))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1080 (setq str (concat str (substring string ostart oend))))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1081 str))))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1082
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1083 (defun toroku-region (start end)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1084 (interactive "r")
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1085 (let*((kanji
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1086 (remove-regexp-in-string "[\0-\37]" (buffer-substring start end)))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1087 (yomi (read-hiragana-string
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1088 (format "$B<-=qEPO?!X(B%s$B!Y(B $BFI$_(B :" kanji)))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1089 (type (menu:select-from-menu *sj3-bunpo-menu*))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1090 (dict-no
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1091 (menu:select-from-menu (list 'menu "$BEPO?<-=qL>(B:" egg:*dict-menu*))))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1092 ;;;(if (string-match "[\0-\177]" kanji)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1093 ;;; (error "Kanji string contains hankaku character. %s" kanji))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1094 ;;;(if (string-match "[\0-\177]" yomi)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1095 ;;; (error "Yomi string contains hankaku character. %s" yomi))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1096 (KKCP:dict-add dict-no kanji yomi type)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1097 (let ((hinshi (nth 1 (assq type *sj3-bunpo-code*)))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1098 (gobi (nth 2 (assq type *sj3-bunpo-code*)))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1099 (dict-name (cdr (assq dict-no egg:*usr-dict*))))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1100 (notify "$B<-=q9`L\!X(B%s$B!Y(B(%s: %s)$B$r(B%s$B$KEPO?$7$^$7$?!#(B"
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1101 (if gobi (concat kanji " " gobi) kanji)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1102 (if gobi (concat yomi " " gobi) yomi)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1103 hinshi dict-name))))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1104
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1105
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1106
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1107 ;;; (lsh 1 18)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1108 (defvar *sj3-bunpo-menu*
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1109 '(menu "$BIJ;l(B:"
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1110 (("$BL>;l(B" .
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1111 (menu "$BIJ;l(B:$BL>;l(B:"
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1112 (("$BL>;l(B" . 1)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1113 ("$BL>;l(B($B$*!D(B)" . 2)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1114 ("$BL>;l(B($B$4!D(B)" . 3)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1115 ("$BL>;l(B($B!DE*(B/$B2=(B)" . 4)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1116 ("$BL>;l(B($B$*!D$9$k(B)" . 5)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1117 ("$BL>;l(B($B!D$9$k(B)" . 6)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1118 ("$BL>;l(B($B$4!D$9$k(B)" . 7)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1119 ("$BL>;l(B($B!D$J(B/$B$K(B)" . 8)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1120 ("$BL>;l(B($B$*!D$J(B/$B$K(B)" . 9)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1121 ("$BL>;l(B($B$4!D$J(B/$B$K(B)" . 10)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1122 ("$BL>;l(B($BI{;l(B)" . 11))))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1123 ("$BBeL>;l(B" . 12)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1124 ("$BID;z(B" . 21)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1125 ("$BL>A0(B" . 22)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1126 ("$BCOL>(B" . 24)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1127 ("$B8)(B/$B6hL>(B" . 25)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1128 ("$BF0;l(B" .
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1129 (menu "$BIJ;l(B:$BF0;l(B:"
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1130 (("$B%5JQ8l44(B" . 80)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1131 ("$B%6JQ8l44(B" . 81)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1132 ("$B0lCJITJQ2=It(B" . 90)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1133 ("$B%+9T8^CJ8l44(B" . 91)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1134 ("$B%,9T8^CJ8l44(B" . 92)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1135 ("$B%59T8^CJ8l44(B" . 93)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1136 ("$B%?9T8^CJ8l44(B" . 94)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1137 ("$B%J9T8^CJ8l44(B" . 95)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1138 ("$B%P9T8^CJ8l44(B" . 96)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1139 ("$B%^9T8^CJ8l44(B" . 97)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1140 ("$B%i9T8^CJ8l44(B" . 98)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1141 ("$B%o9T8^CJ8l44(B" . 99))))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1142 ("$BO"BN;l(B" . 26)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1143 ("$B@\B3;l(B" . 27)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1144 ("$B=u?t;l(B" . 29)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1145 ("$B?t;l(B" . 30)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1146 ("$B@\F,8l(B" . 31)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1147 ("$B@\Hx8l(B" . 36)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1148 ("$BI{;l(B" . 45)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1149 ("$BI{;l(B2" . 46)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1150 ("$B7AMF;l8l44(B" . 60)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1151 ("$B7AMFF0;l8l44(B" . 71)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1152 ("$BC14A;z(B" . 189))))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1153
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1154 (defvar *sj3-bunpo-code*
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1155 '(
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1156 ( 1 "$BL>;l(B" )
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1157 ( 2 "$BL>;l(B($B$*!D(B)" )
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1158 ( 3 "$BL>;l(B($B$4!D(B)" )
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1159 ( 4 "$BL>;l(B($B!DE*(B/$B2=(B)" "$BE*(B" nil)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1160 ( 5 "$BL>;l(B($B$*!D$9$k(B)" "$B$9$k(B" nil)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1161 ( 6 "$BL>;l(B($B!D$9$k(B)" "$B$9$k(B" nil)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1162 ( 7 "$BL>;l(B($B$4!D$9$k(B)" "$B$9$k(B" nil)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1163 ( 8 "$BL>;l(B($B!D$J(B/$B$K(B)" "$B$J(B/$B$K(B" nil)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1164 ( 9 "$BL>;l(B($B$*!D$J(B/$B$K(B)" "$B$J(B/$B$K(B" nil)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1165 ( 10 "$BL>;l(B($B$4!D$J(B/$B$K(B)" "$B$J(B/$B$K(B" nil)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1166 ( 11 "$BL>;l(B($BI{;l(B)" )
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1167 ( 12 "$BBeL>;l(B" )
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1168 ( 21 "$BID;z(B" )
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1169 ( 22 "$BL>A0(B" )
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1170 ( 24 "$BCOL>(B" )
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1171 ( 25 "$B8)(B/$B6hL>(B" )
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1172 ( 26 "$BO"BN;l(B" )
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1173 ( 27 "$B@\B3;l(B" )
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1174 ( 29 "$B=u?t;l(B" )
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1175 ( 30 "$B?t;l(B" )
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1176 ( 31 "$B@\F,8l(B" )
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1177 ( 36 "$B@\Hx8l(B" )
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1178 ( 45 "$BI{;l(B" )
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1179 ( 46 "$BI{;l(B2" )
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1180 ( 60 "$B7AMF;l8l44(B" "$B$$(B" ("" "" "" "" ""))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1181 ( 71 "$B7AMFF0;l8l44(B" "$B$K(B" ("" "" "" "" "") )
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1182 ( 80 "$B%5JQ8l44(B" "$B$9$k(B" ("" "" "" "" ""))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1183 ( 81 "$B%6JQ8l44(B" "$B$:$k(B" ("" "" "" "" ""))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1184 ( 90 "$B0lCJITJQ2=It(B" "$B$k(B" ("" "" "" "" ""))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1185 ( 91 "$B%+9T8^CJ8l44(B" "$B$/(B" ("$B$+$J$$(B" "$B$-$^$9(B" "$B$/(B" "$B$/$H$-(B" "$B$1(B"))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1186 ( 92 "$B%,9T8^CJ8l44(B" "$B$0(B" ("$B$,$J$$(B" "$B$.$^$9(B" "" "" ""))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1187 ( 93 "$B%59T8^CJ8l44(B" "$B$9(B" ("" "" "" "" ""))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1188 ( 94 "$B%?9T8^CJ8l44(B" "$B$D(B" ("" "" "" "" ""))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1189 ( 95 "$B%J9T8^CJ8l44(B" "$B$L(B" ("" "" "" "" ""))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1190 ( 96 "$B%P9T8^CJ8l44(B" "$B$V(B" ("" "" "" "" ""))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1191 ( 97 "$B%^9T8^CJ8l44(B" "$B$`(B" ("" "" "" "" ""))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1192 ( 98 "$B%i9T8^CJ8l44(B" "$B$k(B" ("" "" "" "" ""))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1193 ( 99 "$B%o9T8^CJ8l44(B" "$B$&(B" ("" "" "" "" ""))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1194 ( 189 "$BC14A;z(B" )
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1195 ( 190 "$BITDj(B" )
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1196 ( 1000 "$B$=$NB>(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 ;;;
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1200 ;;; $B<-=qJT=87O(B DicEd
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1201 ;;;
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1202
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1203 (defvar *diced-window-configuration* nil)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1204
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1205 (defvar *diced-dict-info* nil)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1206
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1207 (defvar *diced-dno* nil)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1208
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1209 ;;;;;
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1210 ;;;;; User entry : edit-dict
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1211 ;;;;;
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1212
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1213 (defun edit-dict ()
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1214 (interactive)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1215 (let*((dict-no
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1216 (menu:select-from-menu (list 'menu "$B<-=qL>(B:" egg:*dict-menu*)))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1217 (dict-name (file-name-nondirectory
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1218 (cdr (assq dict-no egg:*usr-dict*))))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1219 (dict-info (KKCP:dict-info dict-no)))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1220 (if (null dict-info)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1221 (message "$B<-=q(B: %s $B$KEPO?$5$l$F$$$k9`L\$O$"$j$^$;$s!#(B" dict-name)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1222 (progn
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1223 (setq *diced-dno* dict-no)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1224 (setq *diced-window-configuration* (current-window-configuration))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1225 (pop-to-buffer "*Nihongo Dictionary Information*")
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1226 (setq major-mode 'diced-mode)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1227 (setq mode-name "Diced")
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1228 (setq mode-line-buffer-identification
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1229 (concat "DictEd: " dict-name
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1230 (make-string
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1231 (max 0 (- 17 (string-width dict-name))) ? )
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1232 ))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1233 (sit-for 0) ;; will redislay.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1234 ;;;(use-global-map diced-mode-map)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1235 (use-local-map diced-mode-map)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1236 (diced-display dict-info)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1237 ))))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1238
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1239 (defun diced-redisplay ()
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1240 (let ((dict-info (KKCP:dict-info *diced-dno*)))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1241 (if (null dict-info)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1242 (progn
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1243 (message "$B<-=q(B: %s $B$KEPO?$5$l$F$$$k9`L\$O$"$j$^$;$s!#(B"
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1244 (file-name-nondirectory
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1245 (cdr (assq *diced-dno* egg:*usr-dict*))))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1246 (diced-quit))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1247 (diced-display dict-info))))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1248
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1249 (defun diced-display (dict-info)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1250 ;;; (values (list (record yomi kanji bunpo)))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1251 ;;; 0 1 2
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1252 (setq *diced-dict-info* dict-info)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1253 (setq buffer-read-only nil)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1254 (erase-buffer)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1255 (let ((l-yomi
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1256 (apply 'max
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1257 (mapcar (function (lambda (l) (string-width (nth 0 l))))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1258 dict-info)))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1259 (l-kanji
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1260 (apply 'max
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1261 (mapcar (function (lambda (l) (string-width (nth 1 l))))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1262 dict-info))))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1263 (while dict-info
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1264 (let*((yomi (nth 0 (car dict-info)))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1265 (kanji (nth 1 (car dict-info)))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1266 (bunpo (nth 2 (car dict-info)))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1267 (gobi (nth 2 (assq bunpo *sj3-bunpo-code*)))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1268 (hinshi (nth 1 (assq bunpo *sj3-bunpo-code*))))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1269
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1270 (insert " " yomi)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1271 (if gobi (insert " " gobi))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1272 (insert-char ?
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1273 (- (+ l-yomi 10) (string-width yomi)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1274 (if gobi (+ 1 (string-width gobi)) 0)))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1275 (insert kanji)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1276 (if gobi (insert " " gobi))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1277 (insert-char ?
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1278 (- (+ l-kanji 10) (string-width kanji)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1279 (if gobi (+ 1 (string-width gobi)) 0)))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1280 (insert hinshi ?\n)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1281 (setq dict-info (cdr dict-info))))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1282 (goto-char (point-min)))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1283 (setq buffer-read-only t))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1284
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1285 (defun diced-add ()
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1286 (interactive)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1287 (diced-execute t)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1288 (let*((kanji (read-from-minibuffer "$B4A;z!'(B"))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1289 (yomi (read-from-minibuffer "$BFI$_!'(B"))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1290 (bunpo (menu:select-from-menu *sj3-bunpo-menu*))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1291 (gobi (nth 2 (assq bunpo *sj3-bunpo-code*)))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1292 (hinshi (nth 1 (assq bunpo *sj3-bunpo-code*)))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1293 (item (if gobi (concat kanji " " gobi) kanji))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1294 (item-yomi (if gobi (concat yomi " " gobi) yomi))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1295 (dict-name (cdr (assq *diced-dno* egg:*usr-dict*))))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1296 (if (notify-yes-or-no-p "$B<-=q9`L\!X(B%s$B!Y(B(%s: %s)$B$r(B%s$B$KEPO?$7$^$9!#(B"
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1297 item item-yomi hinshi (file-name-nondirectory dict-name))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1298 (progn
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1299 (KKCP:dict-add *diced-dno* kanji yomi bunpo)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1300 (notify "$B<-=q9`L\!X(B%s$B!Y(B(%s: %s)$B$r(B%s$B$KEPO?$7$^$7$?!#(B"
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1301 item item-yomi hinshi dict-name)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1302 (diced-redisplay)))))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1303
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1304 (defun diced-delete ()
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1305 (interactive)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1306 (beginning-of-line)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1307 (if (= (following-char) ? )
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1308 (let ((buffer-read-only nil))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1309 (delete-char 1) (insert "D") (backward-char 1))))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1310
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1311 (defun diced-undelete ()
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1312 (interactive)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1313 (beginning-of-line)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1314 (if (= (following-char) ?D)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1315 (let ((buffer-read-only nil))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1316 (delete-char 1) (insert " ") (backward-char 1))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1317 (beep)))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1318
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1319 (defun diced-quit ()
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1320 (interactive)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1321 (setq buffer-read-only nil)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1322 (erase-buffer)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1323 (setq buffer-read-only t)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1324 (bury-buffer (get-buffer "*Nihongo Dictionary Information*"))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1325 (set-window-configuration *diced-window-configuration*)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1326 )
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1327
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1328 (defun diced-execute (&optional display)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1329 (interactive)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1330 (goto-char (point-min))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1331 (let ((no 0))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1332 (while (not (eobp))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1333 (if (= (following-char) ?D)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1334 (let* ((dict-item (nth no *diced-dict-info*))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1335 (yomi (nth 0 dict-item))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1336 (kanji (nth 1 dict-item))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1337 (bunpo (nth 2 dict-item))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1338 (gobi (nth 2 (assq bunpo *sj3-bunpo-code*)))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1339 (hinshi (nth 1 (assq bunpo *sj3-bunpo-code*)))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1340 (dict-name (cdr (assq *diced-dno* egg:*usr-dict*)))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1341 (item (if gobi (concat kanji " " gobi) kanji))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1342 (item-yomi (if gobi (concat yomi " " gobi) yomi)))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1343 (if (notify-yes-or-no-p "$B<-=q9`L\!X(B%s$B!Y(B(%s: %s)$B$r(B%s$B$+$i:o=|$7$^$9!#(B"
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1344 item item-yomi hinshi (file-name-nondirectory
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1345 dict-name))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1346 (progn
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1347 (KKCP:dict-delete *diced-dno* kanji yomi bunpo)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1348 (notify "$B<-=q9`L\!X(B%s$B!Y(B(%s: %s)$B$r(B%s$B$+$i:o=|$7$^$7$?!#(B"
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1349 item item-yomi hinshi dict-name)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1350 ))))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1351 (setq no (1+ no))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1352 (forward-line 1)))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1353 (forward-line -1)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1354 (if (not display) (diced-redisplay)))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1355
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1356 (defun diced-next-line ()
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1357 (interactive)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1358 (beginning-of-line)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1359 (forward-line 1)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1360 (if (eobp) (progn (beep) (forward-line -1))))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1361
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1362 (defun diced-end-of-buffer ()
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1363 (interactive)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1364 (end-of-buffer)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1365 (forward-line -1))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1366
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1367 (defun diced-scroll-down ()
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1368 (interactive)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1369 (scroll-down)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1370 (if (eobp) (forward-line -1)))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1371
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1372 (defun diced-mode ()
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1373 "Mode for \"editing\" dictionaries.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1374 In diced, you are \"editing\" a list of the entries in dictionaries.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1375 You can move using the usual cursor motion commands.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1376 Letters no longer insert themselves. Instead,
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1377
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1378 Type a to Add new entry.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1379 Type d to flag an entry for Deletion.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1380 Type n to move cursor to Next entry.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1381 Type p to move cursor to Previous entry.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1382 Type q to Quit from DicEd.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1383 Type u to Unflag an entry (remove its D flag).
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1384 Type x to eXecute the deletions requested.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1385 "
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1386 )
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1387
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1388 (defvar diced-mode-map (let ((map (make-keymap))) (suppress-keymap map) map))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1389
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1390 (define-key diced-mode-map "a" 'diced-add)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1391 (define-key diced-mode-map "d" 'diced-delete)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1392 (define-key diced-mode-map "n" 'diced-next-line)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1393 (define-key diced-mode-map "p" 'previous-line)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1394 (define-key diced-mode-map "q" 'diced-quit)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1395 (define-key diced-mode-map "u" 'diced-undelete)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1396 (define-key diced-mode-map "x" 'diced-execute)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1397
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1398 (define-key diced-mode-map "\C-h" 'help-command)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1399 (define-key diced-mode-map "\C-n" 'diced-next-line)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1400 (define-key diced-mode-map "\C-p" 'previous-line)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1401 (define-key diced-mode-map "\C-v" 'scroll-up)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1402 (define-key diced-mode-map "\e<" 'beginning-of-buffer)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1403 (define-key diced-mode-map "\e>" 'diced-end-of-buffer)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1404 (define-key diced-mode-map "\ev" 'diced-scroll-down)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1405
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1406 ;;; End of sj3-egg.el
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1407 ;; 92.7.7 by Y.Kawabe -- commented out
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1408 ;; (if (boundp 'SJ3)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1409 ;; (load-library "sj3fns"))