Pourquoi y a-t-il une nouvelle ligne supplémentaire dans le mode schéma d'Emac?
Question
J'utilise ypsilon scheme en utilisant le mode schéma d'Emacs 23. Lorsque j'entre une expression dans l'interpréteur, une nouvelle ligne est ajoutée (voir ci-dessous). Je n'ai jamais vu cela arriver pour aucun autre interprète. Je sais que ypsilon ne le fait pas, car cela a l'air bien dans shell-mode d'un shell (bien que le mode shell présente le même comportement incorrect). Quelle fonction en mode schéma ou en mode comint pourrait ajouter cette nouvelle ligne supplémentaire?
Ressemble à ceci:
> (+ 1 2)
3
> ;; extra newline above
Devrait être ceci:
> (+ 1 2)
3
> ;; no extra newline above
La solution
Je l'ai compris. comint-send-input a un paramètre optionnel no-newline. Je mets ceci à true (n'insère pas de nouvelle ligne) en reliant la touche Retour à une nouvelle fonction qui encapsule comint-send-input. Ces nouvelles lignes disparaissent. Je ne sais pas pourquoi ils apparaissent en premier lieu, cependant.
(defun comint-send-input-no-newline ()
(interactive)
(comint-send-input t nil))
Autres conseils
Il s'agit plus d'une solution de contournement qu'autre chose, mais essayez SLIME . J'ai trouvé qu'il gère très bien les entrées / sorties. Vous pouvez trouver des serveurs SLIME prenant en charge Scheme.