[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: TAB not jumping past <embed>
- From: Naohiro Aota <nao.aota@xxxxxxxxx>
- Date: Tue, 09 Dec 2008 22:25:48 +0900 (JST)
- X-ml-name: emacs-w3m
- X-mail-count: 10526
- References: <877i6a4hex.fsf@xxxxxxxxxxx> <20081209.205945.793411489881365082.nao.aota@xxxxxxxxx> <20081209.214049.218774820.shirai.hideyuki@xxxxxxxxxxx>
From: Hideyuki SHIRAI (白井秀行) <shirai@xxxxxxxxxxx>
Subject: [emacs-w3m:10525] Re: TAB not jumping past <embed>
Date: Tue, 09 Dec 2008 21:40:49 +0900 (JST)
> ごめん。日本語。
>
> From: Naohiro Aota <nao.aota@xxxxxxxxx> さん曰く
> Subject: [emacs-w3m:10524] Re: TAB not jumping past <embed>
> Message-ID: <20081209.205945.793411489881365082.nao.aota@xxxxxxxxx>
> Date: Tue, 09 Dec 2008 20:59:45 +0900 (JST)
>
>> From: jidanni@xxxxxxxxxxx
>> Subject: [emacs-w3m:10523] TAB not jumping past <embed>
>> Date: Tue, 09 Dec 2008 03:04:54 +0800
>>
>>> In http://derc.pccu.edu.tw/ the TAB key just gets stuck at the fi
>>> rst
>>> <embed> and won't jump to any of the <a> hyperlinks. Same for rea
>>> l w3m too.
>>
>> I'm sorry, but I can't reproduce the problem. :( Could you check y
>> our
>> proxy (or something)?
>
> 会社で試したときは大丈夫だったのだけど、今、自宅でやったら
> "stuck at the first <embed>" になりました。
>
>> % md5sum index.html
>> d5aaf1955b689375acc323c20d03af28 index.html
>
> % md5sum index.html
> d5aaf1955b689375acc323c20d03af28 *index.html
>
> ローカルの index.html でも同じでした。
ありゃ、再現できましたか。 ちょっと行き違ったみたいですね…。
> なにが起こっているかというと、その <embed> のところの
> w3m-anchor-sequence がその html の中で一番大きくて、なおかつ、一
> 番 point-min に使いとこんなことが起きちゃうみたいです。
なるほど。 さっと見た感じですが " (unless (w3m-goto-next-anchor)" で移
動に失敗した時、 w3m-anchor-sequence を保持しておいてページ先頭に戻っ
て
サーチしてみます。その後で、
- w3m-anchor-sequence が変わってない
- w3m-anchor-sequence が w3m-max-anchor-sequence にひとしい
- 1 番の w3m-anchor-sequence がある (ここは loop して最小を探すように
し
てもいいかも)
の3条件を満たす時は そのアンカーに移動する、という風にするというのでは
どうでしょうか? 詳しくはパッチをどうぞ。
;; 再現できないのでテストできてないですが
> ちなみに、素の w3m でも同じ挙動になる(というか anchor-sequence
> は w3m がつけるものを使っている )ので、ぼくの会社と手元の w3m が
> 微妙に違うものかもしれません。
>
> 数ヶ月前にも同じ現象の報告があったような記憶があるのですが、その
> 時も手が出なかったのでした。w3m-next-anchor() 見てたらぼーーとし
> ちゃって ^^;;;
むぅ、うちのはそもそも <embed> がどれのことを言っているのかよくわから
な
いのですよね…。 w3m -halfdump が違うんでしょうか。
ちなみにうちではこんな感じです。
% w3m -halfdump http://derc.pccu.edu.tw/| md5sum
a3bc33dc14d1da7f2a00bce695abe084 -
--
青田
Index: w3m.el
===================================================================
RCS file: /storage/cvsroot/emacs-w3m/w3m.el,v
retrieving revision 1.1394
diff -u -r1.1394 w3m.el
--- w3m.el 5 Dec 2008 16:42:23 -0000 1.1394
+++ w3m.el 9 Dec 2008 13:12:09 -0000
@@ -6834,9 +6834,16 @@
(setq w3m-goto-anchor-hist nil)
(if (w3m-imitate-widget-button)
(widget-forward 1)
- ;; Make a search from the beginning of the buffer.
- (goto-char (point-min))
- (w3m-goto-next-anchor)))
+ (let ((hseq (w3m-anchor-sequence))
+ pos)
+ ;; Make a search from the beginning of the buffer.
+ (goto-char (point-min))
+ (w3m-goto-next-anchor)
+ (and (= hseq (w3m-anchor-sequence))
+ (= hseq w3m-max-anchor-sequence)
+ (setq pos (text-property-any
+ (point-min) (point-max) 'w3m-anchor-sequence 1))
+ (goto-char pos)))))
(setq arg (1- arg))
(if (member (w3m-anchor-sequence) w3m-goto-anchor-hist)
(setq arg (1+ arg))