From: Matthias Andreas Benkard Date: Tue, 16 Apr 2013 14:53:00 +0000 (+0200) Subject: Handle multiple-valued forms in TRACE :PRINT. X-Git-Url: http://repo.macrolet.net/gitweb/?a=commitdiff_plain;ds=inline;h=d4345a2363f9cbf440e6a5d52f8451c4f903cefd;p=sbcl.git Handle multiple-valued forms in TRACE :PRINT. Closes: lp#457053. --- diff --git a/NEWS b/NEWS index 881e5b3..a4a0305 100644 --- 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 diff --git a/src/code/ntrace.lisp b/src/code/ntrace.lisp index ec90233..912fd2c 100644 --- a/src/code/ntrace.lisp +++ b/src/code/ntrace.lisp @@ -220,7 +220,9 @@ (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.