Thanks for writing that up. I'd be amenable if the PEP was clearly updated to say that ``raise exc from cause`` would change from being syntactic sugar for ``_hidden = exc; _hidden.__cause__ = cause; raise exc`` (as it is now) to ``_hidden = exc; _hidden.__cause__ = cause; _hidden.__suppress_context__ = True; raise exc``. The patch should then be implemented accordingly (including appropriate updates to the language reference).
I previously didn't like this solution because I thought it would require a special case for None in the syntax expansion, but I have now realised that isn't the case (since the new flag can be set unconditionally regardless of the value assigned to __cause__). Code that wants to display both __cause__ and __context__ can then just either set __cause__ directly, or else later switch off the context suppression. Cheers, Nick. -- Nick Coghlan | ncogh...@gmail.com | Brisbane, Australia _______________________________________________ Python-Dev mailing list Python-Dev@python.org http://mail.python.org/mailman/listinfo/python-dev Unsubscribe: http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com