[Message Prev][Message Next][Thread Prev][Thread Next][Message Index][Thread Index]

[MD:4558] Re: Meadow2でのフレームサイズ変更コマンド



meadow-develop に振ります。

>>>>> [meadow-users-jp : No.4680] にて
>>>>> "横田" = YOKOTA Kazuya <yokota-k@xxxxxxxxxxxxxxx> さんは書きました:
横田> 先日のメールで以下のようにしてウィンドウサイズの切り替えが
横田> うまくいきましたと報告しましたが、kill-buffer などしてなく
横田> なったバッファに切り替えようとする場合には、Meadowが落ちて
横田> しまうことに気付きました。

Meadow が落ちてしまうのはまずいので、とりあえずの対処をしました。

根本的な解決になってないようなので、問題がありそうであれば、どな
たか対処をお願いします。


再現方法:
(1) meadow -q で起動

(2) テンポラリのバッファを開く

C-x b tmp RET

(3) frame-configuration を保存

(setq my-last-frame-conf (current-frame-configuration))
を評価

(4) テンポラリのバッファを削除

C-x k RET

(5) 戻った scrach にて下記を評価

(set-frame-configuration my-last-frame-conf)
(other-buffer) ;; <- ここで Meadow が落ちる


原因:

Fother_buffer()@buffer.c

>      if (XSTRING (XBUFFER (buf)->name)->data[0] == ' ')
>	continue;

kill したバッファの名前を参照するところで落ちていました。


対処方法:

>      if (!NILP (XBUFFER (buf)->name)
>	  && XSTRING (XBUFFER (buf)->name)->data[0] == ' ')
>	continue;

上記のように XBUFFER (buf)->name が nil でないことを確認するよう
にしました。

でも、NTEmacs-21.2 以降では、同じコードでも落ちないんですよね。

XBUFFER (buf)->name を設定する部分に問題がありそうなのですが、よ
く分かりませんでした。

--
三好 雅則 mailto:miyoshi@xxxxxxxxxxxxxxxx
          http://www.boreas.dti.ne.jp/~miyoshi/ (Meadow2 のページ始めました)