Emacs Lisp non sembra avere una funzione PPRINT. Come si stampa un S-EXP in modo elisp come si può in Common Lisp?PPRINT in Emacs Lisp?
risposta
Supponendo che il risultato di cl-prettyprint
sia sufficiente per voi, ecco come ottenere l'output in un flusso.
(defun pprint (form &optional output-stream)
(princ (with-temp-buffer
(cl-prettyprint form)
(buffer-string))
output-stream))
utilizzare la libreria pp
che fa parte di GNU Emacs. Ad esempio è possibile utilizzare pp-macroexpand-last-sexp
per la stimolazione di un sexp.
Il modo più semplice è usare semplicemente '(oggetto pp)' –
Mio ... quella libreria sembra familiare. Oh sì, l'ho scritto. :) –
Ottimo lavoro, Randal, hai salvato la mia giornata. – Seraph
Vedo che cl-prettyprint stamperà sul buffer corrente. Sto cercando qualcosa che funzioni con un flusso di output come fa PPRINT di Common Lisp. – anthonyf