Warum gibt es ein extra Newline in Emac Schema-Modus?
Frage
Ich bin mit Ypsilon-Schema mit Emacs 23 Schema-Modus. Wenn ich einen Ausdruck in den Interpreter eingeben, fügt es einen zusätzlichen Newline (siehe unten). Ich habe noch nie diese für einen anderen Dolmetscher geschehen gesehen. Ich weiß ypsilon ist es nicht tun, weil es gut aussieht in Shell-Modus eine Schale (obwohl Shell-Modus zeigt das gleiche falsche Verhalten). Welche Funktion im Schema oder comint Modus sein könnte diese zusätzliche Newline hinzufügen?
sieht wie folgt aus:
> (+ 1 2)
3
> ;; extra newline above
Sollte dies:
> (+ 1 2)
3
> ;; no extra newline above
Lösung
ich es herausgefunden. comint-send-Eingang verfügt über einen optionalen nicht-Newline-Parameter. Ich habe dies auf true (keine andere Newline einfügen) durch rebinding die Return-Taste, um eine neue Funktion, die comint-send-Eingang wickelt. Diese zusätzlichen Zeilenumbrüche verschwinden. Ich weiß nicht, warum sie an erster Stelle erscheinen, though.
(defun comint-send-input-no-newline ()
(interactive)
(comint-send-input t nil))
Andere Tipps
Dies ist eher eine Problemumgehung als alles andere, aber geben Sie SLIME versuchen. Ich habe festgestellt, dass es Ein- / Ausgabe wirklich gut behandelt. Sie können SLIME Backends finden, das Schema zu unterstützen.