with-output-to-temp-buffer関数を使用し、標準出力をそれにリダイレクトし、ファイルに保存し、前のバッファーに切り替えてから、一時バッファーを強制終了します。
(require 'find-lisp)
(with-output-to-temp-buffer "*my output*"
(mapc 'print (find-lisp-find-files "~/project/clisp" "\\.lisp$"))
(setq prev-buffer (buffer-name))
(switch-to-buffer "*my output*")
(write-region nil nil "test")
(switch-to-buffer prev-buffer)
(kill-buffer "*my output*")
)
ただし、以下のエラーが発生します。どうしてか分かりません。
Debugger entered--Lisp error: (error "Selecting deleted buffer")
PS:elsip(標準出力をファイルにリダイレクトする)でこれを実現するためのより洗練された方法はありますか?ありがとう