On 2017-01-27 20:59, Noam Postavsky wrote: > I guess let-binding `debugger' to a function which performs the > logging should do the trick? I already do that, in fact, and I do re-throw the exception from there. Looks like things didn't work because of the way `debugger' is called in `cl--assertion-failed'. Is that call correct? The argument in (funcall debugger `(cl-assertion-failed ,form ,string ,@sargs)) doesn't seem to match the docs: Documentation: Function to call to invoke debugger. If due to frame exit, args are ‘exit’ and the value being returned; this function’s value will be returned instead of that. If due to error, args are ‘error’ and a list of the args to ‘signal’. If due to ‘apply’ or ‘funcall’ entry, one arg, ‘lambda’. If due to ‘eval’ entry, one arg, t. Is the call just missing an 'error argument? Thanks, Clément.