Hi folks !
We just had in the german gnu-groups a discussion about the
differences between XEmacs and the FSF version, which came down to
discussing some slight incompatibilities in Emacs Lisp(s). Somebody
(Bodo Moeller 3moeller(a)informatik.uni-hamburg.de) came up with the
following, which looks to me like a bug:
In Gnu Emacs:
(boundp 'foo)
nil
(make-local-variable 'foo)
foo
(boundp 'foo)
nil
In XEmacs (21.1.6):
(boundp 'foo)
nil
(make-local-variable 'foo)
foo
(boundp 'foo)
t
This is the (relevant part of the) documentation string:
(The buffer-local value of VARIABLE starts out as the same value
VARIABLE previously had. If VARIABLE was void, it remains void.)
See also `make-variable-buffer-local'.
If the variable is already arranged to become local when set,
this function causes a local value to exist for this buffer,
just as setting the variable would do.
What is the intention of "void" and "remains void" ? Does void mean
"(not (boundp VARIABLE))" ? If so, then it is a bug (or at least a
documentation bug). IMHO, making a variable local should not make it
bound. If my O is wrong, could somebody please explain it to me why ?
Holger
--
---
http://www.coling.uni-freiburg.de/~schauer/ ---
"Ja, Zuckerwattefernsehen macht Gehirnkaries.
Nein, Vollkornfunk will keiner gucken."
-- Friedrich Kueppersbusch, taz vom 29.9.98