![](https://secure.gravatar.com/avatar/8426fd1e01564a36934e5c99ab49cb54.jpg?s=120&d=mm&r=g)
Wow. Defining a class changes error messages. Look at this fully! If I call (time) I get an error message about "~S" but after defining a dummy class when I do (time) I get the correct error message! CL-USER(1): (time) #<THREAD "interpreter" {3DCA1588}>: Debugger invoked on condition of type PROGRAM-ERROR Wrong number of arguments for ~S. Restarts: 0: TOP-LEVEL Return to top level. [1] CL-USER(2): 0 CL-USER(3): (defclass abc ()) #<STANDARD-CLASS ABC {784E8EDC}> CL-USER(4): (time) #<THREAD "interpreter" {3DCA1588}>: Debugger invoked on condition of type PROGRAM-ERROR Wrong number of arguments for TIME. Restarts: 0: TOP-LEVEL Return to top level. [1] CL-USER(5): On Wed, Jan 12, 2011 at 10:18 AM, Blake McBride <blake@mcbride.name> wrote:
Here is another example:
Error loading /Users/blake/NetBeansProjects/Arahant/src/java/com/arahant/lisp/utils.lisp at line 268 (offset 10995) #<THREAD "main" {E4EB585}>: Unhandled condition of type SIMPLE-ERROR: The slot ~S is missing from the class ~S.
"~S" isn't very helpful.
Thanks.
Blake McBride
On Tue, Jan 11, 2011 at 8:52 AM, Blake McBride <blake@mcbride.name> wrote:
I've noticed a problem with error reporting in certain cases. For example, if you type (cons) you get:
"Wrong number of arguments for CONS."
However, if you type (time) you get:
"Wrong number of arguments for ~S."
It should be:
"Wrong number of arguments for TIME."
Of course this is a problem because it doesn't give any pointers when a function fails.
I've seen this issue in several instances.
Thanks.
Blake McBride