LispBox / Slimeに入力したすべての関数を保存するにはどうすればよいですか?

StackOverflow https://stackoverflow.com/questions/407658

質問

状況:EmacsでREPLを操作しているときにいくつかの機能を入力しました。 問題:&quot ;;のようなジャンクがあります評価が中止されました"単にバッファを保存するとき。 欲しいもの:最新のリビジョンで入力したすべての機能の明確な説明。

それはできますか?ありがとう。

役に立ちましたか?

解決

最適なワークフローの方法は、replに関数を入力するのではなく、別のバッファーにコードを記述して評価することであることに同意します。

repl方法を行ったと仮定すると、replログを保存して手動でそれを実行するC. Martinのソリューションが唯一のオプションです。

関数と変数を別のパッケージに入力した場合、パッケージ内のシンボルを確認して、保持するものを決定するのに役立ちます。

E.g。 cl-userパッケージで作成されたすべてのシンボルを表示するには:

(let ((p (find-package :cl-user)))
  (loop
     for s being the symbols in p
     when (eq p (symbol-package s))
     do (format t "~a~%" s)))

他のヒント

わかりません。 REPLで定義を入力し、後でそれらを回復することを期待していますか?他の言語と同様に、ソースファイルを保存するだけです。 C-x 2を使用して、Emacsウィンドウを2つに分割します。 C-x C-f foo.lispのいずれかでソースファイルを開きます。 C-c C-k、C-c C-rおよびフレンド(SLIMEメニューを参照)を使用して、REPLのソースコードの領域をコンパイル/評価します。

過去にこのようなものを探しましたが、見つけることができませんでした。すべての定義を個別のバッファーに書き込み、SLIMEの広範な評価/コンパイル機能(Cc Ckがファイル全体をロードし、Cx Ceが最後の式を評価し、Cc Crが領域を評価するなど)を直接使用することをお勧めします保存したくないREPL項目。

Um、 Cx o または Cx b でSLIME REPLバッファーにアクセスし、次に Cx w または Cx Cs を使用してファイルに保存します。 SLIME / CLのものはすべて読者のコメントです。プロンプトをコメントとして処理するファイルをリロードするリーダーハックを作成するか、自分でファイルを調べて保存するピースをキャプチャすることができます。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top