Forgot to save the interpreter environment before unoptimized calls (found out by JCB)

This commit is contained in:
Juan Jose Garcia Ripoll 2009-06-07 18:27:44 +02:00
parent 9044fdbf13
commit dcfa4d2247
2 changed files with 5 additions and 0 deletions

View file

@ -105,6 +105,10 @@ ECL 9.5:
- ecl_import_current_thread() now properly stores the thread handle in
the process object and can be called multiple times for the same thread.
- When performing unoptimized function calls, the interpreter did not save
actual value of the lexical environment, thus preventing the debugger from
inspecting it (fixed by JCB).
;;; Local Variables: ***
;;; mode:text ***
;;; fill-column:79 ***

View file

@ -449,6 +449,7 @@ ecl_interpret(cl_object frame, cl_object env, cl_object bytecodes)
cl_object frame = (cl_object)&frame_aux;
frame_aux.size = narg;
frame_aux.base = the_env->stack_top - narg;
SETUP_ENV(the_env);
AGAIN:
if (reg0 == OBJNULL || reg0 == Cnil) {
FEundefined_function(x);