Glenn Morris <address@hidden
> schrieb am Mo., 12. Dez. 2016 um 21:25 Uhr:
Glenn Morris wrote:
> Philipp wrote:
>> You can set the function cell of nil and t using `fset' and friends.
>> But you can't call the `nil' function using (nil) (it does work with
>> (t)). I think that attempting to set the function cell of nil and t is
>> almost always a bug -- probably the programmer wanted to set a real
>> symbol, but some of the constants got passed. I propose to signal an
>> error (e.g. `setting-constant') whenever the function cell of nil and t
>> is modified; maybe the same should happen for keywords.
> I just did this yesterday...
> See https://debbugs.gnu.org/25110, ba8e883, and 3fd4433.
And now see also ffb1302. :)
Anyway, I only did "nil", since as you say "t" can actually be called as
a function. But you are right that it's probably unintended.
Thanks! Interestingly the behavior was already added in 1994 (commit c15c5d408d696928862ca2848a359231e373556c), but apparently reverted later. I'd suggest to simply reinstate that commit.