GNU bug report logs -
#3467
23.0.94; let + make-local-variable => let value made global
Previous Next
Full log
View this message in rfc822 format
> The first problem is that the semantics of let,
> make-variable-buffer-local etc are not clearly defined. I suggest the
> following semantics (instead of the one I proposed before):
That's the intuitive semantics, indeed.
> I have made a patch for this with some comments and questions. I have
> included this in my patched version of Emacs+EmacsW32 and have been
> using it myself for a couple of days without any problems.
- NULL is equal to 0 by definition.
- Why do you check
if (!NILP (Flocal_variable_p (symbol, where)) ||
!NILP (Flocal_variable_if_set_p (symbol, where)))
i.s.o.
if (!NILP (Flocal_variable_p (symbol, where)))
That looks wrong since it would undo a kill-local-variable that was
performed within the let.
- Regarding "Case 1 in specbind", I have (in my local changes)
completely rewritten the variable-binding code so as not to use
special MISCP values. I find it makes the code clearer, tho maybe
others will disagree. I intend to install it in the trunk for 23.2
and it of course conflicts completely with your patch ;-)
If you want, I can try and extract the corresponding patch and send it
to you.
Stefan
This bug report was last modified 9 years and 198 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.