Hi,
I found another problem which may also be related to the
byte-compiler. Please evaluate the following two programs in
the *scratch* buffer:
(progn
(with-temp-buffer
(funcall
(lambda nil
(make-variable-buffer-local 'foo-bar-baz-1)
(defvar foo-bar-baz-1 nil))))
foo-bar-baz-1)
(progn
(with-temp-buffer
(funcall
(byte-compile
(lambda nil
(make-variable-buffer-local 'foo-bar-baz-2)
(defvar foo-bar-baz-2 nil)))))
foo-bar-baz-2)
You will see the later does not bind the variable for all
buffers. The same thing is in edebug.el:
(make-variable-buffer-local 'edebug-form-data)
(defvar edebug-form-data nil)
Because of this, I often got the following error when I use the
edebug-defun command in a newly created buffer, although
edebug.elc has already been loaded:
Symbol's value as variable is void: edebug-form-data
--
Katsumi Yamaoka <yamaoka(a)jpl.org>