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

Re: 他の window で w3m-history-restore-position()



>>>>> In [emacs-w3m : No.07305] 白井秀行さん wrote:

> w3m-reload-this-page() を動かしたあと、他の window や frame にいっ
> て作業をしていると、まったく w3m と無関係のその buffer 内で
> point が動いてしまうことがあります。

> w3m-goto-url() の最後の

> 	      (when (or reload redisplay)
> 		(w3m-history-restore-position))

> で、今いる window が *w3m* じゃなくても set-window-start() され
> ちゃうから、ということがわかったのですが、

なある。

> (defun w3m-history-restore-position ()

[...]

> 	       (goto-char (min position (point-max)))
> 	       (setq window (get-buffer-window (current-buffer) 'all-frames))
> 	       (when window
> 		 (save-selected-window
> 		   (select-window window)
> 		   (set-window-start window start)))))

[...]

> な修正で良いでしょうか。待った、がかからなかったら commit してお
> きます。

えーと、従来のコードが set-window-start の後で goto-char してい
たのは何か意味があったような気がするんですが、思い出せません。
reload の前後でそのページのサイズが大きく変化した場合を考慮、じゃ
ないなあ。いずれにしても大きく変化した場合の救済は完全にはできな
いでしょうから、commit しておいて下さいませ。