[slime-devel] slime debugger string length cutoff, bad default and how to control it

Mark H. David mhd at yv.org
Sun Nov 27 14:11:49 UTC 2011

I thought this

(setf (cdr (assoc 'swank::*sldb-string-length* swank:*sldb-printer-bindings*)) 5000)

would do the to show my all of a 100-long string in SLDB.

(I think the cutoff should be much higher by default, by the way.)

But when I looked at locals in SLDB, I had a string of length 100
shown with its first 74 characters, followed by two
dots (..).  (Uh, not to pile on, but wouldn't three dots
(...) be normal?)

When I evaluated swank::*sldb-string-length* (typed 'e',
swank::*sldb-string-length* to the Eval in frame: prompt below),
the value was nil.

What is going on?

My test was

(defun foo () (let ((x (make-string 100 :initial-element #\q))) (break "foo") x))


The debugger showed me

   [Condition of type SIMPLE-CONDITION]

 0: [CONTINUE] Return from BREAK.
 1: [RETRY] Retry SLIME REPL evaluation request.
 2: [*ABORT] Return to SLIME's top level.
 3: [ABORT-BREAK] Reset this thread
 4: [ABORT] Kill this thread

  0: (FOO)
        X = "qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq..

More information about the slime-devel mailing list