[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