From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!.POSTED!not-for-mail From: Barry Margolin Newsgroups: gmane.emacs.help Subject: Re: (fset 'nil 'message) Date: Fri, 11 May 2018 10:58:28 -0400 Organization: A noiseless patient Spider Message-ID: References: <20180511053003.TxFeXgDe@smtp4p.mail.yandex.net> NNTP-Posting-Host: blaine.gmane.org Mime-Version: 1.0 X-Trace: blaine.gmane.org 1526050800 12075 195.159.176.226 (11 May 2018 15:00:00 GMT) X-Complaints-To: usenet@blaine.gmane.org NNTP-Posting-Date: Fri, 11 May 2018 15:00:00 +0000 (UTC) User-Agent: MT-NewsWatcher/3.5.3b3 (Intel Mac OS X) To: help-gnu-emacs@gnu.org Original-X-From: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane.org@gnu.org Fri May 11 16:59:56 2018 Return-path: Envelope-to: geh-help-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 1fH9WU-00030r-BE for geh-help-gnu-emacs@m.gmane.org; Fri, 11 May 2018 16:59:54 +0200 Original-Received: from localhost ([::1]:49613 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1fH9Yb-0003lx-Fq for geh-help-gnu-emacs@m.gmane.org; Fri, 11 May 2018 11:02:05 -0400 X-Received: by 2002:a1c:6c0e:: with SMTP id h14-v6mr272248wmc.14.1526050708685; Fri, 11 May 2018 07:58:28 -0700 (PDT) Original-Path: usenet.stanford.edu!f66-v6no1320875wme.0!news-out.google.com!j75-v6ni5517wmj.0!nntp.google.com!proxad.net!feeder1-2.proxad.net!feeder.erje.net!2.eu.feeder.erje.net!eternal-september.org!feeder.eternal-september.org!reader02.eternal-september.org!barmar.motzarella.org!.POSTED!not-for-mail Original-Newsgroups: gnu.emacs.help Original-Lines: 36 Original-Injection-Info: barmar.motzarella.org; posting-host="4dd8cfc6492beca7202e3620fab15a96"; logging-data="2376"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX18FlrcJlgQ+afmZzPt5EzL6" Cancel-Lock: sha1:nQNs+76POFb0lI7y8qor74SaIOw= Original-Xref: usenet.stanford.edu gnu.emacs.help:222593 X-BeenThere: help-gnu-emacs@gnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: Users list for the GNU Emacs text editor List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane.org@gnu.org Original-Sender: "help-gnu-emacs" Xref: news.gmane.org gmane.emacs.help:116712 Archived-At: In article , Noam Postavsky wrote: > On 10 May 2018 at 22:30, wrote: > > > Today I accidentally ran (fset 'nil 'message), after that multiple > > functions like forward-word, kill-word stopped working, and complained > > that `Symbol’s function definition is void: nil'. > > > > After (fset 'nil 'nil) they started working again, does anybody undertand > > what is going on here? > > Yes, after you do (fset 'nil 'message), (functionp nil) returns t, but > (funcall nil) still fails. Many places do things like > > (when (functionp some-var) > (funcall some-var)) > > which will cause the errors you see if `some-var' is nil. > > In Emacs 26, doing (fset 'nil 'message) will fail (see Bug#25110). > https://debbugs.gnu.org/cgi/bugreport.cgi?bug=25110 This brings back memories. Several decades ago I worked for a company that used Symbolics Lisp Machines, and one of our applications had a bug that did something like (set 'nil ). This crashed the operating system. Turns out that the software checked for this in SETQ, but not SET. Symbolics put the value cells of NIL and T into non-writable memory in the next release. -- Barry Margolin, barmar@alum.mit.edu Arlington, MA *** PLEASE post questions in newsgroups, not directly to me ***