Here is a bug in compiler::c2throw: (defun test1 (x) #'(lambda () (throw (car (list x)) nil))) (compile 'test1) (catch 'x (funcall (test1 'x))) ; This works. (defun test2 (x) #'(lambda () (throw x nil))) (compile 'test2) (catch 'x (funcall (test2 'x))) ; This does not work. --------- Richard Harris