如何在slime中运行lisp缓冲区并在emacs中查看其输出?

如何在slime中运行lisp缓冲区并在emacs中查看其输出?,emacs,lisp,common-lisp,slime,Emacs,Lisp,Common Lisp,Slime,我在缓冲区中有以下代码(文件~/firsts.lsp): 我希望“运行”此脚本并查看以下输出(或其合理变体): 我的缓冲区显示此模式: (Lisp [COMMON-LISP-USER cmucl] adoc) 在尝试运行它时,我尝试了C-C-k,它创建了一个缓冲区slime编译,显示文件“编译”时没有错误,但我没有找到一种方法让编译后的代码通过解释器执行或运行整个脚本 Slime已安装并正在运行(它是协调编译的工具)。我知道我可以通过repl以逐个表单的方式运行表单,但我希望以交互方式运行整个

我在缓冲区中有以下代码(文件~/firsts.lsp):

我希望“运行”此脚本并查看以下输出(或其合理变体):

我的缓冲区显示此模式:

(Lisp [COMMON-LISP-USER cmucl] adoc)
在尝试运行它时,我尝试了C-C-k,它创建了一个缓冲区slime编译,显示文件“编译”时没有错误,但我没有找到一种方法让编译后的代码通过解释器执行或运行整个脚本

Slime已安装并正在运行(它是协调编译的工具)。我知道我可以通过repl以逐个表单的方式运行表单,但我希望以交互方式运行整个脚本

软件环境: Mac OS X 10.12.3 GNU Emacs 25.1.1 煤泥变更记录日期2016-04-19
CMU通用Lisp 21b(21b Unicode),但与SBCL 1.3.14的结果相同。可以想象Lisp源代码编辑器和侦听器(读取-评估-打印循环)如何以各种方式协同工作。虽然黏液一般都很好,但有些交互作用有点笨拙

在这种情况下,我使用三种方法评估带有SLIME/Emacs的缓冲区:

  • 选择该区域,然后使用SLIME评估该区域
  • 煤泥评估缓冲液
  • 使用SLIM保存缓冲区、加载缓冲区或编译并加载缓冲区
请注意,如果对内容进行评估,结果将打印在迷你缓冲区中

你还想打印一些东西,这样你就可以看到发生了什么

在加载/执行之前编译可以帮助查找错误。我经常用这个

缓冲区关键命令的实际列表见
control-hm

评估缓冲区时有关交互的旁注

另一种交互方式是将每个表达式提供给侦听器/repl缓冲区,并在那里打印结果,直到出现错误或不再有表达式。但我不认为黏液能直接支持这一点

LispWorks IDE允许您评估缓冲区,输出(包括评估结果)显示在相应的输出窗格中


Clozure CL IDE允许您计算缓冲区,表达式在最顶层的侦听器中计算。Printed是输出和最后的结果。

可以想象Lisp源代码编辑器和侦听器(read-eval-print循环)是如何协同工作的。虽然黏液一般都很好,但有些交互作用有点笨拙

在这种情况下,我使用三种方法评估带有SLIME/Emacs的缓冲区:

  • 选择该区域,然后使用SLIME评估该区域
  • 煤泥评估缓冲液
  • 使用SLIM保存缓冲区、加载缓冲区或编译并加载缓冲区
请注意,如果对内容进行评估,结果将打印在迷你缓冲区中

你还想打印一些东西,这样你就可以看到发生了什么

在加载/执行之前编译可以帮助查找错误。我经常用这个

缓冲区关键命令的实际列表见
control-hm

评估缓冲区时有关交互的旁注

另一种交互方式是将每个表达式提供给侦听器/repl缓冲区,并在那里打印结果,直到出现错误或不再有表达式。但我不认为黏液能直接支持这一点

LispWorks IDE允许您评估缓冲区,输出(包括评估结果)显示在相应的输出窗格中


Clozure CL IDE允许您计算缓冲区,表达式在最顶层的侦听器中计算。打印的是输出和最后的结果。

@jenesaisquoi C-C C-b绑定到slime中断。slime手册没有提到slime eval buffer(虽然该命令使用M-x slime eval buffer工作,但似乎没有键绑定)。@RainerJoswig链接到slime文档,但没有包含看似正确的slime eval buffer,文档中的任何命令都不是我要问的。最接近的是粘液评估区域,但这并不理想。@decuser:如果要查看输出,则需要输出一些内容。请参见Common Lisp中的各种打印例程。然后您可以在slime手册中看到如何加载某些内容,然后还将执行输出某些内容的代码。@jenesaisquoi C-C C-b绑定到slime中断。slime手册没有提到slime eval buffer(虽然该命令使用M-x slime eval buffer工作,但似乎没有键绑定)。@RainerJoswig链接到slime文档,但没有包含看似正确的slime eval buffer,文档中的任何命令都不是我要问的。最接近的是粘液评估区域,但这并不理想。@decuser:如果要查看输出,则需要输出一些内容。请参见Common Lisp中的各种打印例程。然后,您可以在slime手册中看到如何加载某些内容,然后这些内容也将执行输出某些内容的代码。
(A C E)
(Lisp [COMMON-LISP-USER cmucl] adoc)