2

SLIME が優れた Lisp 対話モードであることは認識していますが、*scratch* バッファーが Emacs Lisp で動作するように、Common Lisp で動作する "Lisp Interaction" バッファーがあるかどうか疑問に思っています。IE がフォームの最後で Cj を押すと、そのフォームの結果が現在のバッファに挿入されます。

必要に応じて出力を編集する方が、repl を使用するよりも簡単だと思うので、質問します。

4

2 に答える 2

4

私はPareditを使用しているため、デフォルトで M-xslime-scratchRET何が行われるかはわかりません。C-j

ただし、 とC-uC-xC-eの両方*scratch*で必要なことを行い*slime-scratch*ます。

It is bound to C-x C-e.

(eval-last-sexp EVAL-LAST-SEXP-ARG-INTERNAL)

Evaluate sexp before point; print value in minibuffer.
Interactively, with prefix argument, print output into current buffer.
Truncates long output according to the value of the variables
`eval-expression-print-length' and `eval-expression-print-level'.

(そしてそれslime-eval-last-expression*slime-scratch*バッファにあります)

于 2012-07-05T05:52:29.117 に答える
1

この関数をCjにバインドすると、私が探している動作が実行されます。

(defun slime-eval-print-last-sexp ()
  (interactive)
  (newline)
  (insert (cadr (slime-eval `(swank:eval-and-grab-output ,(slime-last-expression)))))
  (newline))
于 2012-07-05T03:54:05.220 に答える