X-Git-Url: http://git.chise.org/gitweb/?a=blobdiff_plain;f=egg.el;h=a88bcf22926d16611964f1968daff08eb6df7197;hb=28fb101186f07642d2a7e203dca11c9256b9868a;hp=bf53fce4219fb4be64dcbfaf8d0de662b37daf4d;hpb=4f60a801e4c8a70a1eb7299c4fdd6f8c75f8528f;p=elisp%2Fegg.git diff --git a/egg.el b/egg.el index bf53fce..a88bcf2 100644 --- a/egg.el +++ b/egg.el @@ -35,8 +35,6 @@ (defvar egg-default-language "Japanese") (defvar egg-last-method-name) (make-variable-buffer-local 'egg-last-method-name) -(defvar egg-mode-line-title) -(make-variable-buffer-local 'egg-mode-line-title) ;;;###autoload (defun egg-mode (&rest arg) @@ -50,33 +48,25 @@ (cond ((its-in-fence-p) (its-exit-mode)) - ((egg-get-bunsetsu-info (point)))) + ((egg-get-bunsetsu-info (point)) + (egg-exit-conversion))) (setq describe-current-input-method-function nil) (setq current-input-method nil) - (let ((orig-local-map (keymap-parent (current-local-map)))) - (use-local-map orig-local-map)) - (run-hooks 'input-method-inactivate-hook)) + (use-local-map (keymap-parent (current-local-map))) + (force-mode-line-update)) ;; Turn on (if (null (string= (car arg) egg-last-method-name)) (progn - (funcall (nth 1 arg)) - (setq egg-default-language its-current-language))) + (funcall (nth 1 arg)) + (egg-set-conversion-backend nil (list its-current-language) t) + (setq egg-default-language its-current-language))) (setq egg-last-method-name (car arg)) (use-local-map (if egg-mode-preference (egg-modefull-map) (egg-modeless-map))) (setq inactivate-current-input-method-function 'egg-mode) (setq describe-current-input-method-function 'egg-help) - (run-hooks 'input-method-activate-hook)) - (force-mode-line-update)) - -(defun egg-set-mode-line-title (title) - (setq egg-mode-line-title title) - (force-mode-line-update)) - -(defun egg-check-language (lang) - (if (null (member lang egg-support-languages)) - (error "%S is not supported" lang))) + (add-hook 'input-method-activate-hook 'its-set-mode-line-title))) (defun egg-modefull-map () "Generate modefull keymap for EGG mode." @@ -86,6 +76,7 @@ (while (< i 127) (define-key map (vector i) 'egg-self-insert-char) (setq i (1+ i))) + (its-define-select-keys map) (set-keymap-parent map (current-local-map)) map))