>From 27dbaf0440617fa92a33c592aba9d52b72a95117 Mon Sep 17 00:00:00 2001 From: Peter Bex Date: Sat, 21 Jan 2012 20:19:00 +0100 Subject: [PATCH 2/2] Improve performance by not using sprintf to build continuation nesting description in real-name --- support.scm | 8 ++++---- 1 files changed, 4 insertions(+), 4 deletions(-) diff --git a/support.scm b/support.scm index 38fa20c..191ae7c 100644 --- a/support.scm +++ b/support.scm @@ -1409,15 +1409,15 @@ (cond [(not rn) (##sys#symbol->qualified-string var)] [(pair? db) (let ([db (car db)]) - (let loop ([prev (##sys#symbol->qualified-string rn)] + (let loop ([nesting (list (##sys#symbol->qualified-string rn))] [container (get db var 'contained-in)] ) (if container (let ([rc (resolve container)]) (if (eq? rc container) - prev - (loop (sprintf "~A in ~A" prev rc) + (string-intersperse (reverse nesting) " in ") + (loop (cons (symbol->string rc) nesting) (get db container 'contained-in) ) ) ) - prev) ) ) ] + (string-intersperse (reverse nesting) " in ")) ) ) ] [else (##sys#symbol->qualified-string rn)] ) ) ) (define (real-name2 var db) -- 1.7.3.4