Make macroexpand less ugly on CCL
author |
Steve Losh <steve@stevelosh.com> |
date |
Sat, 09 Apr 2016 23:22:05 +0000 |
parents |
9d3d9514dbd8
|
children |
b806d22cf665
|
branches/tags |
(none) |
files |
src/middleware/macroexpand.lisp |
Changes
--- a/src/middleware/macroexpand.lisp Sat Apr 09 21:59:53 2016 +0000
+++ b/src/middleware/macroexpand.lisp Sat Apr 09 23:22:05 2016 +0000
@@ -1,13 +1,20 @@
(in-package #:nrepl)
+(defun pretty-string (form)
+ "Return a prettified string version of `form`, indented nicely."
+ #-ccl (format nil "~A" form)
+ ;; CCL's format doesn't indent forms nicely
+ #+ccl (with-output-to-string (*standard-output*)
+ (pprint form)))
+
(define-middleware wrap-macroexpand "macroexpand" message
;; TODO: handle mangled input
(let ((form (read-from-string (fset:lookup message "form"))))
(respond message
(make-map
"status" '("done")
- "macroexpand" (format nil "~A" (macroexpand form))
- "macroexpand-1" (format nil "~A" (macroexpand-1 form))))))
+ "macroexpand" (pretty-string (macroexpand form))
+ "macroexpand-1" (pretty-string (macroexpand-1 form))))))