levy> On the other hand return from frame is already supported for
SBCL
in levy> SLIME.
levy> And if I got it right the above statement also means that
return
from levy> frame works the same "somewhat bad" way. I mean
returning from the
levy> frame of bar (in the debugger) the value of *a* will return 1 instead of levy> 0.
levy> Am I right?
Yes. However, there are two environments here:
- The environment used to compute arguments for the command.
Possibly
this should be the environment of the frame, but it doesn't matter too
much
as long as the person debugging the code knows which environment
is used.
- The environment used to execute the command. For "restart
frame", this
should be the original environment of the frame, otherwise
functions
like FOO will fail to perform correctly. For "return from frame" it doesn't really matter which environment is used, becase no user code is executed.
__Martin
I see your points, but the last statement I think is not quite true. Return from the frame can evaluate an expression which might or might not refer to user code. Actually it is very usefull to call the original function with different parameters for example. In which case the environment problem still exists. Of course if one is aware of that then the issue can be safely avoided.
levy
________________________________________________________________ Elégedetlen helyzetével? Új kihívásokra vágyik? Állást Keres? - Mi segítünk! www.jobpilot.hu