X-Git-Url: http://git.chise.org/gitweb/?p=elisp%2Fegg.git;a=blobdiff_plain;f=egg%2Fwnn.el;fp=egg%2Fwnn.el;h=3891e47b577c5a0293041a8fbe386932841e9b17;hp=1e8330dd46b44b81a03ef6bc11bd30dfa695d12a;hb=5aed272165474232c184fca0eea0615d0d24eb03;hpb=b119a4bd55128604c081bf958ce71e0d1294d88e diff --git a/egg/wnn.el b/egg/wnn.el index 1e8330d..3891e47 100644 --- a/egg/wnn.el +++ b/egg/wnn.el @@ -207,12 +207,14 @@ (defun wnn-start-conversion (yomi &optional language dic-set reverse) "Convert YOMI string to kanji, and enter conversion mode. Return the list of bunsetsu." - (let* ((server-info (wnn-server-get-info language)) - (env (wnn-get-environment server-info dic-set reverse)) - (result (wnnrpc-renbunsetsu-conversion env yomi - (WNN-const BUN_SENTOU) ""))) - (wnnenv-set-daibunsetsu-info env (car result)) - (cdr result))) + (let ((server-info (wnn-server-get-info language))) + (if server-info + (let* ((env (wnn-get-environment server-info dic-set reverse)) + (result (wnnrpc-renbunsetsu-conversion env yomi + (WNN-const BUN_SENTOU) ""))) + (wnnenv-set-daibunsetsu-info env (car result)) + (cdr result)) + (signal 'lang-not-supported)))) (defun wnn-start-reverse-conversion (yomi &optional language dic-set) (wnn-start-conversion yomi language dic-set t)) @@ -369,7 +371,13 @@ Return the list of bunsetsu." ,@body) (setq env-list (cdr env-list)))))) -(defun wnn-fini (lang &optional save-only) +(defun wnn-fini () + (let ((l wnn-support-languages)) + (while l + (wnn-fini-lang (car l)) + (setq l (cdr l))))) + +(defun wnn-fini-lang (lang &optional save-only) (let* ((server-info (wnn-server-get-info lang)) (server-type (wnn-server-type server-info)) (l wnn-environments) @@ -410,7 +418,7 @@ Return the list of bunsetsu." (or (listp lang) (setq lang (list lang))) (while lang - (wnn-fini (car lang)) + (wnn-fini-lang (car lang)) (setq lang (cdr lang)))) (defun wnn-dictionary-save (lang) @@ -418,7 +426,7 @@ Return the list of bunsetsu." (or (listp lang) (setq lang (list lang))) (while lang - (wnn-fini (car lang) t) + (wnn-fini-lang (car lang) t) (setq lang (cdr lang)))) (defun wnn-read-active-lang () @@ -1002,14 +1010,13 @@ REVERSE specifies reverse conversion, if non nil." ;;; setup (require 'egg) -(load "egg/wnnrpc") ;;;###autoload (defun egg-activate-wnn (&rest arg) "Activate Wnn backend of Tamagotchy." - (egg-set-support-languages wnn-support-languages) - (egg-set-conversion-backend wnn-conversion-backend - wnn-support-languages) + (setq egg-conversion-backend wnn-conversion-backend) + (if (not (fboundp 'wnnrpc-open)) + (load-library "egg/wnnrpc")) (apply 'egg-mode arg)) ;;; egg/wnn.el ends here.