如何保存 Lisp 交互历史记录以供将来重新加载



我正在使用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:

  1. 确保 REPL 窗口是活动的窗口
  2. 点击:文件 ->另存为,输入"repl.log"作为名称

使用任何编辑器:

  1. 制作一个名为 Repl 的 XYZ.Lisp 的副本.log
  2. 编辑 XYZ.Lisp,删除所有不是函数或变量定义的内容。

在重新启动的窗口中:

  1. 使用 (ctrl-X O( 切换到暂存缓冲区
  2. 将 xyz.lisp (ctrl-X ctrl-F( 加载到缓冲区
  3. 与 (ctrl-C ctrl-K( 编译并将其加载到REPL-buffer。

相关内容

  • 没有找到相关文章

最新更新