[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
w3m-search-name-anchor
- From: Naohiro Aota <nao.aota@xxxxxxxxx>
- Date: Thu, 26 Apr 2007 19:03:57 +0900 (JST)
- X-ml-name: emacs-w3m
- X-mail-count: 09411
青田です。
アンカー付きURLをw3m-goto-url-new-sessionから開いた時に、ページの上のほうに
アンカー先がある時以外は、カーソルがアンカー先に移動しない(それどころか、
まったく関係のない場所に移動する)という現象が起こってる方いらっしゃいませんか?
例えば、http://ja.wikipedia.org/wiki/%E3%83%9F%E3%83%98%E3%83%BCでは、
"1 歴史"は正しく動作するのですが、"2 言語"以降のリンクは"人口は総計"の
"人"のところにカーソルが置かれます。
私の検証では、下のパッチをあてて得られるコードで
1.*5*のsit-forのコメントを外し、w3m-search-name-anchor終了時に"人"のところに
カーソルがあること
2.*1*だけ、または*3*だけを外すと、正常に動作すること
3.*4*だけを外すと、"人"のところにカーソルが置かれること
4.*4*・*6*だけを外した時と、*1*・*4*・*6*だけを外した時の出力はどちらも
86 (top)
517 (.E6.AD.B4.E5.8F.B2 top)
1192 (.E8.A8.80.E8.AA.9E .E6.AD.B4.E5.8F.B2 top)
1192
となること
5.*2*だけを外し、sleep-forの引数がある程度小さいと現在と同じく"人"のところに
カーソルが置かれるが、ある程度大きいと、新しいbufferが表示され、Locationの
ところにカーソルが置かれている画面が出た後、正常な位置にカーソルが置かれること
6.*2*・*4*・*6*を外した時も出力は変わらないこと
を確認しました。
以上より、bufferの表示がまだできてない時に失敗するように思いますが、
いかがでしょうか?
よろしければ追試・検証おねがいします。
Index: w3m.el
===================================================================
RCS file: /storage/cvsroot/emacs-w3m/w3m.el,v
retrieving revision 1.1272
diff -u -r1.1272 w3m.el
--- w3m.el 26 Apr 2007 04:03:30 -0000 1.1272
+++ w3m.el 26 Apr 2007 09:11:51 -0000
@@ -5745,9 +5745,12 @@
(defun w3m-search-name-anchor (name &optional quiet)
(interactive "sName: ")
+ ;(redisplay) ;;*1*
+ ;(sleep-for ) ;;*2*
(let ((pos (point-min)))
(catch 'found
(while (setq pos (next-single-property-change pos 'w3m-name-anchor))
+ ;(message "%d %s" pos (get-text-property pos 'w3m-name-anchor2)) ;;*3*
(when (member name (get-text-property pos 'w3m-name-anchor))
(goto-char pos)
(when (eolp) (forward-line))
@@ -5755,6 +5758,7 @@
(throw 'found t)))
(setq pos (point-min))
(while (setq pos (next-single-property-change pos 'w3m-name-anchor2))
+ ;(message "%d %s" pos (get-text-property pos 'w3m-name-anchor2)) ;;*4*
(when (member name (get-text-property pos 'w3m-name-anchor2))
(goto-char pos)
(when (eolp) (forward-line))
@@ -5762,7 +5766,10 @@
(throw 'found t)))
(unless quiet
(message "No such anchor: %s" name))
- nil)))
+ nil))
+ ;(sit-for 10) ;*5*
+ ;(message "%d" (point)) ;;*6*
+ )
(defun w3m-parent-page-available-p ()
(if (null w3m-current-url)