• ベストアンサー

eval-bufferコマンドの実行結果の表示

こんにちは。 OSは現在、64bit版のWindows7を使っています。 Emacsは、Gnu Emacs for Windows 23.4 を使っています。 Emacs-Lispモードのバッファで、eval-bufferコマンドを実行すると、 最後の式を評価した結果が、ミニバッファに表示されますが、 最後の式だけでなく、eval-bufferコマンドで評価した結果すべてを、 表示させる方法はないのでしょうか? 何か御存じの方がいらっしゃれば、是非、情報を提供して頂きたく思います。 では、よろしくお願い致します。

質問者が選んだベストアンサー

  • ベストアンサー
  • notnot
  • ベストアンサー率47% (4903/10364)
回答No.2

No1です。 先ほどの回答は実行せずに書きましたが、実行してみると、eval-bufferコマンドはそもそも最後の式の評価結果をミニバッファに表示したりしませんね。 そこのところから質問者の勘違いだと思います。おそらく「最後の式」が何か自分でミニバッファに書きに行っている。 (list 式1 式2 式3 ) の末尾にカーソルを置いて、ctrl-X ctrl-E で、ミニバッファに "(式1 式2 式3)" が表示されます。

MetalLover
質問者

お礼

御回答ありがとうございます。 >先ほどの回答は実行せずに書きましたが、実行してみると、eval-bufferコマンドはそもそも最後の式の評価結果をミニバッファに表示したりしませんね。 > >そこのところから質問者の勘違いだと思います これは僕の勘違いでした。 最後の式の評価結果がミニバッファに表示されるのではなくて、 messageなど、文字列出力するような関数を含む式を評価した結果出力される文字列が、*Messages*バッファに出力されました。 >(list >式1 >式2 >式3 >) >の末尾にカーソルを置いて、ctrl-X ctrl-E で、ミニバッファに "(式1 式2 式3)" が表示されます。 これは、仰るとおりでした。 ただ、自分の場合は、式の数が非常に多いので、*Messages*バッファには、 ("This is str1." "This is str2." "This is str1." "This is str1." "This is str1." "This is str1." "\"This is str1.\"" str1 "This is str2." "This is str1." nil t ...) といった文字列が出力され、...以降が出力されませんでした。 どうすれば、全ての式の評価結果を出力することができるのでしょうか? ファイルに出力する方法などはないのでしょうか? 何度も申し訳ございませんが、引き続きよろしくお願い致します。

すると、全ての回答が全文表示されます。

その他の回答 (1)

  • notnot
  • ベストアンサー率47% (4903/10364)
回答No.1

バッファ先頭に (list 、末尾に ) を追加してから実行するとか、そういうコマンドを自分で作るとか。

MetalLover
質問者

お礼

御回答ありがとうございます。 >バッファ先頭に (list 、末尾に ) を追加してから実行するとか (list 評価する式1 評価する式2 ・ ・ ・ 評価する式N ) として、eval-bufferコマンドを実行しても、 評価する式Nの評価結果だけが、ミニバッファに表示されました。 僕がやりたいと思っていることは、 式1から式Nまでの評価の結果を、バッファに出力するか、 ファイルに出力する事です。 何かお分かりになれば、教えていただけると嬉しいです。 引き続き、よろしくお願い致します。

すると、全ての回答が全文表示されます。

関連するQ&A