[xyzzy:00069] interactive を呼びたい
- Subject: [xyzzy:00069] interactive を呼びたい
- From: Masahito Henmi <henmi@xxxxxxxxxxxxx>
- X-mailer: Denshin 8 Go V321.2b5
亀井さん、こんにちは。
土曜日にxyzzy-lispと戯れていて、新種のメニューを開発しました!!
(defun quick-menu (ch)
(interactive "c1:新規作成 2:名前を付けて保存 3:置換 4:日付と時刻 5:TAGファイルの作成 : ")
(cond ((eql ch #\1) (new-file))
((eql ch #\2) (save-as-dialog))
((eql ch #\3) (replace-dialog))
((eql ch #\4) (insert-date-string))
((eql ch #\5) (make-tags-file-dialog))
(t (quick-menu2))))
(define-key ctl-x-map #\q 'quick-menu)
C-x Q と押すと「1:新規作成 2:名前を付けて保存 3:置換 4:日付と時刻 5:TAGファイルの作成 : 」
と表示され1〜5を押すとコマンドが実行できるという(脳細胞の少ない私向きの^^;)
便利な機能です。^^;
ところで、これからが、質問なんですが、1〜5以外が押されたときに次のメニューを
出そうと思いまして(quick-menu2)
(let ((x (call-interactive "c6:秘密機能 7:最終兵器 : ")))
(cond ((...)
こんな感じでできないかと minubuf.lの中を覗いていたのですが、手がかりは見つかり
ませんでした。対話的置換のあたりも見てみたのですが、あれは(message)して
1文字入力してるだけでした^^;
minibufが " *Minibuf0*"っていう名前を持っていることはつきとめて、
通常のバッファー操作(insert等)で表示しようと思いましたが、minibufは特殊
扱いされている様子でした。
こんなアホなことは出来るのでしょうか?
------------------------------------------------------------
逸見雅人 Email henmi@xxxxxxxxxxxxx
Masahito Henmi