丸山です.返事ありがとうございます. 残念ながら,西山さんの方法では, 以前と変わりません.日本語入力モードで $を入力したときに,「$を補完入力して 英数モードに切り替わる」という快適な 環境にはなりませんでした. ところで,yatex.elをbyte compileすると, warningが出ます.具体的には reference to free variable 何とか というのが,20行ほど出ます. jmode jmode-offに関して抜き出すと こんな感じ. While compiling YaTeX-jmode: ** reference to free variable canna:*japanese-mode* ** reference to free variable egg:*mode-on* ** reference to free variable egg:*input-mode* ** reference to free variable skk-mode While compiling YaTeX-jmode-off: ** reference to free variable canna:*japanese-mode* ** reference to free variable egg:*mode-on* ** reference to free variable egg:*input-mode* ** reference to free variable skk-mode また最後に While compiling the end of the data: ** The following functions are not known to be defined: set-file-coding-system, YaTeX-font-lock-set-default-keywords, YaTeX-hilit-setup-alist, canna-toggle-japanese-mode, egg:toggle-egg-mode-on-off, skk-latin-mode, skk-mode-off, j-mode-off, fep-force-off, YaTeX-typeset-buffer, YaTeX-typeset-region, YaTeX-call-command-on-file, YaTeX-kill-typeset-process, YaTeX-view-error, YaTeX-lpr, YaTeX-insert-string, YaTeX-xdvi-remote-search, wrap-function-to-control-ime, YaTeX-yatex-buffer-list 特に j-mode-off が含まれているのが気になります. よく分かりませんが, これが問題ということではないのでしょうか? # これらは,西山さんのアドバイス通りに追加したから, # 発生したwarningではなく,もともとのyatex.elを # byte compileしても,発生します.
anthy.elを使っているのなら、current-input-methodが変わるようなので、 YaTeX-jmode-offと同じようにYaTeX-jmodeの方でもcurrent-input-methodに 対応すれば良さそうです。 というわけで、 (defun YaTeX-jmode () (or (and (boundp 'canna:*japanese-mode*) canna:*japanese-mode*) (and (boundp 'egg:*mode-on*) egg:*mode-on* egg:*input-mode*) (and (boundp 'skk-mode) skk-mode) (and (boundp 'current-input-method) current-input-method))) でどうでしょうか? -- |ZnZ(ゼット エヌ ゼット) |西山和広(Kazuhiro NISHIYAMA)