When an expression is evaluated, the port-column is not 0. You can see this by typing (write (port-column (current-output-port))) at the repl. This means that when you do ~3t, it will not generate any spaces as it is already past column 3.
This can be fixed by resetting port-position before we evaluate the REPL expression. -- Ian Price "Programming is like pinball. The reward for doing it well is the opportunity to do it again" - from "The Wizardy Compiled"
>From 7a457be8c43051817b18d425a76b296f0f1fc730 Mon Sep 17 00:00:00 2001 From: Ian Price <ianpric...@googlemail.com> Date: Tue, 4 Oct 2011 00:30:39 +0100 Subject: [PATCH] Reset port column before evaluating at REPL. * module/system/repl/repl.scm (run-repl): Column-dependant commands like the '~t' directive to format behave unexpectedly if column number isn't reset. --- module/system/repl/repl.scm | 1 + 1 files changed, 1 insertions(+), 0 deletions(-) diff --git a/module/system/repl/repl.scm b/module/system/repl/repl.scm index 1cffa71..d028f38 100644 --- a/module/system/repl/repl.scm +++ b/module/system/repl/repl.scm @@ -190,6 +190,7 @@ (run-hook before-eval-hook exp) (call-with-error-handling (lambda () + (set-port-column! (current-output-port) 0) (with-stack-and-prompt thunk)) #:on-error (repl-option-ref repl 'on-error))) (lambda (k) (values)))) -- 1.7.6.4