I've noticed that when a function returns multiple values, slime concats them together and displays them on one line, separated by commas. This works fine, until you get vector or other large object. Then the display is not so good:
0.3314521116706366d0, 3.6798576593736937d-15, 42, 0, #(((0.0d0 0.7853981633974483d0) 0.30842513753404244d0 3.4242068906347456d-15) ((0.7853981633974483d0 1.0d0) 0.023026974136594155d0 2.5565076873894826d-16)), #(1 2 0 ...)
Is there some way to control this? I do not mind the CMUCL way of displaying each value on a separate line.
Also, in sldb, is there a way to get the backtrace to pprint the args? I've become accustomed to the way CMUCL displays it, so I find it hard to see the args anymore. Here is what sldb produces:
0: (DQAWO 15 #<Interpreted Function (LAMBDA (X) (LET # #)) {41B50251}> 0.0d0 5.0d0 2.0d0 0.0d0 1.0d-8 0.0d0 0.0d0 0 0 200 800 0 #(0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ...) #(0.0d0 0.0d0 0.0d0 0.0d0 0.0d0 0.0d0 0.0d0 0.0d0 0.0d0 0.0d0 0.0d0 0.0d0 0.0d0 0.0d0 0.0d0 0.0d0 0.0d0 0.0d0 0.0d0 0.0d0 0.0d0 0.0d0 0.0d0 0.0d0 0.0d0 0.0d0 0.0d0 0.0d0 0.0d0 0.0d0 0.0d0 0.0d0 0.0d0 0.0d0 0.0d0 0.0d0 0.0d0 0.0d0 0.0d0 0.0d0 ...) NIL NIL)[:EXTERNAL]
Here is what happens in *inferior-lisp*:
(DQAWO 15 #<Interpreted Function (LAMBDA # #) {41423F11}> 0.0d0 5.0d0 2.0d0 0.0d0 1.0d-8 0.0d0 0.0d0 0 0 200 800 0 #(0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ...) #(0.0d0 0.0d0 0.0d0 0.0d0 0.0d0 0.0d0 0.0d0 0.0d0 0.0d0 0.0d0 0.0d0 0.0d0 0.0d0 0.0d0 0.0d0 0.0d0 0.0d0 0.0d0 0.0d0 0.0d0 0.0d0 0.0d0 0.0d0 0.0d0 0.0d0 0.0d0 0.0d0 0.0d0 0.0d0 0.0d0 0.0d0 0.0d0 0.0d0 0.0d0 0.0d0 0.0d0 0.0d0 0.0d0 0.0d0 0.0d0 ...) NIL NIL)[:EXTERNAL]
I find the latter FAR easier to read.
Anyway, I've finally switched over from ilisp because slime can do what I want and only has minor issues like the above.
Keep up the good work!
Ray