質問

Emacs 23のスキームモードを使用してypsilonスキームを実行しています。インタプリタに式を入力すると、余分な改行が追加されます(以下を参照)。私はこれが他の通訳者で起こるのを見たことがない。イプシロンがシェルを shell-mode で見た目はきれいだからといって、イプシロンがそれを行っていないことは知っています(shell-modeは同じ間違った振る舞いを示します)。この余分な改行を追加するスキームまたはcomintモードの機能は何ですか?

このように見えます:

> (+ 1 2)
3

> ;; extra newline above

これになります:

> (+ 1 2)
3
> ;; no extra newline above
役に立ちましたか?

解決

わかりました。 comint-send-inputには、オプションのno-newlineパラメーターがあります。 Returnキーをcomint-send-inputをラップする新しい関数に再バインドして、これをtrueに設定します(別の改行を挿入しないでください)。これらの余分な改行は消えます。しかし、それらが最初に表示される理由はわかりません。

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

他のヒント

これは他の何よりも回避策ですが、 SLIME を試してください。入出力を本当にうまく処理できることがわかりました。 SchemeをサポートするSLIMEバックエンドを見つけることができます。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top