2009-06-18 29 views
3

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

是这样的:

> (+ 1 2) 
3 

> ;; extra newline above 

应该是这样的:

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

回答

3

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

(defun comint-send-input-no-newline() 
    (interactive) 
    (comint-send-input t nil)) 
0

这更是一个解决办法比什么都重要的,但给SLIME一试。我发现它很好地处理输入/输出。你可以找到支持Scheme的SLIME后端。

+0

我使用SLIME for Lisp,但它看起来像SLIME只支持2 Scheme实现,并且它有点工作来添加新的后端。 – projectshave 2009-06-18 13:07:59

相关问题