From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!.POSTED!not-for-mail From: Philipp Stephani Newsgroups: gmane.emacs.bugs 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 Message-ID: References: <5f7f76ia4e.fsf@fencepost.gnu.org> <1hpokwx5br.fsf@fencepost.gnu.org> NNTP-Posting-Host: blaine.gmane.org Mime-Version: 1.0 Content-Type: multipart/mixed; boundary=047d7b86cf3efa3993054494eaa0 X-Trace: blaine.gmane.org 1482781337 32554 195.159.176.226 (26 Dec 2016 19:42:17 GMT) X-Complaints-To: usenet@blaine.gmane.org NNTP-Posting-Date: Mon, 26 Dec 2016 19:42:17 +0000 (UTC) Cc: 25166@debbugs.gnu.org To: Glenn Morris Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Mon Dec 26 20:42:12 2016 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by blaine.gmane.org with esmtp (Exim 4.84_2) (envelope-from ) id 1cLb9w-0007q9-K7 for geb-bug-gnu-emacs@m.gmane.org; Mon, 26 Dec 2016 20:42:12 +0100 Original-Received: from localhost ([::1]:51495 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1cLbA1-0002ME-73 for geb-bug-gnu-emacs@m.gmane.org; Mon, 26 Dec 2016 14:42:17 -0500 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:34802) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1cLb9q-0002Kn-0r for bug-gnu-emacs@gnu.org; Mon, 26 Dec 2016 14:42:07 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1cLb9m-0003pP-T1 for bug-gnu-emacs@gnu.org; Mon, 26 Dec 2016 14:42:06 -0500 Original-Received: from debbugs.gnu.org ([208.118.235.43]:40559) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1cLb9m-0003pJ-Ol for bug-gnu-emacs@gnu.org; Mon, 26 Dec 2016 14:42:02 -0500 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1cLb9m-000689-Cz for bug-gnu-emacs@gnu.org; Mon, 26 Dec 2016 14:42:02 -0500 X-Loop: help-debbugs@gnu.org Resent-From: Philipp Stephani Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Mon, 26 Dec 2016 19:42:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 25166 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: Original-Received: via spool by 25166-submit@debbugs.gnu.org id=B25166.148278128023511 (code B ref 25166); Mon, 26 Dec 2016 19:42:02 +0000 Original-Received: (at 25166) by debbugs.gnu.org; 26 Dec 2016 19:41:20 +0000 Original-Received: from localhost ([127.0.0.1]:55957 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1cLb95-000679-RZ for submit@debbugs.gnu.org; Mon, 26 Dec 2016 14:41:20 -0500 Original-Received: from mail-wj0-f169.google.com ([209.85.210.169]:36065) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1cLb93-00066u-OG for 25166@debbugs.gnu.org; Mon, 26 Dec 2016 14:41:18 -0500 Original-Received: by mail-wj0-f169.google.com with SMTP id c11so99856520wjx.3 for <25166@debbugs.gnu.org>; Mon, 26 Dec 2016 11:41:17 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=VXV/iPJn0SS+WXChxSJn+QPJSsCH6hT+8XQq1C76hWg=; b=KOPqtzGVUxzBGWPm+U2JL7CM1fD8rMVXQOmVfuXV4IrGKbAfzGw6eQqeAlbp/Te1G/ mTldbKgJKx7lZ6CK5vMFZGi7K3l8+0FqJQ3o4Ir4M7E15xVGUCGntfOddctpRR0nxW+r GRW00pQAdYj4DimVwNbrEzH2aRYELcQTnmfhxGEM5tJhOXvve2b3Azym3IY/JiZdcxrh kFU6h6FcAe2Qu8B2WASq9oYJeRgs4HnAXBKyXJYUdfF+mFNSYBqGGP+aVD+snpSp5F7Y 59HSABn0pcL+PKhU/cEZY5YWhOtl1HVX3iDlyVI0e2RTq8dJDXqFIpcqcn3XWawaBtX9 AScA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=VXV/iPJn0SS+WXChxSJn+QPJSsCH6hT+8XQq1C76hWg=; b=VXgcdJZsPrD6ERjnyQiLLHAo99zvdW4OWtCWt8rXSxQ6YcJdmjry5fCcaPp4uFjkR5 dQQGUBsf7yRlOGSkOLuMGEFXN4OL0hPvno3ajjfqVkV7lV7t8owfVJpEU4oMt1ggGwyq 9Nb5VPH0/fraV2HRQyAnqdxieyuejsTiOALhx4QY25iUOjbDSXWGj0jKALzAw9AZYqZW 1SDRDjPEnxeWzo9zrKYlNbgJZX2I7Hyvmc1FNs7Gx6XTjNdcWKYHBZeFsLzVJq0DH6TG uGlMImPW8Ir+hNIBSpGA6a+YkP52n6HTMSleB8Lb8Tnj2AViEDGEFSAy3hSEMKHN6Hm3 be0w== X-Gm-Message-State: AIkVDXIzUEln4m6bB/s9AOvAv1v2OuKt1hRwYkzDFQq2uFscjnrqRjtoS3IYiNLF7hwAuK4ql9e1JNw4MzPAyw== X-Received: by 10.194.58.7 with SMTP id m7mr12434914wjq.73.1482781271661; Mon, 26 Dec 2016 11:41:11 -0800 (PST) In-Reply-To: X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 208.118.235.43 X-BeenThere: bug-gnu-emacs@gnu.org List-Id: "Bug reports for GNU Emacs, the Swiss army knife of text editors" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Original-Sender: "bug-gnu-emacs" Xref: news.gmane.org gmane.emacs.bugs:127459 Archived-At: --047d7b86cf3efa3993054494eaa0 Content-Type: multipart/alternative; boundary=047d7b86cf3efa398d054494ea9e --047d7b86cf3efa398d054494ea9e Content-Type: text/plain; charset=UTF-8 Philipp Stephani schrieb am Mo., 26. Dez. 2016 um 20:29 Uhr: > Glenn Morris 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. --047d7b86cf3efa398d054494ea9e Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable


Philip= p Stephani <p.stephani2@gmail.c= om> schrieb am Mo., 26. Dez. 2016 um 20:29=C2=A0Uhr:
Glenn Morris &= lt;rgm= @gnu.org> schrieb am Mo., 12. Dez. 2016 um 21:25=C2=A0Uhr:
Glenn Morris = wrote:

> Philipp wrote:
>
>> You can set the function cell of nil and t using `fset' and fr= iends.
>> But you can't call the `nil' function using (nil) (it does= work with
>> (t)).=C2=A0 I think that attempting to set the function cell of ni= l and t is
>> almost always a bug -- probably the programmer wanted to set a rea= l
>> symbol, but some of the constants got passed.=C2=A0 I propose to s= ignal 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 actu= ally be called as
a function. But you are right that it's probably unintended.


Thanks! Interestingly = the behavior was already added in 1994 (commit c15c5d408d696928862ca2848a35= 9231e373556c), but apparently reverted later. I'd suggest to simply rei= nstate that commit.=C2=A0

Here's a patch.=C2=A0
--047d7b86cf3efa398d054494ea9e-- --047d7b86cf3efa3993054494eaa0 Content-Type: text/plain; charset=US-ASCII; name="0001-Prevent-setting-the-function-cell-of-t-Bug-25166.txt" Content-Disposition: attachment; filename="0001-Prevent-setting-the-function-cell-of-t-Bug-25166.txt" Content-Transfer-Encoding: base64 Content-ID: <1593ca6627e30ff6b181> X-Attachment-Id: 1593ca6627e30ff6b181 RnJvbSA1ZTQ3ZjRmMmFmNDQyODVmYzg3NzkwNmM1Yzc2ODlmNjZlODBiYWY2IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBQaGlsaXBwIFN0ZXBoYW5pIDxwaHN0QGdvb2dsZS5jb20+CkRh dGU6IE1vbiwgMjYgRGVjIDIwMTYgMjA6Mzg6MDQgKzAxMDAKU3ViamVjdDogW1BBVENIXSBQcmV2 ZW50IHNldHRpbmcgdGhlIGZ1bmN0aW9uIGNlbGwgb2YgdCAoQnVnIzI1MTY2KQoKUmVzdG9yZSBi ZWhhdmlvciBvZiBjb21taXQgYzE1YzVkNDA4ZDY5NjkyODg2MmNhMjg0OGEzNTkyMzFlMzczNTU2 YywKYW5kIG1ha2UgJ2ZzZXQnIGNvbnNpc3RlbnQgd2l0aCAnZm1ha3VuYm91bmQnLgoKKiBzcmMv ZGF0YS5jIChGZnNldCk6IEFsc28gZGlzYWxsb3cgc2V0dGluZyB0aGUgZnVuY3Rpb24gY2VsbCBv ZiB0LgoqIHRlc3Qvc3JjL2RhdGEtdGVzdHMuZWwgKGRhdGEtdGVzdHMtZnNldC1mbWFrdW5ib3Vu ZCk6IEFkZCB1bml0IHRlc3QuCi0tLQogc3JjL2RhdGEuYyAgICAgICAgICAgICB8IDIgKy0KIHRl c3Qvc3JjL2RhdGEtdGVzdHMuZWwgfCA3ICsrKysrKysKIDIgZmlsZXMgY2hhbmdlZCwgOCBpbnNl cnRpb25zKCspLCAxIGRlbGV0aW9uKC0pCgpkaWZmIC0tZ2l0IGEvc3JjL2RhdGEuYyBiL3NyYy9k YXRhLmMKaW5kZXggODIxZmMzNzkzNy4uMGZlNGJkZjU5MCAxMDA2NDQKLS0tIGEvc3JjL2RhdGEu YworKysgYi9zcmMvZGF0YS5jCkBAIC03MzQsNyArNzM0LDcgQEAgREVGVU4gKCJmc2V0IiwgRmZz ZXQsIFNmc2V0LCAyLCAyLCAwLAogICByZWdpc3RlciBMaXNwX09iamVjdCBmdW5jdGlvbjsKICAg Q0hFQ0tfU1lNQk9MIChzeW1ib2wpOwogICAvKiBQZXJoYXBzIG5vdCBxdWl0ZSB0aGUgcmlnaHQg ZXJyb3Igc2lnbmFsLCBidXQgc2VlbXMgZ29vZCBlbm91Z2guICAqLwotICBpZiAoTklMUCAoc3lt Ym9sKSkKKyAgaWYgKE5JTFAgKHN5bWJvbCkgfHwgRVEgKHN5bWJvbCwgUXQpKQogICAgIHhzaWdu YWwxIChRc2V0dGluZ19jb25zdGFudCwgc3ltYm9sKTsKIAogICBmdW5jdGlvbiA9IFhTWU1CT0wg KHN5bWJvbCktPmZ1bmN0aW9uOwpkaWZmIC0tZ2l0IGEvdGVzdC9zcmMvZGF0YS10ZXN0cy5lbCBi L3Rlc3Qvc3JjL2RhdGEtdGVzdHMuZWwKaW5kZXggNzU3NTIyZTM5OS4uMmRhYmE5MWI4ZiAxMDA2 NDQKLS0tIGEvdGVzdC9zcmMvZGF0YS10ZXN0cy5lbAorKysgYi90ZXN0L3NyYy9kYXRhLXRlc3Rz LmVsCkBAIC00NTAsMyArNDUwLDEwIEBAIGJpbmRpbmctdGVzdC1zb21lLWxvY2FsCiAgICAgICAo cmVtb3ZlLXZhcmlhYmxlLXdhdGNoZXIgJ2RhdGEtdGVzdHMtbHZhciBjb2xsZWN0LXdhdGNoLWRh dGEpCiAgICAgICAoc2V0cSBkYXRhLXRlc3RzLWx2YXIgNikKICAgICAgIChzaG91bGQgKG51bGwg d2F0Y2gtZGF0YSkpKSkpCisKKyhlcnQtZGVmdGVzdCBkYXRhLXRlc3RzLWZzZXQtZm1ha3VuYm91 bmQgKCkKKyAgIlRlc3QgdGhhdCBCdWcjMjUxNjYgaXMgZml4ZWQuIgorICAoc2hvdWxkLWVycm9y IChmc2V0IG5pbCAjJ2NhcikgOnR5cGUgJ3NldHRpbmctY29uc3RhbnQpCisgIChzaG91bGQtZXJy b3IgKGZzZXQgdCAjJ2NhcikgOnR5cGUgJ3NldHRpbmctY29uc3RhbnQpCisgIChzaG91bGQtZXJy b3IgKGZtYWt1bmJvdW5kIG5pbCkgOnR5cGUgJ3NldHRpbmctY29uc3RhbnQpCisgIChzaG91bGQt ZXJyb3IgKGZtYWt1bmJvdW5kIHQpIDp0eXBlICdzZXR0aW5nLWNvbnN0YW50KSkKLS0gCjIuMTEu MAoK --047d7b86cf3efa3993054494eaa0--