我正在使用portacle作为我的Common Lisp环境。当我保存文件时,它会保存整个 REPL,包括CL-USER>
。这会导致我在尝试加载文件时出现编译错误。
我想保存代码并从上次中断的地方继续。我一直在 REPL 编写代码,通过使用键和弦 C-x C-s 将工作保存在缓冲区中的文件中。但这破坏了项目的连续性。请提出一种方法。
如果您在终端中使用 REPL,您可能会发现 dribble
有用。
但是,如果你在 Emacs 中运行,你几乎不应该输入任何提示自己。在 Lisp 模式下编辑 Lisp 文件,并将代码发送到 Lisp REPL使用 C-x C-e 或 C-M-x &c。
您还应该考虑使用SLIME,它也随Portacle一起提供。
在portacle:
- 确保 REPL 窗口是活动的窗口
- 点击:文件 ->另存为,输入"repl.log"作为名称
使用任何编辑器:
- 制作一个名为 Repl 的 XYZ.Lisp 的副本.log
- 编辑 XYZ.Lisp,删除所有不是函数或变量定义的内容。
在重新启动的窗口中:
- 使用 (ctrl-X O( 切换到暂存缓冲区
- 将 xyz.lisp (ctrl-X ctrl-F( 加载到缓冲区
- 与 (ctrl-C ctrl-K( 编译并将其加载到REPL-buffer。