Mercurial > hg > xemacs-beta
comparison lisp/skk/skk-foreword.el @ 219:262b8bb4a523 r20-4b8
Import from CVS: tag r20-4b8
author | cvs |
---|---|
date | Mon, 13 Aug 2007 10:09:35 +0200 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
218:c9f226976f56 | 219:262b8bb4a523 |
---|---|
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 |