2009-06-18 27 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

相關問題