[Date Prev][Date Next][Thread Prev][][Date Index][Thread Index]

Re: emacs-w3m-1_4 branch



From: Hideyuki SHIRAI (白井秀行) <shirai@meadowy.org> 曰く
Subject: [emacs-w3m:07683] Re: emacs-w3m-1_4 branch
Message-ID: <20050223.184728.218388472.shirai.hideyuki@rdmg.mgcs.mei.co.jp>
Date: Wed, 23 Feb 2005 18:47:28 +0900 (JST)

> > すみません。やっぱり「勝手にバッグアップ化」はときどき煩わしくな
> > るので、禁止するオプションを作っていただけないでしょうか?  正確

良く考えたら、
(setq w3m-form-use-textarea-backup nil)
で、まったくバックアップしませんね。

# だけど、これを nil にするのは悲しいです :-)

> > 具体的には http://www.excite.co.jp/world/english/ を、英和と和英
> > 用に二つの tab で表示させ、交互に操作していると (y or n) を聞い
> > てくることがよくあります。

いろいろと見ていたら、従来からあった問題にも気付いてしまいました。

1. 山岡さんの指摘の内容ですが、同じ URL を複数の tab で開いてい
  るときに、textarea のバッグアップファイルが同じものになる。

 => 同じ URL が複数開いているときは、*w3m*<n> の番号の若い方だけ
    勝手にバックアップするようにした。        

2. 似たような問題で、同じ URL で同じ textarea を同時に edit しよ
  うとすると、一つの textarea buffer で衝突してしまう。

 => 親分の w3m buffer も加味して同一性を判定するようにした。
    
3. w3m-delete-buffer(), w3m-delete-other-buffer() などをしたときに、
3.1 親分の w3m buffer が消えても、その子分の textarea buffer が
  生き残ってしまう。

 => 消すようにした。(*1)
  
3.2 親分の w3m buffer が変わっても、子分の textarea buffer がそ
  の変更(*w3m*<3> => *w3m*<2> など) についていっていない。

 => 追従するようにした。


といった感じです。1. の変更でほとんどの場合は (y or n) を聞かれ
ないと思うのですが、

*w3m* => excite 翻訳  <- (1) 
*w3m*<2> => excite 翻訳

の状態から (1) を w3m-delete-buffer() すると、

*w3m* => excite 翻訳 <- もとは *w3m*<2> だった

となり、(1) で保存したバックアップを使うようになり (y or n) を聞
かれてしまいます。これをガードするのは勝手にバックアップをしない
のとほとんど同じぐらいのレベルに落しちゃうことになるので許してく
ださい。

心残りは、(*1) で消される運命の textarea buffer の window が表面
に(たくさん)出ていると、消した後の残心が汚い、というのがあるので
すが、そんな状態はレアケースだと思うのでぼくは気にしないことにし
ました。

> ;; ちゃんとコードを読んでなくてすみません。実は、ちょっと眺めた
> ;; だけでは理解できなかったので。^^;;

## 手なりでますますめちゃくちゃなコードを書くようになって来たみ
## たい、私 :-)

-- 
白井秀行 (mailto:shirai@meadowy.org)