Werner LEMBERG <w...@gnu.org> writes: >>> Maybe we can add some code to prevent the redefinition of `Scheme >>> constants' (in the broadest sense) like x, y, left, right, #t, #f? >> >> I don't think we can really do this for Scheme, so we'd lose the >> Scheme/LilyPond equivalence of variables. > > Hmm, so what about a warning: > > The variable `foo' is hiding a Scheme symbol with the same name. > > This could be even hard-coded into the parser since the number of such > symbols is rather small.
Does not seem to change the Scheme/LilyPond difference. The problem is not really as much the "hide a Scheme symbol with the same name" case inside of LilyPond (unless you load other people's Scheme code afterwards) but rather Scheme's "replaces a Scheme symbol's value with something else" behavior. I really don't think we are doing people favors with trying to be as tricky as possible about the situation. The current situation is less that pretty, but at least it is not a trap. -- David Kastrup _______________________________________________ lilypond-devel mailing list lilypond-devel@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-devel