08/02/12 06:01:37 SUwXSJwZ0
>>326を簡単にできるように、>>234のwikiの記事を参考にして
ポップアップメニューで表示できるようにしています。
.xyzzy に以下のコードを書いたのですが、C-c C-e を押しても、C-c eの方が実行されてしまいます。
何が悪いのでしょうか・・・?
; エンコーディング変更ポップアップ と メニューに追加
(defvar *encoding-menu* nil)
(defun encoding-menu (encode-func)
(or *encoding-menu*
(let ((menu (create-popup-menu)))
(mapc #'(lambda (x)
(add-menu-item menu nil (car x)
#'(lambda ()
(interactive)
(funcall encode-func (cdr x)))))
`(("utf-8n \t(&8)" . ,*encoding-utf8n*)
("utf-16 \t(&6)" . ,*encoding-utf16*)
("sjis \t(&S)" . ,*encoding-sjis*)
("auto \t(&A)" . ,*encoding-auto*)
("euc-jp \t(&E)" . ,*encoding-euc-jp*)
;("jis \t(&J)" . ,*encoding-jis*)
))
(add-menu-item menu :select "詳細指定\t(&_)"
#'(lambda (encoding)
(interactive "zEncoding: ")
(funcall encode-func encoding)))
(setq *encoding-menu* menu))))