Commits

youngs  committed 19c1703

Sync with author version 10.62a

  • Participants
  • Parent commits 432a572

Comments (0)

Files changed (15)

+2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
+
+	* Update to 10.62a.
+
+2000-11-08  Steve Youngs  <youngs@xemacs.org>
+
+	* package-info.in (description): Add "MULE" to description.
+
 2000-10-05  Martin Buchholz  <martin@xemacs.org>
 
 	* *: Mega typo fix.
 # Boston, MA 02111-1307, USA.
 
 VERSION = 1.16
-AUTHOR_VERSION = 10.60
+AUTHOR_VERSION = 10.62a
 MAINTAINER = XEmacs Development Team <xemacs-beta@xemacs.org>
 PACKAGE = skk
 PKG_TYPE = regular
 
 DATA_FILES = $(wildcard etc/[RS]*)
 DATA_DEST = $(PACKAGE)
-INFO_FILES = texi/$(PACKAGE).info*
-TEXI_FILES = texi/gpl.texi texi/skk.texi
+INFO_FILES = texi/skk.info* texi/skk-faq.info
+TEXI_FILES = texi/gpl.texi texi/skk.texi texi/skk-faq.texi
 MANUAL = skk
 
 include ../../XEmacs.rules

File package-info.in

    priority medium
    category CATEGORY
    dump nil
-   description "Japanese Language Input Method."
+   description "MULE: Japanese Language Input Method."
    filename FILENAME
    md5sum MD5SUM
    size SIZE

File skk-cursor.el

 ;;; skk-cursor.el --- SKK cursor control.
-;; Copyright (C) 1996, 1997, 1998, 1999
-;; Masatake YAMATO <jet@airlab.cs.ritsumei.ac.jp>
+;; Copyright (C) 1996, 1997, 1998, 1999, 2000
+;; Masatake YAMATO <masata-y@is.aist-nara.ac.jp>
 
-;; Author: Masatake YAMATO <jet@airlab.cs.ritsumei.ac.jp>
+;; Author: Masatake YAMATO <masata-y@is.aist-nara.ac.jp>
 ;; Maintainer: Mikio Nakajima <minakaji@osaka.email.ne.jp>
 ;; Version: $Id$
 ;; Keywords: japanese
       (set-cursor-color color)
     (error
      (set-cursor-color skk-default-cursor-color)
-     (and skk-cursor-report-set-error
+     (and skk-report-set-cursor-error
 	  (skk-message
 	   "$B%+%i!<%^%C%W@Z$l$G$9!#%G%#%U%)%k%H$N%+%i!<$r;H$$$^$9!#(B"
 	   "Color map is exhausting, use default cursor color" )))))
 	(skk-cursor-set-color 
 	 (cond (color)
 	       ((not skk-mode) skk-default-cursor-color)
+	       (skk-abbrev-mode skk-abbrev-cursor-color)
 	       (skk-jisx0208-latin-mode
 		skk-jisx0208-latin-cursor-color)
 	       (skk-katakana skk-katakana-cursor-color)
     (and skk-use-cursor-change (skk-cursor-change-when-ovwrt))))
 
 ;;; advices.
+(defadvice kill-buffer (after skk-cursor-ad activate)
+  "$BF~NO%b!<%I$K1~$8%+!<%=%k?'$rJQ2=$5$;$k!#(BOvwrt $B%b!<%I$N$H$-$K%+!<%=%kI}$r>.$5$/$9$k!#(B"
+  (interactive "bKill buffer: ")
+  (skk-cursor-set-properly))
+
+(defadvice other-window (after skk-cursor-ad activate)
+  "$BF~NO%b!<%I$K1~$8%+!<%=%k?'$rJQ2=$5$;$k!#(BOvwrt $B%b!<%I$N$H$-$K%+!<%=%kI}$r>.$5$/$9$k!#(B"
+  (interactive "p")
+  (skk-cursor-set-properly))
+
+(static-cond
+ ((featurep 'xemacs)
+  (defadvice select-frame (after skk-cursor-ad activate)
+    "$BF~NO%b!<%I$K1~$8%+!<%=%k?'$rJQ2=$5$;$k!#(BOvwrt $B%b!<%I$N$H$-$K%+!<%=%kI}$r>.$5$/$9$k!#(B"
+    (skk-cursor-set-properly)))
+ (t
+  (defadvice select-frame (after skk-cursor-ad activate)
+    "$BF~NO%b!<%I$K1~$8%+!<%=%k?'$rJQ2=$5$;$k!#(BOvwrt $B%b!<%I$N$H$-$K%+!<%=%kI}$r>.$5$/$9$k!#(B"
+    (interactive "e")
+    (skk-cursor-set-properly))))
+
+(defadvice switch-to-buffer (after skk-cursor-ad activate)
+  "$BF~NO%b!<%I$K1~$8%+!<%=%k?'$rJQ2=$5$;$k!#(BOvwrt $B%b!<%I$N$H$-$K%+!<%=%kI}$r>.$5$/$9$k!#(B"
+  (interactive "BSwitch to buffer: ")
+  (skk-cursor-set-properly))
+
 (let ((funcs '(
 	       ;; cover to original Emacs functions.
 	       bury-buffer
 	       delete-frame
 	       delete-window
-	       execute-extended-command 
-	       kill-buffer
-	       other-window
+	       ;; execute-extended-command 
+;	       kill-buffer
+;	       other-window
 	       overwrite-mode
 	       pop-to-buffer
-	       select-frame
+;	       select-frame
 	       select-window
-	       switch-to-buffer
+;	       switch-to-buffer
 	       ;; cover to SKK functions.
 	       skk-auto-fill-mode 
 	       skk-gyakubiki-katakana-message 
 	(skk-cursor-set-properly))))
     (setq funcs (cdr funcs))))
 
+(static-cond
+ ((featurep 'xemacs)
+  (defadvice recenter (after skk-cursor-ad activate)
+    "$BF~NO%b!<%I$K1~$8%+!<%=%k?'$rJQ2=$5$;$k!#(BOvwrt $B%b!<%I$N$H$-$K%+!<%=%kI}$r>.$5$/$9$k!#(B"
+    (and skk-mode (skk-cursor-set-properly))))
+ (t
+  (defadvice recenter (after skk-cursor-ad activate)
+    "$BF~NO%b!<%I$K1~$8%+!<%=%k?'$rJQ2=$5$;$k!#(BOvwrt $B%b!<%I$N$H$-$K%+!<%=%kI}$r>.$5$/$9$k!#(B"
+    (interactive "P")
+    (and skk-mode (skk-cursor-set-properly)))))
+
 (let ((funcs '(
 	       goto-line 
 	       insert-file 
-	       recenter 
+	       keyboard-quit
+;	       recenter 
 	       yank
 	       yank-pop 
 	       ;; cover to hilit functions.
 	(and skk-mode (skk-cursor-set-properly)))))
     (setq funcs (cdr funcs))))
 
-(let ((funcs '(abort-recursive-edit exit-minibuffer)))
-  (if (eq skk-emacs-type 'xemacs)
+;;$BF~NO%b!<%I$K1~$8%+!<%=%k?'$rJQ2=$5$;$k!#(BOvwrt $B%b!<%I$N$H$-$K%+!<%=%kI}$r>.$5$/$9$k!#(B
+;; CLASS $B$O(B before.
+;; $B%_%K%P%C%U%!$+$i85$N%+%l%s%H%P%C%U%!$rC5$7=P$7!"%+!<%=%k$r%;%C%H!#(B
+(let ((funcs '(exit-minibuffer)))
+  (static-if (eq skk-emacs-type 'xemacs)
       (setq funcs (cons 'minibuffer-keyboard-quit funcs)))
   (while funcs
     (eval
 	(with-current-buffer (skk-minibuffer-origin) (skk-cursor-set-properly)))))
     (setq funcs (cdr funcs))))
 
+;; $BF~NO%b!<%I$K1~$8%+!<%=%k?'$rJQ2=$5$;$k!#(BOvwrt $B%b!<%I$N$H$-$K%+!<%=%kI}$r>.$5$/$9$k!#(B
+;; CLASS $B$O(B around.
+;; skk-abbrev-mode $B$N$H$-$@$1%+!<%=%k$r%;%C%H!#(B
+(let ((funcs '(
+	       ;; cover to original Emacs functions.
+	       newline 
+	       ;; cover to SKK functions.
+	       skk-delete-backward-char 
+	       skk-insert 
+	       skk-start-henkan 
+	       )))
+  (while funcs
+    (eval
+     (`
+      (defadvice (, (intern (symbol-name (car funcs))))
+	(around skk-cursor-ad activate preactivate)
+	"$BF~NO%b!<%I$K1~$8%+!<%=%k?'$rJQ2=$5$;$k!#(BOvwrt $B%b!<%I$N$H$-$K%+!<%=%kI}$r>.$5$/$9$k!#(B"
+	;; CLASS $B$O(B around.
+	;; skk-abbrev-mode $B$N$H$-$@$1%+!<%=%k$r%;%C%H!#(B
+	(if skk-abbrev-mode
+	    (progn ad-do-it (skk-cursor-set-properly))
+	  ad-do-it))))
+    (setq funcs (cdr funcs))))
+
+(static-when (featurep 'xemacs)
+  (defadvice abort-recursive-edit (before skk-cursor-ad activate preactivate)
+    "$BF~NO%b!<%I$K1~$8%+!<%=%k?'$rJQ2=$5$;$k!#(BOvwrt $B%b!<%I$N$H$-$K%+!<%=%kI}$r>.$5$/$9$k!#(B"
+    (with-current-buffer (skk-minibuffer-origin) (skk-cursor-set-properly))))
+
 (defadvice skk-latin-mode (after skk-cursor-ad activate)
   "$B%+!<%=%k?'$r(B skk-latin-cursor-color $B$KJQ2=$5$;$k!#(BOvwrt $B%b!<%I$N$H$-$K%+!<%=%kI}$r>.$5$/$9$k!#(B"
   (skk-cursor-set-properly skk-latin-cursor-color))

File skk-develop.el

 ;;; Code:
 (require 'skk)
 
-(defconst skk-ml-address "skk-develop@kuis.kyoto-u.ac.jp")
+(defconst skk-ml-address "skk@ring.gr.jp")
 
 ;;;###autoload
 (defun skk-submit-bug-report ()

File skk-foreword.el

 
 ;;;###autoload
 (eval-and-compile
-  (defconst skk-emacs-type (cond ((string-match "XEmacs" emacs-version) 'xemacs)
+  (defconst skk-emacs-type (cond ((featurep 'xemacs) 'xemacs)
 				 ((and (boundp 'mule-version)
 				       (string< "4.0" mule-version) 'mule4 ))
 				 ((and (boundp 'mule-version)
 				 ((and (boundp 'mule-version)
 				       (string< "2.0" mule-version) 'mule2 )))))
 
-(defconst skk-package-data-directory
-  (if (boundp 'early-packages)
-      (let ((dirs (append (if early-package-load-path early-packages)
-			  (if late-package-load-path late-packages)
-			  (if last-package-load-path last-packages) ))
-	    dir )
-	(while (not (file-exists-p (setq dir (car dirs))))
-	  (setq dirs (cdr dirs)) )
-	(and dir
-	     (expand-file-name "skk" (expand-file-name "etc" dir)) ))))
-
-;;(princ (format "SKK-PACKAGE-DATA-DIRECTORY is %s\n"
-;;	       skk-package-data-directory ))
-
 ;; necessary macro and functions to be declared before user variable declarations.
 
 ;;;; macros

File skk-gadget.el

 ;; $B$+$i:n$i$l$?B$8l$i$7$$!#(B
 
 ;;; Code:
-(eval-when-compile (require 'skk))
+(eval-when-compile
+  (require 'static))
+(require 'skk)
 (require 'skk-foreword)
 ;; -- user variables
 
 skk-date-ad $B$H(B skk-number-style $B$K$h$C$FI=<(J}K!$N%+%9%?%^%$%:$,2DG=!#(B"
   (interactive "*")
   (let ((start (current-time))
-        ;; Hit any key $B$H$7$?$$$H$3$m$@$,!"2?8N$+>e<j$/$f$+$J$$(B (;_;)...$B!#(B
-        ;;(now-map (if skk-emacs19
-        ;;             '(keymap (t . keyboard-quit))
-        ;;           (fillarray (make-keymap) 'keyboard-quit) ))
-        (overriding-terminal-local-map
-         (fillarray (setcar (cdr (make-keymap)) (make-vector 256 nil))
-                    'keyboard-quit ))
-        end mes expr1 expr2 )
+        end mes expr1 expr2 sec snd)
     (cond ((or (not skk-number-style)
-               (eq skk-number-style 0) )
+               (eq skk-number-style 0))
            (setq expr1 "[789]$BIC(B"
-                 expr2 "0$BIC(B" ))
+                 expr2 "0$BIC(B"))
           ((or (eq skk-number-style t)
                ;; skk-number-style $B$K(B $B?t;z$H(B t $B0J30$N(B non-nil $BCM$rF~$l$F$$$k>l(B
                ;; $B9g!"(B= $B$r;H$&$H(B Wrong type argument: number-or-marker-p, xxxx
                ;; $B$K$J$C$F$7$^$&!#(B
-               (eq skk-number-style 1) )
+               (eq skk-number-style 1))
            (setq expr1 "[$B#7#8#9(B]$BIC(B"
-                 expr2 "$B#0IC(B" ))
+                 expr2 "$B#0IC(B"))
           (t
            (setq expr1 "[$B<7H,6e(B]$BIC(B"
-                 expr2 "$B!;IC(B" )))
+                 expr2 "$B!;IC(B")))
+    ;;
+    (static-when (eq skk-emacs-type 'xemacs)
+      ;; XEmacs $B$G(B sound $B$,%m!<%I$5$l$F$$$k$+$I$&$+!#(B
+      (when (setq snd (and (boundp 'sound-alist)
+			   (eq t (catch 'tag
+				   (mapc
+				    (function
+				     (lambda (list)
+				       (and
+					(eq 'drum
+					    (cadr (memq :sound list)))
+					(throw 'tag t))))
+				    sound-alist)))))
+	;;
+	(unless (assq 'clink sound-alist)
+	  (load-sound-file "clink" 'clink))))
+    ;;
     (save-match-data
       (condition-case nil
           (let (case-fold-search
                 inhibit-quit visible-bell
                 skk-mode skk-latin-mode skk-j-mode skk-abbrev-mode
-		skk-jisx0208-latin-mode )
+		skk-jisx0208-latin-mode)
             (while (not quit-flag)
-              (setq mes (skk-current-date t))
-              (message (concat  mes "    Hit C-g quit"))
-              ;;(message (concat  mes "    Hit any key to quit"))
+              (setq mes (skk-current-date t)
+		    sec 0)
+	      (message "%s    Hit any key to quit" mes)
               (if time-signal
                   (if (string-match expr1 mes)
                       ;; [7890] $B$N$h$&$K@55,I=8=$r;H$o$:!"(B7 $B$@$1$GA4$F$N%^%7%s$,(B
                       ;; $BCe$$$F$f$1$PNI$$$N$@$,(B...$B!#CzEY$3$N4X?t<B9T;~$K(B Garbage
                       ;; collection $B$,8F$P$l$F$bI=<($5$l$k?t;z$,Ht$V>l9g$,$"$k!#(B
-                      (ding)
+		      (static-if (eq skk-emacs-type 'xemacs)
+			  ;; $B$$$$2;$,$J$$$J$!(B...
+			  (ding nil 'drum)
+			(ding))
                     (if (string-match expr2 mes)
                         ;; 0 $B$@$1!V%]!A%s!W$H$$$-$?$$$H$3$m$G$9$,!"%^%7%s$K$h$C(B
                         ;; $B$F:9$,$"$k!#(B
                         ;; $B!V%T%T%C!W$H$J$j!"2;$N%?%$%_%s%0$ONI$$$N$@$,!"$H$-(B
                         ;; $B$I$-(B 1 $BICJ,$D$$$F$$$1$J$/$J$k!#(BPentium 90Mhz +
                         ;; Mule-2.x$B$@$H!V%T%C!W$H$$$&C12;$K$J$C$F$7$^$&(B... (;_;)$B!#(B
-                        (progn (ding)(ding)) )))
-              (sit-for 1) ))
+			(static-cond
+			 ((eq skk-emacs-type 'xemacs)
+			  (if snd
+			      ;; $B$A$g$C$H$b$?$D$/(B ?
+			      (ding nil 'clink)
+			    (ding)
+			    (unless (sit-for (setq sec
+						   (+ sec
+						      (/ (float 1) (float 6))))
+					     'nodisplay)
+			      (next-command-event)
+			      (signal 'quit nil))
+			    (ding)))
+			 ((featurep 'lisp-float-type)
+			  (ding)
+			  (unless (sit-for (setq sec
+						 (+ sec
+						    (/ (float 1) (float 6))))
+					   nil
+					   'nodisplay)
+			    (next-command-event)
+			    (signal 'quit nil))
+			  (ding))
+			 (t
+			  ;; Emacs 18
+			  (ding)
+			  (ding))))))
+	      (unless (static-cond
+		       ((memq skk-emacs-type '(nemacs mule1 xemacs))
+			(sit-for (- 1 sec) 'nodisplay))
+		       (t
+			(sit-for (- 1 sec) nil 'nodisplay)))
+		(next-command-event)
+		(signal 'quit nil))))
         (quit
          (prog2
              (setq end (current-time))
              (skk-current-date t)
            (if kakutei-when-quit
-               (setq skk-kakutei-flag t) )
-           (message (format "$B7P2a;~4V(B: %s $BIC(B" (skk-time-difference start end))) ))))))
+               (setq skk-kakutei-flag t))
+           (message "$B7P2a;~4V(B: %s $BIC(B" (skk-time-difference start end))))))))
 
 ;;;###autoload
 (defun skk-ad-to-gengo (&optional fstr lstr)

File skk-kakasi.el

 ;; ftp $B$GF~<j2DG=$H$7$F$$$k(B sunsite.sut.ac.jp $B$K46<U$$$?$7$^$9!#(B
 
 ;;; Code:
-(eval-when-compile (require 'skk))
+(require 'skk)
 (require 'skk-foreword)
 ;; APEL
 (require 'path-util)
     (delete-region start end)
     (goto-char start)
     (insert-and-inherit str) )
-  (skk-set-cursor-properly) )
+  (and (featurep 'skk-cursor)
+   (skk-set-cursor-properly)) )
 
 ;;;###autoload
 (defun skk-gyakubiki-message (start end &optional all)
           ;; $B@hF,$N6uGr$r<h$j=|$/!#(B
           (setq str (substring str (match-end 0))) ))
     (message "%s" str)
-    (skk-set-cursor-properly) ))
+    (and (featurep 'skk-cursor)
+     (skk-set-cursor-properly)) ))
 
 
 ;;;###autoload
     (delete-region start end)
     (goto-char start)
     (insert-and-inherit str) )
-  (skk-set-cursor-properly) )
+  (and (featurep 'skk-cursor)
+   (skk-set-cursor-properly)) )
 
 ;;;###autoload
 (defun skk-gyakubiki-katakana-message (start end &optional all)
           ;; $B@hF,$N6uGr$r<h$j=|$/!#(B
           (setq str (substring str (match-end 0))) ))
     (message "%s" str)
-    (skk-set-cursor-properly) ))
+    (and (featurep 'skk-cursor)
+     (skk-set-cursor-properly)) ))
 
 (defun skk-gyakubiki-1 (start end all &optional katakana)
   ;; skk-gyakubiki-* $B$N%5%V%k!<%A%s!#(B
     (delete-region start end)
     (goto-char start)
     (insert-and-inherit str) )
-  (skk-set-cursor-properly) )
+  (and (featurep 'skk-cursor)
+   (skk-set-cursor-properly)) )
 
 ;;;###autoload
 (defun skk-hurigana-message (start end &optional all)
     $BCfEg(B -> {$B$J$+$7$^(B|$B$J$+$8$^(B}"
   (interactive "r\nP")
   (message "%s" (skk-hurigana-1 start end all))
-  (skk-set-cursor-properly) )
+  (and (featurep 'skk-cursor)
+   (skk-set-cursor-properly)) )
 
 ;;;###autoload
 (defun skk-hurigana-katakana-region (start end &optional all)
     (delete-region start end)
     (goto-char start)
     (insert-and-inherit str) )
-  (skk-set-cursor-properly) )
+  (and (featurep 'skk-cursor)
+   (skk-set-cursor-properly)) )
 
 ;;;###autoload
 (defun skk-hurigana-katakana-message (start end &optional all)
     $BCfEg(B -> {$B%J%+%7%^(B|$B%J%+%8%^(B}"
   (interactive "r\nP")
   (message "%s" (skk-hurigana-1 start end all 'katakana))
-  (skk-set-cursor-properly) )
+  (and (featurep 'skk-cursor)
+   (skk-set-cursor-properly)) )
 
 (defun skk-hurigana-1 (start end all &optional katakana)
   ;; skk-hurigana-* $B$N%5%V%k!<%A%s!#(B
     (delete-region start end)
     (goto-char start)
     (insert-and-inherit str) )
-  (skk-set-cursor-properly) )
+  (and (featurep 'skk-cursor)
+   (skk-set-cursor-properly)) )
 
 ;;;###autoload
 (defun skk-romaji-message (start end)
     (if (not skk-romaji-*-by-hepburn)
         (setq arg (cons "-rk" arg)) )
     (message "%s" (skk-kakasi-region start end arg))
-    (skk-set-cursor-properly) ))
+    (and (featurep 'skk-cursor)
+     (skk-set-cursor-properly)) ))
 
 (defun skk-kakasi-region (start end arglist)
   ;; START $B$H(B END $B4V$N%j!<%8%g%s$KBP$7(B kakasi $B%3%^%s%I$rE,MQ$9$k!#(BARGLIST $B$r(B
 ;;;###autoload
 (defun skk-activate (&optional name)
   (setq inactivate-current-input-method-function 'skk-inactivate)
-  (skk-mode 1) )
+  (skk-mode 1)
+  (if (eq (selected-window) (minibuffer-window))
+      (add-hook 'minibuffer-exit-hook 'skk-leim-exit-from-minibuffer)))
 
 ;;;###autoload
 (defun skk-auto-fill-activate (&optional name)
   (setq inactivate-current-input-method-function 'skk-auto-fill-inactivate)
-  (skk-auto-fill-mode 1) )
+  (skk-auto-fill-mode 1)
+  (if (eq (selected-window) (minibuffer-window))
+      (add-hook 'minibuffer-exit-hook 'skk-leim-exit-from-minibuffer)))
 
 ;;;###autoload
 (defun skk-inactivate ()
-  (skk-mode -1) )
+  (skk-mode -1))
 
 ;;;###autoload
 (defun skk-auto-fill-inactivate ()
-  (skk-auto-fill-mode -1) )
+  (skk-auto-fill-mode -1))
+
+(defun skk-leim-exit-from-minibuffer ()
+  (inactivate-input-method)
+  (if (<= (minibuffer-depth) 1)
+      (remove-hook 'minibuffer-exit-hook 'skk-leim-exit-from-minibuffer)))
 
 ;;;###autoload
 (register-input-method
  "japanese-skk" "Japanese"
  'skk-activate nil
- "Simple Kana to Kanji conversion program" )
+ "Simple Kana to Kanji conversion program")
 
 ;;;###autoload
 (register-input-method
  "japanese-skk-auto-fill" "Japanese"
  'skk-auto-fill-activate nil
- "Simple Kana to Kanji conversion program with auto-fill" )
+ "Simple Kana to Kanji conversion program with auto-fill")
 
 (unless (string= current-language-environment "Japanese")
-  (set-language-environment "Japanese") )
+  (set-language-environment "Japanese"))
 (setq-default default-input-method "japanese-skk")
 (setq default-input-method "japanese-skk")
 
 ;;
 ;; <How to work>
 ;; .skk $B$+(B .emacs $B$G(B `skk-use-look' $B$r(B t $B$K%;%C%H$7$F$3$l$rI>2A$7$F2<$5$$!#$=$N(B
-;; $B8e(B skk-mode $B$rN)$A>e$2$k$+!"(BM-x skk-restart $B$9$k$H!"(BSKK abbrev $B%b!<%I$G!"(B
-;; UNIX look $B%3%^%s%I$rMxMQ$7$?1QJ8;z(B + $B%"%9%?%j%9%/$NJQ49$,$G$-$k$h$&$K$J$j$^(B
-;; $B$9!#$3$s$J46$8$G$9!#(B
+;; $B8e(B skk-mode $B$rN)$A>e$2$k$+!"(BM-x skk-restart $B$9$k$H!"(B $B2<5-$N$h$&$J7]Ev$,2DG=$K(B
+;; $B$J$j$^$9!#(B
 ;;
-;; $B"&(Bconfere* (SPC)
-;; ---> $B"'(Bconference
+;; (1)$B1QC18l$rJd40$,$G$-$^$9!#(B
 ;;
-;; $B3NDj$9$k$H!"(B`confere*' $B$r8+=P$78l!"(B`conference' $B$r8uJd$H$9$k%(%s%H%j$,8D?M<-(B
-;; $B=q$KDI2C$5$l$^$9!#$3$N$h$&$J%(%s%H%j$rDI2C$7$?$/$J$$>l9g$O!"(B
-;; skk.el $B$N%f!<%6!<JQ?t!"(B`skk-search-excluding-word-pattern-function' $B$rE,@Z$K(B
-;; $B@_Dj$9$k$3$H$G!"$3$l$r<B8=$9$k$3$H$,$G$-$^$9!#>\$7$/$O!"(B
-;; `skk-search-excluding-word-pattern-function' $B$N%I%-%e%a%s%H$r$4Mw2<$5$$!#(B
+;;    $B"&(Babstr(TAB) ---> $B"&(Babstract 
 ;;
-;; `skk-look-recursive-search' $B$NCM$r(B non-nil $B$K$9$k$H!"(Blook $B$,8+$D$1$?1QC18l$r(B
-;; $B8+=P$78l$K$7$F!":F5"E*$K(B SKK $B<-=qFb$r8!:w$9$k$3$H$,$G$-$^$9!#Nc$($P!"$$$:$l$+(B
-;; $B$N(B SKK $B<-=q$K(B
+;;    $BDL>o$NJd405!G=F1MM!"(B`.' $B$G<!$NJd408uJd!"(B`,' $B$G$R$H$DA0$NJd408uJd$K(B
+;;    $B0\F0$G$-$^$9!#(B
 ;;
-;;  abstract /$B%"%V%9%H%i%/%H(B/$BCj>](B/
-;;  abstraction /$B%"%V%9%H%i%/%7%g%s(B/
+;;    SKK $B7A<0$N1QOB<-=q$,$"$l$P!"$3$3$+$i(B SPC $B$r2!$7$F1QOBJQ49$,$G$-$^$9(B
+;;    $B$M!#(B
 ;;
-;; $B$H$$$&%(%s%H%j$,$"$k>l9g!"(B
+;; (2)$B1QC18l$r$"$$$^$$$KJQ49$7$F<h$j=P$9$3$H$,$G$-$^$9!#(B
 ;;
-;;  $B"&(Babs* (SPC)
+;;    $B"&(Babstr* (SPC) ---> $B"'(Babstract 
 ;;
-;;  ---> $B"'(Babstract (SPC) -> $B"'%"%V%9%H%i%/%H(B (SPC) -> $B"'Cj>](B (SPC)
-;;       -> $B"'(Babstraction (SPC) -> $B"'%"%V%9%H%i%/%7%g%s(B
+;;    $B8+=P$78l$K%"%9%?%j%9%/(B (`*') $B$rF~$l$k$N$r$*K:$l$J$/!#(B
 ;;
-;; $B$N$h$&$K1QC18l(B + $B$=$N1QC18l$r8+=P$78l$K$7$?8uJd$N!V%;%C%H!W$rJQ497k2L$H$7$F=P(B
-;; $BNO$9$k$3$H$,$G$-$^$9!#$3$N:]!"(B`skk-look-expanded-word-only' $B$NCM$,(B non-nil $B$G(B
-;; $B$"$l$P!":F5"8!:w$K@.8y$7$?1QC18l$N!V%;%C%H!W$@$1(B ($B:F5"8!:w$G8!=P$5$l$J$+$C$?(B
-;; $B1QC18l$OL5;k$9$k(B) $B$r=PNO$9$k$3$H$,$G$-$^$9!#(B
+;;    $B3NDj$9$k$H!"(B`abstr*' $B$r8+=P$78l!"(B`abstract' $B$r8uJd$H$9$k%(%s%H%j$,8D?M<-(B
+;;    $B=q$KDI2C$5$l$^$9!#$3$N$h$&$J%(%s%H%j$rDI2C$7$?$/$J$$>l9g$O!"(B
+;;    $B%f!<%6!<JQ?t!"(B`skk-search-excluding-word-pattern-function' $B$rE,@Z$K(B
+;;    $B@_Dj$9$k$3$H$G!"$3$l$r<B8=$9$k$3$H$,$G$-$^$9!#>\$7$/$O!"(B
+;;    `skk-search-excluding-word-pattern-function' $B$N%I%-%e%a%s%H$r$4Mw2<$5$$!#(B
 ;;
-;; abbrev $B%b!<%I$GJd40$r9T$J$&$H!"8D?M<-=q$r8!:w$7?T$7$?8e$G!"(Blook $B%3%^%s%I$K$h$k(B
-;; $B1QC18lJd40$r9T$J$$$^$9!#Nc$($P!"$3$s$J46$8$KF0:n$7$^$9!#(B
+;; (3)(2)$B$GJQ49$7$?8e!"99$K:F5"E*$J1QOBJQ49$r9T$J$&$3$H$,$G$-$^$9!#(B
 ;;
-;;  $B"&(Bconfe (TAB)
-;;  ---> $B"&(Bconference
+;;    $B$^$:!"(B`skk-look-recursive-search' $B$NCM$r(B non-nil $B$K%;%C%H$7$F2<$5(B
+;;    $B$$!#(BEmacs/SKK $B$r:F5/F0$9$kI,MW$O$"$j$^$;$s!#(B
 ;;
+;;    $B$9$k$H!"Nc$($P!"(B
+;;
+;;    $B"&(Babstr* (SPC)
+;;
+;;      ---> $B"'(Babstract (SPC) -> $B"'%"%V%9%H%i%/%H(B (SPC) -> $B"'Cj>](B (SPC)
+;;        -> $B"'(Babstraction (SPC) -> $B"'%"%V%9%H%i%/%7%g%s(B
+;;
+;;    $B$3$N$h$&$K1QC18l(B + $B$=$N1QC18l$r8+=P$78l$K$7$?8uJd$N!V%;%C%H!W$rJQ49(B
+;;    $B7k2L$H$7$F=PNO$9$k$3$H$,$G$-$^$9!#(B
+;;
+;;    $B$3$N:]!"(B`skk-look-expanded-word-only' $B$NCM$,(B non-nil $B$G$"$l$P!":F5"(B
+;;    $B8!:w$K@.8y$7$?1QC18l$N!V%;%C%H!W$@$1$r=PNO$9$k$3$H$,$G$-$^$9(B ($B:F5"(B
+;;    $B8!:w$G8!=P$5$l$J$+$C$?1QC18l$OL5;k$7$F=PNO$7$^$;$s(B) $B!#(B
+;;
+;;    $B$b$A$m$s!"(BSKK $B<-=q$K(B
+;;
+;;       abstract /$B%"%V%9%H%i%/%H(B/$BCj>](B/
+;;       abstraction /$B%"%V%9%H%i%/%7%g%s(B/
+;;
+;;    $B$H$$$&%(%s%H%j$,$"$k$3$H$rA0Ds$H$7$F$$$^$9!#(Bedict $B$r(B SKK $B<-=q7A<0$K(B
+;;    $BJQ49$9$k$HNI$$$G$9$M!#(B
+;; 
 ;; $BF0:n3NG'$r9T$J$C$?(B look $B$O!"(BSlackware 3.5 $B$KF~$C$F$$$?!"(Bman page $B$K(B
 ;; `BSD Experimental June 14, 1993' $B$H5-:\$N$"$k$b$N(B ($B%P!<%8%g%s>pJs$,$J$$(B) $B$K$F(B
 ;; $B9T$J$C$F$$$^$9!#%*%W%7%g%s$N;XDj$J$I$,0[$J$k(B look $B$,$"$l$P!"$40lJs2<$5$$!#$h$m(B
 ;; <Dictionary>
 ;; ftp://ftp.u-aizu.ac.jp:/pub/SciEng/nihongo/ftp.cc.monash.edu.au/
 ;; $B$KCV$$$F$"$k(B edict $B$rMxMQ$9$k$H<j7Z$K1QOB<-=q$,$G$-$^$9!#(B
-;; 
+;;
 ;;   % jgawk -f skk-10/lisp/look/edict2skk.awk edict > temp
 ;;   % skkdic-expr temp | skkdic-sort > SKK-JISYO.E2J
 ;;   % rm temp
 ;;; skk-num.el --- $B?tCMJQ49$N$?$a$N%W%m%0%i%`(B
 ;; Copyright (C) 1988, 1989, 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997,
-;;               1998, 1999
+;;               1998, 1999, 2000
 ;; Masahiko Sato <masahiko@kuis.kyoto-u.ac.jp>
 
 ;; Author: Masahiko Sato <masahiko@kuis.kyoto-u.ac.jp>
 ;;;###autoload
 (defgroup skk-num nil "SKK number conversion related customization."
   :prefix "skk-num-"
-  :group 'skk )
+  :group 'skk)
 
 ;; user variables.
 (defcustom skk-num-type-alist
     (3 . skk-num-type3-kanji)
     (4 . skk-num-recompute)
     (5 . skk-num-type5-kanji)
-    (9 . skk-num-shogi) )
+    (9 . skk-num-shogi))
   "*$B?tCM$NJQ49$N$?$a$N!"%$%s%G%/%9$HJQ49$K;HMQ$9$k4X?t$H$N%(!<%j%9%H!#(B
 $B3FMWAG$O!"(B`\($B%$%s%G%/%9(B . $B4X?tL>(B\)' $B$H$$$&9=@.$K$J$C$F$$$k!#(B
 $B%$%s%G%/%9$K$O!"Nc$($P8+=P$78l$,(B \"$BJ?@.(B#1$BG/(B\" $B$N$H$-!"(B`#' $B5-9f$ND>8e$KI=<($5$l$k(B
     9 -> $B>-4}$G;HMQ$9$k?t;z(B \(\"$B#3;M(B\" $B$J$I(B\) $B$KJQ49(B" 
   :type '(repeat (cons (choice :tag "Index"
 			       (integer 0) (integer 1) (integer 2) (integer 3)
-			       (integer 4) (integer 5) (integer 9) )
-		  (function :tag "Function") ))
-  :group 'skk-num )
+			       (integer 4) (integer 5) (integer 9))
+		  (function :tag "Function")))
+  :group 'skk-num)
 
 (defcustom skk-num-convert-float nil
   "*Non-nil $B$G$"$l$P!"IbF0>.?tE@?t$r;H$C$?8+=P$78l$KBP1~$7$FJQ49$r9T$J$&!#(B
 $B$3$NCM$r(B non-nil $B$K$9$k$3$H$G!"(B\"#.# /#1$B!%(B#1/#0$B7n(B#0$BF|(B/\" $B$J$I$N<-=q8+=P$7$,;HMQ(B
 $B$G$-$J$/$J$k$N$G!"Cm0U!#(B"
   :type 'boolean
-  :group 'skk-num )
+  :group 'skk-num)
 
 (defcustom skk-num-uniq (or (assq 4 skk-num-type-alist)
 			    (and (assq 2 skk-num-type-alist)
-				 (assq 3 skk-num-type-alist) ))
+				 (assq 3 skk-num-type-alist)))
   "*Non-nil $B$G$"$l$P!"0[$J$k?tCMI=8=$G$bJQ497k2L$,F1$8?tCM$r=EJ#$7$F=PNO$7$J$$!#(B"
   :type 'boolean
-  :group 'skk-num )
+  :group 'skk-num)
 
 (defcustom skk-num-load-hook nil
   "*skk-num.el $B$r%m!<%I$7$?8e$K%3!<%k$5$l$k%U%C%/!#(B"
   :type 'hook
-  :group 'skk-num )
+  :group 'skk-num)
 
 ;; internal constants and variables
 (defconst skk-num-alist-type1
     (?4 . "$B#4(B") (?5 . "$B#5(B") (?6 . "$B#6(B") (?7 . "$B#7(B")
     (?8 . "$B#8(B") (?9 . "$B#9(B")
     (?. . "$B!%(B")				; $B>.?tE@!#(B(?. . ".") $B$NJ}$,NI$$?M$b$$$k$+$b(B...$B!#(B
-    (?  . "") )
+    (?  . ""))
   "ascii $B?t;z$N(B char type $B$HA43Q?t;z$N(B string type $B$NO"A[%j%9%H!#(B
-\"1995\" -> \"$B#1#9#9#5(B\" $B$N$h$&$JJ8;zNs$NJQ49$r9T$&:]$KMxMQ$9$k!#(B" )
+\"1995\" -> \"$B#1#9#9#5(B\" $B$N$h$&$JJ8;zNs$NJQ49$r9T$&:]$KMxMQ$9$k!#(B")
 
 (defconst skk-num-alist-type2
   '((?0 . "$B!;(B") (?1 . "$B0l(B") (?2 . "$BFs(B") (?3 . "$B;0(B")
     (?4 . "$B;M(B") (?5 . "$B8^(B") (?6 . "$BO;(B") (?7 . "$B<7(B")
-    (?8 . "$BH,(B") (?9 . "$B6e(B") (?  . "") )
+    (?8 . "$BH,(B") (?9 . "$B6e(B") (?  . ""))
   "ascii $B?t;z$N(B char type $B$H4A?t;z$N(B string type $B$NO"A[%j%9%H!#(B
-\"1995\" -> \"$B0l6e6e8^(B\" $B$N$h$&$JJ8;zNs$NJQ49$r9T$&:]$KMxMQ$9$k!#(B" )
+\"1995\" -> \"$B0l6e6e8^(B\" $B$N$h$&$JJ8;zNs$NJQ49$r9T$&:]$KMxMQ$9$k!#(B")
 
 (defconst skk-num-alist-type5
   '((?1 . "$B0m(B") (?2 . "$BFu(B") (?3 . "$B;2(B")
     (?4 . "$B;M(B") (?5 . "$B8`(B") (?6 . "$BO;(B") (?7 . "$B<7(B")
-    (?8 . "$BH,(B") (?9 . "$B6e(B") (?  . "") )
+    (?8 . "$BH,(B") (?9 . "$B6e(B") (?  . ""))
   "ascii $B?t;z$N(B char type $B$H4A?t;z$N(B string type $B$NO"A[%j%9%H!#(B
-\"1995\" -> \"$B0mot6eI46e=&8`(B\" $B$N$h$&$JJ8;zNs$NJQ49$r9T$&:]$KMxMQ$9$k!#(B" )
+\"1995\" -> \"$B0mot6eI46e=&8`(B\" $B$N$h$&$JJ8;zNs$NJQ49$r9T$&:]$KMxMQ$9$k!#(B")
 
-;;;###autoload
-(defvar skk-num-list nil
+(skk-deflocalvar skk-num-list nil
   "skk-henkan-key $B$NCf$K4^$^$l$k?t;z$rI=$9J8;zNs$N%j%9%H!#(B
 $BNc$($P!"(B\"$B"&$X$$$;$$(B7$B$M$s(B10$B$,$D(B\" $B$NJQ49$r9T$&$H$-!"(Bskk-henkan-key $B$O(B
-\"$B$X$$$;$$(B7$B$M$s(B10$B$,$D(B\" $B$G$"$j!"(Bskk-num-list $B$O(B \(\"7\" \"10\"\) $B$H$J$k!#(B
-\(buffer local\)" )
+\"$B$X$$$;$$(B7$B$M$s(B10$B$,$D(B\" $B$G$"$j!"(Bskk-num-list $B$O(B \(\"7\" \"10\"\) $B$H$J$k!#(B")
 
-;;###autoload
-(make-variable-buffer-local 'skk-num-list)
-
-(skk-deflocalvar skk-num-recompute-key nil
-  "#4 $B%?%$%W$N%-!<$K$h$j?tCM$N:F7W;;$r9T$J$C$?$H$-$N8!:w%-!<!#(B" )
+(defvar skk-num-recompute-key nil
+  "#4 $B%?%$%W$N%-!<$K$h$j?tCM$N:F7W;;$r9T$J$C$?$H$-$N8!:w%-!<!#(B")
 
 (defun skk-num-compute-henkan-key (key)
   ;; KEY $B$NCf$NO"B3$9$k?t;z$r8=$o$9J8;zNs$r(B "#" $B$KCV$-49$($?J8;zNs$rJV$9!#(B"12"
   ;; $B$HJQ49$7!"(Bskk-num-list $B$K(B ("7" "12") $B$H$$$&%j%9%H$rBeF~$9$k!#(B
   ;; $B<-=q$N8+=P$78l$N8!:w$K;HMQ$9$k!#(B
   (let ((numexp (if skk-num-convert-float
-		    "[.0-9]+" "[0-9]+" )))
+		    "[.0-9]+" "[0-9]+")))
     ;;(setq skk-noconv-henkan-key key)
     (save-match-data
       ;; $B0L<h$j$N(B "," $B$r=|5n$9$k!#(B
       (while (string-match "," key)
 	(setq key (concat (substring key 0 (match-beginning 0))
-			  (substring key (match-end 0)) )))
+			  (substring key (match-end 0)))))
       ;; $BA43Q?t;z$r(B ascii $B?t;z$KJQ49$9$k!#(B
       (while (string-match "[$B#0(B-$B#9(B]" key)
         (let ((zen-num (match-string 0 key)))
           (setq key (concat (substring key 0 (match-beginning 0))
                             (skk-jisx0208-to-ascii zen-num)
-                            (substring key (match-end 0)) ))))
+                            (substring key (match-end 0))))))
       ;; ascii $B?t;z$r(B "#" $B$KCV$-49$(!"$=$N?t;z$r(B skk-num-list $B$NCf$KJ]B8!#(B
       (while (string-match numexp key)
         (setq skk-num-list (nconc skk-num-list (list (match-string 0 key)))
               key (concat (substring key 0 (match-beginning 0))
                           "#"
-                          (substring key (match-end 0)) )))))
-  key )
+                          (substring key (match-end 0)))))))
+  key)
 
 (defun skk-num-convert (key)
-  ;; KEY $B$H(B skk-num-list $B$+$i?tCMJQ498e$NJ8;zNs$rJV$9!#(B
-  ;; skk-henkan-count $B$,;X$7$F$$$k?tCMJQ49%-!<$N8uJd$rJQ49$7!"(B
-  ;; skk-henkan-list $B$r(B
-  ;;   ("#2" ... ) -> (("#2" ."$B0l(B") ...)
+  ;; skk-henkan-list $B$N(B skk-henkan-count $B$,;X$7$F$$$k?tCMJQ49%-!<$N(B
+  ;; $B8uJd$rJQ49$7!"(Bskk-henkan-list $B$r(B
+  ;;   ("#2" ...) -> (("#2" ."$B0l(B") ...)
   ;; $B$N$h$&$KJQ7A$9$k!#(B
-  (if (not key)
+    (if (not key)
       nil
     (let ((numexp (if skk-num-convert-float
-                      "#[.0-9]+" "#[0-9]+" ))
+                      "#[.0-9]+" "#[0-9]+"))
           (n 0)
           (workkey key)
-          num convnum string convlist current )
+          num convnum string convlist current)
       (save-match-data
         (while (and (setq num (nth n skk-num-list))
-                    (string-match numexp workkey) )
+                    (string-match numexp workkey))
           (setq convnum (save-match-data
 			  (skk-num-exp num (string-to-number
 					    (substring workkey
 						       (1+ (match-beginning 0))
-						       (match-end 0) ))))
+						       (match-end 0)))))
                 string (substring workkey 0 (match-beginning 0))
                 workkey (substring workkey (match-end 0))
-                n (1+ n) )
+                n (1+ n))
           (if (not (and (stringp convnum) (string= convnum "")
-                        (string= string "") ))
-              (setq convlist (nconc convlist (list string convnum))) ))
+                        (string= string "")))
+              (setq convlist (nconc convlist (list string convnum)))))
         (setq convlist (nconc convlist (list workkey)))
         (cond ((null convlist) nil)
               ((and (null (cdr convlist)) (stringp (car convlist)))
-               (setq current (car convlist)) )
-              ;; RAW-LIST $B$NA4MWAG$,J8;zNs!#(B
+               (setq current (car convlist)))
+              ;; CONV-LIST $B$NA4MWAG$,J8;zNs!#(B
               ((null (memq t (mapcar 'listp convlist)))
                (setq current (mapconcat 'identity convlist ""))
                (if (and (> skk-henkan-count -1)
-                        (nth skk-henkan-count skk-henkan-list) )
+                        (nth skk-henkan-count skk-henkan-list))
                    ;; ("A" "#2" "C") -> ("A" ("#2" ."$B0l(B") "C")
                    (setf (nth skk-henkan-count skk-henkan-list)
-                         (cons key current) )
+                         (cons key current))
                  (setq skk-henkan-list
-                       (nconc skk-henkan-list (list (cons key current))) )))
+                       (nconc skk-henkan-list (list (cons key current))))))
               ;; #4
               (t (let ((l (mapcar (function (lambda (e) (cons key e)))
-                                  (skk-num-flatten-list (delete "" convlist)) )))
+                                  (skk-num-flatten-list (delete "" convlist)))))
                    (setq current (cdr (car l)))
                    (if (and (> skk-henkan-count -1)
-                            (nth skk-henkan-count skk-henkan-list) )
+                            (nth skk-henkan-count skk-henkan-list))
                        (progn
                          (setf (nth skk-henkan-count skk-henkan-list) (car l))
                          (setq skk-henkan-list (skk-splice-in
                                                 skk-henkan-list
                                                 (1+ skk-henkan-count)
-                                                (cdr l) )))
-                     (setq skk-henkan-list (nconc skk-henkan-list l)) ))))
-        current ))))
+                                                (cdr l))))
+                     (setq skk-henkan-list (nconc skk-henkan-list l))))))
+        current))))
 
 (defun skk-num-convert*7 ()
   (let ((skk-henkan-count skk-henkan-count)
-        (n 7) )
+        (n 7))
     (while (and (> n 0) (nth skk-henkan-count skk-henkan-list))
       (skk-num-convert (skk-get-current-candidate))
       (setq skk-henkan-count (1+ skk-henkan-count)
-            n (1- n) ))
-    (and skk-num-recompute-key (skk-num-uniq)) ))
+            n (1- n)))
+    (and skk-num-recompute-key (skk-num-uniq))))
 
 (defun skk-num-rawnum-exp (string)
   (setq string (skk-num-rawnum-exp-1
-                string "[$B#0(B-$B#9(B][$B!;0l6e8^;0;M<7FsH,O;(B]" "#9" 0 ))
+                string "[$B#0(B-$B#9(B][$B!;0l6e8^;0;M<7FsH,O;(B]" "#9" 0))
   (setq string (skk-num-rawnum-exp-1
-                string "\\(^\\|[^#0-9]\\)\\([0-9]+\\)" "#0" 2 ))
+                string "\\(^\\|[^#0-9]\\)\\([0-9]+\\)" "#0" 2))
   (setq string (skk-num-rawnum-exp-1
-                string "[$B#0(B-$B#9(B]+" "#1" 0 ))
+                string "[$B#0(B-$B#9(B]+" "#1" 0))
   (setq string (skk-num-rawnum-exp-1
-                string "\\([$B!;0l6e8^;0;M<7FsH,O;==(B][$B==I4@iK|2/C{5~(B]\\)+" "#3" 0 ))
+                string "\\([$B!;0l6e8^;0;M<7FsH,O;==(B][$B==I4@iK|2/C{5~(B]\\)+" "#3" 0))
   ;; (mapcar 'char-to-string
   ;;         (sort
   ;;          '(?$B0l(B ?$BFs(B ?$B;0(B ?$B;M(B ?$B8^(B ?$BO;(B ?$B<7(B ?$BH,(B ?$B6e(B ?$B!;(B) '<))
     (while (string-match key string)
       (setq string (concat (substring string 0 (match-beginning place))
 			   type
-			   (substring string (match-end place)) )))
-    string ))
+			   (substring string (match-end place)))))
+    string))
 
 (defun skk-num-flatten-list (list)
   ;; $BM?$($i$l$?%j%9%H$N3FMWAG$+$iAH$_9g$;2DG=$JJ8;zNs$NO"@\$r:n$j!"%j%9%H$GJV(B
   ;; 5 -> $B4A?t;z(B ($B<j7A$J$I$G;HMQ$9$kJ8;z$r;HMQ(B) $B$XJQ49(B ($B0L<h$j$r$9$k(B)
   ;; 9 -> $B>-4}$G;HMQ$9$k?t;z(B ("$B#3;M(B" $B$J$I(B) $B$KJQ49(B
   (let ((fun (cdr (assq type skk-num-type-alist))))
-    (if fun (funcall fun num)) ))
+    (if fun (funcall fun num))))
 
 (defun skk-num-jisx0208-latin (num)
   ;; ascii $B?t;z$N(B NUM $B$rA43Q?t;z$NJ8;zNs$KJQ49$7!"JQ498e$NJ8;zNs$rJV$9!#(B
   ;; $BNc$($P(B "45" $B$r(B "$B#4#5(B" $B$KJQ49$9$k!#(B
   (let ((candidate
          (mapconcat (function (lambda (c) (cdr (assq c skk-num-alist-type1))))
-                    num "" )))
+                    num "")))
     (if (not (string= candidate ""))
-        candidate )))
+        candidate)))
 
 (defun skk-num-type2-kanji (num)
   ;; ascii $B?t;z(B NUM $B$r4A?t;z$NJ8;zNs$KJQ49$7!"JQ498e$NJ8;zNs$rJV$9!#(B
     (if (not (string-match "\\.[0-9]" num))
         (let ((candidate
                (mapconcat (function (lambda (c)
-                                      (cdr (assq c skk-num-alist-type2)) ))
-                          num "" )))
+                                      (cdr (assq c skk-num-alist-type2))))
+                          num "")))
           (if (not (string= candidate ""))
-              candidate )))))
+              candidate)))))
 
 (defun skk-num-type3-kanji (num)
   ;; ascii $B?t;z(B NUM $B$r4A?t;z$NJ8;zNs$KJQ49$7(B ($B0L<h$j$r$9$k(B)$B!"JQ498e$NJ8;zNs$r(B
     (if (not (string-match "\\.[0-9]" num))
 	;; $B>.?tE@$r4^$^$J$$?t(B
         (let ((str (skk-num-type3-kanji-1 num)))
-          (if (string= "" str) "$B!;(B" str) ))))
+          (if (string= "" str) "$B!;(B" str)))))
 
 (defun skk-num-type3-kanji-1 (num)
   ;; skk-num-type3-kanji $B$N%5%V%k!<%A%s!#(B
   (let ((len (length num))
-        modulo char prevchar v )
+	(i 0)
+        char v num1 v1)
     ;; $B!V@i5~!W$^$G$O=PNO$9$k!#(B
     (when (> len 20) (skk-error "$B0L$,Bg$-$9$.$^$9!*(B" "Too big number!"))
     (setq num (append num nil))
-    (while (setq char (car num))
-      ;; $B0L(B:     $B0l(B    $B==(B     $BI4(B    $B@i(B    $BK|(B   $B==K|(B   $BI4K|(B    $B@iK|(B     $B2/(B
-      ;; modulo: 1 --> 2 --> 3 --> 0 -> 1 --> 2 ---> 3 ---> 0 ---> 1
-      ;; len:    1     2     3     4    5     6      7      8      9
-      (setq modulo (mod len 4))
-      (if (= len 1)
-	  ;; $B0l$N0L$G(B 0 $B$G$J$$?t!#(B
-	  (unless (eq char ?0)
+    (cond
+     ((<= len 4)
+      (while (setq char (car num))
+	;; $B0L(B:   $B0l(B  $B==(B  $BI4(B  $B@i(B
+	;; len:   1   2   3   4
+	(if (= len 1)
 	    ;; $B0L$rI=$o$94A?t;z0J30$N4A?t;z!#(B
-	    (setq v (concat v (cdr (assq char skk-num-alist-type2)))) )
-	;; $B0L$rI=$o$94A?t;z0J30$N4A?t;z!#(B
-	(when (or
-	       ;; $B==$N0L0J>e$G!"$+$D(B 0, 1 $B0J30$N?t;z!#(B
-	       (null (memq char '(?0 ?1)))
-	       ;; $B==$N0L0J>e$N(B 1 $B$G!"$3$N0L$,!"0L$rI=$o$94A?t;z$K(B "$B0l(B" $B$r(B
-	       ;; $BJ;5-$9$Y$-(B ($BNc$($P!"(B"$B0l2/(B" $B$J$I!#(B"$B2/(B" $B$G$O$*$+$7$$(B) $B$H$-!#(B
-	       (and (eq char ?1) (= modulo 1)) )
-	  (setq v (concat v (cdr (assq char skk-num-alist-type2)))) )
-	;; $B0L$rI=$o$94A?t;z!#(B
-	(if (and (eq char ?0) (not (= modulo 1)))
-	    nil
-	  (when (memq modulo '(2 3 0))
-	    (setq v (concat v (cdr (assq modulo '((2 . "$B==(B") (3 . "$BI4(B") (0 . "$B@i(B")))))) )
-	  ;; $B!V==K|!W0J>e$N0L$G$=$N8e$b(B 0 $B$,B3$/$H$-!#(B
-	  (when (> len 5)
-	    (cond ((and (= modulo 2) (eq (nth 1 num) ?0))
-		   (setq num (cdr num) len (1- len) char (nth 1 num)) )
-		  ((and (= modulo 3) (eq (nth 1 num) ?0) (eq (nth 2 num) ?0))
-		   (setq num (nthcdr 2 num) len (- len 2) char (nth 2 num)) )
-		  ((and (= modulo 0) (eq (nth 1 num) ?0) (eq (nth 2 num) ?0)
-			(eq (nth 3 num) ?0) )
-		   (setq num (nthcdr 3 num) len (- len 3) char (nth 3 num)) )))
-	  (when (and (memq len '(5 9 13 17)) (not (eq prevchar ?0)))
-	    (setq v (concat
-		     v
-		     (cdr (assq len '((5 . "$BK|(B") (9 . "$B2/(B") (13 . "$BC{(B") (17 . "$B5~(B")))) )))))
-      (setq len (1- len) prevchar char num (cdr num)) )
-    v ))
+	    (unless (eq char ?0)
+	    ;; $B0l$N0L$G(B 0 $B$G$J$$?t!#(B
+	      (setq v (concat v (cdr (assq char skk-num-alist-type2)))))
+	  ;; $B0L$rI=$o$94A?t;z0J30$N4A?t;z!#(B
+	  (unless (memq char '(?0 ?1))
+	    ;; $B==$N0L0J>e$G!"$+$D(B 0, 1 $B0J30$N?t;z!#(B
+	    (setq v (concat v (cdr (assq char skk-num-alist-type2)))))
+	  ;; $B0L$rI=$o$94A?t;z!#(B
+	  (when (and (not (eq char ?0)) (memq len '(2 3 4)))
+	    (setq v
+		  (concat
+		   v
+		   (cdr (assq len '((2 . "$B==(B") (3 . "$BI4(B") (4 . "$B@i(B"))))))))
+	(setq len (1- len) num (cdr num))))
+     (t
+      (setq num (nreverse num))
+      (while num
+	(setq num1 nil)
+	(while (and (< (length num1) 4) num)
+	  (setq num1 (cons (car num) num1)
+		num (cdr num)))
+	(when num1
+	  (setq v1 (skk-num-type3-kanji-1 num1))
+	  (when (and (eq i 1) (equal v1 "$B@i(B"))
+	    ;; $BF|K\8l$G$O!V@i2/!W$H$$$&I=8=$O$H$-$K;H$o$l$k$,!"!V@iK|!W$H$$$&I=(B
+	    ;; $B8=$O$^$:;H$o$l$J$$$N$G!"!V0l@iK|!W$KD>$9!#(B
+	    (setq v1 (concat "$B0l(B" v1)))
+	  (setq
+	   v
+	   (concat
+	    v1
+	    (when v1
+	      (cdr
+	       (assq
+		i '((0 . "") (1 . "$BK|(B") (2 . "$B2/(B") (3 . "$BC{(B") (4 . "$B5~(B")))))
+	    v)))
+	(setq i (1+ i)))))
+    v))
 
 (defun skk-num-type5-kanji (num)
   ;; ascii $B?t;z(B NUM $B$r4A?t;z$NJ8;zNs$KJQ49$7(B ($B0L<h$j$r$9$k(B)$B!"JQ498e$NJ8;zNs$r(B
     (if (not (string-match "\\.[0-9]" num))
 	;; $B>.?tE@$r4^$^$J$$?t(B
         (let ((str (skk-num-type5-kanji-1 num)))
-          (if (string= "" str) "$BNm(B" str) ))))
+          (if (string= "" str) "$BNm(B" str)))))
 
 (defun skk-num-type5-kanji-1 (num)
   ;; skk-num-type5-kanji $B$N%5%V%k!<%A%s!#(B
   (let ((len (length num))
-        modulo char prevchar v )
+	(i 0)
+         char v num1 v1)
     ;; $B!V@i5~!W$^$G$O=PNO$9$k!#(B
     (when (> len 20) (skk-error "$B0L$,Bg$-$9$.$^$9!*(B" "Too big number!"))
     (setq num (append num nil))
-    (while (setq char (car num))
-      (setq modulo (mod len 4))
-      (if (= len 1)
-	  (unless (eq char ?0)
-	    (setq v (concat v (cdr (assq char skk-num-alist-type5)))) )
-	;; $B0L$rI=$o$94A?t;z0J30$N4A?t;z!#(B
-	(setq v (concat v (cdr (assq char skk-num-alist-type5))))
-	;; $B0L$rI=$o$94A?t;z!#(B
-	(if (and (eq char ?0) (not (= modulo 1)))
-	    nil
-	  (when (memq modulo '(2 3 0))
-	    (setq v (concat v (cdr (assq modulo '((2 . "$B=&(B") (3 . "$BI4(B") (0 . "$Bot(B")))))) )
-	  ;; $B!V==K|!W0J>e$N0L$G$=$N8e$b(B 0 $B$,B3$/$H$-!#(B
-	  (when (> len 5)
-	    (cond ((and (= modulo 2) (eq (nth 1 num) ?0))
-		   (setq num (cdr num) len (1- len) char (nth 1 num)) )
-		  ((and (= modulo 3) (eq (nth 1 num) ?0) (eq (nth 2 num) ?0))
-		   (setq num (nthcdr 2 num) len (- len 2) char (nth 2 num)) )
-		  ((and (= modulo 0) (eq (nth 1 num) ?0) (eq (nth 2 num) ?0)
-			(eq (nth 3 num) ?0) )
-		   (setq num (nthcdr 3 num) len (- len 3) char (nth 3 num)) )))
-	  (when (and (memq len '(5 9 13 17)) (not (eq prevchar ?0)))
-	    (setq v (concat
-		     v
-		     (cdr (assq len '((5 . "$Bh_(B") (9 . "$B2/(B") (13 . "$BC{(B") (17 . "$B5~(B")))) )))))
-      (setq len (1- len) prevchar char num (cdr num)) )
-    v ))
+    (cond
+     ((<= len 4)
+      (while (setq char (car num))
+	(if (= len 1)
+	    (unless (eq char ?0)
+	      (setq v (concat v (cdr (assq char skk-num-alist-type5)))))
+	  ;; $B0L$rI=$o$94A?t;z0J30$N4A?t;z!#(B
+	  (setq v (concat v (cdr (assq char skk-num-alist-type5))))
+	  ;; $B0L$rI=$o$94A?t;z!#(B
+	  (when (and (not (eq char ?0)) (memq len '(2 3 4)))
+	    (setq v
+		  (concat
+		   v
+		   (cdr (assq len '((2 . "$B=&(B") (3 . "$BI4(B") (4 . "$Bot(B"))))))))
+	(setq len (1- len) num (cdr num))))
+     (t
+      (setq num (nreverse num))
+      (while num
+	(setq num1 nil)
+	(while (and (< (length num1) 4) num)
+	  (setq num1 (cons (car num) num1)
+		num (cdr num)))
+	(when num1
+	  (setq v1 (skk-num-type5-kanji-1 num1))
+	  (setq
+	   v
+	   (concat
+	    v1
+	    (when v1
+	      (cdr
+	       (assq
+		i '((0 . "") (1 . "$Bh_(B") (2 . "$B2/(B") (3 . "$BC{(B") (4 . "$B5~(B")))))
+	    v)))
+	(setq i (1+ i)))))
+    v))
 
 (defun skk-num-shogi (num)
   ;; ascii $B?t;z$N(B NUM $B$r>-4}$G;HMQ$5$l$k?t;zI=5-$KJQ49$9$k!#(B
   ;; $BNc$($P(B "34" $B$r(B "$B#3;M(B" $B$KJQ49$9$k!#(B
   (save-match-data
     (if (and (= (length num) 2)
-             (not (string-match "\\.[0-9]" num)) )
+             (not (string-match "\\.[0-9]" num)))
         (let ((candidate
                (concat (cdr (assq (aref num 0) skk-num-alist-type1))
-                       (cdr (assq (aref num 1) skk-num-alist-type2)) )))
+                       (cdr (assq (aref num 1) skk-num-alist-type2)))))
           (if (not (string= candidate ""))
-              candidate )))))
+              candidate)))))
 
 (defun skk-num-recompute (num)
   ;; #4 $B$N8+=P$7$KBP$7!"(Bskk-henkan-key $B$KBeF~$5$l$??t;z$=$N$b$N$r:FEY8!:w$9$k!#(B
   (let (result)
+    (setq skk-num-recompute-key num)
     (with-temp-buffer
       ;; $B%+%l%s%H%P%C%U%!$N%P%C%U%!%m!<%+%kJQ?t$K1F6A$r5Z$\$5$J$$$h$&!"%o!<%-(B
       ;; $B%s%0%P%C%U%!$X0lC6F($2$k(B
 	    ;; $B%+%l%s%H$NJQ49$OAw$j$J$7(B (skk-henkan-okurigana $B$H(B skk-okuri-char $B$O(B
 	    ;; $B$$$:$l$b(B nil) $B$@$,!"JL%P%C%U%!(B (work $B%P%C%U%!(B) $B$KF~$C$F$$$k$N$G!"G0(B
 	    ;; $B$N$?$a!"(Bnil $B$rF~$l$F$*$/!#(B
-            skk-henkan-okurigana skk-okuri-char skk-use-numeric-conversion )
+            skk-henkan-okurigana skk-okuri-char skk-use-numeric-conversion)
         (while skk-current-search-prog-list
-          (setq result (skk-nunion result (skk-search))) )))
+          (setq result (skk-nunion result (skk-search))))))
     ;; $B$3$3$G(B temp-buffer $B$r=P$FJQ49$r9T$J$C$F$$$k%+%l%s%H%P%C%U%!$KLa$k(B
     ;; ($B%P%C%U%!%m!<%+%kCM$G$"$k(B skk-henkan-list $B$rA`:n$7$?$$$?$a(B)$B!#(B
-    (setq skk-num-recompute-key num)
     (if result
         (if (null (cdr result));;(= (length result) 1)
             (car result)
-          result )
+          result)
       ;; $BJQ49$G$-$J$+$C$?$i85$N?t;z$r$=$N$^$^JV$7$F$*$/!#(B
-      num )))
+      num)))
 
 ;;;###autoload
 (defun skk-num-uniq ()
             ;; 1 $B$D$G$b(B 2 $B7e0J>e$N?t;z$,$"$l$P!"(B#2 $B$H(B #3 $B$G$O(B uniq $B$7$J$$!#(B
             (type2and3 (> 2 (apply 'max (mapcar 'length skk-num-list))))
             type2 type3 index2 index3 head2 head3 tail2 tail3
-            case-fold-search )
+            case-fold-search)
         (while (setq n1 (1+ n1) e1 (nth n1 skk-henkan-list))
           ;; cons cell $B$G$J$1$l$P(B skk-nunion $B$G=hM}:Q$_$J$N$G!"=EJ#$O$J$$!#(B
           (if (consp e1)
               ;; (car e1) $B$H(B equal $B$N$b$N$,>C$($k$N$@$+$i(B e1 $B<+?H$,>C$($k$3(B
               ;; $B$H$O$J$$!#(B
               (setq skk-henkan-list (delete (car e1) skk-henkan-list)
-                    skk-henkan-list (delete (cdr e1) skk-henkan-list) ))
+                    skk-henkan-list (delete (cdr e1) skk-henkan-list)))
           (if (not (and skk-num-recompute-key (consp e1)))
               nil
             ;; ("#4" . "xxx") $B$r4^$`8uJd$,(B skk-henkan-list $B$NCf$K$"$k!#(B
               (if (and (not (= n1 n2)) (consp e2)
                        ;; $BNc$($P(B ("#4" . "$B0l(B") $B$H(B ("#2" . "$B0l(B") $B$,JBB8$7$F$$(B
                        ;; $B$k>l9g!#(B
-                       (string= (cdr e1) (cdr e2)) )
-                  (setq skk-henkan-list (delq e2 skk-henkan-list)) )))
+                       (string= (cdr e1) (cdr e2)))
+                  (setq skk-henkan-list (delq e2 skk-henkan-list)))))
           (if (not type2and3)
               nil
             ;; 1 $B7e$N?t;z$rJQ49$9$k:]$K!"(Bskk-henkan-list $B$K(B #2 $B%(%s%H%j$H(B #3
                    (setq type2 e1
                          index2 n1
                          head2 (substring e3 0 (match-beginning 0))
-                         tail2 (substring e3 (match-end 0)) ))
+                         tail2 (substring e3 (match-end 0))))
                   ((string-match "#3" e3)
                    (setq type3 e1
                          index3 n1
                          head3 (substring e3 0 (match-beginning 0))
-                         tail3 (substring e3 (match-end 0)) )))))
+                         tail3 (substring e3 (match-end 0)))))))
         (if (and type2and3 type2 type3
                  ;; $B?tCMJQ49$r<($9J8;zNs(B "#[23]" $B$NA08e$NJ8;zNs$bF10l$N$H(B
                  ;; $B$-$N$_(B uniq $B$r9T$J$&!#(B
                 (setq skk-henkan-list (delq type2 skk-henkan-list))
               ;; $BJQ?t(B type[23] $B$NCM$O!"(Bskk-henkan-list $B$+$iD>@\Cj=P$7$?$b(B
               ;; $B$N$@$+$i(B delete $B$G$J$/!"(Bdelq $B$G==J,!#(B
-              (setq skk-henkan-list (delq type3 skk-henkan-list)) ))))))
+              (setq skk-henkan-list (delq type3 skk-henkan-list))))))))
 
 ;;;###autoload
 (defun skk-num-process-user-minibuf-input (key)
-  (let (numexp orglen val)
-    (if (or (and (string-match "#[012349]" key)
-                 (setq numexp key) )
-            (and (setq numexp (skk-num-rawnum-exp key))
-                 (not (string= key numexp)) ))
-        (progn
-          (setq orglen (length skk-henkan-list)
-                ;; skk-henkan-list $B$ND4@0$O!"(Bskk-num-convert $B$NCf$G9T$J$C(B
-                ;; $B$F$/$l$k!#(B
-                val (skk-num-convert numexp) )
-          (if (= (length skk-henkan-list) (1+ orglen))
-              ;; #4 $B$GJ#?t$N8uJd$KJQ49$G$-$?>l9g$O3NDj$7$J$$!#(B
-              (setq skk-kakutei-flag t) ))
-      (setq skk-henkan-list (nconc skk-henkan-list (list key))
-            skk-kakutei-flag t
-            val key ))
-    val ))
+  (save-match-data
+    (let (numexp orglen val)
+      (if (or (and (string-match "#[012349]" key)
+		   (setq numexp key))
+	      (and (setq numexp (skk-num-rawnum-exp key))
+		   (not (string= key numexp))))
+	  (progn
+	    (setq orglen (length skk-henkan-list)
+		  ;; skk-henkan-list $B$ND4@0$O!"(Bskk-num-convert $B$NCf$G9T$J$C(B
+		  ;; $B$F$/$l$k!#(B
+		  val (skk-num-convert numexp))
+	    (if (= (length skk-henkan-list) (1+ orglen))
+		;; #4 $B$GJ#?t$N8uJd$KJQ49$G$-$?>l9g$O3NDj$7$J$$!#(B
+		(setq skk-kakutei-flag t)))
+	(setq skk-henkan-list (nconc skk-henkan-list (list key))
+	      skk-kakutei-flag t
+	      val key))
+      val)))
 
 ;;;###autoload
 (defun skk-num-initialize ()
   (setq skk-last-henkan-data
 	(put-alist 'num-list skk-num-list skk-last-henkan-data)
 	skk-num-list nil
-        skk-num-recompute-key nil ))
+        skk-num-recompute-key nil))
 
 ;;;###autoload
 (defun skk-num-henkan-key ()
   ;; type4 $B$N?tCM:FJQ49$,9T$J$o$l$?$H$-$O!"?tCM<+?H$rJV$7!"$=$l0J30$N?tCMJQ49(B
   ;; $B$G$O!"(Bskk-henkan-key $B$rJV$9!#(B
-  (or skk-num-recompute-key skk-henkan-key) )
+  (or skk-num-recompute-key skk-henkan-key))
 
 ;;;###autoload
 (defun skk-num-update-jisyo (noconvword word &optional purge)
   ;; $B?t;z<+?H$r8+=P$78l$H$7$F<-=q$N%"%C%W%G!<%H$r9T$J$&!#(B
   (if (and skk-num-recompute-key
-           (save-match-data (string-match "#4" noconvword)) )
-      (let ((skk-henkan-key skk-num-recompute-key))
-	(message "%S" skk-num-recompute-key)
-        (skk-update-jisyo word purge) )))
+           (save-match-data (string-match "#4" noconvword)))
+      (with-current-buffer (skk-get-jisyo-buffer skk-jisyo 'nomsg)
+	(let ((skk-henkan-key skk-num-recompute-key)
+	      skk-use-numeric-conversion)
+	  (skk-update-jisyo word purge)))))
 
+;;;###autoload
 (defun skk-num (str)
   ;; $B?t;z$r(B skk-number-style $B$NCM$K=>$$JQ49$9$k!#(B
   ;; skk-current-date $B$N%5%V%k!<%A%s!#(B
 	      (lambda (c)
 		(cond ((or (not skk-number-style)
 			   (and (numberp skk-number-style)
-				(= skk-number-style 0) ))
-		       (char-to-string c) )
+				(= skk-number-style 0)))
+		       (char-to-string c))
 		      ((or (eq skk-number-style t)
 			   (and (numberp skk-number-style)
-				(= skk-number-style 1) ))
-		       (cdr (assq c skk-num-alist-type1)) )
-		      (t (cdr (assq c skk-num-alist-type2))) )))
-	     str "" ))
+				(= skk-number-style 1)))
+		       (cdr (assq c skk-num-alist-type1)))
+		      (t (cdr (assq c skk-num-alist-type2))))))
+	     str ""))
 
 (run-hooks 'skk-num-load-hook)
 
 ; SKK tutorial for SKK version 10.46 and later versions
 ;; Copyright (C) 1988, 1989, 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997,
-;;               1998, 1999
+;;               1998, 1999, 2000
 ;; Masahiko Sato <masahiko@kuis.kyoto-u.ac.jp>
 
 ;; Author: Masahiko Sato <masahiko@kuis.kyoto-u.ac.jp>
 
 ;; User variables.  prefix should be `skk-tut-'.
 (defcustom skk-tut-file 
-  (locate-data-file "SKK.tut")
+  (static-cond ((eq skk-emacs-type 'xemacs) (locate-data-file "SKK.tut"))
+	       (t "/usr/local/share/skk/SKK.tut"))
   "*SKK $B%A%e!<%H%j%"%k$N%U%!%$%kL>!#(B
 The English version is SKK.tut.E."
   :type 'file
 				 global-map)
       (substitute-key-definition 'canna-self-insert-command 'skk-insert map
 				 global-map)
+      (substitute-key-definition 'canna-henkan-region-or-self-insert
+				 'skk-insert map global-map)
       (substitute-key-definition 'can-n-egg-self-insert-command 'skk-insert map
 				 global-map)
       (define-key map "x" 'skk-previous-candidate)
       (define-key map "\C-j" 'skk-kakutei)
       (define-key map "\t" 'skk-insert)
-      (setq skktut-j-mode-map map) ))
+      (setq skktut-j-mode-map map)))
 
 (defvar skktut-jisx0208-latin-mode-map nil
   "SKK $B%A%e!<%H%j%"%kA43Q1Q?t;z%b!<%I%-!<%^%C%W!#(B" )
 
 (or skktut-jisx0208-latin-mode-map
     (let ((map (make-sparse-keymap))
-	  (i 0) )
+	  (i 0))
       (while (< i 128)
 	(if (aref skk-jisx0208-latin-vector i)
-	    (define-key map (char-to-string i) 'skk-jisx0208-latin-insert) )
-	(setq i (1+ i)) )
+	    (define-key map (char-to-string i) 'skk-jisx0208-latin-insert))
+	(setq i (1+ i)))
       (define-key map "\C-j" 'skk-kakutei)
-      (setq skktut-jisx0208-latin-mode-map map) ))
+      (setq skktut-jisx0208-latin-mode-map map)))
 
 (defvar skktut-abbrev-mode-map nil
-  "SKK $B%A%e!<%H%j%"%k(B Abbrev $B%b!<%I%-!<%^%C%W!#(B" )
+  "SKK $B%A%e!<%H%j%"%k(B Abbrev $B%b!<%I%-!<%^%C%W!#(B")
 
 (or skktut-abbrev-mode-map
     (let ((map (make-sparse-keymap)))
       (define-key map "\C-j" 'skk-kakutei)
       (define-key map " " 'skk-start-henkan)
       (define-key map "\t" 'skk-try-completion)
-      (setq skktut-abbrev-mode-map map) ))
+      (setq skktut-abbrev-mode-map map)))
 
 ;; -- macros
 (defmacro skktut-message (japanese english &rest arg)
        (= skktut-question-count 1)
        (skktut-error "$B$3$N%-!<$O$^$@;H$($^$;$s(B" "Cannot use this key yet" ) ))
 
+;;; XXX interactive subr with args.
 (defadvice kill-buffer (around skktut-ad disable)
   "SKK $B%A%e!<%H%j%"%kMQ%"%I%P%$%9IU!#(B"
+  (interactive "bKill buffer: ")
   (cond ((or (not (interactive-p))
 	     (null (member (ad-get-arg 0) (list skktut-working-buffer
 						skktut-question-buffer
      (if skktut-japanese-tut
 	 (concat "SKK $B%A%e!<%H%j%"%k$O$3$l$G=*$j$G$9!#(B\n\n"
 		 "SKK 10.x $B$K4X$9$k<ALd!"%3%a%s%H!"(Bbug report $BEy$O(B\n\n"
-		 "\tskk-develop@kuis.kyoto-u.ac.jp\n\n"
-		 "$BKx$*Aw$j2<$5$$!#$J$*!"$3$N%"%I%l%9$O3+H/<TMQ(B SKK $B%a%$%j%s%0(B"
-		 "$B%j%9%H$N%"%I%l%9$G$9!#(B\n"
+		 "\tskk@ring.gr.jp\n\n"
+		 "$BKx$*Aw$j2<$5$$!#$J$*!"$3$N%"%I%l%9$O(B SKK Ring Server Openlab $B%a%$%j%s%0(B"
+ 		 "$B%j%9%H$N%"%I%l%9$G$9!#(B\n"
 		 "$B2sEz$ODL>o$3$N%"%I%l%9$KBP$7$F$J$5$l$k$N$G!"%a%s%P!<$G$J$$(B"
 		 "$BJ}$O$=$N;]$rL@5-$7$F(B\n"
-		 "$B%a!<%k$r$*Aw$j$/$@$5$$!#3+H/<TMQ(B SKK $B%a%$%j%s%0%j%9%H$X;2(B"
+		 "$B%a!<%k$r$*Aw$j$/$@$5$$!#(BSKK Ring Server Openlab $B%a%$%j%s%0%j%9%H$X;2(B"
 		 "$B2C4uK>$N>l9g$O(B\n\n"
-		 "\tskk-develop-join@kuis.kyoto-u.ac.jp\n\n"
+		 "\tskk-request@ring.gr.jp\n\n"
 		 "$B$X%a!<%k$r$*Aw$j$/$@$5$$(B\n\n"
 		 "!! $B:G8e$K(B <return> $B%-!<$r2!$7$F$/$@$5$$!#(B" )
        (concat "Now we end the SKK tutorial.\n\n"
 	       "Please send comments, questions and bug reports on SKK "
 	       "version 10.x to:\n\n"
-	       "\tskk-develop@kuis.kyoto-u.ac.jp\n\n"
-	       "This is the address of the SKK developers mailing list, and "
+	       "\tskk@ring.gr.jp\n\n"
+	       "This is the address of the SKK Ring Server Openlab mailing list, and "
 	       "normally the responces\n"
 	       "will be sent only to the ML members.  So, if you are not a ML "
 	       "member, please say so \n"
-	       "in your mail. If you are interested in joining the SKK "
-	       "developers ML, send a mail to:\n\n"
-	       "\tskk-develop-join@kuis.kyoto-u.ac.jp\n\n"
+	       "in your mail. If you are interested in joining the SKK Ring Server "
+	       "Openlab ML, send a mail to:\n\n"
+	       "\tskk-request@ring.gr.jp\n\n"
 	       "!! Hit <return> key when you are ready." )))
     (if skk-tut-use-face
 	(save-match-data
 
 ;;; Commentary:
 ;;
-;; SKK-MODE is a mode for inputting Japanese to a current buffer which is 
+;; SKK-MODE is a mode for inputting Japanese to a current buffer which is
 ;; composed of four minor modes described below.
 ;;
 ;;      +----------------------+-------- skk-mode -----+----------------------+
 ;;                  (C-j wakes up skk-j-mode)   (ZEN'KAKU EIMOJI)
 ;;
 ;; skk-j-mode-map     skk-latin-mode-map  skk-jisx0208-latin-mode-map skk-abbrev-mode-map
-;; skk-katakana: nil 
+;; skk-katakana: nil
 ;;   HIRAKANA
 ;;
 ;;  skk-j-mode-map
 ;;; Code:
 (require 'skk-foreword)
 
-(defconst skk-version "10.60")
+(defconst skk-version "10.62a")
 (defconst skk-major-version (string-to-int (substring skk-version 0 2)))
 (defconst skk-minor-version (string-to-int (substring skk-version 3)))
 
         (message "SKK version %s of %s, APEL inside"
                  skk-version
                  (concat (car (rassoc month skk-month-alist))
-                         " " date ", " year ))))))
+                         " " date ", " year))))))
 
 ;;;; variables declaration
 ;;; user variables
 (defgroup skk nil "SKK basic customization."
   :prefix "skk-"
   :group 'japanese
-  :group 'input-method )
+  :group 'input-method)
 
 (defgroup skk-faces nil
   "Faces used by SKK."
   "*$B@\F,<-!"@\Hx<-$NF~NO$N$?$a$N%W%l%U%#%C%/%9%-!<!"%5%U%#%C%/%9%-!<$N%j%9%H!#(B"
   ;;  "*List of prefix and suffix keys for entering `settoji' and `setsubiji'."
   :type '(repeat character)
-  :group 'skk )
+  :group 'skk)
 
 (defcustom skk-mode-hook nil
   "*SKK $B$r5/F0$7$?$H$-$N%U%C%/!#(B
   ;;skk-auto-fill-mode-hook, skk-load-hook, skk-init-file may also be used
   ;;for customization."
   :type 'hook
-  :group 'skk )
+  :group 'skk)
 
 (defcustom skk-auto-fill-mode-hook nil
   "*skk-auto-fill-mode $B$r5/F0$7$?$H$-$N%U%C%/!#(B
   ;;skk-mode-hook$B!"(Bskk-load-hook, skk-init-file may also be used for
   ;;customization."
   :type 'hook
-  :group 'skk )
+  :group 'skk)
 
 (defcustom skk-load-hook nil
   "*skk.el $B$r%m!<%I$7$?$H$-$N%U%C%/!#(B
   ;;skk-auto-fill-mode-hook$B!"(Bskk-mode-hook, skk-init-file may also be used
   ;;for customization."
   :type 'hook
-  :group 'skk )
+  :group 'skk)
 
 (defcustom skk-search-end-function nil
   "*$BC18l8!:w=*N;;~$K%3!<%k$5$l$k4X?t!#(B
 $B$3$N4X?t$O!"<-=q%P%C%U%!$G%3!<%k$5$l$k$N$G!"JQ49$r9T$J$C$?%P%C%U%!%m!<%+%k$J>pJs$r(B
 $B<h$j=P$7$?$$$H$-$O!"(BHENKAN-BUFFER $B$rMxMQ$9$k!#(B"
   :type '(choice function (const nil))
-  :group 'skk )
- 
+  :group 'skk)
+
 (defcustom skk-update-end-function nil
   "*$B8D?M<-=q$N99?7=*N;;~$K%3!<%k$5$l$k4X?t!#(B
 HENKAN-BUFFER, MIDASI, OKURIGANA, WORD, PURGE $B$N(B 5 $B0z?t$rH<$J$C$F%3!<%k$5$l$k!#(B
 skk-kakutei-initialize $B$,%3!<%k$5$l$kA0$K$3$N4X?t$,%3!<%k$5$l$k$N$G!":G8e$N3NDj(B
 $B$K4X$9$k%U%i%0N`$O!"$3$N4X?t$NCf$+$i;2>H$9$k$3$H$,$G$-$k!#(B"
   :type '(choice function (const nil))
-  :group 'skk )
-  
+  :group 'skk)
+
 (defcustom skk-kakutei-end-function nil
   "*$B3NDj;~$K%3!<%k$5$l$k4X?t!#(B
 KAKUTEI-WORD $B0z?t$rH<$J$C$F!"JQ49$r9T$J$C$?%P%C%U%!$G%3!<%k$5$l$k!#(B
 skk-kakutei-initialize $B$,%3!<%k$5$l$kA0$K$3$N4X?t$,%3!<%k$5$l$k$N$G!":G8e$N3NDj(B
-$B$K4X$9$k%U%i%0N`$O!"$3$N4X?t$NCf$+$i;2>H$9$k$3$H$,$G$-$k!#(B" 
+$B$K4X$9$k%U%i%0N`$O!"$3$N4X?t$NCf$+$i;2>H$9$k$3$H$,$G$-$k!#(B"
   :type '(choice function (const nil))
-  :group 'skk )
+  :group 'skk)
 
 (defcustom skk-kakutei-jisyo nil
   "*$B:G=i$K8!:w$9$k<-=q!#(B
   ;;By setting the value of `skk-search-prog-list' the dictionaries
   ;;searched and the order of search can be changed."
   :type '(choice file (const nil))
-  :group 'skk )
+  :group 'skk)
 
 (defcustom skk-initial-search-jisyo nil
   "*$B%f!<%6!<<-=q$N8!:w$NA0$K8!:w$9$k<-=q!#(B
   ;;By setting the value of `skk-search-prog-list' the dictionaries
   ;;searched and the order of search can be changed."
   :type '(choice file (const nil))
-  :group 'skk )
+  :group 'skk)
 
 (defcustom skk-large-jisyo nil
   "*$B%f!<%6!<<-=q$N8!:w$N8e$K8!:w$9$k<-=q!#(B
 Non-nil $B$G!"$+$D(B skk-search-prog-list $B$NMWAG$NCf$K$3$NJQ?t$,;HMQ$5$l$F$$$l$P!"(B
 $B;XDj$5$l$?<-=q$r8!:w$N$?$a%P%C%U%!$KFI$_9~$_!"8!:w$r9T$J$&!#(B
 skk-search-prog-list $B$NCM$r@_Dj$9$k$3$H$K$h$j!"8!:wBP>]$N<-=q$NJQ99!"8!:w$N=g(B
-$B=x$NJQ99$,2DG=!#(B" 
+$B=x$NJQ99$,2DG=!#(B"
   :type '(choice file (const nil))
-  :group 'skk )
+  :group 'skk)
 
 (defcustom skk-aux-large-jisyo nil
   "*SKK $B%5!<%P!<$G:G8e$K8!:w$9$k<-=q!#(B
 SKK $B%5!<%P!<$,(B active $B$G$J$1$l$P!";XDj$5$l$?<-=q$r%P%C%U%!$KFI$_9~$`!#(B
 skk-search-prog-list $B$NCM$r@_Dj$9$k$3$H$K$h$j!"8!:wBP>]$N<-=q$NJQ99!"8!:w$N=g(B
 $B=x$NJQ99$,2DG=!#(B
-$B$3$NCM$r@_Dj$9$k$3$H$K$h$j!"(Bskk-server.el $B$,(B autoload $B$5$l$k!#(B" 
+$B$3$NCM$r@_Dj$9$k$3$H$K$h$j!"(Bskk-server.el $B$,(B autoload $B$5$l$k!#(B"
   :type '(choice file (const nil))
-  :group 'skk )
+  :group 'skk)
 
 (defcustom skk-search-prog-list
   '((skk-search-kakutei-jisyo-file skk-kakutei-jisyo 10000 t)
     (skk-search-jisyo-file skk-large-jisyo 10000)
     ;; skk-server.el $B$r%m!<%I$9$k$H2<5-$NMWAG$,%W%i%9$5$l$k!#(B
     ;;(skk-search-server skk-aux-large-jisyo 10000)
-    ;; skk-server-host $B$b$7$/$O(B skk-servers-list $B$r;XDj$9$k$H!"(Bskk-server.el 
+    ;; skk-server-host $B$b$7$/$O(B skk-servers-list $B$r;XDj$9$k$H!"(Bskk-server.el
     ;; $B$,(B autoload $B$5$l$k!#(B
-    )
+   )
   "*$B8!:w4X?t!"8!:wBP>]$N<-=q$r7hDj$9$k$?$a$N%j%9%H!#(B
 $BJQ49$7$?8uJd$rJV$9(B S $B<0$r%j%9%H$N7A$KI=5-$7$?$b$N!#(B
 skk-search $B4X?t$,(B skk-search-prog-list $B$N(B car $B$+$i8eJ}8~$X=gHV$K(B S $B<0$NI>2A$r(B
-$B9T$$JQ49$r9T$J$&!#(B" 
+$B9T$$JQ49$r9T$J$&!#(B"
   :type '(repeat
 	  (list (function :tag "Search function")
 		(choice :tag "Dictionary" file (const nil))
 			integer (const nil))
 		(choice :tag "Quietly reading dictionary to Emacs buffer"
 			(const t) (const nil))))
-  :group 'skk )
+  :group 'skk)
 
 (defcustom skk-jisyo (convert-standard-filename "~/.skk-jisyo")
-  "*SKK $B$N%f!<%6!<<-=q!#(B" 
+  "*SKK $B$N%f!<%6!<<-=q!#(B"
   :type 'file
-  :group 'skk )
+  :group 'skk)
 
 (defcustom skk-backup-jisyo (convert-standard-filename "~/.skk-jisyo.BAK")
-  "*SKK $B$N%f!<%6!<<-=q$N%P%C%/%"%C%W%U%!%$%k!#(B" 
+  "*SKK $B$N%f!<%6!<<-=q$N%P%C%/%"%C%W%U%!%$%k!#(B"
   :type 'file
-  :group 'skk )
+  :group 'skk)
 
 (defcustom skk-jisyo-code nil
   "*Non-nil $B$G$"$l$P!"$=$NCM$G<-=q%P%C%U%!$N4A;z%3!<%I$r@_Dj$9$k!#(B
 Mule $B$G$O!"(B*euc-japan*, *sjis*, *junet*$B!#(B
-$B$^$?!"(B\"euc\", \"ujis\", \"sjis\", \"jis\" $B$J$I$NJ8;zNs$K$h$C$F$b;XDj$,2DG=!#(B" 
+$B$^$?!"(B\"euc\", \"ujis\", \"sjis\", \"jis\" $B$J$I$NJ8;zNs$K$h$C$F$b;XDj$,2DG=!#(B"
   :type '(choice symbol string)
-  :group 'skk )
+  :group 'skk)
 
 (defcustom skk-keep-record t
   "*Non-nil $B$G$"$l$P!"JQ49$K4X$9$k5-O?$r(B skk-record-file $B$K<h$k!#(B"
   :type 'boolean
-  :group 'skk )
+  :group 'skk)
 
 (defcustom skk-record-file (convert-standard-filename "~/.skk-record")
   "*$B%f!<%6!<<-=q$NE}7W$r<h$k%U%!%$%k!#(B
 $B<-=q%;!<%V$N;~9o!"C18l$NEPO??t!"3NDj$r9T$C$?2s?t!"3NDjN(!"A4BN$N8l?t$N(B
-$B>pJs$r<}$a$k!#(B" 
+$B>pJs$r<}$a$k!#(B"
   :type 'file
-  :group 'skk )
+  :group 'skk)
 
 (defcustom skk-kakutei-key "\C-j"
   "*$B4A;zJQ49$N3NDjF0:n$r9T$&%-!<!#(B"
   :type 'string
-  :group 'skk )
+  :group 'skk)
 
 (defcustom skk-previous-candidate-char ?x
-  "*skk-previous-candidate $B$r3dEv$F$?%-!<%-%c%i%/%?!#(B" 
+  "*skk-previous-candidate $B$r3dEv$F$?%-!<%-%c%i%/%?!#(B"
   :type 'character
-  :group 'skk )
-
-(defcustom skk-try-completion-char ?\011 ; TAB 
-  "*$B8+=P$78l$NJd40F0:n$r9T$J$&%-!<%-%c%i%/%?!#(B" 
+  :group 'skk)
+
+(defcustom skk-try-completion-char ?\011 ; TAB
+  "*$B8+=P$78l$NJd40F0:n$r9T$J$&%-!<%-%c%i%/%?!#(B"
   :type 'character
-  :group 'skk )
+  :group 'skk)
 
 (defcustom skk-next-completion-char ?.
-  "*$B8+=P$78l$NJd40F0:n$G!"<!$N8uJd$r=PNO$9$k%-!<%-%c%i%/%?!#(B" 
+  "*$B8+=P$78l$NJd40F0:n$G!"<!$N8uJd$r=PNO$9$k%-!<%-%c%i%/%?!#(B"
   :type 'character
-  :group 'skk )
+  :group 'skk)
 
 (defcustom skk-previous-completion-char ?,
-  "*$B8+=P$78l$NJd40F0:n$G!"A0$N8uJd$r=PNO$9$k%-!<%-%c%i%/%?!#(B" 
+  "*$B8+=P$78l$NJd40F0:n$G!"A0$N8uJd$r=PNO$9$k%-!<%-%c%i%/%?!#(B"
   :type 'character
-  :group 'skk )
+  :group 'skk)
 
 (defcustom skk-start-henkan-char ?\040	; SPC
-  "*$B4A;zJQ49$r3+;O$9$k%-!<%-%c%i%/%?!#(B" 
+  "*$B4A;zJQ49$r3+;O$9$k%-!<%-%c%i%/%?!#(B"
   :type 'character
-  :group 'skk )
+  :group 'skk)
 
 (defcustom skk-start-henkan-with-completion-char ?\240 ; M-SPC
-  "*$B8+=P$78l$rJd40$7$J$,$i"'%b!<%I$KF~$k%-!<%-%c%i%/%?!#(B" 
+  "*$B8+=P$78l$rJd40$7$J$,$i"'%b!<%I$KF~$k%-!<%-%c%i%/%?!#(B"
   :type 'character
-  :group 'skk )
+  :group 'skk)
 
 (defcustom skk-backward-and-set-henkan-point-char ?\321 ; M-Q
-  "*$B%]%$%s%H$rLa$7$F"&%b!<%I$KF~$k%-!<%-%c%i%/%?!#(B" 
+  "*$B%]%$%s%H$rLa$7$F"&%b!<%I$KF~$k%-!<%-%c%i%/%?!#(B"
   :type 'character
-  :group 'skk )
+  :group 'skk)
 
 (defcustom skk-use-viper nil
-  "*Non-nil $B$G$"$l$P!"(BVIPER $B$KBP1~$9$k!#(B" 
+  "*Non-nil $B$G$"$l$P!"(BVIPER $B$KBP1~$9$k!#(B"
   :type 'boolean
-  :group 'skk )
+  :group 'skk)
 
 (defcustom skk-henkan-okuri-strictly nil
   "*Non-nil $B$G$"$l$P!"8+=P$78l$HAw$j2>L>$,0lCW$7$?$H$-$@$18uJd$H$7$F=PNO$9$k!#(B
                        \(setq skk-henkan-okuri-strictly t\) \)\)\)\)\)
 
 $B$3$N%*%W%7%g%sMxMQ;~$O!"(Bskk-process-okuri-early $B$NCM$O(B nil $B$G$J$1$l$P$J$i$J$$(B
-\($B%a%K%e!<%P!<$rMxMQ$7$F%+%9%?%^%$%:$7$?>l9g$O<+F0E*$KD4@0$5$l$k(B\)$B!#(B" 
+\($B%a%K%e!<%P!<$rMxMQ$7$F%+%9%?%^%$%:$7$?>l9g$O<+F0E*$KD4@0$5$l$k(B\)$B!#(B"
   :type 'boolean
-  :group 'skk )
+  :group 'skk)
 
 (defcustom skk-henkan-strict-okuri-precedence nil
   "*Non-nil $B$G$"$l$P!"8+=P$78l$HAw$j2>L>$,0lCW$7$?8uJd$rM%@h$7$FI=<($9$k!#(B
 $B$^$?(B skk-henkan-okuri-strictly $B$,(B non-nil $B$N$H$-$O!"$3$NJQ?t$OL5;k$5$l$k!#(B
 \($B%a%K%e!<%P!<$rMxMQ$7$F%+%9%?%^%$%:$7$?>l9g$O<+F0E*$KD4@0$5$l$k(B\)$B!#(B"
   :type 'boolean
-  :group 'skk )
- 
+  :group 'skk)
+
 (defcustom skk-auto-okuri-process nil
   "*Non-nil $B$G$"$l$P!"Aw$j2>L>ItJ,$r<+F0G'<1$7$FJQ49$r9T$&!#(B
 $BNc$($P!"(B
 $B$F$$$J$$$N$G!"(Bskk-jisyo $B$K$3$N%(%s%H%j$,$J$1$l$P$J$i$J$$(B\)$B!#(B
 
 $B$3$N%*%W%7%g%sMxMQ;~$O!"(Bskk-process-okuri-early $B$NCM$O(B nil $B$G$J$1$l$P$J$i$J$$(B
-\($B%a%K%e!<%P!<$rMxMQ$7$F%+%9%?%^%$%:$7$?>l9g$O<+F0E*$KD4@0$5$l$k(B\)$B!#(B" 
+\($B%a%K%e!<%P!<$rMxMQ$7$F%+%9%?%^%$%:$7$?>l9g$O<+F0E*$KD4@0$5$l$k(B\)$B!#(B"
   :type 'boolean
-  :group 'skk )
+  :group 'skk)
 
 (defcustom skk-process-okuri-early nil
   "*Non-nil $B$G$"$l$P!"Aw$j2>L>$N%m!<%^;z%W%l%U%#%C%/%9$NF~NO;~E@$GJQ49$r3+;O$9$k!#(B
 
 $B$3$N%*%W%7%g%s$r(B on $B$K$7$F(B skk-mode $B$r5/F0$9$k$H!"N>N)$G$-$J$$%*%W%7%g%s$G$"$k(B
 skk-kakutei-early, skk-auto-okuri-process, skk-henkan-okuri-strictly $B$O(B nil $B$K(B
-$B%;%C%H$5$l$k!#(B" 
+$B%;%C%H$5$l$k!#(B"
   :type 'boolean
-  :group 'skk )
+  :group 'skk)
 
 (defcustom skk-egg-like-newline nil
-  "*Non-nil $B$G$"$l$P!""'%b!<%I$G2~9T$r%?%$%W$7$F$b3NDj$9$k$N$_$G2~9T$7$J$$!#(B" 
+  "*Non-nil $B$G$"$l$P!""'%b!<%I$G2~9T$r%?%$%W$7$F$b3NDj$9$k$N$_$G2~9T$7$J$$!#(B"
   :type 'boolean
-  :group 'skk )
+  :group 'skk)
 
 (defcustom skk-kakutei-early t
   "*Non-nil $B$G$"$l$P(B skk-insert $B$,8F$P$l$?$H$-$K8=:_$N8uJd$r3NDj$9$k!#(B
 $B$=$N4V$O!"JQ498uJd$rA*$S$J$*$9$3$H$J$I$,2DG=!#(B
 
 $B$3$N%*%W%7%g%sMxMQ;~$O!"(Bskk-process-okuri-early $B$NCM$O(B nil $B$G$J$1$l$P$J$i$J$$(B
-\($B%a%K%e!<%P!<$rMxMQ$7$F%+%9%?%^%$%:$7$?>l9g$O<+F0E*$KD4@0$5$l$k(B\)$B!#(B" 
+\($B%a%K%e!<%P!<$rMxMQ$7$F%+%9%?%^%$%:$7$?>l9g$O<+F0E*$KD4@0$5$l$k(B\)$B!#(B"
   :type 'boolean
-  :group 'skk )
+  :group 'skk)
 
 (defcustom skk-delete-implies-kakutei t
   "*Non-nil $B$G$"$l$P!""'%b!<%I$G(B BS $B$r2!$9$H!"A0$N0lJ8;z$r:o=|$73NDj$9$k!#(B
 nil $B$G$"$l$P!"0l$DA0$N8uJd$rI=<($9$k!#(B"
   :type 'boolean
-  :group 'skk )
+  :group 'skk)
 
 (defcustom skk-allow-spaces-newlines-and-tabs t
   "*Non-nil $B$G$"$l$P!"8+=P$78l$NCf$K%9%Z!<%9!"%?%V!"2~9T$,$"$C$F$b$=$l$r<h$j=|$$$FJQ49$9$k$3$H$,2DG=!#(B
 skk-hiragana-henkan, skk-jisx0208-latin-henkan $B5Z$S(B
 skk-backward-and-set-henkan-point $B$NF0:n$K1F6A$9$k!#(B"
   :type 'boolean
-  :group 'skk )
+  :group 'skk)
 
 (defcustom skk-convert-okurigana-into-katakana nil
-  "*Non-nil $B$G$"$l$P!"%+%?%+%J%b!<%I$GJQ49$7$?$H$-$KAw$j2>L>$b%+%?%+%J$KJQ49$9$k!#(B" 
+  "*Non-nil $B$G$"$l$P!"%+%?%+%J%b!<%I$GJQ49$7$?$H$-$KAw$j2>L>$b%+%?%+%J$KJQ49$9$k!#(B"
   :type 'boolean
-  :group 'skk )
+  :group 'skk)
 
 (defcustom skk-delete-okuri-when-quit nil
   "*Non-nil $B$G$"$l$P!"Aw$j$"$j$NJQ49Cf$K(B \"C-g\" $B$r2!$9$HAw$j2>L>$r>C$7"&%b!<%I$KF~$k!#(B
 
 nil $B$G$"$l$P!"Aw$j2>L>$r4^$a$?8+=P$78l$r$=$N$^$^;D$7!""#%b!<%I$KF~$k!#Nc$($P!"(B
 
-    \"$B"&$J(B*$B$/(B -> $B"'5c$/(B -> \"C-g\" -> $B$J$/(B\"" 
+    \"$B"&$J(B*$B$/(B -> $B"'5c$/(B -> \"C-g\" -> $B$J$/(B\""
   :type 'boolean
-  :group 'skk )
+  :group 'skk)
 
 (defcustom skk-henkan-show-candidates-keys '(?a ?s ?d ?f ?j ?k ?l)
   "*$B%a%K%e!<7A<0$G8uJd$rA*Br$9$k$H$-$NA*Br%-!<$N%j%9%H!#(B
 $B$k!#(B\"x\", \" \" $B5Z$S(B \"C-g\" $B$O8uJdA*Br;~$K$=$l$>$lFCJL$J;E;v$K3d$jEv(B
 $B$F$i$l$F$$$k$N$G!"$3$N%j%9%H$NCf$K$O4^$a$J$$$3$H!#(B"
   :type '(repeat character)
-  :group 'skk )
+  :group 'skk)
 
 (defcustom skk-status-indicator 'minor-mode
   "*SKK $B$N>uBV$r%b!<%I9T$N$I$3$KI=<($9$k$+$r7h$a$k!#(B
 $B$5$b$J$1$l$P%^%$%J!<%b!<%I$H$7$F$NI=<(K!$r<h$k!#(B"
   :type '(choice (const minor-mode)
 		 (const left))
-  :group 'skk )
+  :group 'skk)
 
 (defcustom skk-latin-mode-string " SKK"
-  "*SKK $B$,(B latin (ascii) $B%b!<%I$G$"$k$H$-$K%b!<%I%i%$%s$KI=<($5$l$kJ8;zNs!#(B" 
+  "*SKK $B$,(B latin (ascii) $B%b!<%I$G$"$k$H$-$K%b!<%I%i%$%s$KI=<($5$l$kJ8;zNs!#(B"
   :type 'string
-  :group 'skk )
+  :group 'skk)
 
 (defcustom skk-hiragana-mode-string " $B$+$J(B"
   "*$B$R$i$,$J%b!<%I$G$"$k$H$-$K%b!<%I%i%$%s$KI=<($5$l$kJ8;zNs!#(B"
   :type 'string
-  :group 'skk )
+  :group 'skk)
 
 (defcustom skk-katakana-mode-string " $B%+%J(B"
   "*$B%+%?%+%J%b!<%I$G$"$k$H$-$K%b!<%I%i%$%s$KI=<($5$l$kJ8;zNs!#(B"
   :type 'string
-  :group 'skk )
+  :group 'skk)
 
 (defcustom skk-jisx0208-latin-mode-string " $BA41Q(B"
   "*$BA41Q%b!<%I$G$"$k$H$-$K%b!<%I%i%$%s$KI=<($5$l$kJ8;zNs!#(B"
   :type 'string
-  :group 'skk )
+  :group 'skk)
 
 (defcustom skk-abbrev-mode-string " a$B$"(B"
   "*SKK abbrev $B%b!<%I$G$"$k$H$-$K%b!<%I%i%$%s$KI=<($5$l$kJ8;zNs!#(B"
   :type 'string
-  :group 'skk )
+  :group 'skk)
 
 (defcustom skk-echo t
-  "*Non-nil $B$G$"$l$P!"2>L>J8;z$N%W%l%U%#%C%/%9$rI=<($9$k!#(B" 
+  "*Non-nil $B$G$"$l$P!"2>L>J8;z$N%W%l%U%#%C%/%9$rI=<($9$k!#(B"
   :type 'boolean
-  :group 'skk )
+  :group 'skk)
 
 (defcustom skk-use-numeric-conversion t
-  "*Non-nil $B$G$"$l$P!"?tCMJQ49$r9T$&!#(B" 
+  "*Non-nil $B$G$"$l$P!"?tCMJQ49$r9T$&!#(B"
   :type 'boolean
-  :group 'skk )
+  :group 'skk)
 
 (defcustom skk-rom-kana-base-rule-list
   '(("a" nil ("$B%"(B" . "$B$"(B"))
     ("$" nil skk-display-code-for-char-at-point)
     ("@" nil skk-today)
     ("\\" nil skk-input-by-code-or-menu)
-    )
+   )
   ;; $B%3%s%9%?%s%H$K$7$F$7$^$o$J$$$N$O!"%m!<%^;zF~NO$H$OA4$/JL$N@_Dj$r(B
   ;; $B$9$k?M$b$$$k$+$i$G$9!#(B
   "*$B%-!<F~NO$KBP$9$kJQ49J8;z$r8=$o$9%*!<%H%^%H%s>uBVA+0\5,B'!#(B
 $B$3$NJQ?t$NDj5A$r%Y!<%9$K(B skk-rom-kana-rule-list $B$,DI2C$5$l!"(Bskk-mode
 $B5/F0;~$K(B skk-rule-tree $B$H$$$&LZ$N7A$K%3%s%Q%$%k$5$l$k!#(B
 2 $B$D$N%k!<%k%j%9%H$K=EJ#$9$k%-!<$N@_Dj$,$"$k>l9g$O!"(B
-skk-rom-kana-rule-list $B$NDj5A$,M%@h$5$l$k!#(B" 
+skk-rom-kana-rule-list $B$NDj5A$,M%@h$5$l$k!#(B"
   :type '(repeat
 	  (list string string
 		(choice function string (cons string string))))
-  :group 'skk )
+  :group 'skk)
 
 (defcustom skk-rom-kana-rule-list
   '(
     ("hh" "h" ("$B%C(B" . "$B$C(B"))
     ;; when you may want to insert $B!V$,$s$^!W(Bby "gamma"...
     ("mm" "m" ("$B%s(B" . "$B$s(B"))
-    )
+   )
   "*$B%-!<F~NO$KBP$9$kJQ49J8;z$r8=$o$9%*!<%H%^%H%s>uBVA+0\5,B'$G!"%f!<%6!<$NDI2C$N@_Dj$r9T$J$&$b$N!#(B
 $B%Y!<%9$H$J$k(B skk-rom-kana-base-rule-list $B$K$3$NJQ?t$NDj5A$,DI2C$5$l!"(B
 skk-mode $B5/F0;~$K(B skk-rule-tree $B$H$$$&LZ$N7A$K%3%s%Q%$%k$5$l$k!#(B
 $BDj$5$l$F$$$k$,!"(B\"ohhira\" -> \"$B$*$*$R$i(B\" $B$N$h$&$K(B \"hh\" $B$rB%2;=hM}(B
 $B$7$?$/$J$1$l$P!"(Bskk-rom-kana-rule-list $B$+$i(B
 
-    \(\"hh\" \"h\" \(\"$B%C(B\" . \"$B$C(B\"\)\) 
+    \(\"hh\" \"h\" \(\"$B%C(B\" . \"$B$C(B\"\)\)
 
 $B$H$$$&MWAG$r>C$9!#(B
 $B$^$?!"(B`@' $B$G(B skk-today ($BEvF|$NF|IU$NF~NO(B) $B$r5/F0$9$kBe$j$K(B `$B!w(B' $B$rF~(B
 
 $B$H$$$&MWAG$r2C$($k!#(Bskk-mode $B$N5/F08e(B skk-rom-kana-rule-list $B$NJQ99$r(B
 $B9T$J$C$?>l9g!"$=$N@_Dj$rH?1G$5$;$k$K$O(B M-x skk-restart $B$r<B9T$9$kI,MW(B
-$B$,$"$k!#(B" 
+$B$,$"$k!#(B"
   :type '(repeat
 	  (list string string
 		(choice function string (cons string string))))
-  :group 'skk )
+  :group 'skk)
 
 (defcustom skk-kana-input-search-function
   (function
 $B;2>H$N$3$H!#(B
 
 $B%G%#%U%)%k%H$G$O!"(B\"$B$*(B\" $B$N8e$N(B \"h\" + $B;R2;$NF~NO$r(B \"$B$*$*(B\" + $BB3$/;R(B
-$B2;=hM}MQ$N(B unfixed prefix $B$KJQ49$7$F$$$k!#(B" 
+$B2;=hM}MQ$N(B unfixed prefix $B$KJQ49$7$F$$$k!#(B"
   :type 'function
-  :group 'skk )
+  :group 'skk)
 
 (defcustom skk-okuri-char-alist nil
-  "*$B$"$kAw$j2>L>$rJL$NAw$j2>L>$KJQ49$9$k%k!<%k$r5-=R$9$k%(!<%j%9%H!#(B" 
+  "*$B$"$kAw$j2>L>$rJL$NAw$j2>L>$KJQ49$9$k%k!<%k$r5-=R$9$k%(!<%j%9%H!#(B"
   :type '(repeat (cons string string))
-  :group 'skk )
+  :group 'skk)
 
 (defcustom skk-downcase-alist nil
   "*$BJQ49%-!<(B ($BBgJ8;z%m!<%^;z(B) $B$N>.J8;z$X$NJQ495,B'$rI=$o$9%(!<%j%9%H!#(B
 skk-set-henkan-point $B$NCf$G$3$l$r>.J8;z$KJQ49$9$k:n6H$r9T$J$&!#$3$N%(!<(B
 $B%j%9%H$KBgJ8;z(B -> $B>.J8;z$NJQ49%k!<%k$r=q$$$F$*$/$3$H$G!"%-!<F~NO$N%+%9(B
 $B%?%^%$%:$r9T$J$&$3$H$,$G$-$k!#$3$N%(!<%j%9%H$,(B null $B$N>l9g$O!"C1$K(B
-downcase $B$5$l$k!#(B" 
+downcase $B$5$l$k!#(B"
   :type '(repeat (cons character character))
-  :group 'skk )
+  :group 'skk)
 
 (defcustom skk-jisx0208-latin-vector
   [nil  nil  nil  nil  nil  nil  nil  nil
 
 $B$H$9$k$+!"$b$7$/$O!"(Bskk-jisx0208-latin-vector $B$N(B 32 $BHVL\(B (0 $BHV$+$i?t$($F(B) $B$NCM$r(B \" \"
 $B$H$9$k$h$&$J(B skk-jisx0208-latin-vector $B$rD>@\=q$-!"(Bsetq $B$GBeF~$9$k!#(B32 $B$O!"(B? ($BH>3Q%9(B
-$B%Z!<%9$N(B char type) $B$rI>2A$7$?$H$-$NCM!#(B" 
+$B%Z!<%9$N(B char type) $B$rI>2A$7$?$H$-$NCM!#(B"
   :type 'vector
-  :group 'skk )
+  :group 'skk)
 
 (defcustom skk-use-face (or window-system (skk-terminal-face-p))
-  "*Non-nil $B$G$"$l$P!"(BEmacs $B$N(B face $B$N5!G=$r;HMQ$7$FJQ49I=<($r9T$J$&!#(B" 
+  "*Non-nil $B$G$"$l$P!"(BEmacs $B$N(B face $B$N5!G=$r;HMQ$7$FJQ498uJd$r%O%$%i%$%HI=<($9$k!#(B"
   :type 'boolean
-  :group 'skk )
+  :group 'skk)
 
 (defcustom skk-henkan-face 'highlight
   "*$BJQ498uJd$N(B face $BB0@-!#(Bskk-use-face $B$,(B non-nil $B$N$H$-$N$_M-8z!#(B
 $B$N$h$&$K$9$k$N$,<j7Z!#(Bforeground $B$H(B background $B$N?';XDj$@$1$G$J$$6E$C$?(B face
 $B$r:n$k>l9g$O!"(Bskk-make-face $B$G$OBP1~$G$-$J$$$N$G!"(BEmacs $B$N(B hilit19.el $B$N(B
 hilit-lookup-face-create $B$J$I$rMxMQ$9$k!#?'$rIU$1$k>l9g$NG[?'$O!"(Bcanna.el $B$N(B
-canna:attribute-alist $B$,NI$$Nc$+$b$7$l$J$$!#(B" 
+canna:attribute-alist $B$,NI$$Nc$+$b$7$l$J$$!#(B"
   :type 'face
-  :group 'skk )
+  :group 'skk)
 
 (defcustom skk-use-color-cursor (and window-system (fboundp 'x-display-color-p)
 				     (x-display-color-p))
   "*Non-nil $B$G$"$l$P!"(BSKK $B%b!<%I$NF~NO%b!<%I$K1~$8$F%+!<%=%k$K?'$rIU$1$k!#(B"
   :type 'boolean
-  :group 'skk )
+  :group 'skk)
 
 (defcustom skk-default-cursor-color
   (if (eq skk-emacs-type 'xemacs)
       (frame-property (selected-frame) 'cursor-color)
     (cdr (assq 'cursor-color (frame-parameters (selected-frame)))))
   "*SKK $B$N%*%U$r<($9%+!<%=%k?'!#(B
-skk-use-color-cursor $B$,(B non-nil $B$N$H$-$K;HMQ$5$l$k!#(B" 
-  :group 'skk )
+skk-use-color-cursor $B$,(B non-nil $B$N$H$-$K;HMQ$5$l$k!#(B"
+  :group 'skk)
 
 (defcustom skk-hiragana-cursor-color (if (eq skk-background-mode 'light)
 					 "coral4"
-				       "pink" )
+				       "pink")
   "*$B$+$J%b!<%I$r<($9%+!<%=%k?'!#(B
-skk-use-color-cursor $B$,(B non-nil $B$N$H$-$K;HMQ$5$l$k!#(B" 
+skk-use-color-cursor $B$,(B non-nil $B$N$H$-$K;HMQ$5$l$k!#(B"
   :type 'string
-  :group 'skk )
+  :group 'skk)
 
 (defcustom skk-katakana-cursor-color (if (eq skk-background-mode 'light)
 					 "forestgreen"
-				       "green" )
+				       "green")
   "*$B%+%?%+%J%b!<%I$r<($9%+!<%=%k?'!#(B
-skk-use-color-cursor $B$,(B non-nil $B$N$H$-$K;HMQ$5$l$k!#(B" 
+skk-use-color-cursor $B$,(B non-nil $B$N$H$-$K;HMQ$5$l$k!#(B"
   :type 'string
-  :group 'skk )
+  :group 'skk)
 
 (defcustom skk-jisx0208-latin-cursor-color "gold"
   "*$BA43Q1Q;z%b!<%I$r<($9%+!<%=%k?'!#(B
-skk-use-color-cursor $B$,(B non-nil $B$N$H$-$K;HMQ$5$l$k!#(B" 
+skk-use-color-cursor $B$,(B non-nil $B$N$H$-$K;HMQ$5$l$k!#(B"
   :type 'string
-  :group 'skk )
+  :group 'skk)
 
 (defcustom skk-latin-cursor-color (if (eq skk-background-mode 'light)
 				      "ivory4"
-				    "gray" )
+				    "gray")
   "*$B%"%9%-!<%b!<%I$r<($9%+!<%=%k?'!#(B
-skk-use-color-cursor $B$,(B non-nil $B$N$H$-$K;HMQ$5$l$k!#(B" 
+skk-use-color-cursor $B$,(B non-nil $B$N$H$-$K;HMQ$5$l$k!#(B"
   :type 'string
-  :group 'skk )
+  :group 'skk)
 
 (defcustom skk-abbrev-cursor-color "royalblue"
   "*abbrev $B%b!<%I$r<($9%+!<%=%k?'!#(B
-skk-use-color-cursor $B$,(B non-nil $B$N$H$-$K;HMQ$5$l$k!#(B" 
+skk-use-color-cursor $B$,(B non-nil $B$N$H$-$K;HMQ$5$l$k!#(B"
   :type 'string
-  :group 'skk )
+  :group 'skk)
 
 (defcustom skk-report-set-cursor-error t
   "*Non-nil $B$G$"$l$P!"%+%i!<%^%C%W@Z$l$,5/$-$?>l9g!"%(%i!<%a%C%;!<%8$rI=<($9$k!#(B
-nil $B$G$"$l$P!"I=<($7$J$$!#(B" 
+nil $B$G$"$l$P!"I=<($7$J$$!#(B"
   :type 'boolean
-  :group 'skk )
+  :group 'skk)
 
 (defcustom skk-use-cursor-change t
-  "*Non-nil $B$G$"$l$P!"(BOvwrt $B%^%$%J!<%b!<%I;~$K%+!<%=%k$NI}$r=L$a$k!#(B" 
+  "*Non-nil $B$G$"$l$P!"(BOvwrt $B%^%$%J!<%b!<%I;~$K%+!<%=%k$NI}$r=L$a$k!#(B"
   :type 'boolean
-  :group 'skk )
+  :group 'skk)
 
 (defcustom skk-auto-insert-paren nil
   "*Non-nil $B$G$"$l$P!"(B2 $B$D$NJ8;zNs$r$^$H$a$FA^F~$7!"$=$NJ8;zNs$N4V$K%+!<%=%k$r0\F0$9$k!#(B
 $BNc$($P!"(B\"$B!V(B\" $B$rF~NO$7$?$H$-$K(B \"$B!W(B\" $B$r<+F0E*$KA^F~$7!"N>$+$.$+$C$3$N4V$K(B
 $B%+!<%=%k$r0\F0$9$k!#(B
-$BA^F~$9$kJ8;zNs$O!"(Bskk-auto-paren-string-alist $B$G;XDj$9$k!#(B" 
+$BA^F~$9$kJ8;zNs$O!"(Bskk-auto-paren-string-alist $B$G;XDj$9$k!#(B"
   :type 'boolean
-  :group 'skk )
+  :group 'skk)
 
 (defcustom skk-auto-paren-string-alist
   '(("$B!V(B" . "$B!W(B") ("$B!X(B" . "$B!Y(B") ("(" . ")") ("$B!J(B" . "$B!K(B")
     ("[" . "]") ("$B!N(B" . "$B!O(B") ("$B!L(B" . "$B!M(B") ("$B!Z(B" . "$B![(B")
     ("\"" . "\"")("$B!H(B" . "$B!I(B") ("`" . "'")
     ;;("<" . ">") ;; skk-special-midashi-char-list $B$NCf$K$"$kJ8;z!#(B
-    )
+   )
   "*$B<+F0E*$KBP$K$J$kJ8;zNs$rF~NO$9$k$?$a$NO"A[%j%9%H!#(B
  skk-auto-insert-paren $B$,(B non-nil $B$N>l9g!"(Bcar $B$NJ8;zNs$,A^F~$5$l$?$H$-(B
 $B$K(B cdr $B$NJ8;zNs$r<+F0E*$KA^F~$5$l!"%+!<%=%k$O$=$N(B 2 $B$D$NJ8;zNs$N4V$K0\(B
 $BF0$9$k!#(B
 skk-special-midashi-char-list $B$NMWAG$K$J$C$F$$$kJ8;z$O!"(B
-skk-auto-paren-string-alist $B$K4^$a$F$b:o=|$5$l$k!#(B " 
+skk-auto-paren-string-alist $B$K4^$a$F$b:o=|$5$l$k!#(B "
   :type '(repeat (cons string string))
-  :group 'skk ) 
+  :group 'skk)
 
 (defcustom skk-japanese-message-and-error nil
   "*Non-nil $B$G$"$l$P!"(BSKK $B$N%a%C%;!<%8$H%(%i!<$rF|K\8l$GI=<($9$k!#(B
-nil $B$G$"$l$P!"1Q8l$GI=<($9$k!#(B" 
+nil $B$G$"$l$P!"1Q8l$GI=<($9$k!#(B"
   :type 'boolean
-  :group 'skk )
+  :group 'skk)
 
 (defcustom skk-set-henkan-point-key
   '(?A ?B ?C ?D ?E ?F ?G ?H ?I ?J ?K ?M ?N ?O ?P ?R ?S ?T ?U ?V ?W ?Y ?Z)
   "*$BJQ49$N3+;OCOE@$r7h$a$k%-!<$N%j%9%H!#(B"
   :type '(repeat character)
-  :group 'skk )
+  :group 'skk)
 
 (defcustom skk-jisyo-save-count 50
   "*$B?tCM$G$"$l$P!"$=$N2s?t<-=q$,99?7$5$l$?$H$-$K<-=q$r<+F0E*$K%;!<%V$9$k!#(B
-nil $B$G$"$l$P!"<-=q$N%*!<%H%;!<%V$r9T$J$o$J$$!#(B" 
+nil $B$G$"$l$P!"<-=q$N%*!<%H%;!<%V$r9T$J$o$J$$!#(B"
   :type '(choice integer (const nil))
-  :group 'skk )
+  :group 'skk)
 
 (defcustom skk-byte-compile-init-file nil
   "*Non-nil $B$G$"$l$P!"(Bskk-mode $B5/F0;~$K(B skk-init-file $B$r%P%$%H%3%s%Q%$%k$9$k!#(B
      $B$$$H$-(B
 
 $B$K(B skk-init-file $B$r%P%$%H%3%s%Q%$%k$9$k!#(B
-nil $B$G$"$l$P!"(Bskk-init-file $B$H$=$N%P%$%H%3%s%Q%$%k:Q$_%U%!%$%k$rHf3S$7$F(B 
-skk-init-file $B$NJ}$,?7$7$$$H$-$O!"$=$N%P%$%H%3%s%Q%$%k:Q%U%!%$%k$r>C$9!#(B" 
+nil $B$G$"$l$P!"(Bskk-init-file $B$H$=$N%P%$%H%3%s%Q%$%k:Q$_%U%!%$%k$rHf3S$7$F(B
+skk-init-file $B$NJ}$,?7$7$$$H$-$O!"$=$N%P%$%H%3%s%Q%$%k:Q%U%!%$%k$r>C$9!#(B"
   :type 'boolean
-  :group 'skk )
+  :group 'skk)
 
 (defcustom skk-count-private-jisyo-candidates-exactly nil
   "*Non-nil $B$G$"$l$P!"(BEmacs $B$r=*N;$9$k$H$-$K@53N$K8D?M<-=q$N8uJd?t$r?t$($k!#(B
 nil $B$G$"$l$P!"(B1 $B9T$KJ#?t$N8uJd$,$"$C$F$b(B 1 $B8uJd$H$7$F?t$($k!#(B
-$B7W;;7k2L$O!"(Bskk-record-file $B$KJ]B8$5$l$k!#(B" 
+$B7W;;7k2L$O!"(Bskk-record-file $B$KJ]B8$5$l$k!#(B"
   :type 'boolean
-  :group 'skk )
+  :group 'skk)
 
 (defcustom skk-compare-jisyo-size-when-saving t
   "*Non-nil $B$G$"$l$P!"(Bskk-jisyo $B$N%;!<%V;~$K%U%!%$%k%5%$%:$N%A%'%C%/$r9T$J$&!#(B
 $BA02s%;!<%V$7$?(B skk-jisyo $B$H:#2s%;!<%V$7$h$&$H$9$k<-=q$H$N%5%$%:Hf3S$r9T$J$$!"(B
-$B8e<T$NJ}$,Bg$-$$$H$-$K%f!<%6!<$K%;!<%V$rB3$1$k$+$I$&$+$N3NG'$r5a$a$k!#(B" 
+$B8e<T$NJ}$,Bg$-$$$H$-$K%f!<%6!<$K%;!<%V$rB3$1$k$+$I$&$+$N3NG'$r5a$a$k!#(B"
   :type 'boolean
-  :group 'skk )
+  :group 'skk)
 
 (defcustom skk-auto-start-henkan t
   "*$BC18l$dJ8@a$N6h@Z$j$r<($9J8;z$NBG80$K$h$j<+F0E*$KJQ49$r3+;O$9$k!#(B
-skk-auto-start-henkan-keyword-list $B$K$h$jC18l$dJ8@a$N6h@Z$j$r<($9J8;z$r;XDj$9$k!#(B" 
+skk-auto-start-henkan-keyword-list $B$K$h$jC18l$dJ8@a$N6h@Z$j$r<($9J8;z$r;XDj$9$k!#(B"
   :type 'boolean
-  :group 'skk )
+  :group 'skk)
 
 (defcustom skk-auto-start-henkan-keyword-list
   '("$B$r(B" "$B!"(B" "$B!#(B" "$B!%(B" "$B!$(B" "$B!)(B" "$B!W(B" "$B!*(B" "$B!((B" "$B!'(B" ")" ";" ":"
     "$B!K(B" "$B!I(B" "$B![(B" "$B!Y(B" "$B!U(B" "$B!S(B" "$B!Q(B" "$B!O(B" "$B!M(B" "}" "]" "?" "."
-    "," "!" )
+    "," "!")
   ;; $B$"$^$j%-!<%o!<%I$,B?$/$J$k$H!"DL>o$NJQ49$r:$Fq$K$9$k!)(B
   "*$B<+F0JQ49$r3+;O$9$k%-!<%o!<%I!#(B