[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

more lossage in NEWLSP

I hate to keep doing this, but there seems to be another bug in
NEWLSP.  Specifically, upon leaving a CASEQ inside a PROG, the
PROG gets exited too.  Here's how to reproduce the problem.

	.run newlsp
	(slurp c410dt50 fixit mcl)
	(foo 1)

What this does is (a) invoke the debugger, and (b) attempt to print
the value of the variable T.  In NEWLSP, the debugger will print T = T,
and then print T ? because the function DEBUG1 returned NIL.  Doing
the exact same thing in MACLSP gets you the T = T, but DEBUG1 returns
a frame and no error message is printed.

The code to print a variable value is the T clause of a CASEQ in DEBUG1.
Tracing and stepping both indicate that the PROG is exited when the
CASEQ returns, while in MACLSP execution proceeds to the next expression,
which is (RETURN (OR FRAME ITEM)).