質問 |
||
| 質問者:hugood | emacs lisp でread-from-minibuffer関数での入力を、自動的にする方法(プログラミング)はありますか? | |
|---|---|---|
困り度:
|
emacs lisp でminibuffer-read関数での入力を、自動的にする方法(プログラミング)はありますでしょうか。 たとえば、(read-from-minibuffer "")を実行すると、ミニバッファからの入力が促されますが、そこでユーザが入力するのではなく、プログラムで値を入力し確定してread-from-minibuffer関数を抜けたいのですが、その方法がわかりません。 それを目指して下記のようなプログラムを書きましたがうまくいきませんでした。aaを実行して、"abc"が渡るようにして、ミニバッファを抜けたいのですがうまくいきません。 −−−− (defun x() (insert "abc\n") ) (defun aa () (interactive) "" (add-hook 'minibuffer-setup-hook 'x ) (read-from-minibuffer "") (remove-hook 'minibuffer-setup-hook 'x ) ) −−−− また、上記(insert "abc\n")の後に、(exit-minibuffer)を記述すれば、"abc\n"が渡って抜けられるかと考えたのですが、うまくいきません。どなたか、良い方法をご存知の方があれば、教えていただきたくよろしくお願いいたします。 |
|
質問投稿日時:08/03/13 00:57 質問番号:3857934 |
||
回答良回答20pt |
|
| 回答者:notnot | 絶対かどうかは分かりませんが、無理だと思います。 read-from-minibuffer を再定義すればいいのではないですか? |
|---|---|
| 種類:アドバイス どんな人:一般人 自信:参考意見 |
|
| |
回答日時:08/03/13 01:24 回答番号:No.1 |
|
| この回答へのお礼 | ご回答ありがとうございます。 再定義について知りませんでした。検索して見たところ、参考になりそうなものがあり、勉強してみたいと思います。 どうもありがとうございました。 |