[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[debian-users:32013] Re: xemacs startup problem
山下 純司です。
>>>>> SY == Shimpei Yamashita wrote:
SY> 最近、sid の xemacs (xemacs21-mule-canna-wnn 21.4.6-7) を立ち上げると、
SY> init.el読み込み中に
SY> Symbol's function definition is void: tcode-mode-line-redisplay
SY> というエラーが起きてしまうようになりました。
[...]
SY> という風になっており、set-input-method内でなにか関数定義が足りないよう
SY> ですが、どこを直せばよいのでしょうか。
t-code を入れてませんか?
私は t-code を入れてましたが使っていないで削除(purge)することで対処
しました。
* 詳細:
; あれ tcode-ml って archive 非公開なんだっけ…
[tcode-ml:1832] にある activate-input-method への advice コードが本体
に取り込まれたようで、tc.el を常用していない人(とりあえず t-code を入
れてみてる人)に不具合が起こってます。
debian の t-code パッケージのスタートアップファイル中で
(require 'tc-setup) しています。
tc-setup.el の中でさらに (require 'tc-sysdep) しており、
tc-sysdep.el の中で前述の advice が書かれています。
この advice では関数 tcode-mode-line-redisplay を使っているのですが、
この関数は tc.el の中で定義されており、autoload 対象になってません。
また tc.el は t-code が使われるまでロードされてません。
つまり tc.el がロードされない(tcode-mode-line-redisplay が定義されてい
ない)状態で tcode-mode-line-redisplay を使った advice が
activate-input-method に対してされているわけです。
で、
SY> 最近、sid の xemacs (xemacs21-mule-canna-wnn 21.4.6-7) を立ち上げると、
SY> init.el読み込み中に
SY> Symbol's function definition is void: tcode-mode-line-redisplay
SY> というエラーが起きてしまうようになりました。
ということになります。
対処方法としては (1) t-code (tc.el) を常用する というのがありますが、
おそらく却下ですよね? :-)
t-code 的には tc.el をロードされていて欲しいのも分かる気がしますし、
私は t-code を常用してないので、t-code ml には状況を報告せず、
t-code deb を purge することで対処しました。
t-code を入れておきたいけれど t-code は常用したくない場合は
~/.xemacs/init.el あたりに以下の内容を書いておけば、とりあえず
しのげるかもしれません(未テスト)。
(or (fboundp 'tcode-mode-line-redisplay)
(fset 'tcode-mode-line-redisplay 'ignore))
いざ t-code を使いたくなった時にも問題はないはずですが未確認です。
; あ… これを t-code deb の /etc/emacs/site-start.d/*t-code.el に
; 入れてもらうようにバグ報告すればよかったのか…
;
; でも t-code を使ってない状態であの advice が有効になってること自体が
; なんか気持ち悪かったんですよね…
--
山下 純司 mailto:ysjj@xxxxxxxxxxxx