CWarnings
Cleans up a user provided warnings status string, e.g. removing unknown warnings (in which case a warning is emitted) or subsumed warnings .
with_warn "-xxx,+yyy..." f x
calls f x
after setting the warnings as specified in the string (keeping other previously set warnings), and restores current warnings after f()
returns or raises an exception. If both f and restoring the warnings raise exceptions, the latter is raised.