3

我正在使用 Emacs 23 的方案模式运行 ypsilon 方案。当我在解释器中输入一个表达式时,它会添加一个额外的换行符(见下文)。我从未见过任何其他口译员会发生这种情况。我知道 ypsilon 没有这样做,因为它看起来很好外壳模式一个外壳(尽管外壳模式表现出相同的错误行为)。scheme 或 comint 模式下的什么函数可能会添加这个额外的换行符?

看起来像这样:

> (+ 1 2)
3

> ;; extra newline above

应该是这样的:

> (+ 1 2)
3
> ;; no extra newline above
4

2 回答 2

3

我想到了。comint-send-input 有一个可选的 no-newline 参数。我通过将 Return 键重新绑定到包装 comint-send-input 的新函数将其设置为 true(不要插入另一个换行符)。那些额外的换行符消失了。不过,我不知道它们为什么首先出现。

(defun comint-send-input-no-newline ()
  (interactive)
  (comint-send-input t nil))
于 2009-06-18T15:12:30.140 回答
0

这更像是一种解决方法,但试试SLIME 。我发现它可以很好地处理输入/输出。你可以找到支持 Scheme 的 SLIME 后端。

于 2009-06-18T03:15:24.467 回答