X-Git-Url: https://git.distorted.org.uk/~mdw/lisp/blobdiff_plain/4b6a6387f82f1bb2058d642dcbd7040ce2578cea..2f94737a4ef20fe9dc36bd3e49a4bf19e246c571:/mdw-base.lisp diff --git a/mdw-base.lisp b/mdw-base.lisp index 59ea692..37a3068 100644 --- a/mdw-base.lisp +++ b/mdw-base.lisp @@ -53,11 +53,17 @@ (defun ,name ,args ,@body))) (defmacro show (x) - "Debugging tool: print the expression X and its value." + "Debugging tool: print the expression X and its values." (let ((tmp (gensym))) - `(let ((,tmp ,x)) - (format t "~&~S: ~S~%" ',x ,tmp) - ,tmp))) + `(let ((,tmp (multiple-value-list ,x))) + (format t "~&") + (pprint-logical-block (*standard-output* nil :per-line-prefix ";; ") + (format t + "~S = ~@_~:I~:[#~;~:*~{~S~^ ~_~}~]" + ',x + ,tmp)) + (terpri) + (values-list ,tmp)))) (defun stringify (str) "Return a string representation of STR. Strings are returned unchanged;