22

Emacs Lisp 似乎没有 PPRINT 功能。如何像在 Common Lisp 中那样在 elisp 中漂亮地打印 S-EXP?

4

2 回答 2

27

使用作为ppGNU Emacs 一部分的库。例如,您可以使用pp-macroexpand-last-sexp美化一个性别。

于 2010-08-24T07:20:52.200 回答
13

假设结果cl-prettyprint对您来说已经足够好,下面是如何在流中获取其输出。

(defun pprint (form &optional output-stream)
  (princ (with-temp-buffer
           (cl-prettyprint form)
           (buffer-string))
         output-stream))
于 2010-08-23T23:00:40.610 回答