8.0 port sale_exceptions

To fix with_context extends current context. No need to copy context