[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re:
URLのエコ
ーとtextarea
のminor化
>>>>> In [emacs-w3m : No.07748] 山岡 wrote:
> 21.5-b19 だと utf-8 であるべきものを shift_jis でデコードして
> しまう場合があるようですね。
いや、shift_jis ではなくて undecided でデコードしてコード判定に
失敗しているのでした。少なくとも XEmacs 21.5-b19 では、
detect-coding-region は priority-list を無視します。
しかし decode-coding-(region|string) は undecided を指定したとき
に priority-list を参照するようなので、そのセンで対策しました。
有沢さんが [emacs-w3m:07728] で出された w3m.el.patch が当たらな
くなったので、新しいものを添付します。
--- w3m.el~ 2005-03-01 11:11:57 +0000
+++ w3m.el 2005-03-01 10:51:05 +0000
@@ -2564,7 +2564,8 @@
(nth 5 attrs)))
`(nth 5 (w3m-attributes ,url ,no-cache))))
-(defmacro w3m-make-help-echo (property)
+(defvar w3m-decode-help-echo t)
+(defmacro w3m-make-help-echo (property &optional url-decode)
"Make a function returning a string used for the `help-echo' message.
PROPERTY is a symbol (which doesn't need to be quoted) of a text
property (in XEmacs, it is an extent) with the value of a string which
@@ -2576,16 +2577,28 @@
(lambda (extent)
(if (and w3m-track-mouse
(eq (extent-object extent) (current-buffer)))
- (get-text-property (extent-start-position extent)
- ',property)))))
+ (let ((prop (get-text-property (extent-start-position extent)
+ ',property)))
+ (if (and ,url-decode w3m-decode-help-echo)
+ (w3m-url-decode-string
+ prop
+ (cons w3m-current-coding-system
+ w3m-coding-system-priority-list))
+ prop))))))
`(if (>= emacs-major-version 21)
(function
(lambda (window object pos)
(if w3m-track-mouse
(progn
(w3m-message "") ; Clear the echo area.
- (get-text-property pos ',property
- (window-buffer window)))))))))
+ (let ((prop (get-text-property pos ',property
+ (window-buffer window))))
+ (if (and ,url-decode w3m-decode-help-echo)
+ (w3m-url-decode-string
+ prop
+ (cons w3m-current-coding-system
+ w3m-coding-system-priority-list))
+ prop)))))))))
(defmacro w3m-make-balloon-help (property)
"Make a function returning a string used for the `balloon-help' message.
@@ -2938,7 +2951,7 @@
(defun w3m-fontify-anchors ()
"Fontify anchor tags in the buffer which contains halfdump."
- (let ((help (w3m-make-help-echo w3m-href-anchor))
+ (let ((help (w3m-make-help-echo w3m-href-anchor t))
(balloon (w3m-make-balloon-help w3m-href-anchor))
prenames start end)
(goto-char (point-min))