文字コードの再読み込みをメニューとか
(defun encoding-menu () (setq *encoding-menu-item* (define-popup-menu (:item nil "utf-8(&U)" #'(lambda () (interactive) (revert-buffer *encoding-utf8n*))) (:item nil "sjis(&S)" #'(lambda () (interactive) (revert-buffer *encoding-sjis*))) (:item nil "euc-jp(&E)" #'(lambda () (interactive) (revert-buffer *encoding-euc-jp*))) (:item nil "auto(&A)" #'(lambda () (interactive) (revert-buffer *encoding-auto*))) :sep (:item nil "詳細指定(&)" #'(lambda (encoding) (interactive "zEncoding: ") (revert-buffer encoding))) )) (insert-popup-menu (get-menu *app-menu* 'ed::file) (get-menu-position *app-menu* 'ed::rename-dialog) *encoding-menu-item* "encode(&G)"))
メニューの書き方は良く知らないが多分これでも動くから良いじゃないだろうか。もっと賢いやり方もあるかもしれないが。
後のhookに引っ掛けてやるとかは好みの問題じゃないだろうか。多分.xyzzyに(setq *encodeing-menu-item* (以下略))と(insert-popup-menu(以下略))を適当に書いておけばhookなくてもいいような気はする。