Handle multiple-valued forms in TRACE :PRINT.
authorMatthias Andreas Benkard <code@mail.matthias.benkard.de>
Tue, 16 Apr 2013 14:53:00 +0000 (16:53 +0200)
committerStas Boukarev <stassats@gmail.com>
Wed, 17 Apr 2013 10:41:28 +0000 (14:41 +0400)
Closes: lp#457053.

NEWS
src/code/ntrace.lisp

diff --git a/NEWS b/NEWS
index 881e5b3..a4a0305 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -1,5 +1,7 @@
 ;;;; -*- coding: utf-8; fill-column: 78 -*-
 changes relative to sbcl-1.1.6
+  * enhancement: TRACE :PRINT-ALL handles multiple-valued forms.
+    (lp#457053)
   * bug fix: :allocation slot option works for condition slots
     (lp#1049404)
   * bug fix: redefining conditions does not lead to multiple evaluations of
index ec90233..912fd2c 100644 (file)
   (dolist (ele forms)
     (fresh-line)
     (print-trace-indentation)
-    (format t "~@<~S ~_= ~S~:>" (car ele) (funcall (cdr ele) frame))
+    (format t "~@<~S ~_= ~:[; No values~;~:*~{~S~^, ~}~]~:>"
+            (car ele)
+            (multiple-value-list (funcall (cdr ele) frame)))
     (terpri)))
 
 ;;; Test a BREAK option, and if true, break.