changeset 31166:654d260e80bd

*** empty log message ***
author Kenichi Handa <handa@m17n.org>
date Fri, 25 Aug 2000 02:37:11 +0000
parents 6c51a4e8bf88
children dda794d912fd
files ChangeLog leim/ChangeLog leim/ja-dic/ja-dic.el leim/ja-dic/ja-dic.elc lisp/ChangeLog lisp/international/skkdic-cnv.el lisp/international/skkdic-utl.el
diffstat 7 files changed, 26 insertions(+), 781 deletions(-) [+]
line wrap: on
line diff
--- a/ChangeLog	Fri Aug 25 01:58:44 2000 +0000
+++ b/ChangeLog	Fri Aug 25 02:37:11 2000 +0000
@@ -1,6 +1,6 @@
 2000-08-25  Kenichi Handa  <handa@etl.go.jp>
 
-	* leim-Makefile.in: Rename skkdic to ja-dic through out the file.
+	* leim-Makefile.in: Rename skkdic to ja-dic throughout the file.
 
 2000-08-24  Gerd Moellmann  <gerd@gnu.org>
 
--- a/leim/ChangeLog	Fri Aug 25 01:58:44 2000 +0000
+++ b/leim/ChangeLog	Fri Aug 25 02:37:11 2000 +0000
@@ -2,7 +2,7 @@
 
 	* ja-dic: Directory name changed from skkdic.
 
-	* ja-dic/ja-dic.el[c]: Renamed from skkdic.el[c].
+	* ja-dic/ja-dic.el[c]: Re-generated by the new ja-dic-cnv.el.
 
 	* README: Rename skkdic to ja-dic throughout the file.
 
--- a/leim/ja-dic/ja-dic.el	Fri Aug 25 01:58:44 2000 +0000
+++ b/leim/ja-dic/ja-dic.el	Fri Aug 25 02:37:11 2000 +0000
@@ -1,6 +1,6 @@
-;; skkdic.el -- dictionary for Japanese input method
+;; ja-dic.el -- dictionary for Japanese input method
 ;;	Generated by the command `skkdic-convert'
-;;	Date: Fri Aug 25 09:40:31 2000
+;;	Date: Fri Aug 25 11:06:13 2000
 ;;	Original SKK dictionary file: SKK-JISYO.L
 
 ;;; Comment:
@@ -38,7 +38,7 @@
 
 ;;; Code:
 
-(eval-when-compile (require 'skkdic-cnv))
+(eval-when-compile (require 'ja-dic-cnv))
 
 ;; Setting okuri-ari entries.
 (skkdic-set-okuri-ari
@@ -54597,6 +54597,6 @@
 )
 
 ;;
-(provide 'skkdic)
+(provide 'ja-dic)
 
-;; skkdic.el ends here
+;; ja-dic.el ends here
Binary file leim/ja-dic/ja-dic.elc has changed
--- a/lisp/ChangeLog	Fri Aug 25 01:58:44 2000 +0000
+++ b/lisp/ChangeLog	Fri Aug 25 02:37:11 2000 +0000
@@ -1,3 +1,22 @@
+2000-08-25  Kenichi Handa  <handa@etl.go.jp>
+
+	* international/kkc.el: Remove SKK from Keywords.  Require
+	ja-dic-utl instead of skkdic-utl.
+
+	* international/ja-dic-cnv.el: Renamed from skkdic-cnv.el.
+	Provide ja-dic-cnv instead of skkdic-cnv.
+	(ja-dic-filename): Renamed from skkdic-filename.  Referers changed
+	(iso-2022-7bit-short): Add safe-charsets property.
+	(skkdic-convert-postfix): Search Japanese chou-on character in
+	addition to Hiragana character.
+	(skkdic-convert-prefix, skkdic-collect-okuri-nasi): Likewise.
+	(skkdic-convert): Change file names from skkdic.el to ja-dic.el
+	(batch-skkdic-convert): Likewise.
+
+	* international/ja-dic-utl.el: Renamed from skkdic-utl.el.
+	Provide ja-dic-utl instead of skkdic-utl.
+	(skkdic-lookup-key): Load ja-dic/ja-dic, not skkdic/skkdic.
+
 2000-08-24  Dave Love  <fx@gnu.org>
 
 	* disp-table.el (standard-display-default): Make the test of `l'
--- a/lisp/international/skkdic-cnv.el	Fri Aug 25 01:58:44 2000 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,560 +0,0 @@
-;;; skkdic-cnv.el --- Convert a SKK dictionary for `skkdic-utl'
-
-;; Copyright (C) 1995 Electrotechnical Laboratory, JAPAN.
-;; Licensed to the Free Software Foundation.
-
-;; Keywords: mule, multilingual, Japanese, SKK
-
-;; This file is part of GNU Emacs.
-
-;; GNU Emacs is free software; you can redistribute it and/or modify
-;; it under the terms of the GNU General Public License as published by
-;; the Free Software Foundation; either version 2, or (at your option)
-;; any later version.
-
-;; GNU Emacs is distributed in the hope that it will be useful,
-;; but WITHOUT ANY WARRANTY; without even the implied warranty of
-;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-;; GNU General Public License for more details.
-
-;; You should have received a copy of the GNU General Public License
-;; along with GNU Emacs; see the file COPYING.  If not, write to the
-;; Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-;; Boston, MA 02111-1307, USA.
-
-;;; Commentary:
-
-;; SKK is a Japanese input method running on Mule created by Masahiko
-;; Sato <masahiko@sato.riec.tohoku.ac.jp>.  Here we provide utilities
-;; to handle a dictionary distributed with SKK so that a different
-;; input method (e.g. quail-japanese) can utilize the dictionary.
-
-;; The format of SKK dictionary is quite simple.  Each line has the
-;; form "KANASTRING /CONV1/CONV2/.../" which means KANASTRING ($B2>L>J8(B
-;; $B;zNs(B) can be converted to one of CONVi.  CONVi is a Kanji ($B4A;z(B)
-;; and Kana ($B2>L>(B) mixed string.
-;;
-;; KANASTRING may have a trailing ASCII letter for Okurigana ($BAw$j2>L>(B)
-;; information.  For instance, the trailing letter `k' means that one
-;; of the following Okurigana is allowed: $B$+$-$/$1$3(B.  So, in that
-;; case, the string "KANASTRING$B$/(B" can be converted to one of "CONV1$B$/(B",
-;; CONV2$B$/(B, ...
-
-;;; Code:
-
-;; Name of a file to generate from SKK dictionary.
-(defvar skkdic-filename "skkdic.el")
-
-;; To make a generated skkdic.el smaller.
-(make-coding-system
- 'iso-2022-7bit-short
- 2 ?J
- "Like `iso-2022-7bit' but no ASCII designation before SPC."
- '(ascii nil nil nil t t nil t))
-
-(defun skkdic-convert-okuri-ari (skkbuf buf)
-  (message "Processing OKURI-ARI entries ...")
-  (goto-char (point-min))
-  (save-excursion
-    (set-buffer buf)
-    (insert ";; Setting okuri-ari entries.\n"
-	    "(skkdic-set-okuri-ari\n"))
-  (while (not (eobp))
-    (let ((from (point))
-	  to)
-      (end-of-line)
-      (setq to (point))
-
-      (save-excursion
-	(set-buffer buf)
-	(insert-buffer-substring skkbuf from to)
-	(beginning-of-line)
-	(insert "\"")
-	(search-forward " ")
-	(delete-char 1)			; delete the first '/'
-	(let ((p (point)))
-	  (end-of-line)
-	  (delete-char -1)		; delete the last '/'
-	  (subst-char-in-region p (point) ?/ ? 'noundo))
-	(insert "\"\n"))
-
-      (forward-line 1)))
-  (save-excursion
-    (set-buffer buf)
-    (insert ")\n\n")))
-
-(defconst skkdic-postfix-list '(skkdic-postfix-list))
-
-(defconst skkdic-postfix-data
-  '(("$B$$$-(B" "$B9T(B")
-    ("$B$,$+$j(B" "$B78(B")
-    ("$B$,$/(B" "$B3X(B")
-    ("$B$,$o(B" "$B@n(B")
-    ("$B$7$c(B" "$B<R(B")
-    ("$B$7$e$&(B" "$B=8(B")
-    ("$B$7$g$&(B" "$B>^(B" "$B>k(B")
-    ("$B$8$g$&(B" "$B>k(B")
-    ("$B$;$s(B" "$B@~(B")
-    ("$B$@$1(B" "$B3Y(B")
-    ("$B$A$c$/(B" "$BCe(B")
-    ("$B$F$s(B" "$BE9(B")
-    ("$B$H$&$2(B" "$BF=(B")
-    ("$B$I$*$j(B" "$BDL$j(B")
-    ("$B$d$^(B" "$B;3(B")
-    ("$B$P$7(B" "$B66(B")
-    ("$B$O$D(B" "$BH/(B")
-    ("$B$b$/(B" "$BL\(B")
-    ("$B$f$-(B" "$B9T(B")))
-
-(defun skkdic-convert-postfix (skkbuf buf)
-  (message "Processing POSTFIX entries ...")
-  (goto-char (point-min))
-  (save-excursion
-    (set-buffer buf)
-    (insert ";; Setting postfix entries.\n"
-	    "(skkdic-set-postfix\n"))
-
-  ;; Initialize SKKDIC-POSTFIX-LIST by predefined data
-  ;; SKKDIC-POSTFIX-DATA.
-  (save-excursion
-    (set-buffer buf)
-    (let ((l skkdic-postfix-data)
-	  kana candidates entry)
-      (while l
-	(setq kana (car (car l)) candidates (cdr (car l)))
-	(insert "\"" kana)
-	(while candidates
-	  (insert " " (car candidates))
-	  (setq entry (lookup-nested-alist (car candidates)
-					   skkdic-postfix-list nil nil t))
-	  (if (consp (car entry))
-	      (setcar entry (cons kana (car entry)))
-	    (set-nested-alist (car candidates) (list kana)
-			      skkdic-postfix-list))
-	  (setq candidates (cdr candidates)))
-	(insert "\"\n")
-	(setq l (cdr l)))))
-
-  ;; Search postfix entries.
-  (while (re-search-forward "^[#<>?]\\(\\cH+\\) " nil t)
-    (let ((kana (match-string 1))
-	  str candidates)
-      (while (looking-at "/[#0-9 ]*\\([^/\n]*\\)/")
-	(setq str (match-string 1))
-	(if (not (member str candidates))
-	    (setq candidates (cons str candidates)))
-	(goto-char (match-end 1)))
-      (save-excursion
-	(set-buffer buf)
-	(insert "\"" kana)
-	(while candidates
-	  (insert " " (car candidates))
-	  (let ((entry (lookup-nested-alist (car candidates)
-					    skkdic-postfix-list nil nil t)))
-	    (if (consp (car entry))
-		(if (not (member kana (car entry)))
-		    (setcar entry (cons kana (car entry))))
-	      (set-nested-alist (car candidates) (list kana)
-				skkdic-postfix-list)))
-	  (setq candidates (cdr candidates)))
-	(insert "\"\n"))))
-  (save-excursion
-    (set-buffer buf)
-    (insert ")\n\n")))
-	  
-(defconst skkdic-prefix-list '(skkdic-prefix-list))
-
-(defun skkdic-convert-prefix (skkbuf buf)
-  (message "Processing PREFIX entries ...")
-  (goto-char (point-min))
-  (save-excursion
-    (set-buffer buf)
-    (insert ";; Setting prefix entries.\n"
-	    "(skkdic-set-prefix\n"))
-  (save-excursion
-    (while (re-search-forward "^\\(\\cH+\\)[<>?] " nil t)
-      (let ((kana (match-string 1))
-	    str candidates)
-	(while (looking-at "/\\([^/\n]+\\)/")
-	  (setq str (match-string 1))
-	  (if (not (member str candidates))
-	      (setq candidates (cons str candidates)))
-	  (goto-char (match-end 1)))
-	(save-excursion
-	  (set-buffer buf)
-	  (insert "\"" kana)
-	  (while candidates
-	    (insert " " (car candidates))
-	    (set-nested-alist (car candidates) kana skkdic-prefix-list)
-	    (setq candidates (cdr candidates)))
-	  (insert "\"\n")))))
-  (save-excursion
-    (set-buffer buf)
-    (insert ")\n\n")))
-	  
-;; FROM and TO point the head and tail of "/J../J../.../".
-(defun skkdic-get-candidate-list (from to)
-  (let (candidates)
-    (goto-char from)
-    (while (re-search-forward "/\\cj+" to t)
-      (setq candidates (cons (buffer-substring (1+ (match-beginning 0))
-					       (match-end 0))
-			     candidates)))
-    candidates))
-
-;; Return entry for STR from nested alist ALIST.
-(defsubst skkdic-get-entry (str alist)
-  (car (lookup-nested-alist str alist nil nil t)))
-
-
-(defconst skkdic-word-list '(skkdic-word-list))
-
-;; Return t if substring of STR (between FROM and TO) can be broken up
-;; to chunks all of which can be derived from another entry in SKK
-;; dictionary.  SKKBUF is the buffer where the original SKK dictionary
-;; is visited, KANA is the current entry for STR.  FIRST is t iff this
-;; is called at top level.
-
-(defun skkdic-breakup-string (skkbuf kana str from to &optional first)
-  (let ((len (- to from)))
-    (or (and (>= len 2)
-	     (let ((min-idx (+ from 2))
-		   (idx (if first (1- to ) to))
-		   (found nil))
-	       (while (and (not found) (>= idx min-idx))
-		 (let ((kana2-list (skkdic-get-entry
-				    (substring str from idx)
-				    skkdic-word-list)))
-		   (if (or (and (consp kana2-list)
-				(let ((kana-len (length kana))
-				      kana2)
-				  (catch 'skkdic-tag
-				    (while kana2-list
-				      (setq kana2 (car kana2-list))
-				      (if (string-match kana2 kana)
-					  (throw 'skkdic-tag t))
-				      (setq kana2-list (cdr kana2-list)))))
-				(or (= idx to)
-				    (skkdic-breakup-string skkbuf kana str
-							   idx to)))
-			   (and (stringp kana2-list)
-				(string-match kana2-list kana)))
-		       (setq found t)
-		     (setq idx (1- idx)))))
-	       found))
-	(and first
-	     (> len 2)
-	     (let ((kana2 (skkdic-get-entry
-			   (substring str from (1+ from))
-			   skkdic-prefix-list)))
-	       (and (stringp kana2)
-		    (eq (string-match kana2 kana) 0)))
-	     (skkdic-breakup-string skkbuf kana str (1+ from) to))
-	(and (not first)
-	     (>= len 1)
-	     (let ((kana2-list (skkdic-get-entry
-				(substring str from to)
-				skkdic-postfix-list)))
-	       (and (consp kana2-list)
-		    (let (kana2)
-		      (catch 'skkdic-tag
-			(while kana2-list
-			  (setq kana2 (car kana2-list))
-			  (if (string= kana2
-				       (substring kana (- (length kana2))))
-			      (throw 'skkdic-tag t))
-			  (setq kana2-list (cdr kana2-list)))))))))))
-
-;; Return list of candidates which excludes some from CANDIDATES.
-;; Excluded candidates can be derived from another entry.
-
-(defun skkdic-reduced-candidates (skkbuf kana candidates)
-  (let (elt l)
-    (while candidates
-      (setq elt (car candidates))
-      (if (or (= (length elt) 1)
-	      (and (string-match "^\\cj" elt)
-		   (not (skkdic-breakup-string skkbuf kana elt 0 (length elt)
-					       'first))))
-	  (setq l (cons elt l)))
-      (setq candidates (cdr candidates)))
-    (nreverse l)))
-
-(defconst skkdic-okuri-nasi-entries (list nil))
-(defconst skkdic-okuri-nasi-entries-count 0)
-
-(defun skkdic-collect-okuri-nasi ()
-  (message "Collecting OKURI-NASI entries ...")
-  (save-excursion
-    (let ((prev-ratio 0)
-	  ratio)
-      (while (re-search-forward "^\\(\\cH+\\) \\(/\\cj.*\\)/$" nil t)
-	(let ((kana (match-string 1))
-	      (candidates (skkdic-get-candidate-list (match-beginning 2)
-						     (match-end 2))))
-	  (setq skkdic-okuri-nasi-entries
-		(cons (cons kana candidates) skkdic-okuri-nasi-entries)
-		skkdic-okuri-nasi-entries-count
-		(1+ skkdic-okuri-nasi-entries-count))
-	  (setq ratio (floor (/ (* (point) 100.0) (point-max))))
-	  (if (/= ratio prev-ratio)
-	      (progn
-		(message "collected %2d%% %s ..." ratio kana)
-		(setq prev-ratio ratio)))
-	  (while candidates
-	    (let ((entry (lookup-nested-alist (car candidates)
-					      skkdic-word-list nil nil t)))
-	      (if (consp (car entry))
-		  (setcar entry (cons kana (car entry)))
-		(set-nested-alist (car candidates) (list kana)
-				  skkdic-word-list)))
-	    (setq candidates (cdr candidates))))))))
-
-(defun skkdic-convert-okuri-nasi (skkbuf buf)
-  (message "Processing OKURI-NASI entries ...")
-  (save-excursion
-    (set-buffer buf)
-    (insert ";; Setting okuri-nasi entries.\n"
-	    "(skkdic-set-okuri-nasi\n")
-    (let ((l (nreverse skkdic-okuri-nasi-entries))
-	  (count 0)
-	  (prev-ratio 0)
-	  ratio)
-      (while l
-	(let ((kana (car (car l)))
-	      (candidates (cdr (car l))))
-	  (setq ratio (/ (* count 1000) skkdic-okuri-nasi-entries-count)
-		count (1+ count))
-	  (if (/= prev-ratio (/ ratio 10))
-	      (progn
-		(message "processed %2d%% %s ..." (/ ratio 10) kana)
-		(setq prev-ratio (/ ratio 10))))
-	  (if (setq candidates
-		    (skkdic-reduced-candidates skkbuf kana candidates))
-	      (progn
-		(insert "\"" kana)
-		(while candidates
-		  (insert " " (car candidates))
-		  (setq candidates (cdr candidates)))
-		(insert "\"\n"))))
-	(setq l (cdr l))))
-    (insert ")\n\n")))
-
-(defun skkdic-convert (filename &optional dirname)
-  "Convert SKK dictionary of FILENAME into the file \"skkdic.el\".
-Optional argument DIRNAME if specified is the directory name under which
-the generated \"skkdic.el\" is saved."
-  (interactive "FSKK dictionary file: ")
-  (message "Reading file \"%s\" ..." filename)
-  (let ((skkbuf(find-file-noselect (expand-file-name filename)))
-	(buf (get-buffer-create "*skkdic-work*")))
-    (save-excursion
-      ;; Setup and generate the header part of working buffer.
-      (set-buffer buf)
-      (erase-buffer)
-      (buffer-disable-undo)
-      (insert ";; skkdic.el -- dictionary for Japanese input method\n"
-	      ";;\tGenerated by the command `skkdic-convert'\n"
-	      ";;\tDate: " (current-time-string) "\n"
-	      ";;\tOriginal SKK dictionary file: "
-	      (file-name-nondirectory filename)
-	      "\n\n"
-	      ";;; Comment:\n\n"
-	      ";; Do byte-compile this file again after any modification.\n\n"
-	      ";;; Start of the header of the original SKK dictionary.\n\n")
-      (set-buffer skkbuf)
-      (widen)
-      (goto-char 1)
-      (let (pos)
-	(search-forward ";; okuri-ari")
-	(forward-line 1)
-	(setq pos (point))
-	(set-buffer buf)
-	(insert-buffer-substring skkbuf 1 pos))
-      (insert "\n"
-	      ";;; Code:\n\n(eval-when-compile (require 'skkdic-cnv))\n\n")
-
-      ;; Generate the body part of working buffer.
-      (set-buffer skkbuf)
-      (let ((from (point))
-	    to)
-	;; Convert okuri-ari entries.
-	(search-forward ";; okuri-nasi")
-	(beginning-of-line)
-	(setq to (point))
-	(narrow-to-region from to)
-	(skkdic-convert-okuri-ari skkbuf buf)
-	(widen)
-
-	;; Convert okuri-nasi postfix entries.
-	(goto-char to)
-	(forward-line 1)
-	(setq from (point))
-	(re-search-forward "^\\cH")
-	(setq to (match-beginning 0))
-	(narrow-to-region from to)
-	(skkdic-convert-postfix skkbuf buf)
-	(widen)
-
-	;; Convert okuri-nasi prefix entries.
-	(goto-char to)
-	(skkdic-convert-prefix skkbuf buf)
-
-	;; 
-	(skkdic-collect-okuri-nasi)
-
-	;; Convert okuri-nasi general entries.
-	(skkdic-convert-okuri-nasi skkbuf buf)
-
-	;; Postfix
-	(save-excursion
-	  (set-buffer buf)
-	  (goto-char (point-max))
-	  (insert ";;\n(provide 'skkdic)\n\n;; skkdic.el ends here\n")))
-
-      ;; Save the working buffer.
-      (set-buffer buf)
-      (set-visited-file-name (expand-file-name skkdic-filename dirname) t)
-      (set-buffer-file-coding-system 'iso-2022-7bit-short)
-      (save-buffer 0))
-    (kill-buffer skkbuf)
-    (switch-to-buffer buf)))
-
-(defun batch-skkdic-convert ()
-  "Run `skkdic-convert' on the files remaining on the command line.
-Use this from the command line, with `-batch';
-it won't work in an interactive Emacs.
-For example, invoke:
-  % emacs -batch -l skkdic-cnv -f batch-skkdic-convert SKK-JISYO.L
-to generate  \"skkdic.el\" from SKK dictionary file \"SKK-JISYO.L\".
-To get complete usage, invoke:
- % emacs -batch -l skkdic-cnv -f batch-skkdic-convert -h"
-  (defvar command-line-args-left)	; Avoid compiler warning.
-  (if (not noninteractive)
-      (error "`batch-skkdic-convert' should be used only with -batch"))
-  (if (string= (car command-line-args-left) "-h")
-      (progn
-	(message "To convert SKK-JISYO.L into skkdic.el:")
-	(message "  %% emacs -batch -l skkdic-conv -f batch-skkdic-convert SKK-JISYO.L")
-	(message "To convert SKK-JISYO.L into DIR/skkdic.el:")
-	(message "  %% emacs -batch -l skkdic-conv -f batch-skkdic-convert -dir DIR SKK-JISYO.L"))
-    (let (targetdir filename)
-      (if (string= (car command-line-args-left) "-dir")
-	  (progn
-	    (setq command-line-args-left (cdr command-line-args-left))
-	    (setq targetdir (expand-file-name (car command-line-args-left)))
-	    (setq command-line-args-left (cdr command-line-args-left))))
-      (setq filename (expand-file-name (car command-line-args-left)))
-      (message "Converting %s to skkdic.el ..." filename)
-      (message "It takes around 10 minutes even on Sun SS20.")
-      (skkdic-convert filename targetdir)
-      (message "Do byte-compile the created file by:")
-      (message "  %% emacs -batch -f batch-byte-compile skkdic.el")
-      ))
-  (kill-emacs 0))
-
-
-;; The following macros are expanded at byte-compiling time so that
-;; compiled code can be loaded quickly.
-
-(defun skkdic-get-kana-compact-codes (kana)
-  (let* ((len (length kana))
-	 (vec (make-vector len 0))
-	 (i 0)
-	 ch)
-    (while (< i len)
-      (setq ch (aref kana i))
-      (aset vec i
-	    (if (< ch 128)		; CH is an ASCII letter for OKURIGANA,
-		(- ch)			;  represented by a negative code.
-	      (if (= ch ?$B!<(B)		; `$B!<(B' is represented by 0.
-		  0
-		(- (nth 2 (split-char ch)) 32))))
-      (setq i (1+ i)))
-    vec))
-
-(defun skkdic-extract-conversion-data (entry)
-  (string-match "^\\cj+[a-z]* " entry)
-  (let ((kana (substring entry (match-beginning 0) (1- (match-end 0))))
-	(i (match-end 0))
-	candidates)
-    (while (string-match "[^ ]+" entry i)
-      (setq candidates (cons (match-string 0 entry) candidates))
-      (setq i (match-end 0)))
-    (cons (skkdic-get-kana-compact-codes kana) candidates)))
-
-(defmacro skkdic-set-okuri-ari (&rest entries)
-  `(defconst skkdic-okuri-ari
-     ',(let ((l entries)
-	     (map '(skkdic-okuri-ari))
-	     entry)
-	 (while l
-	   (setq entry (skkdic-extract-conversion-data (car l)))
-	   (set-nested-alist (car entry) (cdr entry) map)
-	   (setq l (cdr l)))
-	 map)))
-
-(defmacro skkdic-set-postfix (&rest entries)
-  `(defconst skkdic-postfix
-     ',(let ((l entries)
-	     (map '(nil))
-	     (longest 1)
-	     len entry)
-	 (while l
-	   (setq entry (skkdic-extract-conversion-data (car l)))
-	   (setq len (length (car entry)))
-	   (if (> len longest)
-	       (setq longest len))
-	   (let ((entry2 (lookup-nested-alist (car entry) map nil nil t)))
-	     (if (consp (car entry2))
-		 (let ((conversions (cdr entry)))
-		   (while conversions
-		     (if (not (member (car conversions) (car entry2)))
-			 (setcar entry2 (cons (car conversions) (car entry2))))
-		     (setq conversions (cdr conversions))))
-	       (set-nested-alist (car entry) (cdr entry) map)))
-	   (setq l (cdr l)))
-	 (setcar map longest)
-	 map)))
-
-(defmacro skkdic-set-prefix (&rest entries)
-  `(defconst skkdic-prefix
-     ',(let ((l entries)
-	     (map '(nil))
-	     (longest 1)
-	     len entry)
-	 (while l
-	   (setq entry (skkdic-extract-conversion-data (car l)))
-	   (setq len (length (car entry)))
-	   (if (> len longest)
-	       (setq longest len))
-	   (let ((entry2 (lookup-nested-alist (car entry) map len nil t)))
-	     (if (consp (car entry2))
-		 (let ((conversions (cdr entry)))
-		   (while conversions
-		     (if (not (member (car conversions) (car entry2)))
-			 (setcar entry2 (cons (car conversions) (car entry2))))
-		     (setq conversions (cdr conversions))))
-	       (set-nested-alist (car entry) (cdr entry) map len)))
-	   (setq l (cdr l)))
-	 (setcar map longest)
-	 map)))
-
-(defmacro skkdic-set-okuri-nasi (&rest entries)
-  `(defconst skkdic-okuri-nasi
-     ',(let ((l entries)
-	     (map '(skdic-okuri-nasi))
-	     (count 0)
-	     entry)
-	 (while l
-	   (setq count (1+ count))
-	   (if (= (% count 10) 0)
-	       (message (format "%d entries" count)))
-	   (setq entry (skkdic-extract-conversion-data (car l)))
-	   (set-nested-alist (car entry) (cdr entry) map)
-	   (setq l (cdr l)))
-	 map)))
-
-(provide 'skkdic-cnv)
-
-;; skkdic-cnv.el ends here
--- a/lisp/international/skkdic-utl.el	Fri Aug 25 01:58:44 2000 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,214 +0,0 @@
-;;; skkdic-utl.el --- Utility functions for handling SKK dictionary
-
-;; Copyright (C) 1995 Electrotechnical Laboratory, JAPAN.
-;; Licensed to the Free Software Foundation.
-
-;; Keywords: mule, multilingual, Japanese, SKK
-
-;; This file is part of GNU Emacs.
-
-;; GNU Emacs is free software; you can redistribute it and/or modify
-;; it under the terms of the GNU General Public License as published by
-;; the Free Software Foundation; either version 2, or (at your option)
-;; any later version.
-
-;; GNU Emacs is distributed in the hope that it will be useful,
-;; but WITHOUT ANY WARRANTY; without even the implied warranty of
-;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-;; GNU General Public License for more details.
-
-;; You should have received a copy of the GNU General Public License
-;; along with GNU Emacs; see the file COPYING.  If not, write to the
-;; Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-;; Boston, MA 02111-1307, USA.
-
-;;; Commentary:
-
-;; SKK is a free Japanese input method running on Mule created by
-;; Masahiko Sato <masahiko@sato.riec.tohoku.ac.jp>.  The Emacs Lisp
-;; library kkc.el provides a facility to convert a Japanese kana
-;; string to a kanji-kana-mixed string by using a SKK dictionary.
-;;
-;; This file provides a generic function to look up a SKK dictionary.
-;;
-;; The original SKK dictionary SKK-JISYO.L is converted to skkdic.el.
-;; We get entries of the dictionary in four variables (listed below)
-;; by loadig this file (or byte-compiled version skkdic.elc).
-
-;;; Code:
-
-;; The following four variables are set by loading skkdic.el[c].
-(defvar skkdic-okuri-ari nil
-  "Nested alist for OKURI-ARI entries of SKK dictionary.")
-
-(defvar skkdic-postfix nil
-  "Nested alist for SETSUBIJI (postfix) entries of SKK dictionary.")
-
-(defvar skkdic-prefix nil
-  "Nested alist SETTOUJI (prefix) entries of SKK dictionary.")
-
-(defvar skkdic-okuri-nasi nil
-  "Nested alist for OKURI-NASI entries of SKK dictionary.")
-
-(defconst skkdic-okurigana-table
-  '((?$B$!(B . ?a) (?$B$"(B . ?a) (?$B$#(B . ?i) (?$B$$(B . ?i) (?$B$%(B . ?u)
-    (?$B$&(B . ?u) (?$B$'(B . ?e) (?$B$((B . ?e) (?$B$)(B . ?o) (?$B$*(B . ?o)
-    (?$B$+(B . ?k) (?$B$,(B . ?g) (?$B$-(B . ?k) (?$B$.(B . ?g) (?$B$/(B . ?k)
-    (?$B$0(B . ?g) (?$B$1(B . ?k) (?$B$2(B . ?g) (?$B$3(B . ?k) (?$B$4(B . ?g)
-    (?$B$5(B . ?s) (?$B$6(B . ?z) (?$B$7(B . ?s) (?$B$8(B . ?j) (?$B$9(B . ?s)
-    (?$B$:(B . ?z) (?$B$;(B . ?s) (?$B$<(B . ?z) (?$B$=(B . ?s) (?$B$>(B . ?z)
-    (?$B$?(B . ?t) (?$B$@(B . ?d) (?$B$A(B . ?t) (?$B$B(B . ?d) (?$B$C(B . ?t)
-    (?$B$D(B . ?t) (?$B$E(B . ?d) (?$B$F(B . ?t) (?$B$G(B . ?d) (?$B$H(B . ?t) (?$B$I(B . ?d)
-    (?$B$J(B . ?n) (?$B$K(B . ?n) (?$B$L(B . ?n) (?$B$M(B . ?n) (?$B$N(B . ?n)
-    (?$B$O(B . ?h) (?$B$P(B . ?b) (?$B$Q(B . ?p) (?$B$R(B . ?h) (?$B$S(B . ?b)
-    (?$B$T(B . ?p) (?$B$U(B . ?h) (?$B$V(B . ?b) (?$B$W(B . ?p) (?$B$X(B . ?h)
-    (?$B$Y(B . ?b) (?$B$Z(B . ?p) (?$B$[(B . ?h) (?$B$\(B . ?b) (?$B$](B . ?p)
-    (?$B$^(B . ?m) (?$B$_(B . ?m) (?$B$`(B . ?m) (?$B$a(B . ?m) (?$B$b(B . ?m)
-    (?$B$c(B . ?y) (?$B$d(B . ?y) (?$B$e(B . ?y) (?$B$f(B . ?y) (?$B$g(B . ?y) (?$B$h(B . ?y)
-    (?$B$i(B . ?r) (?$B$j(B . ?r) (?$B$k(B . ?r) (?$B$l(B . ?r) (?$B$m(B . ?r)
-    (?$B$o(B . ?w) (?$B$p(B . ?w) (?$B$q(B . ?w) (?$B$r(B . ?w)
-    (?$B$s(B . ?n)
-    )
-  "Alist of Okuriganas vs trailing ASCII letters in OKURI-ARI entry.")
-
-(defun skkdic-merge-head-and-tail (heads tails postfix)
-  (let ((min-len 2)
-	l)
-    (while heads
-      (if (or (not postfix)
-	      (>= (length (car heads)) min-len))
-	  (let ((tail tails))
-	    (while tail
-	      (if (or postfix
-		      (>= (length (car tail)) min-len))
-		  (setq l (cons (concat (car heads) (car tail)) l)))
-	      (setq tail (cdr tail)))))
-      (setq heads (cdr heads)))
-    l))
-
-(defconst skkdic-jisx0208-hiragana-block (nth 1 (split-char ?$B$"(B)))
-
-(defun skkdic-lookup-key (seq len &optional postfix prefer-noun)
-  "Return a list of conversion string for sequence SEQ of length LEN.
-
-SEQ is a vector of Kana characters to be converted by SKK dictionary.
-If LEN is shorter than the length of KEYSEQ, the first LEN keys in SEQ
-are took into account.
-
-Optional 3rd arg POSTFIX non-nil means SETSUBIJI (postfix) are also
-considered to find conversion strings.
-
-Optional 4th arg PREFER-NOUN non-nil means that the conversions
-without okurigana are placed at the head of the returned list."
-  (or skkdic-okuri-nasi
-      (condition-case err
-	  (load-library "skk/skkdic")
-	(error (ding)
-	       (with-output-to-temp-buffer "*Help*"
-		 (princ "The library `skkdic' can't be loaded.
-
-The most common case is that you have not yet installed the library
-included in LEIM (Libraries of Emacs Input Method) which is
-distributed separately from Emacs.
-
-LEIM is available from the same ftp directory as Emacs."))
-	       (signal (car err) (cdr err)))))
-
-  (let ((vec (make-vector len 0))
-	(i 0)
-	entry)
-    ;; At first, generate vector VEC from SEQ for looking up SKK
-    ;; alists.  Nth element in VEC corresponds to Nth element in SEQ.
-    ;; The values are decided as follows.
-    ;;   If SEQ[N] is `$B!<(B', VEC[N] is 0,
-    ;;   else if SEQ[N] is a Hiragana character, VEC[N] is:
-    ;;     ((The 2nd position code of SEQ[N]) - 32),
-    ;;   else VEC[N] is 128.
-    (while (< i len)
-      (let ((ch (aref seq i))
-	    elts)
-	(if (= ch ?$B!<(B)
-	    (aset vec i 0)
-	  (setq elts (split-char ch))
-	  (if (and (eq (car elts) 'japanese-jisx0208)
-		   (= (nth 1 elts) skkdic-jisx0208-hiragana-block))
-	      (aset vec i (- (nth 2 elts) 32))
-	    (aset vec i 128))))
-      (setq i (1+ i)))
-
-    ;; Search OKURI-NASI entries.
-    (setq entry (lookup-nested-alist vec skkdic-okuri-nasi len 0 t))
-    (if (consp (car entry))
-	(setq entry (copy-sequence (car entry)))
-      (setq entry nil))
-
-    (if postfix
-	;; Search OKURI-NASI entries with postfixes.
-	(let ((break (max (- len (car skkdic-postfix)) 1))
-	      entry-head entry-postfix entry2)
-	  (while (< break len)
-	    (if (and (setq entry-head
-			   (lookup-nested-alist vec skkdic-okuri-nasi
-						break 0 t))
-		     (consp (car entry-head))
-		     (setq entry-postfix
-			   (lookup-nested-alist vec skkdic-postfix
-						len break t))
-		     (consp (car entry-postfix))
-		     (setq entry2 (skkdic-merge-head-and-tail
-				   (car entry-head) (car entry-postfix) t)))
-		(if entry
-		    (nconc entry entry2)
-		  (setq entry entry2)))
-	    (setq break (1+ break)))))
-
-    ;; Search OKURI-NASI entries with prefixes.
-    (let ((break (min (car skkdic-prefix) (- len 2)))
-	  entry-prefix entry-tail entry2)
-      (while (> break 0)
-	(if (and (setq entry-prefix
-		       (lookup-nested-alist vec skkdic-prefix break 0 t))
-		 (consp (car entry-prefix))
-		 (setq entry-tail
-		       (lookup-nested-alist vec skkdic-okuri-nasi len break t))
-		 (consp (car entry-tail))
-		 (setq entry2 (skkdic-merge-head-and-tail
-			       (car entry-prefix) (car entry-tail) nil)))
-	    (progn
-	      (if entry
-		  (nconc entry entry2)
-		(setq entry entry2))))
-	(setq break (1- break))))
-
-    ;; Search OKURI-ARI entries.
-    (let ((okurigana (assq (aref seq (1- len)) skkdic-okurigana-table))
-	  orig-element entry2)
-      (if okurigana
-	  (progn
-	    (setq orig-element (aref vec (1- len)))
-	    (aset vec (1- len) (- (cdr okurigana)))
-	    (if (and (setq entry2 (lookup-nested-alist vec skkdic-okuri-ari
-						       len 0 t))
-		     (consp (car entry2)))
-		(progn
-		  (setq entry2 (copy-sequence (car entry2)))
-		  (let ((l entry2)
-			(okuri (char-to-string (aref seq (1- len)))))
-		    (while l
-		      (setcar l (concat (car l) okuri))
-		      (setq l (cdr l)))
-		    (if entry
-			(if prefer-noun
-			    (nconc entry entry2)
-			  (setq entry2 (nreverse entry2))
-			  (nconc entry2 entry)
-			  (setq entry entry2))
-		      (setq entry (nreverse entry2))))))
-	    (aset vec (1- len) orig-element))))
-
-    entry))
-
-;;
-(provide 'skkdic-utl)
-
-;; skkdic-utl.el ends here