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

using non-ASCII as a name anchor



青田です。

昨日、送りそこねたので3つほど変更点がありますがメインは非ASCIIなアンカー関連の
パッチです。

現在、w3m-decode-bufferでは非ASCIIなリンクのエンコードにw3m-url-encode-stringを
使用していて、そのために#もエンコードされるようになっていますが、
w3m-url-transfer-encode-stringを使用することはできないでしょうか?
(w3m-fontify-anchorsでもnameのエンコードにこちらを使用しているようですし)
こちらを使用して、問題なければ日本語アンカーも動作するようです。
また、非ASCII文字を含むローカルURLのdecodeをファイルパスとアンカー名を分けた
あとに行なうようになおしています。

残りの変更点は
1.新バッファを開きページを読んでる最中にRETを押すと
  (wrong-type-argument stringp nil)
  と怒られるのでw3m-current-urlをマッチする前にstringpをチェック。
2.sb-slashdot-jp.elのshimbun-slashdot-jp-group-alistの
  デフォルト値からlinuxkernelを削除しlinuxを追加。
の2つになります。

2番は、http://osdn.jp/rss.shtmlを参考にしました。

Index: ChangeLog
===================================================================
RCS file: /storage/cvsroot/emacs-w3m/ChangeLog,v
retrieving revision 1.3002
diff -u -r1.3002 ChangeLog
--- ChangeLog	27 Apr 2007 00:36:14 -0000	1.3002
+++ ChangeLog	28 Apr 2007 02:33:48 -0000
@@ -1,3 +1,13 @@
+2007-04-28  Naohiro Aota  <nao.aota@xxxxxxxxx>
+
+	* w3m.el (w3m-decode-buffer): Use w3m-url-transfer-encode-string
+	instead of w3m-url-encode-string.
+
+2007-04-27  Naohiro Aota  <nao.aota@xxxxxxxxx>
+
+	* w3m.el (w3m-view-this-url): Check if w3m-current-url is string before
+	matching.
+
 2007-04-27  Katsumi Yamaoka  <yamaoka@xxxxxxx>
 
 	* w3m.el (w3m-decode-buffer): Fully decode a source by default.
Index: w3m.el
===================================================================
RCS file: /storage/cvsroot/emacs-w3m/w3m.el,v
retrieving revision 1.1274
diff -u -r1.1274 w3m.el
--- w3m.el	27 Apr 2007 00:36:14 -0000	1.1274
+++ w3m.el	28 Apr 2007 02:34:17 -0000
@@ -4394,7 +4394,7 @@
 			(re-search-backward "[\t\n\r ]src[\t\n\r ]*=[\t\n\r ]*\
 \"\\(\\(?:[\000-\041\043-\177]*[^\000-\177]+\\)+[\000-\041\043-\177]*\\)"
 					    (match-end 2) t))
-		  (insert (w3m-url-encode-string
+		  (insert (w3m-url-transfer-encode-string
 			   (prog1
 			       (match-string 1)
 			     (delete-region (goto-char (match-beginning 1))
@@ -4407,7 +4407,7 @@
 		    (re-search-backward "[\t\n\r ]src[\t\n\r ]*=[\t\n\r ]*\
 '\\(\\(?:[\000-\046\048-\177]*[^\000-\177]+\\)+[\000-\046\048-\177]*\\)"
 					(match-end 2) t))
-	      (insert (w3m-url-encode-string
+	      (insert (w3m-url-transfer-encode-string
 		       (prog1
 			   (match-string 1)
 			 (delete-region (goto-char (match-beginning 1))
@@ -6047,7 +6047,8 @@
 		 (list current-prefix-arg nil)))
   (let ((w3m-prefer-cache
 	 (or w3m-prefer-cache
-	     (string-match "\\`about://\\(?:db-\\)?history/" w3m-current-url)))
+	     (and (stringp w3m-current-url)
+		  (string-match "\\`about://\\(?:db-\\)?history/" w3m-current-url))))
 	act url)
     (cond
      ((setq act (w3m-action))
@@ -8013,9 +8014,6 @@
   (unless (or (w3m-url-local-p url)
 	      (string-match "\\`about:" url))
     (setq url (w3m-url-transfer-encode-string url w3m-default-coding-system)))
-  (when (and (w3m-url-local-p url)
-	     (not(string-match "[^\000-\177]" url)))
-    (setq url (w3m-url-decode-string url)))
   (cond
    ;; process mailto: protocol
    ((string-match "\\`mailto:" url)
@@ -8122,6 +8120,9 @@
 	  (and (match-beginning 8)
 	       (setq name (match-string 9 url)
 		     url (substring url 0 (match-beginning 8))))
+	  (when (and (w3m-url-local-p url)
+		     (not(string-match "[^\000-\177]" url)))
+	    (setq url (w3m-url-decode-string url)))
 	  (w3m-process-do
 	      (action
 	       (if (and (not reload)
Index: shimbun/ChangeLog
===================================================================
RCS file: /storage/cvsroot/emacs-w3m/shimbun/ChangeLog,v
retrieving revision 1.9
diff -u -r1.9 ChangeLog
--- shimbun/ChangeLog	27 Apr 2007 06:23:25 -0000	1.9
+++ shimbun/ChangeLog	28 Apr 2007 02:34:35 -0000
@@ -1,3 +1,8 @@
+2007-04-27  Naohiro Aota  <nao.aota@xxxxxxxxx>
+
+	* sb-slashdot-jp.el (shimbun-slashdot-jp-group-alist): Follow the
+	change of news group name and URL.
+
 2007-04-27  Katsumi Yamaoka  <yamaoka@xxxxxxx>
 
 	* sb-rss.el (shimbun-rss-get-headers): Support japanese-hankaku.
Index: shimbun/sb-slashdot-jp.el
===================================================================
RCS file: /storage/cvsroot/emacs-w3m/shimbun/sb-slashdot-jp.el,v
retrieving revision 1.46
diff -u -r1.46 sb-slashdot-jp.el
--- shimbun/sb-slashdot-jp.el	22 Feb 2007 09:35:47 -0000	1.46
+++ shimbun/sb-slashdot-jp.el	28 Apr 2007 02:34:36 -0000
@@ -78,7 +78,7 @@
     ("bsd"	   . "http://slashdot.jp/bsd.rss")
     ("developers"  . "http://slashdot.jp/developers.rss")
     ("interview"   . "http://slashdot.jp/interview.rss")
-    ("linuxkernel" . "http://slashdot.jp/linuxkernel.rss")
+    ("linux"       . "http://slashdot.jp/linux.rss")
     ("mac"	   . "http://slashdot.jp/mac.rss")
     ("mobile"	   . "http://slashdot.jp/mobile.rss")
     ("science"	   . "http://slashdot.jp/science.rss")