Emacs Lisp ne semble pas avoir de fonction PPRINT. Comment est-ce que vous imprimez un S-EXP dans Elisp comme vous pouvez dans Common Lisp?PPRINT dans Emacs Lisp?
Répondre
En supposant que le résultat de cl-prettyprint
est assez bon pour vous, voici comment obtenir sa sortie dans un flux.
(defun pprint (form &optional output-stream)
(princ (with-temp-buffer
(cl-prettyprint form)
(buffer-string))
output-stream))
utiliser la bibliothèque pp
qui fait partie de GNU Emacs. Par exemple, vous pouvez utiliser pp-macroexpand-last-sexp
pour prétendre un sexp.
Le plus simple est d'utiliser juste '(objet pp)' –
Mon ... cette bibliothèque semble familière. Ah oui, je l'ai écrit. :) –
Excellent travail, Randal, vous avez sauvé ma journée. – Seraph
Je vois que cl-prettyprint va imprimer dans le tampon courant. Je cherche quelque chose qui fonctionne avec un flux de sortie comme le PPRINT de Common Lisp. – anthonyf