vine-users ML アーカイブ



[vine-users:075512] Re: yatex においてdollar 入力の動作

  • From: "Yuzo Maruyama" <maruyama.yuzo@xxxxxxxxx>
  • Subject: [vine-users:075512] Re: yatex においてdollar 入力の動作
  • Date: Mon, 11 Dec 2006 23:43:00 +0900
丸山です.返事ありがとうございます.
残念ながら,西山さんの方法では,
以前と変わりません.日本語入力モードで
$を入力したときに,「$を補完入力して
英数モードに切り替わる」という快適な
環境にはなりませんでした.

ところで,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)