[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: mule2 freeze
>>>>> In [emacs-w3m : No.03267]
>>>>> Katsumi Yamaoka <yamaoka@jpl.org> wrote:
土> (defadvice current-column
土> ;; これで他のバッファでも安全のはず…だけどなあ.要は
土> ;; indent.c:current_column_1() を使わない,ということですから.
山岡> なるほど、救済するのは何も w3m-mode だけでなくて良いのですね。
山岡> 他に move-to-column なども、かな。やってみます。
やってみましたが、パッチを当てていない Mule だと同じように固まっ
てしまいますね。
で、気が付いたのですが `current-column' を使う lisp の関数が
byte-compile されるときに (funcall 'current-column) に相当する
byte-code は生成されず、`current-column' の byte-code そのものが
埋め込まれてしまいます。ですから、せっかく `current-column' に
advice をかぶせてあっても、そういうものには効果が及びません。例
えば bitmap の絵のあたりで `C-x =' (M-x what-cursor-position) を
使ってみると、変な column の数が表示されることでわかります。
;; `what-cursor-position' は simple.elc にあって、
;; `current-column' を使っています。
そこで byte-compile を行なうときに `current-column' が inline さ
れないように対策してみたのですが、良く見れば w3m.el の該当個所は
どうも関係なさそう。もしかしたら emacs-w3m 以外の compile 済みの
.elc ファイルのどれかに犯人がいるかもしれません。仮にそうだとし
ても emacs-w3m の守備範囲ではないので、ここらでダメ Mule 対応は
終わりにしようと思います。
そういうわけで、Mule 2.3@19.34 をお使いのみなさまにおかれまして
は、きのう幹の先端に CVS commit したパッチを当てて、再インストー
ルしていただくことを強くお勧めします。
--
Katsumi Yamaoka <yamaoka@jpl.org>
;; 実に久しぶりに Mule 2.3 で T-gnus を動かしてみています。
;; ちゃんと使えるのにはいささかびっくり。^^;;