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

Re: Support for link-numbering



>> On Fri, 16 Apr 2004 13:13:53 +0900
>> 「山」== yamaoka@jpl.org (Katsumi Yamaoka) said as follows:

山> ぼくは最初に「数 RET」で form に飛ぶのが欲しいと書いたんですが、ま
山> だ手つかずです。

最初に試したとき,普通のアンカーに番号をつけるのはさほどうるさくならな
いのに対して,form に番号をつけるととたんにうるさく感じる印象があった
ので,今のような実装になっています.

と言っても,実装してみると分かりましたが,私個人は,このインターフェー
スは必要とはあまり思わないので,

山> こういうのはどうでしょうね。

山>   「数 RET」では tab でも移動できるアンカーの場所に行くだけ。
山>   そこで d なり RET なりを叩いて何かするのは従来通り。

必要な人同士でどうぞ相談して決めてください.

;; 個人的には,メニューに相当するアンカーにだけ番号を付与し,それ以外
;; のアンカー(普通の文中に含まれているものなど)は無視してくれるように
;; なれば良いのかなあと思いました.

一応,速攻ででっち上げた「数 d」できるようにするためのパッチを末尾に添
付しておきます.

-- 
土屋 雅稔 ( TSUCHIYA Masatoshi )

Index: w3m-link-numbering.el
===================================================================
RCS file: /storage/cvsroot/emacs-w3m/w3m-link-numbering.el,v
retrieving revision 1.6
diff -u -r1.6 w3m-link-numbering.el
--- w3m-link-numbering.el	15 Apr 2004 23:07:29 -0000	1.6
+++ w3m-link-numbering.el	16 Apr 2004 04:18:50 -0000
@@ -52,9 +52,11 @@
 
 (defvar w3m-link-numbering-mode-map
   (let ((keymap (make-sparse-keymap)))
-    (substitute-key-definition 'w3m-view-this-url
-			       'w3m-view-numbered-link
-			       keymap w3m-mode-map)
+    (dolist (pair
+	     '((w3m-view-this-url . w3m-view-numbered-link)
+	       (w3m-download-this-url . w3m-download-numbered-link)))
+      (substitute-key-definition (car pair) (cdr pair)
+				 keymap w3m-mode-map))
     keymap)
   "Keymap used when `w3m-link-numbering-mode' is active.")
 
@@ -110,18 +112,26 @@
 		(overlay-put overlay 'evaporate t))
 	      (overlay-put overlay 'w3m-link-numbering-overlay i))))))))
 
-(defun w3m-view-numbered-link (&optional arg)
-  "Display the page pointed to by the specified link."
-  (interactive "P")
+(defun w3m-link-numbering-actor (arg command)
   (if (and arg
 	   (> (setq arg (prefix-numeric-value arg)) 0))
       (catch 'found
 	(dolist (overlay (overlays-in (point-min) (point-max)))
 	  (when (eq arg (overlay-get overlay 'w3m-link-numbering-overlay))
 	    (goto-char (overlay-start overlay))
-	    (throw 'found (w3m-view-this-url))))
+	    (throw 'found (funcall command))))
 	(error "Cannot found your specified link: %d" arg))
-    (w3m-view-this-url)))
+    (funcall command)))
+
+(defun w3m-view-numbered-link (&optional arg)
+  "Display the page pointed to by the specified link."
+  (interactive "P")
+  (w3m-link-numbering-actor arg 'w3m-view-this-url))
+
+(defun w3m-download-numbered-link (&optional arg)
+  "Download the page pointed to by the specified link."
+  (interactive "P")
+  (w3m-link-numbering-actor arg 'w3m-download-this-url))
 
 (provide 'w3m-link-numbering)