logo       

[emacs-w3m:04563] Re: kill-new に第三引数が追加された: msg#00055

emacs.w3m

Subject: [emacs-w3m:04563] Re: kill-new に第三引数が追加された

>>>>> In [emacs-w3m : No.04562]
>>>>> NAKAJIMA Mikio <minakaji@xxxxxxxxxxxxxxxxx> wrote:

中島さん> kill-region する度に変なエラーが出る、と思って調べたら、最
中島さん> 近 cvs 上の Emacs 21 で kill-new に第三引数が追加されたよう
中島さん> です。

[...]

中島さん> エレガントに処理する方法を思いつかなかったので直してません。
中島さん> 識者の方お願いします。

こんなんで良いのでしょうか?

(let (current-load-list)
(defadvice kill-new (before strip-keymap-properties-from-kill activate)
"Advised by emacs-w3m.
Strip `keymap' or `local-map' properties from a killed string."
(if (text-property-any 0 (length (ad-get-arg 0))
'text-rendered-by-mime-w3m t (ad-get-arg 0))
(remove-text-properties 0 (length (ad-get-arg 0))
'(keymap nil local-map nil)
(ad-get-arg 0)))))

;; エレガントかどうかを論ずる以前の内容ですけれど。:-p

ちなみに、関数の引数の最大数は w3m-function-max-args() で調べる
ことができます。と書いたのも束の間、21.3.50 用にはちょっと変更が
必用でした。^^;;

;;; w3m-util.el
(defun w3m-function-max-args (function)
[...]
- (length (delq '&optional arglist))))))
+ (length (delq '&optional (copy-sequence arglist)))))))

CVS commit はちゃんと検証してからにします。
--
Katsumi Yamaoka <yamaoka@xxxxxxx>




<Prev in Thread] Current Thread [Next in Thread>
Google Custom Search

News | FAQ | advertise