Subject: Re: bug#26221: (define function nil should work in 2.2

From: <[email-masked]>
Date: Fri, 24 Mar 2017 10:19:25 +0100

On Thu, Mar 23, 2017 at 07:59:04PM +0000, Joshua Branson wrote:
> 
> I can confirm this bug.  Eshell accepts (defun hello nil (print “Hello"))  And (hello)  works properly.
> 
> M-x guiler
> 
> ,languages elisp
> 
> (defun hello nil (print “Hello”))  doesn’t work.
> 
> Joshua
> 
> P.S.  I didn’t even know (define function nil …) was a thing in elisp land.

No, no. It's not (defun nil) -- it's (defun foo nil ...), which, if you squint a
bit is the same (in Lisp!) as (defun foo () ...) -- defining function foo with
an empty argument list. This is a perfectly respectable thing to do.

That's because, for Lisp, nil, '() and false are all one and the same. Scheme
is pickier here, and I'd imagine that this is the reflection of one of those
translation pains. But I don't know enough about Guile's elisp implementation
to be sure (ah, I wish I had the time for that...)

regards
- -- tomás