bug-gnu-emacs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

bug#25166: 26.0.50; It shouldn't be possible to set the function cell of


From: Philipp Stephani
Subject: bug#25166: 26.0.50; It shouldn't be possible to set the function cell of nil and t
Date: Mon, 26 Dec 2016 19:41:00 +0000



Philipp Stephani <address@hidden> schrieb am Mo., 26. Dez. 2016 um 20:29 Uhr:
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. 

Here's a patch. 

Attachment: 0001-Prevent-setting-the-function-cell-of-t-Bug-25166.txt
Description: Text document


reply via email to

[Prev in Thread] Current Thread [Next in Thread]