# # patch "ChangeLog" # from [887dcb43f2dd028ba6829be1b936290cef8cb0bf] # to [15effb273914ce8e0e95390ced4f4702606406e8] # # patch "sanity.cc" # from [cd19ec78b13a57e665d99aa60a7b37bc892708c0] # to [866f9792a775f35ba10fdc2713095c5fa43173fb] # =============================================== --- ChangeLog 887dcb43f2dd028ba6829be1b936290cef8cb0bf +++ ChangeLog 15effb273914ce8e0e95390ced4f4702606406e8 @@ -1,5 +1,11 @@ 2005-07-24 Nathaniel Smith + * sanity.cc (gasp): Make more robust against new errors triggered + during error unwind. (write_change_set in particular likes to + blow up when handling in invalid change_set.) + +2005-07-24 Nathaniel Smith + * change_set.cc (merge_change_sets, check_sane) (concatenate_change_sets, invert_change_set): Add M()s. =============================================== --- sanity.cc cd19ec78b13a57e665d99aa60a7b37bc892708c0 +++ sanity.cc 866f9792a775f35ba10fdc2713095c5fa43173fb @@ -247,9 +247,22 @@ for (std::vector::const_iterator i = musings.begin(); i != musings.end(); ++i) { - std::string tmp; - (*i)->gasp(tmp); - out << tmp; + try + { + std::string tmp; + (*i)->gasp(tmp); + out << tmp; + } + catch (logic_error) + { + out << "\n"; + L(F("ignoring error trigged by saving work set to debug log")); + } + catch (informative_failure) + { + out << "\n"; + L(F("ignoring error trigged by saving work set to debug log")); + } } gasp_dump = out.str(); L(F("finished saving work set"));