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

Re: w3m-safe-url-regexp



>> On Fri, 01 Feb 2002 15:24:07 +0900
>> 「山」== yamaoka@jpl.org (Katsumi Yamaoka) said as follows:

山> Dirk Meyer さんは http: であれ何であれ、ともかく表示したいのですよ
山> ね。

申し訳ない,問題を勘違いしていました.

>> On Fri, 01 Feb 2002 14:59:47 +0900
>> 「山」== yamaoka@jpl.org (Katsumi Yamaoka) said as follows:

山> とりあえず週末にできるもっとも簡単な対処として
山> mew-w3m-safe-url-regexp と同様の、ただし defconst ではなくて
山> defcustom で定義したオプションを mime-w3m.el と Gnus に設けようと
山> 思います。

了解しました.

;; これ,わざとハードコードにしてあったのですけど….まあ,Gnus の掟に
;; 従うためですから,しょうがないですね.

その場合でも,

    (defcustom mime-w3m-safe-url-regexp "\\`cid:"
      "*Regular expression matches safe contents.
    Nil means that all contents are safe."
      :group 'mime-w3m
      :type 'string)

と書けば良いだけだと思うし,「デフォルトは何でも安全」というのが直感的
ではないとも思えないので,

山> ところが関数 w3m-retrieve での扱いは nil が「何でも安全だよ」とい
山> う論理になっていませんか?

この論理が問題だ,というのはまだ納得できません.

山> それから彼が言っているように、画像の url が安全ではないと判断され
山> て表示をしなかった場合でも w3m-display-inline-images の値は t になっ
山> て、トグル動作がおかしくなってしまっています。

そうですね,でも,これ Gnus に固有の問題ではないような気がしてきました.
普通の emacs-w3m で閲覧しているときでも,一部画像の retrieve に一時的
に失敗した場合には,該当する画像のトグルに同様の問題が生じます.

以下のような変更を考えてみたのですが,この画像周りはきちんと理解してい
ないので,まだ commit はしてません.
Index: w3m.el
===================================================================
RCS file: /storage/cvsroot/emacs-w3m/w3m.el,v
retrieving revision 1.562
diff -u -u -r1.562 w3m.el
--- w3m.el	2002/02/01 01:25:43	1.562
+++ w3m.el	2002/02/01 07:12:41
@@ -1928,6 +1928,7 @@
 			   (and url (string= url iurl)))
 		       (not (eq (get-text-property beg 'w3m-image-status)
 				'on)))
+	      (w3m-add-text-properties beg end '(w3m-image-status on))
 	      (if (get-text-property point 'w3m-image-redundant)
 		  (progn
 		    ;; Insert dummy string instead of redundant image.
@@ -1953,18 +1954,19 @@
 			    (image (let ((w3m-current-buffer (current-buffer)))
 				     (w3m-create-image
 				      iurl no-cache w3m-current-url handler)))
-			  (when (and image
-				     (buffer-live-p (marker-buffer start)))
+			  (when (buffer-live-p (marker-buffer start))
 			    (with-current-buffer (marker-buffer start)
-			      (when (equal url w3m-current-url)
+			      (if image
+				  (when (equal url w3m-current-url)
+				    (let (buffer-read-only)
+				      (w3m-insert-image start end image))
+				    ;; Redisplay
+				    (when w3m-force-redisplay
+				      (sit-for 0)))
 				(let (buffer-read-only)
-				  (w3m-insert-image start end image))
-				;; Redisplay
-				(when w3m-force-redisplay
-				  (sit-for 0))))
+				  (w3m-add-text-properties start end '(w3m-image-status off)))))
 			    (set-marker start nil)
-			    (set-marker end nil))))))))
-	      (w3m-add-text-properties beg end '(w3m-image-status on)))))
+			    (set-marker end nil)))))))))))
       ;; Remove.
       (save-excursion
 	(goto-char (point-min))
-- 
土屋 雅稔  ( TSUCHIYA Masatoshi )