I've noticed an odd behavior in edebug which I'm attempting to fix.
I'm running XEmacs 21.1 (patch 14) with all lisp packages up-to-date
with the CVS repository (built locally).
If I bring up XEmacs, and in the *scratch* buffer, do
`M-x edebug-eval-top-level-form RET', I get the expected
message:
End of stream: #<buffer "*scratch*">
After this I load a valid file of Elisp code and do
`M-x edebug-eval-top-level-form RET' again, I get
Symbol's value as variable is void: edebug-form-data
No subsequent attempts to use edebug meet with any success.
I noticed that in edebug.el, the variable `edebug-form-data' is defconst'ed
*before* it is set buffer-local.
(make-variable-buffer-local 'edebug-form-data)
(defconst edebug-form-data nil)
Exchanging the order of these lines, so that it is defconst'ed first
and then set buffer-local, seems to fix the problem. But I don't
really understand why, and before I submit a patch I'd like to
understand what's going on here.
Any clues?