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

Import from CVS: tag r20-4b8
author cvs
date Mon, 13 Aug 2007 10:09:35 +0200
parents
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
219
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
1 ;; SKK tutorial for SKK version 9.4 and later versions
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
2 ;; Copyright (C) 1988, 1989, 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
3 ;; Masahiko Sato <masahiko@kuis.kyoto-u.ac.jp>
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
4
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
5 ;; Author: Masahiko Sato <masahiko@kuis.kyoto-u.ac.jp>
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
6 ;; Maintainer: Mikio Nakajima <minakaji@osaka.email.ne.jp>
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
7 ;; Version: $Id: skk-tut.el,v 1.1 1997/12/02 08:48:39 steve Exp $
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
8 ;; Keywords: japanese
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
9 ;; Last Modified: $Date: 1997/12/02 08:48:39 $
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
10
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
11 ;; This program is free software; you can redistribute it and/or modify
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
12 ;; it under the terms of the GNU General Public License as published by
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
13 ;; the Free Software Foundation; either versions 2, or (at your option)
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
14 ;; any later version.
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
15
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
16 ;; This program is distributed in the hope that it will be useful
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
17 ;; but WITHOUT ANY WARRANTY; without even the implied warranty of
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
18 ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
19 ;; GNU General Public License for more details.
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
20
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
21 ;; You should have received a copy of the GNU General Public License
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
22 ;; along with SKK, see the file COPYING. If not, write to the Free
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
23 ;; Software Foundation Inc., 59 Temple Place - Suite 330, Boston,
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
24 ;; MA 02111-1307, USA.
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
25
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
26 ;;; Commentary:
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
27
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
28 ;; Following people contributed modifications to skk-tut.el
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
29 ;; (Alphabetical order):
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
30 ;; Haru'yasu Ueda <hal@sics.se>
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
31 ;; Hideki Sakurada <sakurada@kusm.kyoto-u.ac.jp>
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
32 ;; Hitoshi SUZUKI <h-suzuki@ael.fujitsu.co.jp>
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
33 ;; IIDA Yosiaki <iida@sayla.secom-sis.co.jp>
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
34 ;; Koji Uchida <uchida@cfd.tytlabs.co.jp>
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
35 ;; Mikio Nakajima <minakaji@osaka.email.ne.jp>
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
36 ;; Shuhei KOBAYASHI <shuhei-k@jaist.ac.jp>
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
37 ;; Toyonobu Yoshida <toyono-y@is.aist-nara.ac.jp>
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
38 ;; Wataru Matsui <matsui@gf.hm.rd.sanyo.co.jp>
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
39 ;; $BD@;VM&(B <jshen@cas.org>
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
40
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
41 ;;; Change log:
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
42 ;; version 4.10 released 1997.2.4
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
43 ;; version 3.9 released 1996.2.7
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
44 ;; version 3.8 released 1995.5.13
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
45 ;; version 3.7 released 1993.5.20
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
46 ;; version 3.6 released 1992.9.19
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
47 ;; version 3.5 released 1992.5.31
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
48 ;; version 3.4 released 1992.4.12
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
49 ;; version 3.3 released 1991.4.20
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
50 ;; version 3.2 released 1990.4.15
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
51 ;; version 2.2 released 1989.4.15
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
52
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
53 ;;; Code:
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
54 (require 'skk-foreword)
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
55 (require 'skk-vars)
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
56 (require 'advice)
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
57
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
58 ;#SJT# This should be adjusted to XEmacs convention.
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
59 ; And patches to Murata-san should be SKK convention.
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
60 (defvar skk-tut-file-alist
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
61 '(("Japanese" . (expand-file-name "skk/SKK.tut" data-directory))
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
62 ("English" . (expand-file-name "skk/SKK.tut.E" data-directory)))
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
63 "*
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
64 Alist of `(LANGUAGE . TUTORIAL-FILE)' pairs."
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
65 )
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
66
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
67 (defvar skk-tut-file "/usr/local/share/skk/SKK.tut"
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
68 "*SKK $B%A%e!<%H%j%"%k$N%U%!%$%kL>!#(B
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
69 The English version is SKK.tut.E." )
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
70
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
71 (defvar skktut-japanese-tut
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
72 (string= (file-name-nondirectory skk-tut-file) "SKK.tut")
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
73 "Non-nil $B$G$"$l$P!"%A%e!<%H%j%"%k$,F|K\8l$G$"$k$3$H$r<($9!#(B" )
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
74
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
75 (defvar skktut-use-face t
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
76 "*Non-nil $B$G$"$l$P!"%A%e!<%H%j%"%k$G(B face $B$rMxMQ$7$?I=<($r9T$J$&!#(B" )
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
77
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
78 (defvar skktut-section-face
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
79 (and skktut-use-face
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
80 (cond ((and (eq skk-background-mode 'mono) (skk-terminal-face-p))
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
81 'bold-italic )
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
82 ((eq skk-background-mode 'light)
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
83 (skk-make-face 'yellow/dodgerblue) )
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
84 (t (skk-make-face 'yellow/slateblue)) ))
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
85 "*$B%A%e!<%H%j%"%kCf$N%;%/%7%g%s$NI=<(ItJ,$N(B face$B!#(B" )
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
86
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
87 (defvar skktut-do-it-face
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
88 (and skktut-use-face
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
89 (cond ((and (eq skk-background-mode 'mono) (skk-terminal-face-p))
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
90 'bold )
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
91 ((eq skk-background-mode 'light)
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
92 (skk-make-face 'DarkGoldenrod) )
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
93 (t (skk-make-face 'LightGoldenrod)) ))
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
94 "*$B%A%e!<%H%j%"%kCf$N;X<(9`L\$NI=<(ItJ,$N(B face$B!#(B" )
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
95
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
96 (defvar skktut-question-face
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
97 (and skktut-use-face
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
98 (cond ((and (eq skk-background-mode 'mono) (skk-terminal-face-p))
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
99 'underline )
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
100 ((eq skk-background-mode 'light)
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
101 (skk-make-face 'Blue) )
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
102 (t (skk-make-face 'LightSkyBlue)) ))
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
103 "*$B%A%e!<%H%j%"%kCf$NLdBj$NI=<(ItJ,$N(B face$B!#(B" )
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
104
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
105 (defvar skktut-key-bind-face
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
106 (and skktut-use-face
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
107 (cond ((and (eq skk-background-mode 'mono) (skk-terminal-face-p))
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
108 'bold )
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
109 ((eq skk-background-mode 'light)
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
110 (skk-make-face 'Firebrick) )
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
111 (t (skk-make-face 'OrangeRed)) ))
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
112 "*$B%A%e!<%H%j%"%kCf$N%-!<%P%$%s%I$NI=<(ItJ,$N(B face$B!#(B" )
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
113
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
114 (defvar skktut-hint-face
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
115 (and skktut-use-face
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
116 (cond ((and (eq skk-background-mode 'mono) (skk-terminal-face-p))
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
117 'italic )
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
118 ((eq skk-background-mode 'light)
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
119 (skk-make-face 'CadetBlue) )
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
120 (t (skk-make-face 'Aquamarine)) ))
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
121 "*$B%A%e!<%H%j%"%kCf$N%R%s%H$NI=<(ItJ,$N(B face$B!#(B
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
122 $B8=:_$N$H$3$m!"(BSKK.tut.E $B$G$7$+;HMQ$5$l$F$$$J$$!#(B" )
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
123
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
124 (defconst skktut-problem-numbers 37 "SKK $B%A%e!<%H%j%"%k$NLdBj?t!#(B")
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
125
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
126 (defconst skktut-tut-jisyo "~/skk-tut-jisyo"
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
127 "SKK $B%A%e!<%H%j%"%kMQ$N%@%_!<<-=q!#(B" )
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
128
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
129 (defconst skktut-init-variables-alist
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
130 '((skk-init-file . "")
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
131 (skk-special-midashi-char-list . (?> ?< ??))
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
132 (skk-mode-hook . nil)
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
133 (skk-auto-fill-mode-hook . nil)
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
134 (skk-load-hook . nil)
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
135 (skk-search-prog-list . ((skk-search-jisyo-file skktut-tut-jisyo 0 t)))
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
136 (skk-jisyo . "~/skk-tut-jisyo")
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
137 (skk-keep-record . nil)
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
138 (skk-kakutei-key . "\C-j")
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
139 (skk-use-vip . nil)
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
140 (skk-use-viper . nil)
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
141 (skk-henkan-okuri-strictly . nil)
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
142 (skk-henkan-strict-okuri-precedence . nil)
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
143 (skk-auto-okuri-process . nil)
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
144 (skk-process-okuri-early . nil)
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
145 (skk-egg-like-newline . nil)
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
146 (skk-kakutei-early . t)
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
147 (skk-delete-implies-kakutei . t)
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
148 (skk-allow-spaces-newlines-and-tabs . t)
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
149 (skk-convert-okurigana-into-katakana . nil)
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
150 (skk-delete-okuri-when-quit . nil)
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
151 (skk-henkan-show-candidates-keys . (?a ?s ?d ?f ?j ?k ?l))
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
152 (skk-ascii-mode-string . " SKK")
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
153 (skk-hirakana-mode-string . " $B$+$J(B")
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
154 (skk-katakana-mode-string . " $B%+%J(B")
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
155 (skk-zenkaku-mode-string . " $BA41Q(B")
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
156 (skk-abbrev-mode-string . " a$B$"(B")
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
157 (skk-echo . t)
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
158 (skk-use-numeric-conversion . t)
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
159 ;;(skk-char-type-vector . nil)
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
160 ;;(skk-standard-rom-kana-rule-list . nil)
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
161 (skk-rom-kana-rule-list . nil)
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
162 (skk-postfix-rule-alist . (("oh" "$B%*(B" . "$B$*(B")))
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
163 (skk-previous-candidate-char . nil)
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
164 ;;(skk-input-vector . nil)
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
165 ;;(skk-zenkaku-vector . nil)
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
166 ;;(skk-use-face . t)
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
167 ;;(skk-henkan-face)
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
168 ;;(skk-use-color-cursor . t)
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
169 ;;(skk-default-cursor-color . "Black")
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
170 ;;(skk-hirakana-cursor-color . t)
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
171 ;;(skk-katakana-cursor-color . t)
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
172 (skk-zenkaku-cursor-color . "gold")
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
173 (skk-ascii-cursor-color . "ivory4")
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
174 (skk-abbrev-cursor-color . "royalblue")
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
175 (skk-report-set-cursor-error . t)
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
176 (skk-auto-insert-paren . nil)
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
177 (skk-japanese-message-and-error . nil)
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
178 (skk-ascii-mode-map . nil)
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
179 (skk-j-mode-map . nil)
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
180 (skk-zenkaku-mode-map . nil)
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
181 (skk-abbrev-mode-map . nil)
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
182 (skk-jisyo-save-count . nil)
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
183 (skk-byte-compile-init-file . nil)
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
184 (skk-count-private-jisyo-candidates-exactly . nil)
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
185 (skk-compare-jisyo-size-when-saving . nil)
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
186 (skk-auto-start-henkan . nil)
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
187 (skk-insert-new-word-function . nil)
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
188
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
189 (skk-date-ad . 1)
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
190 (skk-number-style . 1)
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
191 (skk-gadget-load-hook . nil)
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
192
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
193 (skk-input-by-code-menu-keys1 . (?a ?s ?d ?f ?g ?h ?q ?w ?e ?r ?t ?y))
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
194 (skk-input-by-code-menu-keys2 . (?a ?s ?d ?f ?g ?h ?j ?k ?l ?q ?w ?e ?r ?t ?y ?u))
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
195 (skk-kcode-load-hook . nil)
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
196
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
197 ;;(skk-num-type-list . nil)
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
198 (skk-numeric-conversion-float-num . nil)
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
199 (skk-uniq-numerals . t)
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
200 (skk-num-load-hook . nil)
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
201
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
202 (skk-dabbrev-like-completion . nil)
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
203 (skk-comp-load-hook . nil))
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
204 "skk.el $B$N%f!<%6!<JQ?t$N%j%9%H!#(B" )
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
205
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
206 (defvar skktut-right-answer nil "$BLdBj$N@52r$NJ8;zNs!#(B")
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
207 (defvar skktut-problem-count 0 "SKK $B%A%e!<%H%j%"%k$N8=:_$NLdBjHV9f!#(B")
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
208 (defvar skktut-tutorial-end nil "SKK $B%A%e!<%H%j%"%k$N=*N;$r<($9%U%i%0!#(B")
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
209 (defvar skktut-tutorial-map nil "SKK $B%A%e!<%H%j%"%k$N$?$a$N%-!<%^%C%W!#(B")
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
210
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
211 (defvar skktut-original-buffer nil
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
212 "skk-tutorial $B$r8F$s$@$H$-$N%P%C%U%!L>!#(B" )
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
213
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
214 (defvar skktut-skk-on nil
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
215 "Non-nil $B$G$"$l$P!"(Bskk-tutorial $B$r5/F0$7$?$H$-$K(B SKK $B$,4{$K5/F0$5$l$F$$$?$3$H$r<($9!#(B" )
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
216
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
217 ;; -- macros
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
218 (defmacro skktut-message (japanese english &rest arg)
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
219 ;; skktut-japanese-tut $B$,(B non-nil $B$@$C$?$i(B JAPANESE $B$r(B nil $B$G$"$l$P(B ENGLISH
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
220 ;; $B$r%(%3!<%(%j%"$KI=<($9$k!#(B
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
221 ;; ARG $B$O(B message $B4X?t$NBh#20z?t0J9_$N0z?t$H$7$FEO$5$l$k!#(B
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
222 (append (list 'message (list 'if 'skktut-japanese-tut japanese english))
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
223 arg ))
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
224
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
225 (defmacro skktut-error (japanese english &rest arg)
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
226 ;; skktut-japanese-tut $B$,(B non-nil $B$@$C$?$i(B JAPANESE $B$r(B nil $B$G$"$l$P(B ENGLISH
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
227 ;; $B$r%(%3!<%(%j%"$KI=<($7!"%(%i!<$rH/@8$5$;$k!#(B
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
228 ;; ARG $B$O(B error $B4X?t$NBh#20z?t0J9_$N0z?t$H$7$FEO$5$l$k!#(B
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
229 (append (list 'error (list 'if 'skktut-japanese-tut japanese english))
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
230 arg ))
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
231
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
232 (defmacro skktut-yes-or-no-p (japanese english)
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
233 (list 'yes-or-no-p (list 'if 'skktut-japanese-tut japanese english)) )
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
234
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
235 ;;;###autoload
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
236 (defun skk-tutorial (&optional query-language)
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
237 "SKK $B%A%e!<%H%j%"%k$r5/F0$9$k!#(B"
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
238 (interactive "P")
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
239 (if query-language
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
240 (let ((lang
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
241 (completing-read "Language: " skk-tut-file-alist)))
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
242 (setq skk-tut-file (cdr (assoc lang skk-tut-file-alist)))
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
243 (message "SKK tutorial language set to %s until you exit Emacs."
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
244 lang)))
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
245 (let ((inhibit-quit t))
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
246 (if (not (< 9.4 (string-to-number (skk-version))))
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
247 (error "skk.el version 9.4 or later is required")
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
248 (skktut-pre-setup-tutorial)
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
249 (skktut-setup-jisyo-buffer)
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
250 (skktut-setup-working-buffer)
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
251 (skktut-setup-problem-buffer)
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
252 (skktut-setup-answer-buffer) )))
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
253
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
254 (defun skktut-save-buffers-kill-emacs (&optional query)
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
255 (interactive "P")
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
256 (if (skktut-yes-or-no-p "Tutorial $B$b(B Emacs $B$b=*N;$7$^$9!#$h$m$7$$$G$9$M!)(B "
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
257 "Quit tutorial and kill emacs? " )
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
258 (progn (skktut-quit-tutorial 'now)
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
259 (save-buffers-kill-emacs query) )))
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
260
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
261 (defun skktut-tutorial-again ()
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
262 (interactive)
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
263 (if (skktut-yes-or-no-p "$B:G=i$+$i(B Tutorial $B$r$d$jD>$7$^$9!#$h$m$7$$$G$9$M!)(B "
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
264 "Quit tutorial and start from question 1 again? " )
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
265 (progn (skktut-quit-tutorial 'now)
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
266 (skk-tutorial) )))
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
267
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
268 (defun skktut-mode ()
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
269 (interactive)
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
270 (if (eq skktut-problem-count 1)
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
271 (skktut-error "$B$3$N%-!<$O$^$@;H$($^$;$s(B"
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
272 "Cannot use this key yet" )
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
273 (if skk-mode
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
274 (skk-j-mode-on)
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
275 (add-hook 'before-make-frame-hook 'skktut-before-move-to-other-frame)
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
276 (skk-j-mode-on)
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
277 (define-key minibuffer-local-map "\C-j" 'skk-mode)
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
278 ;;(define-key minibuffer-local-map "\C-m" 'skk-newline)
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
279 )))
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
280
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
281 (defun skktut-kakutei (&optional word)
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
282 (interactive)
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
283 (if (eq skktut-problem-count 1)
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
284 (skktut-error "$B$3$N%-!<$O$^$@;H$($^$;$s(B"
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
285 "Cannot use this key yet" )
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
286 (skk-kakutei word) ))
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
287
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
288 (defun skktut-error-command ()
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
289 (interactive)
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
290 (switch-to-buffer-other-window "*$BEz(B*") )
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
291
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
292 (defun skktut-quit-tutorial (&optional now)
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
293 (interactive)
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
294 (if (or now (skktut-yes-or-no-p "$BK\Ev$K%A%e!<%H%j%"%k$r$d$a$^$9$+(B? "
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
295 "Quit tutorial? " ))
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
296 (let ((inhibit-quit t))
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
297 (delete-other-windows)
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
298 ;; $B:FEY%A%e!<%H%j%"%k$r;H$($k$h$&$K!"FbItJQ?t$r=i4|2=$7$F$*$/!#(B
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
299 (setq skktut-japanese-tut nil
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
300 skktut-problem-count 0
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
301 skktut-right-answer nil
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
302 skktut-tutorial-end nil
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
303 skktut-tutorial-map nil )
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
304 (remove-hook 'minibuffer-setup-hook 'skktut-localize-and-init-variables)
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
305 (remove-hook 'before-make-frame-hook
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
306 'skktut-before-move-to-other-frame )
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
307 (ad-remove-advice 'other-frame 'before 'skktut-ad)
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
308 (ad-remove-advice 'select-frame 'before 'skktut-ad)
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
309 (ad-activate 'other-frame)
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
310 (ad-activate 'select-frame)
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
311 (if (featurep 'mule)
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
312 (if (fboundp 'skktut-save-set-henkan-point)
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
313 (skktut-change-func-def 'skk-set-henkan-point
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
314 'skktut-save-set-henkan-point ))
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
315 (if (fboundp 'skktut-nemacs-set-henkan-point)
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
316 (skktut-change-func-def 'skk-set-henkan-point
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
317 'skktut-nemacs-set-henkan-point )))
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
318 (if (fboundp 'skktut-save-abbrev-mode)
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
319 (skktut-change-func-def 'skk-abbrev-mode
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
320 'skktut-save-abbrev-mode ))
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
321 (fmakunbound 'skktut-save-set-henkan-point)
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
322 (fmakunbound 'skktut-save-abbrev-mode)
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
323 (fmakunbound 'skktut-nemacs-set-henkan-point)
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
324 ;; skk-jisyo ;; for debugging
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
325 (let ((buff (get-file-buffer skktut-tut-jisyo)))
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
326 (if buff
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
327 (progn
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
328 (set-buffer buff)
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
329 (set-buffer-modified-p nil)
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
330 (kill-buffer buff))))
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
331 (kill-buffer " *skk-tutorial*")
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
332 (kill-buffer "*$BEz(B*")
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
333 (kill-buffer "*$BLd(B*")
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
334 ;;(skk-kill-local-variables)
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
335 (switch-to-buffer skktut-original-buffer)
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
336 ;; SKK $B$r5/F0$;$:$K$$$-$J$j(B
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
337 ;; skk-tutorial $B$r<B9T$7$?$H$-$K(B skk-jisyo $B%P%C%U%!$,:n$i$l$J$$$N$G(B
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
338 ;; skk-setup-jisyo-buffer $B$G%(%i!<$H$J$j!"(BEmacs $B$N=*N;$,$G$-$J$/(B
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
339 ;; $B$J$k$N$G(B SKK $B%b!<%I$r0lEY5/$3$7$F$*$/!#(B
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
340 (skk-mode 1)
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
341 ;; $B%A%e!<%H%j%"%k5/F0D>A0$K3+$$$F$$$?%P%C%U%!$G!"(Bskk-mode $B$r5/F0$7$F(B
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
342 ;; $B$$$?$i!"$=$N>uBV$K$7$F!"%A%e!<%H%j%"%k$r=*N;$9$k!#(B
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
343 ;; skk-jisyo ;; for debugging
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
344 (or skktut-skk-on
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
345 (skk-mode -1) ))))
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
346
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
347 (defun skktut-answer-window ()
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
348 (interactive)
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
349 (let (p)
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
350 (save-match-data
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
351 (goto-char (point-max))
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
352 (search-backward "\n>>")
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
353 (forward-char 1)
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
354 (setq skktut-right-answer
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
355 (skk-buffer-substring (+ 3 (point))
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
356 (skk-save-point (end-of-line) (point)) ))
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
357 (switch-to-buffer-other-window "*$BEz(B*")
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
358 (insert ">> \n\n")
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
359 (setq p (point))
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
360 (if skktut-japanese-tut
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
361 (insert "* $BEz$,$G$-$?$i!X(BC-x n$B!Y(B; $BESCf$G$d$a$k$K$O!X(BC-x q$B!Y(B; "
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
362 "$B%9%-%C%W$9$k$K$O!X(BC-x s$B!Y(B *" )
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
363 (insert "* For next question `C-x n'; to quit `C-x q'; "
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
364 "to skip this question `C-x s' *" ))
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
365 (if skktut-use-face
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
366 (put-text-property p (point) 'face skktut-key-bind-face) )
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
367 (put-text-property p (point) 'read-only t)
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
368 (goto-char (+ (point-min) 3)) )))
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
369
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
370 (defun skktut-next-window ()
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
371 (interactive)
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
372 (save-match-data
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
373 (let (user-ans)
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
374 (skk-save-point
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
375 (goto-char (point-min))
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
376 (end-of-line)
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
377 (skip-chars-backward " \t")
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
378 (setq user-ans (skk-buffer-substring (+ 3 (point-min)) (point))) )
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
379 (if (not (string= skktut-right-answer user-ans))
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
380 (progn
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
381 (skktut-message "$BEz$,0c$$$^$9!#$b$&0lEY$d$C$F$_$F2<$5$$(B"
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
382 "Wrong. Try again")
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
383 (ding) )
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
384 (skktut-erase-buffer)
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
385 (message "")
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
386 (other-window 1)
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
387 (setq skktut-problem-count (1+ skktut-problem-count))
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
388 (skktut-get-page skktut-problem-count)
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
389 (if (>= skktut-problem-count (1+ skktut-problem-numbers))
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
390 (skktut-quit-tutorial t)
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
391 (skktut-answer-window) )))))
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
392
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
393 (defun skktut-skip-problem (arg)
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
394 (interactive "p")
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
395 (skktut-erase-buffer)
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
396 (setq skktut-problem-count (+ skktut-problem-count arg))
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
397 (if (< skktut-problem-count 1) (setq skktut-problem-count 1))
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
398 (if (> skktut-problem-count skktut-problem-numbers)
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
399 (setq skktut-problem-count skktut-problem-numbers))
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
400 (if (and (>= skktut-problem-count 3) (not skk-j-mode))
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
401 (skktut-mode) )
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
402 (other-window 1)
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
403 (skktut-get-page skktut-problem-count)
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
404 (if skktut-tutorial-end (skktut-quit-tutorial 'now) (skktut-answer-window)) )
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
405
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
406 (defun skktut-set-henkan-point-tmp ()
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
407 (interactive)
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
408 (if skk-j-mode
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
409 (skktut-error "$B$+$J(B/$B%+%J%b!<%I$G$O!"1QBgJ8;z$O$^$@;H$($^$;$s(B"
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
410 "Cannot use upper case character in kana/katakana mode" )
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
411 (insert (if skk-zenkaku-mode
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
412 (concat (char-to-string 163)
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
413 (char-to-string (+ last-command-char 128)))
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
414 last-command-char))))
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
415
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
416 (defun skktut-abbrev-mode-tmp ()
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
417 (interactive)
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
418 (if skk-j-mode
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
419 (skktut-error "$B$3$N%-!<$O$^$@;H$($^$;$s(B"
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
420 "Cannot use this key yet" )
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
421 (insert last-command-char)))
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
422
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
423 (defun skktut-get-page (page)
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
424 (save-match-data
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
425 (with-current-buffer " *skk-tutorial*"
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
426 (let (pos)
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
427 (goto-char (point-min))
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
428 (search-forward "--\n" nil t page)
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
429 (if (looking-at ";")
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
430 (progn (forward-char 3)
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
431 (setq pos (point))
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
432 (end-of-line)
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
433 (save-excursion
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
434 (eval-region pos (point) nil) )
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
435 (forward-char 1) ))
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
436 (if (not skktut-tutorial-end)
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
437 (progn
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
438 (setq pos (point))
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
439 (search-forward "\n>>")
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
440 (end-of-line)
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
441 (copy-to-buffer "*$BLd(B*" pos (point)) ))))
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
442 (if (>= page 12)
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
443 (skktut-enable) )
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
444 (setq mode-line-buffer-identification
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
445 (concat "$B#S#K#K%A%e!<%H%j%"%k(B: $B!NLd(B "
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
446 (int-to-string page)
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
447 "$B!O(B $B!J;D$j(B "
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
448 (int-to-string (- skktut-problem-numbers page))
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
449 "$BLd!K(B"))
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
450 (set-buffer-modified-p nil)
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
451 (sit-for 0) ))
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
452
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
453 (defun skktut-disable ()
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
454 (if (not (fboundp 'skktut-save-set-henkan-point))
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
455 (progn
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
456 (skktut-change-func-def 'skktut-save-set-henkan-point
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
457 'skk-set-henkan-point )
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
458 (skktut-change-func-def 'skk-set-henkan-point
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
459 'skktut-set-henkan-point-tmp )))
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
460 (if (not (fboundp 'skktut-save-abbrev-mode))
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
461 (progn
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
462 (skktut-change-func-def 'skktut-save-abbrev-mode 'skk-abbrev-mode)
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
463 (skktut-change-func-def 'skk-abbrev-mode 'skktut-abbrev-mode-tmp) )))
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
464
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
465 (defun skktut-enable ()
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
466 (if (fboundp 'skktut-save-abbrev-mode)
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
467 (progn (skktut-change-func-def 'skk-abbrev-mode 'skktut-save-abbrev-mode)
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
468 (fmakunbound 'skktut-save-abbrev-mode) ))
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
469 (if (fboundp 'skktut-save-set-henkan-point)
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
470 (progn (skktut-change-func-def 'skk-set-henkan-point
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
471 'skktut-save-set-henkan-point )
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
472 (fmakunbound 'skktut-save-set-henkan-point) )))
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
473
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
474 (defun skktut-pre-setup-tutorial ()
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
475 (setq skktut-original-buffer (current-buffer)
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
476 skktut-skk-on skk-mode
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
477 skktut-problem-count 1 ))
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
478
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
479 (defadvice other-frame (before skktut-ad activate)
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
480 (skktut-before-move-to-other-frame) )
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
481
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
482 (defadvice select-frame (before skktut-ad activate)
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
483 (skktut-before-move-to-other-frame) )
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
484
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
485 (add-hook 'minibuffer-setup-hook 'skktut-localize-and-init-variables)
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
486
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
487 (defun skktut-setup-jisyo-buffer ()
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
488 ;; setup skktut-tut-jisyo buffer.
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
489 (set-buffer (get-buffer-create " *skk-tut-jisyo*"))
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
490 (setq case-fold-search nil
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
491 buffer-file-name (expand-file-name skktut-tut-jisyo) )
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
492 (buffer-disable-undo (current-buffer))
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
493 (insert (concat ";; okuri-ari entries.\n"
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
494 "$B$[$C(Bs /$BM_(B/\n"
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
495 "$B$D$+(Bt /$B;H(B/\n"
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
496 "$B$?$C(Bs /$BC#(B/\n"
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
497 "$B$7(Bt /$BCN(B/\n"
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
498 "$B$&$4(Bk /$BF0(B/\n"
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
499 ";; okuri-nasi entries.\n"
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
500 "Greek /$B&!(B/$B&"(B/$B&#(B/$B&$(B/$B&%(B/$B&&(B/$B&'(B/$B&((B/$B&)(B/$B&*(B/$B&+(B/$B&,(B/$B&-(B/$B&.(B/$B&/(B/$B&0(B/"
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
501 "$B&1(B/$B&2(B/$B&3(B/$B&4(B/$B&5(B/$B&6(B/$B&7(B/$B&8(B/\n"
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
502 "Russia /$B'!(B/$B'"(B/$B'#(B/$B'$(B/$B'%(B/$B'&(B/$B''(B/$B'((B/$B')(B/$B'*(B/$B'+(B/$B',(B/$B'-(B/$B'.(B/$B'/(B/$B'0(B/"
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
503 "$B'1(B/$B'2(B/$B'3(B/$B'4(B/$B'5(B/$B'6(B/$B'7(B/$B'8(B/$B'9(B/$B':(B/$B';(B/$B'<(B/$B'=(B/$B'>(B/$B'?(B/$B'@(B/$B'A(B/\n"
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
504 "greek /$B&A(B/$B&B(B/$B&C(B/$B&D(B/$B&E(B/$B&F(B/$B&G(B/$B&H(B/$B&I(B/$B&J(B/$B&K(B/$B&L(B/$B&M(B/$B&N(B/$B&O(B/$B&P(B/"
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
505 "$B&Q(B/$B&R(B/$B&S(B/$B&T(B/$B&U(B/$B&V(B/$B&W(B/$B&X(B/\n"
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
506 "russia /$B'Q(B/$B'R(B/$B'S(B/$B'T(B/$B'U(B/$B'V(B/$B'W(B/$B'X(B/$B'Y(B/$B'Z(B/$B'[(B/$B'\(B/$B'](B/$B'^(B/$B'_(B/$B'`(B/"
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
507 "$B'a(B/$B'b(B/$B'c(B/$B'd(B/$B'e(B/$B'f(B/$B'g(B/$B'h(B/$B'i(B/$B'j(B/$B'k(B/$B'l(B/$B'm(B/$B'n(B/$B'o(B/$B'p(B/$B'q(B/\n"
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
508 "$B$$$A$*$/(B /$B0l2/(B/\n"
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
509 "$B$*$*$5$+(B /$BBg:e(B/\n"
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
510 "$B$+$J(B /$B2>L>(B/\n"
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
511 "$B$+$s$8(B /$B4A;z(B/$B44;v(B/$B4F;v(B/\n"
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
512 "$B$,$/$7$e$&(B /$B3X=,(B/\n"
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
513 "$B$-(B /$B4p(B/$B5-(B/$B5$(B/$BLZ(B/$B5"(B/\n"
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
514 "$B$-$4$&(B /$B5-9f(B/$B!"(B/$B!#(B/$B!$(B/$B!%(B/$B!&(B/$B!'(B/$B!((B/$B!)(B/$B!*(B/$B!+(B/$B!,(B/$B!-(B/$B!.(B/$B!/(B/"
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
515 "$B!0(B/$B!1(B/$B!2(B/$B!3(B/$B!4(B/$B!5(B/$B!6(B/$B!7(B/$B!8(B/$B!9(B/$B!:(B/$B!;(B/$B!<(B/$B!=(B/$B!>(B/$B!?(B/$B!@(B/$B!A(B/"
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
516 "$B!B(B/$B!C(B/$B!D(B/$B!E(B/$B!F(B/$B!G(B/$B!H(B/$B!I(B/$B!J(B/$B!K(B/$B!L(B/$B!M(B/$B!N(B/$B!O(B/$B!P(B/$B!Q(B/$B!R(B/$B!S(B/"
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
517 "$B!T(B/$B!U(B/$B!V(B/$B![(B/$B!X(B/$B!Y(B/$B!Z(B/$B![(B/$B!\(B/$B!](B/$B!^(B/$B!_(B/$B!`(B/$B!a(B/$B!b(B/$B!c(B/$B!d(B/$B!e(B/$B!f(B/"
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
518 "$B!g(B/$B!h(B/$B!i(B/$B!j(B/$B!k(B/$B!l(B/$B!m(B/$B!n(B/$B!o(B/$B!p(B/$B!q(B/$B!r(B/$B!s(B/$B!t(B/$B!u(B/$B!v(B/$B!w(B/$B!x(B/$B!y(B/"
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
519 "$B!z(B/$B!{(B/$B!|(B/$B!}(B/$B!~(B/$B"!(B/$B""(B/$B"#(B/$B"$(B/$B"%(B/$B"&(B/$B"'(B/$B"((B/$B")(B/$B"*(B/$B"+(B/$B",(B/$B"-(B/"
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
520 "$B".(B/\n"
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
521 "$B$-$g$&$H(B /$B5~ET(B/\n"
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
522 "$B$3$&$Y(B /$B?@8M(B/\n"
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
523 "$B$4(B /$B8^(B/$B8_(B/$B8`(B/$B8a(B/$B8b(B/$B8c(B/$B8d(B/$B8e(B/$B8f(B/$B8g(B/$B8h(B/$B8i(B/$B8j(B/$B8k(B/$B8l(B/$B8m(B/$B8n(B/"
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
524 "$B8o(B/\n"
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
525 "$B$5$$(B /$B:Y(B/$B:G(B/$B:F(B/\n"
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
526 "$B$5$$$7$g(B /$B:G=i(B/\n"
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
527 "$B$5$$$H$&(B /$B:XF#(B/\n"
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
528 "$B$5$H$&(B /$B:4F#(B/\n"
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
529 "$B$7$e$&$j$g$&(B /$B=*N;(B/\n"
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
530 "$B$8$7$g(B /$B<-=q(B/$BCO=j(B/\n"
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
531 "$B$8$s$3$&(B /$B?M8}(B/\n"
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
532 "$B$;$s$?$/(B /$BA*Br(B/$B@vBu(B/\n"
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
533 "$B$=$&(B /$BAv(B/\n"
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
534 "$B$@$$(B /$BBg(B/$BBh(B/$BBe(B/\n"
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
535 "$B$F$-(B /$BE*(B/$BE((B/$BE)(B/$BE,(B/$BE&(B/\n"
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
536 "$B$H$&(B /$BEl(B/\n"
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
537 "$B$H$&$[$/(B /$BElKL(B/\n"
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
538 "$B$H$&$m$/(B /$BEPO?(B/\n"
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
539 "$B$H$&$m$/(B /$BEPO?(B/\n"
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
540 "$B$I$&(B /$BF0(B/\n"
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
541 "$B$K$e$&$j$g$/(B /$BF~NO(B/\n"
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
542 "$B$R$3$&$-(B /$BHt9T5!(B/\n"
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
543 "$B$X$s$+$s(B /$BJQ49(B/\n"
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
544 "$B$[$/(B /$BKL(B/\n"
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
545 "$B$_$g$&$8(B /$BL>;z(B/\n"
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
546 "$B$h$&$$(B /$BMF0W(B/$BMQ0U(B/\n" ))
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
547 (skk-setup-jisyo-buffer)
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
548 (skktut-localize-and-init-variables) )
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
549
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
550 (defun skktut-setup-working-buffer ()
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
551 (save-match-data
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
552 (let (sexp)
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
553 (set-buffer (get-buffer-create " *skk-tutorial*"))
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
554 ;; " *skk-tut-jisyo*" $B%P%C%U%!$N(B skk.el $B$NJQ?t$r%P%C%U%!%m!<%+%k2=$7!"(B
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
555 ;; $B=i4|2=$9$k!#(B
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
556 (skktut-localize-and-init-variables)
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
557 (erase-buffer)
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
558 (insert-file-contents skk-tut-file)
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
559 (goto-char (point-min))
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
560 ;; $B%A%e!<%H%j%"%k$,F|K\8l$+1Q8l$+$r%A%'%C%/!#(B
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
561 (setq skktut-japanese-tut (looking-at ";; SKK Japanese"))
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
562 (while (re-search-forward "^>> \\((.+)\\)$" nil t nil)
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
563 (setq sexp (skk-buffer-substring (match-beginning 1) (match-end 1)))
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
564 (delete-region (match-beginning 1) (match-end 1))
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
565 (insert (eval (car (read-from-string sexp)))) )
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
566 (goto-char (point-min))
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
567 (if skktut-use-face
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
568 (skktut-colored) ))))
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
569
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
570 (defun skktut-setup-problem-buffer ()
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
571 (switch-to-buffer (get-buffer-create "*$BLd(B*"))
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
572 (erase-buffer)
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
573 (setq skktut-tutorial-map (make-keymap))
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
574 (if (featurep 'xemacs)
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
575 (map-keymap
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
576 #'(lambda (key ignored)
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
577 (define-key skktut-tutorial-map key 'skktut-error-command))
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
578 skktut-tutorial-map)
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
579 (fillarray (nth 1 skktut-tutorial-map) 'skktut-error-command))
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
580 (use-local-map skktut-tutorial-map)
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
581 (skktut-get-page skktut-problem-count)
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
582 (delete-other-windows)
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
583 (split-window-vertically nil)
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
584 (other-window 1)
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
585 (enlarge-window (- (window-height (selected-window)) 20)) )
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
586
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
587 (defun skktut-setup-answer-buffer ()
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
588 (switch-to-buffer (get-buffer-create "*$BEz(B*"))
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
589 ;; "*$BEz(B*" $B%P%C%U%!$N(B skk.el $B$NJQ?t$r%P%C%U%!%m!<%+%k2=$7!"=i4|2=$9$k!#(B
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
590 (skktut-localize-and-init-variables)
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
591 (local-set-key "\C-j" 'skktut-kakutei)
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
592 (local-set-key "\C-x\C-c" 'skktut-save-buffers-kill-emacs)
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
593 (local-set-key "\C-x\C-j" 'skktut-mode)
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
594 (local-set-key "\C-xj" 'skktut-error-command)
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
595 (local-set-key "\C-xn" 'skktut-next-window)
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
596 (local-set-key "\C-xq" 'skktut-quit-tutorial)
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
597 (local-set-key "\C-xs" 'skktut-skip-problem)
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
598 (local-set-key "\C-xt" 'skktut-tutorial-again)
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
599 (skktut-disable)
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
600 (auto-fill-mode -1)
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
601 (switch-to-buffer-other-window "*$BLd(B*")
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
602 (goto-char (point-max))
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
603 (beginning-of-line)
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
604 (skktut-answer-window)
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
605 (message "") )
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
606
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
607 (defun skktut-localize-and-init-variables ()
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
608 ;; $B%f!<%6!<$,(B skk.el $B$NJQ?t$r%+%9%?%^%$%:$7$F$$$k2DG=@-$,$"$k$N$G!"%+%l%s%H(B
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
609 ;; $B%P%C%U%!$N(B skk.el $B$NJQ?t$r%P%C%U%!%m!<%+%k2=$7!"=i4|2=$9$k!#(B
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
610 (mapcar
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
611 (function
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
612 (lambda (alist)
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
613 (let ((v (car alist)))
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
614 (make-local-variable v)
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
615 (set v (cdr alist)))))
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
616 skktut-init-variables-alist)
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
617 (if (string= (buffer-name) "*$BEz(B*")
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
618 (load-library "skk"))
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
619 (make-local-variable 'skk-mode-invoked)
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
620 (setq skk-mode-invoked 'invoked))
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
621
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
622 (defun skktut-erase-buffer ()
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
623 (let ((inhibit-read-only t))
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
624 (set-text-properties (point-min) (point-max) nil) )
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
625 (erase-buffer) )
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
626
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
627 (defun skktut-before-move-to-other-frame ()
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
628 (if (skktut-yes-or-no-p "Tutorial $B$r=*N;$7$^$9!#$h$m$7$$$G$9$M!)(B "
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
629 "Quit tutorial?" )
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
630 (skktut-quit-tutorial 'now)
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
631 (skktut-error "Tutorial $B$r=*N;$;$:$KB>$N%U%l!<%`$K0\$k$3$H$O$G$-$^$;$s!#(B"
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
632 "Quit tutorial or you cannot move to other frame" )))
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
633
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
634 (defun skktut-colored ()
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
635 (while (re-search-forward "$B"'(B\\([^$B![(B $B$!(B-$B$s%!(B-$B%s(B]+\\)" nil t nil)
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
636 (put-text-property (match-beginning 1) (match-end 1) 'face
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
637 'highlight ))
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
638 (goto-char (point-min))
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
639 (while (re-search-forward "^==.+==$" nil t nil)
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
640 (put-text-property (match-beginning 0) (match-end 0)
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
641 'face skktut-section-face ))
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
642 (goto-char (point-min))
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
643 (while (re-search-forward "^!!.+" nil t nil)
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
644 (put-text-property (match-beginning 0) (match-end 0)
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
645 'face skktut-do-it-face ))
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
646 (goto-char (point-min))
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
647 (while (re-search-forward "^>> \\(.+\\)$" nil t nil)
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
648 (put-text-property (match-beginning 1) (match-end 1)
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
649 'face skktut-question-face ))
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
650 (if skktut-japanese-tut
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
651 nil
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
652 (goto-char (point-min))
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
653 (while (re-search-forward "Hint: .*$" nil t nil)
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
654 (put-text-property (match-beginning 0) (match-end 0)
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
655 'face skktut-hint-face ))))
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
656
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
657 (defun skktut-change-func-def (old new &optional save)
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
658 ;; $B4X?t(B OLD $B$NDj5A$r(B NEW $B$GCV$-JQ$($k!#(B
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
659 ;; $B%*%W%7%g%J%k0z?t$N(B SAVE $B$r;XDj$9$k$H!"(BOLD $B$NDj5A$r(B SAVE $B$KJ]B8$9$k!#(B
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
660 (if save (defalias save (symbol-function old)))
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
661 (defalias old (symbol-function new)) )
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
662
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
663 ;; The following function is tricky, since they are executed by "eval-region".
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
664
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
665 (defun skktut-today ()
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
666 (save-match-data
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
667 (let (str p)
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
668 (widen)
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
669 (search-forward "\n>> ")
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
670 (if (re-search-forward "$B!V(B.*$B!W(B" (skk-save-point (end-of-line) (point)) t)
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
671 (delete-region (match-beginning 0) (match-end 0)) )
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
672 (setq p (point)
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
673 str (concat "$B!V$-$g$&$O!"(B" (skk-date) "$B$G$9!#!W(B") )
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
674 (insert str)
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
675 (narrow-to-region (point-min) (point))
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
676 (if skktut-use-face
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
677 (put-text-property p (point) 'face skktut-question-face) ))))
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
678
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
679 (defun skktut-end-tutorial ()
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
680 (message "")
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
681 (switch-to-buffer "*$BLd(B*")
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
682 (delete-other-windows)
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
683 (erase-buffer)
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
684 (goto-char (point-min))
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
685 (if skktut-japanese-tut
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
686 (insert
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
687 (concat "SKK $B%A%e!<%H%j%"%k$O$3$l$G=*$j$G$9!#(B\n\n"
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
688 "SKK $B$K4X$9$k<ALd!"%3%a%s%H!"(Bbug report $BEy$O(B\n\n"
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
689 "\tskk@kuis.kyoto-u.ac.jp\n\n"
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
690 "$BKx$*Aw$j2<$5$$!#$J$*!"$3$N%"%I%l%9$O(B SKK $B%a%$%j%s%0%j%9%H$N(B"
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
691 "$B%"%I%l%9$G$9!#(B\n"
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
692 "$B2sEz$ODL>o$3$N%"%I%l%9$KBP$7$F$J$5$l$k$N$G!"%a%s%P!<$G$J$$(B"
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
693 "$BJ}$O$=$N;]$rL@(B\n"
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
694 "$B5-$7$F%a!<%k$r$*Aw$j$/$@$5$$!#(B SKK $B%a%$%j%s%0%j%9%H$X;22C4u(B"
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
695 "$BK>$N>l9g$O(B\n\n"
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
696 "\tskk-join@kuis.kyoto-u.ac.jp\n\n"
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
697 "$B$X%a!<%k$r$*Aw$j$/$@$5$$(B\n\n"
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
698 "!! $B:G8e$K(B <return> $B%-!<$r2!$7$F$/$@$5$$!#(B" ))
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
699 (insert
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
700 (concat "Now we end the SKK tutorial.\n\n"
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
701 "Please send comments, questions and bug reports on SKK to:\n\n"
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
702 "\tskk@kuis.kyoto-u.ac.jp\n\n"
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
703 "This is the address of the SKK mailing list, and normally the "
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
704 "responces\n"
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
705 "will be sent only to the ML members. So, if you are not a ML "
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
706 "member,\n"
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
707 "please say so in your mail. If you are interested in joining "
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
708 "the SKK ML,\n"
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
709 "send a mail to:\n\n"
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
710 "\tskk-join@kuis.kyoto-u.ac.jp\n\n"
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
711 "!! Hit <return> key when you are ready." )))
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
712 (if skktut-use-face
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
713 (save-match-data
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
714 (goto-char (point-min))
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
715 (re-search-forward "^!!.+" nil t nil)
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
716 (put-text-property (match-beginning 0) (match-end 0)
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
717 'face skktut-do-it-face )))
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
718 (while (not (= ?\C-m (read-char)))
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
719 (skktut-message "<return> $B%-!<$r2!$7$F$/$@$5$$(B" "Hit <return> key")
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
720 (ding) )
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
721 (setq skktut-tutorial-end t) )
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
722
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
723 (provide 'skk-tut)
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents:
diff changeset
724 ;;; skk-tut.el ends here