Hmm, I compared current behaviour with clisp-2.28 and also found prompts not incremented when inside a break loop.
I wonder whether this is normal. IMHO it's not.
> (coerce 1 'string)
*** - 1 is not a sequence
1. Break > (1+ 1)
1. Break > "oh my"
1. Break > abort
Is anybody able to present a simple model of when the counter is updated?
What's seems anormal to me is that this can lead to situations like what follows, which make me feel like travelling back in time.
Break 4 > abort
Break 3 > abort
Break 2 > abort
Break 1 > abort
This is IMHO really inconsistent (not to say weird):
a) either the debugger session(s) is not counted, then the top-level prompt should be 11 or 12,
b) or it is counted, and then the counter should never go backwards. How the heck can it here remember that it once was at 14 and thus say 15??
I have presently no idea whether this is related to the rest of the "confused debugger" series.
What behaviour do people prefer: a) or b) ?
Whatever you prefer, CLISP should be consistent w.r.t. to the special +++///*** symbol values.
Continuing the above example, we have:
> (list + ++ +++ * ** ***)
("oh my" (1+ 1) (COERCE 1 'STRING) "oh my" 2 NIL)
these values seem in favour of b) -- count each input.