ようこそ ゲスト さん、新規登録(無料)して気になる疑問を解決しませんか?

質問

質問者: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
この回答へのお礼ご回答ありがとうございます。
再定義について知りませんでした。検索して見たところ、参考になりそうなものがあり、勉強してみたいと思います。
どうもありがとうございました。