219
|
1 ;;; skk-foreword.el --- $BA0=q$-(B
|
|
2 ;; Copyright (C) 1997 Mikio Nakajima <minakaji@osaka.email.ne.jp>
|
|
3
|
|
4 ;; Author: Mikio Nakajima <minakaji@osaka.email.ne.jp>
|
|
5 ;; Maintainer: Murata Shuuichirou <mrt@mickey.ai.kyutech.ac.jp>
|
|
6 ;; Mikio Nakajima <minakaji@osaka.email.ne.jp>
|
|
7 ;; Version: $Id: skk-foreword.el,v 1.1 1997/12/02 08:48:37 steve Exp $
|
|
8 ;; Keywords: japanese
|
|
9 ;; Last Modified: $Date: 1997/12/02 08:48:37 $
|
|
10
|
|
11 ;; This program is free software; you can redistribute it and/or modify
|
|
12 ;; it under the terms of the GNU General Public License as published by
|
|
13 ;; the Free Software Foundation; either versions 2, or (at your option)
|
|
14 ;; any later version.
|
|
15
|
|
16 ;; This program is distributed in the hope that it will be useful
|
|
17 ;; but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
18 ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
19 ;; GNU General Public License for more details.
|
|
20
|
|
21 ;; You should have received a copy of the GNU General Public License
|
|
22 ;; along with SKK, see the file COPYING. If not, write to the Free
|
|
23 ;; Software Foundation Inc., 59 Temple Place - Suite 330, Boston,
|
|
24 ;; MA 02111-1307, USA.
|
|
25
|
|
26 ;;; Commentary:
|
|
27
|
|
28 ;; $BA0$KDj5A$7$F$*$+$J$1$l$P$J$j$^$;$s!#$3$N%U%!%$%k$O!"$3$N$h(B
|
|
29 ;; $B$&$K!"JQ?t$N@k8@0JA0$KDj5A$7$F$*$+$J$1$l$P$J$i$J$$$b$N$r$^(B
|
|
30 ;; $B$H$a$?$b$N$G$9!#%f!<%6!<JQ?t$NDj5A$NA0$K!"$4$A$c$4$A$c$H%f(B
|
|
31 ;; $B!<%6!<$K6=L#$,$J$$$b$N$,JB$s$G$$$?$N$G$O!"%f!<%6!<%U%l%s%I(B
|
|
32 ;; $B%j!<$G$O$J$$$H9M$($k$+$i$G$9!#(B
|
|
33 ;;
|
|
34 ;; Following people contributed modifications to skk-foreword.el (Alphabetical order):
|
|
35 ;; Hideki Sakurada <sakurada@kuis.kyoto-u.ac.jp>
|
|
36 ;; Shuhei KOBAYASHI <shuhei-k@jaist.ac.jp>
|
|
37
|
|
38 ;;; Change log:
|
|
39
|
|
40 ;;; Code:
|
|
41 (require 'easymenu)
|
|
42
|
|
43 ;; necessary macro and functions to be declared before user variable declarations.
|
|
44
|
|
45 ;; From viper-util.el. Welcome!
|
|
46 (defmacro skk-deflocalvar (var default-value &optional documentation)
|
|
47 (` (progn
|
|
48 (defvar (, var) (, default-value)
|
|
49 (, (format "%s\n\(buffer local\)" documentation)))
|
|
50 (make-variable-buffer-local '(, var))
|
|
51 )))
|
|
52
|
|
53 ;; From emu.el of tm package. Welcome! Its original is defun-maybe.
|
|
54 (defmacro skk-defunsoft (name &rest everything-else)
|
|
55 (or (fboundp name)
|
|
56 (` (or (fboundp (quote (, name)))
|
|
57 (defun (, name) (,@ everything-else)) ))))
|
|
58
|
|
59 (put 'skk-deflocalvar 'lisp-indent-function 'defun)
|
|
60 (put 'skk-defunsoft 'lisp-indent-function 'defun)
|
|
61
|
|
62 ;;(defun skk-get (symbol property-name &optional default)
|
|
63 ;; ;; SYMBOL $B$NB0@-%j%9%H$K(B PROPERTY-NAME $B$H$$$&B0@-L>$,$"$l$P$=$NB0@-CM$rJV$9!#(B
|
|
64 ;; ;; $B$J$1$l$P(B DEFAULT $B$rJV$9(B (DEFAULT $B$,;XDj$5$l$F$$$J$1$l$P(B NIL)$B!#B0@-L>$NHf(B
|
|
65 ;; ;; $B3S$O!"(Beq $B$G9T$J$&!#(B
|
|
66 ;; (if default
|
|
67 ;; (let ((pl (memq property-name (symbol-plist symbol))))
|
|
68 ;; (if pl (nth 1 pl) default) )
|
|
69 ;; (get symbol property-name) ))
|
|
70
|
|
71 (defun skk-terminal-face-p ()
|
|
72 (and (not window-system)
|
|
73 (fboundp 'frame-face-alist) ;; $BJQ?tL>$_$?$$$J4X?t$@$J(B...$B!#(B
|
|
74 (fboundp 'selected-frame) ))
|
|
75
|
|
76 ;;; skk-defunsofts Define nothing if it is already there.
|
|
77
|
|
78 ;; eval-after-load is not defined in XEmacs but after-load-alist is usable.
|
|
79 ;; See subr.el in XEmacs.
|
|
80 (skk-defunsoft eval-after-load (file form)
|
|
81 (or (assoc file after-load-alist)
|
|
82 (setq after-load-alist (cons (list file) after-load-alist)))
|
|
83 (let ((elt (assoc file after-load-alist)))
|
|
84 (or (member form (cdr elt))
|
|
85 (nconc elt (list form))))
|
|
86 form )
|
|
87
|
|
88 (skk-defunsoft set-cursor-color (color-name)
|
|
89 (set-frame-property (selected-frame) 'cursor-color
|
|
90 (if (color-instance-p color-name)
|
|
91 color-name
|
|
92 (make-color-instance color-name))))
|
|
93
|
|
94 (skk-defunsoft rassoc (key alist)
|
|
95 (cond ((null alist) nil)
|
|
96 ((and (consp (car alist))
|
|
97 (equal key (cdr (car alist))) (car alist)))
|
|
98 (t (rassoc key (cdr alist))) ))
|
|
99
|
|
100 (skk-defunsoft add-to-list (list-var element)
|
|
101 (or (member element (symbol-value list-var))
|
|
102 (set list-var (cons element (symbol-value list-var))) ))
|
|
103
|
|
104 ;; mule-3 $B$G$O!"(Bcancel-undo-boundary $B$,$J$$!#(B
|
|
105 ;; from mule-util.el
|
|
106 (skk-defunsoft cancel-undo-boundary ()
|
|
107 ;; buffer-undo-list $B$N(B car $B$N(B nil $B$r>C$7!"(Bundo $B%3%^%s%I$,D>6a$N%P%C%U%!(B
|
|
108 ;; $B$NJQ99$G;_$^$i$J$$$h$&$K$9$k!#(Bbuffer-undo-list $B$K$*$1$k(B nil $B$O!"JQ(B
|
|
109 ;; $B9972$HJQ9972$N6-3&$r<($9%G%j%_%?$NF/$-$r$7$F$$$k!#(B
|
|
110 (if (and (consp buffer-undo-list)
|
|
111 ;; car $B$,(B nil $B$@$C$?$i$=$l$r>C$9!#(B
|
|
112 (null (car buffer-undo-list)) )
|
|
113 (setq buffer-undo-list (cdr buffer-undo-list)) ))
|
|
114
|
|
115 (skk-defunsoft match-string (n str)
|
|
116 (substring str (match-beginning n) (match-end n)) )
|
|
117
|
|
118 ;;;; version specific matter.
|
|
119 (eval-and-compile
|
|
120 (defconst skk-xemacs (and (featurep 'mule)
|
|
121 (string-match "XEmacs" emacs-version) )
|
|
122 "Non-nil $B$G$"$l$P!"(BXEmacs $B$G(B SKK $B$r;HMQ$7$F$$$k$3$H$r<($9!#(B" )
|
|
123
|
|
124 (defconst skk-mule3 (and (featurep 'mule) (boundp 'mule-version)
|
|
125 (string< "3.0" mule-version))
|
|
126 "Non-nil $B$G$"$l$P!"(BMule 3 $B$G(B SKK $B$r;HMQ$7$F$$$k$3$H$r<($9!#(B" )
|
|
127
|
|
128 (defconst skk-mule (featurep 'mule)
|
|
129 "Non-nil $B$G$"$l$P!"(BMule $B$G(B SKK $B$r;HMQ$7$F$$$k$3$H$r<($9!#(B" )
|
|
130
|
|
131 (defconst skk-20 (or skk-mule3 skk-xemacs)
|
|
132 "Non-nil $B$G$"$l$P!"(BEmacs $B$N(B ver. 20 $B$G(B SKK $B$r;HMQ$7$F$$$k$3$H$r<($9!#(B" )
|
|
133
|
|
134 (cond ((or (and (boundp 'epoch::version) epoch::version)
|
|
135 (string< (substring emacs-version 0 2) "18") )
|
|
136 (message "THIS SKK requires Emacs 19")
|
|
137 (sit-for 2) )
|
|
138 ;; for XEmacs
|
|
139 (skk-xemacs
|
|
140 (defalias 'skk-buffer-substring 'buffer-substring-no-properties)
|
|
141 (defalias 'skk-character-to-event 'character-to-event)
|
|
142 (defalias 'skk-event-to-character 'event-to-character)
|
|
143 (defalias 'skk-int-char 'int-char)
|
|
144 (defalias 'skk-read-event 'next-command-event)
|
|
145 (defsubst skk-unread-event (event)
|
|
146 ;; Unread single EVENT.
|
|
147 (setq unread-command-events
|
|
148 (nconc unread-command-events (list event))) )
|
|
149 (defalias 'skk-make-overlay 'make-extent)
|
|
150 (defalias 'skk-move-overlay 'set-extent-endpoints)
|
|
151 (defalias 'skk-overlay-put 'set-extent-property)
|
|
152 (defalias 'skk-overlayp 'extentp)
|
|
153 (defalias 'skk-delete-overlay 'detach-extent)
|
|
154 (defalias 'skk-charsetp 'find-charset)
|
|
155 (defalias 'skk-char-to-string 'char-to-string)
|
|
156 (defun skk-make-char (charset n1 n2)
|
|
157 (make-char charset
|
|
158 (logand (lognot 128) n1)
|
|
159 (logand (lognot 128) n2) ))
|
|
160 ;; skk-kana-input-event-type
|
|
161 ;; (event $B$G$J$/J8;z$r0z?t$K$H$k$h$&$K$7$?$N$G(B,
|
|
162 ;; skk-kana-input-char-type $B$NL>A0$r;H$$$^$7$?(B)
|
|
163 (defun skk-kana-input-char-type (char)
|
|
164 ;; "Return type of CHAR for `skk-kana-input'."
|
|
165 ;; CHAR is character or nil
|
|
166 (cond ((and char
|
|
167 (<= 0 char) (< char (length skk-char-type-vector)))
|
|
168 ;; this is normal ascii char
|
|
169 (aref skk-char-type-vector char))
|
|
170 ;; if you want to perform delete by event other than ascii
|
|
171 ;; keystroke event, following clause should be modified to
|
|
172 ;; return type 5 when apropriciate.
|
|
173 (t nil) ))
|
|
174
|
|
175 (defmacro with-output-to-temp-buffer (bufname &rest body)
|
|
176 (let ((obuf (make-symbol "obuf"))
|
|
177 (buf (make-symbol "buf")) )
|
|
178 `(let ((,obuf (current-buffer))
|
|
179 (,buf (get-buffer-create ,bufname))
|
|
180 standard-output )
|
|
181 (set-buffer ,buf)
|
|
182 (erase-buffer)
|
|
183 (setq standard-output ,buf)
|
|
184 ,@body
|
|
185 (pop-to-buffer ,buf) )))
|
|
186
|
|
187 (defmacro with-current-buffer (buffer &rest body)
|
|
188 "Execute the forms in BODY with BUFFER as the current buffer.
|
|
189 The value returned is the value of the last form in BODY.
|
|
190 See also `with-temp-buffer'."
|
|
191 (` (save-current-buffer
|
|
192 (set-buffer (, buffer))
|
|
193 (,@ body))))
|
|
194
|
|
195 (defmacro with-temp-file (file &rest forms)
|
|
196 "Create a new buffer, evaluate FORMS there, and write the buffer to FILE.
|
|
197 The value of the last form in FORMS is returned, like `progn'.
|
|
198 See also `with-temp-buffer'."
|
|
199 (let ((temp-file (make-symbol "temp-file"))
|
|
200 (temp-buffer (make-symbol "temp-buffer")))
|
|
201 (` (let (((, temp-file) (, file))
|
|
202 ((, temp-buffer)
|
|
203 (get-buffer-create (generate-new-buffer-name " *temp file*"))))
|
|
204 (unwind-protect
|
|
205 (prog1
|
|
206 (with-current-buffer (, temp-buffer)
|
|
207 (,@ forms))
|
|
208 (with-current-buffer (, temp-buffer)
|
|
209 (widen)
|
|
210 (write-region (point-min) (point-max) (, temp-file) nil 0)))
|
|
211 (and (buffer-name (, temp-buffer))
|
|
212 (kill-buffer (, temp-buffer))))))))
|
|
213 (defmacro combine-after-change-calls (&rest body)
|
|
214 (` (unwind-protect
|
|
215 (let ((combine-after-change-calls t))
|
|
216 . (, body))
|
|
217 (combine-after-change-execute))))
|
|
218 (defmacro combine-after-change-execute (&rest body)
|
|
219 body )
|
|
220 )
|
|
221 ;; for Emacs 19
|
|
222 (t
|
|
223 (defmacro skk-character-to-event (char) char);; $B2?$b$7$J$$(B
|
|
224 (defmacro skk-int-char (char) char);; $B2?$b$7$J$$(B
|
|
225 (defsubst skk-unread-event (event)
|
|
226 ;; Unread single EVENT.
|
|
227 (setq unread-command-events
|
|
228 (nconc unread-command-events (list event))))
|
|
229 (defalias 'skk-read-event 'read-event)
|
|
230 (defalias 'skk-make-overlay 'make-overlay)
|
|
231 (defalias 'skk-move-overlay 'move-overlay)
|
|
232 (defalias 'skk-overlay-put 'overlay-put)
|
|
233 (defalias 'skk-overlayp 'overlayp)
|
|
234 (defalias 'skk-delete-overlay 'delete-overlay)
|
|
235 (defun skk-event-to-character (event)
|
|
236 ;; Return character of keystroke EVENT.
|
|
237 (cond ((symbolp event)
|
|
238 ;; mask is (BASE-TYPE MODIFIER-BITS) or nil.
|
|
239 (let ((mask (get event 'event-symbol-element-mask)))
|
|
240 (if mask
|
|
241 (let ((base (get (car mask) 'ascii-character)))
|
|
242 (if base
|
|
243 (logior base (car (cdr mask))))))))
|
|
244 ((integerp event)
|
|
245 event)
|
|
246 (t nil) ))
|
|
247 (defun skk-kana-input-char-type (event)
|
|
248 ;; "Return type of EVENT for `skk-kana-input'."
|
|
249 (cond ((and (integerp event)
|
|
250 (<= 0 event) (< event (length skk-char-type-vector)))
|
|
251 ;; this is normal ascii keystroke event
|
|
252 (aref skk-char-type-vector event))
|
|
253 ;; if you want to perform delete by event other than ascii
|
|
254 ;; keystroke event, following clause should be modified to
|
|
255 ;; return type 5 when apropriciate.
|
|
256 (t nil) ))
|
|
257
|
|
258 ;; overwrite built-in combine-after-change-execute
|
|
259 (defmacro combine-after-change-execute (&rest body)
|
|
260 body )
|
|
261 (defmacro combine-after-change-calls (&rest body)
|
|
262 (` (unwind-protect
|
|
263 (let ((combine-after-change-calls t))
|
|
264 . (, body))
|
|
265 (combine-after-change-execute))))
|
|
266 (if skk-mule3
|
|
267 nil
|
|
268
|
|
269 (defmacro with-output-to-temp-buffer (bufname &rest body)
|
|
270 (let ((obuf (make-symbol "obuf"))
|
|
271 (buf (make-symbol "buf")) )
|
|
272 `(let ((,obuf (current-buffer))
|
|
273 (,buf (get-buffer-create ,bufname))
|
|
274 standard-output )
|
|
275 (set-buffer ,buf)
|
|
276 (erase-buffer)
|
|
277 (setq standard-output ,buf)
|
|
278 ,@body
|
|
279 (pop-to-buffer ,buf) )))
|
|
280
|
|
281 (defmacro save-current-buffer (&rest body)
|
|
282 (let ((orig-buffer (make-symbol "orig-buffer")))
|
|
283 (` (let (((, orig-buffer) (current-buffer)))
|
|
284 (unwind-protect
|
|
285 (progn (,@ body))
|
|
286 (set-buffer (, orig-buffer)) )))))
|
|
287
|
|
288 (defmacro with-current-buffer (buffer &rest body)
|
|
289 "Execute the forms in BODY with BUFFER as the current buffer.
|
|
290 The value returned is the value of the last form in BODY.
|
|
291 See also `with-temp-buffer'."
|
|
292 (` (save-current-buffer
|
|
293 (set-buffer (, buffer))
|
|
294 (,@ body))))
|
|
295
|
|
296 (defmacro with-temp-file (file &rest forms)
|
|
297 "Create a new buffer, evaluate FORMS there, and write the buffer to FILE.
|
|
298 The value of the last form in FORMS is returned, like `progn'.
|
|
299 See also `with-temp-buffer'."
|
|
300 (let ((temp-file (make-symbol "temp-file"))
|
|
301 (temp-buffer (make-symbol "temp-buffer")))
|
|
302 (` (let (((, temp-file) (, file))
|
|
303 ((, temp-buffer)
|
|
304 (get-buffer-create (generate-new-buffer-name " *temp file*"))))
|
|
305 (unwind-protect
|
|
306 (prog1
|
|
307 (with-current-buffer (, temp-buffer)
|
|
308 (,@ forms))
|
|
309 (with-current-buffer (, temp-buffer)
|
|
310 (widen)
|
|
311 (write-region (point-min) (point-max) (, temp-file) nil 0)))
|
|
312 (and (buffer-name (, temp-buffer))
|
|
313 (kill-buffer (, temp-buffer))))))))
|
|
314
|
|
315 (defmacro with-temp-buffer (&rest forms)
|
|
316 "Create a temporary buffer, and evaluate FORMS there like `progn'.
|
|
317 See also `with-temp-file' and `with-output-to-string'."
|
|
318 (let ((temp-buffer (make-symbol "temp-buffer")))
|
|
319 (` (let (((, temp-buffer)
|
|
320 (get-buffer-create (generate-new-buffer-name " *temp*"))))
|
|
321 (unwind-protect
|
|
322 (with-current-buffer (, temp-buffer)
|
|
323 (,@ forms))
|
|
324 (and (buffer-name (, temp-buffer))
|
|
325 (kill-buffer (, temp-buffer))))))))
|
|
326
|
|
327 (defmacro with-output-to-string (&rest body)
|
|
328 "Execute BODY, return the text it sent to `standard-output', as a string."
|
|
329 (` (let ((standard-output
|
|
330 (get-buffer-create (generate-new-buffer-name " *string-output*"))))
|
|
331 (let ((standard-output standard-output))
|
|
332 (,@ body))
|
|
333 (with-current-buffer standard-output
|
|
334 (prog1
|
|
335 (buffer-string)
|
|
336 (kill-buffer nil)))))))
|
|
337 (cond
|
|
338 ((string< "20" emacs-version)
|
|
339 ;; For emacs 20
|
|
340 (defalias 'skk-charsetp 'charsetp)
|
|
341 (defalias 'skk-make-char 'make-char)
|
|
342 (defalias 'skk-buffer-substring 'buffer-substring-no-properties)
|
|
343 (defun skk-char-to-string (char)
|
|
344 (condition-case nil
|
|
345 (char-to-string char)
|
|
346 (error
|
|
347 nil ))))
|
|
348 ((string< "19.29" emacs-version)
|
|
349 ;; For emacs 19.29, 19.30...
|
|
350 (defalias 'skk-charsetp 'character-set)
|
|
351 (defalias 'skk-make-char 'make-character)
|
|
352 (defalias 'skk-buffer-substring 'buffer-substring-no-properties)
|
|
353 (defalias 'skk-char-to-string 'char-to-string) )
|
|
354 (t
|
|
355 ;; For emacs 19...19.28
|
|
356 (defalias 'skk-charsetp 'character-set)
|
|
357 (defalias 'skk-make-char 'make-character)
|
|
358 (defalias 'skk-buffer-substring 'buffer-substring)
|
|
359 (defalias 'skk-char-to-string 'char-to-string) )
|
|
360 ))))
|
|
361
|
|
362 (defconst skk-background-mode
|
|
363 ;; from font-lock-make-faces of font-lock.el Welcome!
|
|
364 (cond
|
|
365 (skk-xemacs
|
|
366 (if (< (apply '+ (color-rgb-components
|
|
367 (face-property 'default 'background)))
|
|
368 (/ (apply '+ (color-rgb-components
|
|
369 (make-color-specifier "white"))) 3))
|
|
370 'dark
|
|
371 'light)
|
|
372 )
|
|
373 ((and window-system (x-display-color-p))
|
|
374 (let ((bg-resource (x-get-resource ".backgroundMode"
|
|
375 "BackgroundMode"))
|
|
376 params )
|
|
377 (if bg-resource
|
|
378 (intern (downcase bg-resource))
|
|
379 (setq params (frame-parameters))
|
|
380 ;; Mule for Win32 $B$r(B Windows 95 $B$GF0$+$7$F$$$k$H$-$O!"(Bsystem-type $B$O!)(B
|
|
381 ;; -> windows-nt $B$G$7$?(B -- Mikio ($B2q<R$N(B Win 95 $B$K(B Mule for Win32 $B$r(B
|
|
382 ;; $BF~$l$?(B)$B!#(B
|
|
383 (cond ((and (eq system-type 'windows-nt)
|
|
384
|
|
385 (fboundp 'win32-color-values) )
|
|
386 (< (apply '+ (win32-color-values
|
|
387 (cdr (assq 'background-color params)) ))
|
|
388 (/ (apply '+ (win32-color-values "white")) 3) )
|
|
389 'dark )
|
|
390 ((and (memq system-type '(ms-dos windows-nt))
|
|
391 (fboundp 'x-color-values) )
|
|
392 (if (string-match "light"
|
|
393 (cdr (assq 'background-color params)) )
|
|
394 'light
|
|
395 'dark ))
|
|
396 ((< (apply '+ (x-color-values
|
|
397 (cdr (assq 'background-color params)) ))
|
|
398 (/ (apply '+ (x-color-values "white")) 3) )
|
|
399 'dark )
|
|
400 (t 'light) ))))
|
|
401 (t 'mono )))
|
|
402
|
|
403 (eval-after-load "hilit19"
|
|
404 '(mapcar (function
|
|
405 (lambda (pattern)
|
|
406 (hilit-add-pattern
|
|
407 (car pattern) (cdr pattern)
|
|
408 (cond ((eq skk-background-mode 'mono)
|
|
409 'bold )
|
|
410 ((eq skk-background-mode 'light)
|
|
411 'RoyalBlue )
|
|
412 (t 'cyan) )
|
|
413 'emacs-lisp-mode )))
|
|
414 '(("^\\s *(skk-deflocalvar\\s +\\S +" . "")
|
|
415 ("^\\s *(skk-defunsoft\\s +\\S +" . "") )))
|
|
416
|
|
417 (defun skk-define-menu-bar-map (map)
|
|
418 ;; SKK $B%a%K%e!<$N%H%C%W$K=P8=$9$k%3%^%s%I$N%a%K%e!<$X$NDj5A$r9T$J$&!#(B
|
|
419 (easy-menu-define
|
|
420 skk-menu map
|
|
421 "Menu used in SKK mode."
|
|
422 '("SKK"
|
|
423 ("Convert Region and Echo"
|
|
424 ("Gyakubiki"
|
|
425 ["to Hirakana" skk-gyakubiki-message
|
|
426 (or (not (boundp 'skktut-problem-count)) (eq skktut-problem-count 0)) ]
|
|
427 ["to Hirakana, All Candidates"
|
|
428 ;; $B$"$l$l!"(Blambda $B4X?t$ODj5A$G$-$J$$$N$+!)!)!)(B $BF0$+$J$$$>(B...$B!#(B
|
|
429 (function (lambda (start end) (interactive "r")
|
|
430 (skk-gyakubiki-message start end 'all-candidates) ))
|
|
431 (or (not (boundp 'skktut-problem-count)) (eq skktut-problem-count 0)) ]
|
|
432 ["to Katakana" skk-gyakubiki-katakana-message
|
|
433 (or (not (boundp 'skktut-problem-count)) (eq skktut-problem-count 0)) ]
|
|
434 ["to Katakana, All Candidates"
|
|
435 (function (lambda (start end) (interactive "r")
|
|
436 (skk-gyakubiki-katakana-message
|
|
437 start end 'all-candidates ) ))
|
|
438 (or (not (boundp 'skktut-problem-count)) (eq skktut-problem-count 0)) ]
|
|
439 )
|
|
440 ("Hurigana"
|
|
441 ["to Hirakana" skk-hurigana-message
|
|
442 (or (not (boundp 'skktut-problem-count)) (eq skktut-problem-count 0)) ]
|
|
443 ["to Hirakana, All Candidates"
|
|
444 (function (lambda (start end) (interactive "r")
|
|
445 (skk-hurigana-message start end 'all-candidates) ))
|
|
446 (or (not (boundp 'skktut-problem-count)) (eq skktut-problem-count 0)) ]
|
|
447 ["to Katakana" skk-hurigana-katakana-message
|
|
448 (or (not (boundp 'skktut-problem-count)) (eq skktut-problem-count 0)) ]
|
|
449 ["to Katakana, All Candidates"
|
|
450 (function (lambda (start end) (interactive "r")
|
|
451 (skk-hurigana-katakana-message
|
|
452 start end 'all-candidates) ))
|
|
453 (or (not (boundp 'skktut-problem-count)) (eq skktut-problem-count 0)) ]
|
|
454 )
|
|
455 )
|
|
456 ("Convert Region and Replace"
|
|
457 ["Ascii" skk-ascii-region
|
|
458 (or (not (boundp 'skktut-problem-count)) (eq skktut-problem-count 0)) ]
|
|
459 ("Gyakubiki"
|
|
460 ["to Hirakana" skk-gyakubiki-region
|
|
461 (or (not (boundp 'skktut-problem-count)) (eq skktut-problem-count 0)) ]
|
|
462 ["to Hirakana, All Candidates"
|
|
463 (function (lambda (start end) (interactive "r")
|
|
464 (skk-gyakubiki-region start end 'all-candidates) ))
|
|
465 (or (not (boundp 'skktut-problem-count)) (eq skktut-problem-count 0)) ]
|
|
466 ["to Katakana" skk-gyakubiki-katakana-region
|
|
467 (or (not (boundp 'skktut-problem-count)) (eq skktut-problem-count 0)) ]
|
|
468 ["to Katakana, All Candidates"
|
|
469 (function (lambda (start end) (interactive "r")
|
|
470 (skk-gyakubiki-katakana-region
|
|
471 start end 'all-candidates ) ))
|
|
472 (or (not (boundp 'skktut-problem-count)) (eq skktut-problem-count 0)) ]
|
|
473 )
|
|
474 ["Hiragana" skk-hiragana-region
|
|
475 (or (not (boundp 'skktut-problem-count)) (eq skktut-problem-count 0)) ]
|
|
476 ("Hurigana"
|
|
477 ["to Hirakana" skk-hurigana-region
|
|
478 (or (not (boundp 'skktut-problem-count)) (eq skktut-problem-count 0)) ]
|
|
479 ["to Hirakana, All Candidates"
|
|
480 (function (lambda (start end) (interactive "r")
|
|
481 (skk-hurigana-region start end 'all-candidates) ))
|
|
482 (or (not (boundp 'skktut-problem-count)) (eq skktut-problem-count 0)) ]
|
|
483 ["to Katakana" skk-hurigana-katakana-region
|
|
484 (or (not (boundp 'skktut-problem-count)) (eq skktut-problem-count 0)) ]
|
|
485 ["to Katakana, All Candidates" (function
|
|
486 (lambda (start end) (interactive "r")
|
|
487 (skk-hurigana-katakana-region
|
|
488 start end 'all-candidates) ))
|
|
489 (or (not (boundp 'skktut-problem-count)) (eq skktut-problem-count 0)) ]
|
|
490 )
|
|
491 ["Katakana" skk-katakana-region
|
|
492 (or (not (boundp 'skktut-problem-count)) (eq skktut-problem-count 0)) ]
|
|
493 ["Romaji" skk-romaji-region
|
|
494 (or (not (boundp 'skktut-problem-count)) (eq skktut-problem-count 0)) ]
|
|
495 ["Zenkaku" skk-zenkaku-region
|
|
496 (or (not (boundp 'skktut-problem-count)) (eq skktut-problem-count 0)) ]
|
|
497 )
|
|
498 ["Count Jisyo Candidates" skk-count-jisyo-candidates
|
|
499 (or (not (boundp 'skktut-problem-count)) (eq skktut-problem-count 0)) ]
|
|
500 ["Save Jisyo" skk-save-jisyo
|
|
501 (or (not (boundp 'skktut-problem-count)) (eq skktut-problem-count 0)) ]
|
|
502 ["Undo Kakutei" skk-undo-kakutei
|
|
503 (or (not (boundp 'skktut-problem-count)) (eq skktut-problem-count 0)) ]
|
|
504 ("User Options"
|
|
505 ["skk-allow-spaces-newlines-and-tabs" skk-menu-allow-spaces-newlines-and-tabs
|
|
506 (or (not (boundp 'skktut-problem-count))
|
|
507 (eq skktut-problem-count 0) ) ]
|
|
508 ["skk-auto-start-henkan" skk-menu-auto-henkan
|
|
509 (or (not (boundp 'skktut-problem-count))
|
|
510 (eq skktut-problem-count 0) ) ]
|
|
511 ["skk-auto-insert-paren" skk-menu-auto-insert-paren
|
|
512 (or (not (boundp 'skktut-problem-count))
|
|
513 (eq skktut-problem-count 0) ) ]
|
|
514 ["skk-auto-okuri-process"
|
|
515 (function (lambda ()
|
|
516 (interactive)
|
|
517 (skk-menu-auto-okuri-process)
|
|
518 (skk-adjust-search-prog-list-for-auto-okuri) ))
|
|
519 (or (not (boundp 'skktut-problem-count)) (eq skktut-problem-count 0))]
|
|
520 ["skk-compare-jisyo-size-when-saving" skk-menu-compare-jisyo-size-when-saving
|
|
521 (or (not (boundp 'skktut-problem-count))
|
|
522 (eq skktut-problem-count 0) ) ]
|
|
523 ["skk-convert-okurigana-into-katakana" skk-menu-convert-okurigana-into-katakana
|
|
524 (or (not (boundp 'skktut-problem-count))
|
|
525 (eq skktut-problem-count 0) ) ]
|
|
526 ["skk-count-private-jisyo-candidates-exactly"
|
|
527 skk-menu-count-private-jisyo-entries-exactly
|
|
528 (or (not (boundp 'skktut-problem-count)) (eq skktut-problem-count 0)) ]
|
|
529 ["skk-dabbrev-like-completion" skk-menu-dabbrev-like-completion
|
|
530 (or (not (boundp 'skktut-problem-count))
|
|
531 (eq skktut-problem-count 0) ) ]
|
|
532 ["skk-date-ad" skk-menu-date-ad
|
|
533 (or (not (boundp 'skktut-problem-count)) (eq skktut-problem-count 0)) ]
|
|
534 ["skk-delete-implies-kakutei" skk-menu-delete-implies-kakutei
|
|
535 (or (not (boundp 'skktut-problem-count))
|
|
536 (eq skktut-problem-count 0) ) ]
|
|
537 ["skk-delete-okuri-when-quit" skk-menu-delete-okuri-when-quit
|
|
538 (or (not (boundp 'skktut-problem-count))
|
|
539 (eq skktut-problem-count 0) ) ]
|
|
540 ["skk-echo" skk-menu-echo
|
|
541 (or (not (boundp 'skktut-problem-count)) (eq skktut-problem-count 0)) ]
|
|
542 ["skk-egg-like-newline" skk-menu-egg-like-newline
|
|
543 (or (not (boundp 'skktut-problem-count))
|
|
544 (eq skktut-problem-count 0)) ]
|
|
545 ["skk-henkan-okuri-strictly" skk-menu-henkan-okuri-strictly
|
|
546 (or (not (boundp 'skktut-problem-count))
|
|
547 (eq skktut-problem-count 0)) ]
|
|
548 ["skk-henkan-strict-okuri-precedence" skk-menu-henkan-strict-okuri-precedence
|
|
549 (or (not (boundp 'skktut-problem-count))
|
|
550 (eq skktut-problem-count 0)) ]
|
|
551 ["skk-japanese-message-and-error" skk-menu-japanese-message-and-error
|
|
552 (or (not (boundp 'skktut-problem-count))
|
|
553 (eq skktut-problem-count 0)) ]
|
|
554 ["skk-kakutei-early" skk-menu-kakutei-early
|
|
555 (or (not (boundp 'skktut-problem-count))
|
|
556 (eq skktut-problem-count 0)) ]
|
|
557 ["skk-numeric-conversion-float-num" skk-menu-numeric-conversion-float-num
|
|
558 (or (not (boundp 'skktut-problem-count))
|
|
559 (eq skktut-problem-count 0)) ]
|
|
560 ["skk-process-okuri-early" skk-menu-process-okuri-early
|
|
561 (or (not (boundp 'skktut-problem-count))
|
|
562 (eq skktut-problem-count 0)) ]
|
|
563 ["skk-report-server-response" skk-menu-report-server-response
|
|
564 (or (not (boundp 'skktut-problem-count))
|
|
565 (eq skktut-problem-count 0)) ]
|
|
566 ["skk-romaji-*-by-hepburn" skk-menu-romaji-*-by-hepburn
|
|
567 (or (not (boundp 'skktut-problem-count))
|
|
568 (eq skktut-problem-count 0)) ]
|
|
569 ["skk-uniq-numerals" skk-menu-uniq-numerals
|
|
570 (or (not (boundp 'skktut-problem-count))
|
|
571 (eq skktut-problem-count 0)) ]
|
|
572 ["skk-use-color-cursor" skk-menu-use-color-cursor
|
|
573 (or (not (boundp 'skktut-problem-count))
|
|
574 (eq skktut-problem-count 0)) ]
|
|
575 ["skk-use-kakasi" skk-menu-use-kakasi
|
|
576 (or (not (boundp 'skktut-problem-count))
|
|
577 (eq skktut-problem-count 0)) ]
|
|
578 ["skk-use-numeric-conversion" skk-menu-use-numeric-conversion
|
|
579 (or (not (boundp 'skktut-problem-count))
|
|
580 (eq skktut-problem-count 0)) ]
|
|
581 ["skk-use-face" skk-menu-use-overlay
|
|
582 (or (not (boundp 'skktut-problem-count))
|
|
583 (eq skktut-problem-count 0))] )
|
|
584 ["Version" skk-version
|
|
585 (or (not (boundp 'skktut-problem-count))
|
|
586 (eq skktut-problem-count 0)) ]
|
|
587 )))
|
|
588
|
|
589 (defun skk-update-autoloads (dir)
|
|
590 (interactive "DUpdate skk autoloads from directory: ")
|
|
591 (require 'autoload)
|
|
592 (let ((generated-autoload-file "skk-vars.el"))
|
|
593 (update-autoloads-from-directory dir)))
|
|
594
|
|
595 (provide 'skk-foreword)
|
|
596 ;;; skk-forwords.el ends here
|