[issue19266] Rename contextlib.ignore to contextlib.suppress

Zero Piraeus report at bugs.python.org
Wed Oct 16 14:16:59 CEST 2013


Zero Piraeus added the comment:

'Ignore' and 'suppress' are not synonyms:

https://www.google.com/search?q=define%3Asuppress

> forcibly put an end to.
> "the rising was savagely suppressed"
> synonyms: subdue, repress, crush, quell, quash, squash, stamp out

https://www.google.com/search?q=define%3Asuppress

> refuse to take notice of or acknowledge; disregard intentionally.
> "he ignored her outraged question"
> synonyms: disregard, take no notice of, pay no attention to [...]

I know that ncoghlan and rhettinger (and maybe others) are annoyed by what they see as bikeshedding, but there is a genuine issue here. To summarize the objection raised on python-dev, the problem is that this:

    with ignore(SomeException):
        do_something()
        do_something_else()

... is easily misunderstood as ignoring every occurrence of SomeException throughout the with-statement. 

If you understand how context managers work, it's not difficult to see why that's not the case, but the name strongly suggests the incorrect reading over the correct one.

I don't think 'suppress' is perfect. At the risk of further enraging those who are already tired of this discusion, I'll re-propose 'silence', which IMO comes closest to describing what is actually going on:

https://www.google.com/search?q=define%3Asilence

> cause to become silent; prohibit or prevent from speaking.
> "the team's performance silenced their critics"
> synonyms: quiet, hush, shush

I also quite like 'quash' from the list of 'suppress' synonyms above, but that's probably just because it's a nice word to say :-)

----------

_______________________________________
Python tracker <report at bugs.python.org>
<http://bugs.python.org/issue19266>
_______________________________________


More information about the Python-bugs-list mailing list