Split the IS_ZERO macro into UNSAFE_IS_ZERO and SAFE_IS_ZERO, where the former doesn't catch errors from some `! that might be called. This since the old IS_ZERO is routinely used in many places where we really should be propagating errors instead of catching them. Rev: src/svalue.c:1.129 Rev: src/svalue.h:1.100