Подтвердить что ты не робот

PPRINT в Emacs Lisp?

Emacs Lisp, похоже, не имеет функции PPRINT. Как вы печатаете S-EXP в elisp, как вы можете в Common Lisp?

4b9b3361

Ответ 1

Используйте библиотеку pp, которая является частью GNU Emacs. Например, вы можете использовать pp-macroexpand-last-sexp для пресечения sexp.

Ответ 2

Предполагая, что результат cl-prettyprint достаточно хорош для вас, вот как получить его вывод в потоке.

(defun pprint (form &optional output-stream)
  (princ (with-temp-buffer
           (cl-prettyprint form)
           (buffer-string))
         output-stream))