next up previous contents index
Next: Read Errors Up: Interpreting Error Messages Previous: Error Severity   Contents   Index


Errors During Macroexpansion

errors during

The compiler handles errors that happen during macroexpansion, turning them into compiler errors. If you want to debug the error (to debug a macro), you can set *break-on-signals* to error. For example, this definition:

(defun foo (e l) (do ((current l (cdr current)) ((atom current) nil)) (when (eq (car current) e) (return current))))
gives this error:
In: DEFUN FOO (DO ((CURRENT L #) (# NIL)) (WHEN (EQ # E) (RETURN CURRENT)) ) Error: (during macroexpansion)

Error in function LISP::DO-DO-BODY. DO step variable is not a symbol: (ATOM CURRENT)



Peter Van Eynde 2000-02-08