>>>> "sjt" == Stephen J Turnbull
<stephen(a)xemacs.org> writes: 
>> I guess this could be related, since
execute_optimized_program
>> allocas its stack. 
    Jerry> But since ERROR_CHECK_BYTE_CODE is defined for beta
    Jerry> versions, wouldn't the check at the top of the while loop
    Jerry> in execute_optimized_program catch that kind of problem?
    Jerry> Apparently not, but I don't understand why.
    sjt> That depends on whether any of the bytecodes do anything else
    sjt> with the stack.  If there are any data manipulations that are
    sjt> byte-interpreter-stack-relative....
OK, I now have a reproducible case where bytecode execution is broken
in 21.4.12.  Basically if I byte-compile-and-load-file lisp/about.el,
and set breakpoints at Fload_internal, then Fbyte_code, I see a very
badly mangled call to Fbyte_code, with both the constants argument and
the stack_depth argument trashed.
Unfortuntely, it seems dependent on my environment.  Turning off
latin-unity (latin-unity-uninstall) seems to help, but doing
xemacs -no-autoloads
M-x load-library RET latin-unity RET
M-x load-library RET bytecomp RET
M-x byte-compile-and-load-file RET lisp/about.el RET
does not produce the error, so this is going to take more effort to
localize.
I also have jka-compr loaded, but gotta run to a meeting and probably
won't get back to this today, so I'll send this incomplete report now.
-- 
Institute of Policy and Planning Sciences     
http://turnbull.sk.tsukuba.ac.jp
University of Tsukuba                    Tennodai 1-1-1 Tsukuba 305-8573 JAPAN
               Ask not how you can "do" free software business;
              ask what your business can "do for" free software.