absorb properly emits correct stack trace

when there is an error in eval, the stack trace now properly includes the location of the error in the eval block