[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: functionp bug
From: |
Stefan Monnier |
Subject: |
Re: functionp bug |
Date: |
Wed, 09 Apr 2008 10:22:51 -0400 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/23.0.60 (gnu/linux) |
> I think that change in functionp should be reverted. Any change in
> such things tends to cause problems, so it is better to leave them alone
> unless there is an important problem to be fixed.
The old definition lead to bugs in *all* uses I've seen. All the uses
I've seen fall in the following 2 categories:
1 - (if (functionp <foo>) (funcall <foo> ...))
with the old definition, this signalled an error if <foo> was
a special form.
2 - the kind of use that is discussed in this thread, where the code
wants to check "can <foo> be the `car' of an valid Elisp
expression", where using `functionp' made the test reject uses of
`when' while it accepted uses of `if'.
> Theoretical arguments trying to show that "this behavior couldn't
> possibly be right for any caller" tend to be unreliable. Whatever
> functionp does, code will have come to depend on it.
Yes, the change is an incompatible one. But it will get rid of bugs.
Stefan
- Re: functionp bug, (continued)
- Re: functionp bug, Reiner Steib, 2008/04/07
- Re: functionp bug, Stefan Monnier, 2008/04/09
- Re: functionp bug, Katsumi Yamaoka, 2008/04/09
- Re: functionp bug, Stefan Monnier, 2008/04/09
- Re: functionp bug, Katsumi Yamaoka, 2008/04/09
- Re: functionp bug, Reiner Steib, 2008/04/10
- Re: functionp bug, Katsumi Yamaoka, 2008/04/10
- Re: functionp bug, Reiner Steib, 2008/04/10
- Re: functionp bug, Katsumi Yamaoka, 2008/04/10
- Re: functionp bug, Stefan Monnier, 2008/04/10
- Re: functionp bug, Reiner Steib, 2008/04/10