[armedbear-devel] defun return value is not conforming.
alessiostalla at gmail.com
Tue Nov 23 20:51:55 UTC 2010
On Sat, Nov 20, 2010 at 11:36 AM, Alessio Stalla
<alessiostalla at gmail.com> wrote:
> On Sat, Nov 20, 2010 at 11:04 AM, Erik Huelsmann <ehuels at gmail.com> wrote:
>> Hi Alessio,
>> I think the key is a bit higher up; something must be causing
>> quicklisp to load precompiler.lisp, but not the actual compiler.
>> Higher up, there's an expression (fset ...); I'm not sure, but I think
>> that might be returning the expression, not the function name.
> Yes, I see. Actually if I understand it correctly it will only be used
> in file compilation; yet it could cause problems with "strange" forms
> like (setq foo (defun ...)) where foo will be set to the function
> object instead of the function name, only when loading the FASL, not
> when loading the source. I'll experiment a bit with this and if I'm
> right, I'll commit another fix.
With r13045 (http://trac.common-lisp.net/armedbear/changeset/13045) I
committed the change to DEFUN in compiled files, so now it should
return the function name in all cases. I verified this doesn't break
any unit test in our suites. If you want, I can backport both this
change and the previous one (13032) to the 0.23 branch.
More information about the armedbear-devel