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

Re: link tag



From: Masayuki Ataka <ataka@milk.freemail.ne.jp>

リンクタグの対応部分について見ていたら、
<link rel="start" or "contents"
も簡単に出来るようになるんじゃないかと思って、
次のようなパッチを作ってみました。
土屋さんの設定をまねしただけなので、
とんでもないかん違いをしているかもしれません。

先の previous へのパッチも含んでいます。

一応動作確認は次のページで行いました。
<rel=contents>
http://www.w3.org/TR/html4/cover.html
<rel=start>
http://isweb22.infoseek.co.jp/computer/pop-club/

キーへのバインドはしていないので、
適当なキーに 
(w3m-goto-url w3m-start-url)
(w3m-goto-url w3m-contents-url)
を定義してやれば、使えるようになります。


これが上手く行くようなら、他のリンク・タイプも
対応させたいのですが、他のやつは一筋縄では行かなさそう。

                                    ----Input with T-Code!
           http://isweb22.infoseek.co.jp/computer/pop-club
     Masayuki Ataka / 安宅 正之 (ataka@milk.freemail.ne.jp)
--- w3m.el.org	Thu Nov  8 22:11:37 2001
+++ w3m.el	Thu Nov  8 22:03:19 2001
@@ -859,6 +859,8 @@
 (defvar w3m-current-coding-system nil "Current coding-system of this buffer.")
 (defvar w3m-next-url nil "Next URL of this buffer.")
 (defvar w3m-previous-url nil "Previous URL of this buffer.")
+(defvar w3m-start-url nil "Start URL of this buffer.")
+(defvar w3m-contents-url nil "Table of Contents URL of this buffer.")
 
 (make-variable-buffer-local 'w3m-current-url)
 (make-variable-buffer-local 'w3m-current-base-url)
@@ -867,6 +869,8 @@
 (make-variable-buffer-local 'w3m-current-coding-system)
 (make-variable-buffer-local 'w3m-next-url)
 (make-variable-buffer-local 'w3m-previous-url)
+(make-variable-buffer-local 'w3m-start-url)
+(make-variable-buffer-local 'w3m-contents-url)
 
 (defsubst w3m-clear-local-variables ()
   (setq w3m-current-url nil
@@ -875,10 +879,12 @@
 	w3m-current-forms nil
 	w3m-current-coding-system nil
 	w3m-next-url nil
-	w3m-previous-url nil))
+	w3m-previous-url nil
+	w3m-start-url nil
+	w3m-contents-url nil))
 
 (defsubst w3m-copy-local-variables (from-buffer)
-  (let (url base title forms cs next prev)
+  (let (url base title forms cs next prev start toc)
     (with-current-buffer from-buffer
       (setq url w3m-current-url
 	    base w3m-current-base-url
@@ -886,14 +892,18 @@
 	    forms w3m-current-forms
 	    cs w3m-current-coding-system
 	    next w3m-next-url
-	    prev w3m-previous-url))
+	    prev w3m-previous-url
+	    start w3m-start-url
+	    toc w3m-contents-url))
     (setq w3m-current-url url
 	  w3m-current-base-url base
 	  w3m-current-title title
 	  w3m-current-forms forms
 	  w3m-current-coding-system cs
 	  w3m-next-url next
-	  w3m-previous-url prev)))
+	  w3m-previous-url prev
+	  w3m-start-url start
+	  w3m-contents-url toc)))
 
 (defvar w3m-verbose t "Flag variable to control messages.")
 
@@ -1725,7 +1735,9 @@
 	  (setq rel (split-string rel))
 	  (cond
 	   ((member "next" rel) (setq w3m-next-url href))
-	   ((member "prev" rel) (setq w3m-previous-url href))))
+	   ((or (member "prev" rel) (member "previous" rel)) (setq w3m-previous-url href))
+	   ((member "start" rel) (setq w3m-start-url href))
+	   ((member "contents" rel) (setq w3m-contents-url href))))
 	(delete-region start (point))
 	(cond
 	 (href
@@ -1756,7 +1768,11 @@
     (when w3m-next-url
       (setq w3m-next-url (w3m-expand-url w3m-next-url)))
     (when w3m-previous-url
-      (setq w3m-previous-url (w3m-expand-url w3m-previous-url)))))
+      (setq w3m-previous-url (w3m-expand-url w3m-previous-url)))
+    (when w3m-start-url
+      (setq w3m-start-url (w3m-expand-url w3m-start-url)))
+    (when w3m-contents-url
+      (setq w3m-contents-url (w3m-expand-url w3m-contents-url)))))
 
 (defun w3m-image-type (content-type)
   "Return image type which corresponds to CONTENT-TYPE."
@@ -2997,7 +3013,9 @@
 	      (setq rel (split-string rel))
 	      (cond
 	       ((member "next" rel) (setq w3m-next-url href))
-	       ((member "prev" rel) (setq w3m-previous-url href))))))))))
+	       ((or (member "prev" rel) (member "previous" rel)) (setq w3m-previous-url href))
+	       ((member "start" rel) (setq w3m-start-url href))
+	       ((member "contents" rel) (setq w3m-contents-url href))))))))))
 
 (defun w3m-remove-meta-charset-tags ()
   (let ((case-fold-search t))