From: Nikolaus D. <de...@in...> - 2009-11-02 10:59:59
|
Hi list, given the following function ------------------------------- (defun test (l) (declare (optimize (debug 2))) (mapcar #'identity l)) ------------------------------- I get the fairly useless backtrace when calling it as such: ------------------------------- CL-USER> (test '(1 2 . 3)) ------------------------------- namely: ------------------------------- The value 3 is not of type LIST. [Condition of type TYPE-ERROR] Restarts: 0: [RETRY] Retry SLIME REPL evaluation request. 1: [ABORT] Return to SLIME's top level. 2: [TERMINATE-THREAD] Terminate this thread (#<THREAD "repl-thread" RUNNING {1003439561}>) Backtrace: 0: (SB-KERNEL::OBJECT-NOT-LIST-ERROR-HANDLER #<unavailable argument> #.(SB-SYS:INT-SAP #X09262DA0) #<SB-ALIEN-INTERNALS:ALIEN- VALUE :SAP #X00196000 :TYPE (* (STRUCT SB-VM::OS-CONTEXT-T-STRUCT))> (85)) 1: (SB-KERNEL:INTERNAL-ERROR #.(SB-SYS:INT-SAP #X00196000) #<unavailable argument>) 2: ("foreign function: call_into_lisp") 3: ("foreign function: funcall2") 4: ("foreign function: interrupt_internal_error") 5: ("foreign function: signal_emulation_wrapper") 6: ("foreign function: stack_allocation_recover") ------------------------------- I suspect the mapcar is inlined although debug is set to 2. Maybe the source transformation for mapcar isn't obeying the debug policy. Best regards, Niko |