Emacs Lisp中的PPRINT?

ant*_*nyf 21 emacs elisp pretty-print

Emacs Lisp似乎没有PPRINT功能.你怎么用Common Lisp中的方式在elisp中打印S-EXP?

Jér*_*dix 25

使用作为ppGNU Emacs一部分的库.例如,你可以pp-macroexpand-last-sexp用来美化sexp.

  • 我...那个图书馆看起来很熟悉.哦是的,我写了.:) (5认同)
  • 最简单的方法是只使用`(pp object)` (2认同)

Gil*_*il' 11

假设结果cl-prettyprint对您来说足够好,这里是如何在流中获取其输出.

(defun pprint (form &optional output-stream)
  (princ (with-temp-buffer
           (cl-prettyprint form)
           (buffer-string))
         output-stream))
Run Code Online (Sandbox Code Playgroud)