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

Re: text-propertiy の重複



7ヶ月前の thread につなげます。

2005-10-15  Tsuyoshi CHO  <tsuyoshi_cho@xxxxxxxxx>
[...]
	(w3m-refontify-anchor): Change for FACE properly is list type.

Google で何かを検索した後で、検索窓にカーソルを置いて検索文字列
を変更せずに C-c C-c すると、次のようなエラーが起きます。

Debugger entered--Lisp error: (wrong-type-argument listp w3m-form-face)
  memq(w3m-anchor-face w3m-form-face)
[...]
  w3m-refontify-anchor()
  w3m-goto-url("http://www.google.co.jp/search?hl=ja&inlang=ja&ie=S...
  w3m-form-submit([w3m-form-object get "http://www.google.co.jp/sea...
  eval((w3m-form-submit [w3m-form-object get "http://www.google.co....
  w3m-submit-form()
  call-interactively(w3m-submit-form)

w3m-form-use-fancy-faces を nil にして [Google 検索] ボタンをク
リックしても、同じエラーを起こすことができます。これは textarea
などに付いている face の値が list になっていないからなんですが、
どうしましょうか? → 長さん

1. put-text-property と add-text-properties を使って face を付け
   ている部分をすべて洗い出して、face の値を list にする。

2. 以下のパッチでお茶を濁す。;-p

--- w3m.el~	2006-05-10 10:25:55 +0000
+++ w3m.el	2006-05-11 07:35:54 +0000
@@ -3602,6 +3602,7 @@
       (when (and (eq major-mode 'w3m-mode)
 		 (get-text-property (point) 'w3m-anchor-sequence)
 		 (setq prop (get-text-property (point) 'face))
+		 (listp prop)
 		 (memq 'w3m-anchor-face prop))
 	(let* ((start)
 	       (end (next-single-property-change (point) 'w3m-anchor-sequence))