Domanda

Sto eseguendo lo schema ypsilon usando la modalità schema di Emacs 23. Quando inserisco un'espressione nell'interprete, aggiunge una nuova riga in più (vedi sotto). Non l'ho mai visto succedere per nessun altro interprete. So che ypsilon non lo sta facendo, perché sembra shell-mode una shell (sebbene la modalità shell mostri lo stesso comportamento errato). Quale funzione in modalità schema o comint potrebbe aggiungere questa nuova riga in più?

Assomiglia a questo:

> (+ 1 2)
3

> ;; extra newline above

Dovrebbe essere questo:

> (+ 1 2)
3
> ;; no extra newline above
È stato utile?

Soluzione

L'ho capito. comint-send-input ha un parametro no-newline opzionale. Ho impostato questo su true (non inserire un'altra riga nuova) associando il tasto Invio a una nuova funzione che avvolge l'input di invio comint. Queste nuove righe extra scompaiono. Tuttavia, non so perché compaiano in primo luogo.

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

Altri suggerimenti

Questa è una soluzione più che altro, ma prova SLIME . Ho scoperto che gestisce input / output davvero bene. Puoi trovare backend SLIME che supportano Scheme.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top