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

Re: isearch-forward vs. long lines



なんか日本語変。疲れているみたい。

From: Hideyuki SHIRAI (白井秀行) <shirai@xxxxxxxxxxx> 曰く
Subject: [emacs-w3m:10229] Re: isearch-forward vs. long lines
Message-ID: <20080612.184044.216285194.shirai.hideyuki@xxxxxxxxxxxxxx>
Date: Thu, 12 Jun 2008 18:40:44 +0900 (JST)

> (defun w3m-auto-show ()
>   "Scroll horizontally so that the point is visible."
>   (when (and truncate-lines
> 	     w3m-auto-show
> 	     (not w3m-horizontal-scroll-done)
> 	     (not (and (eq last-command this-command)
> 		       (or (eq (point) (point-min))
> 			   (eq (point) (point-max)))))
> 	     (markerp (nth 1 w3m-current-position))
> 	     (markerp (nth 2 w3m-current-position))
> 	     (>= (point) (marker-position (nth 1 w3m-current-position)))
> 	     (<= (point) (marker-position (nth 2 w3m-current-position))))
>     (w3m-horizontal-on-screen))
>   (setq w3m-horizontal-scroll-done nil))
>
> なにかのコマンドで行が変わったときは、横スクロールでの追従を止め
> ている(これが isearch での NG につながる)のは、
>
> (1) 長い行の一番右側をスクロールした状態で表示している。
> (2) next-line で一行下に移動したら、その行が短くて point() が
>     column=0 の位置だった。
> (3) 「行が変わったら横スクロールは追従しない」というルールが無かっ
>     たら、column=0 を表示するために横スクロールしない状態になっ
>     ちゃう。

(3) 「行が変わったら横スクロールは追従しない」というルールが無かっ
    たら、column=0 を表示するために一気に左にスクロールしちゃう。
    そんなのいやだ。

ですね。

> 『行が変わった』ことが何に起因したか判定できないと、(3) の問題が
> 起きちゃうので、うーーむ、難しいかも。

うーむ。

-- 
白井秀行 (mailto:shirai@xxxxxxxxxxx)