Message 200054 - Python tracker (original) (raw)

'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 :-)