# # # patch "ChangeLog" # from [5e0b62346ffb4602110f1713de7f1f1b5d8147dc] # to [cdf79136b6e6114dde54e55b1e3dd26b1a52a8ee] # # patch "ui.cc" # from [b944f8c34e63c7c9e44e06c347add0b9ac511680] # to [598c63106fd791bd380d6059f0590053dc0658cf] # ============================================================ --- ChangeLog 5e0b62346ffb4602110f1713de7f1f1b5d8147dc +++ ChangeLog cdf79136b6e6114dde54e55b1e3dd26b1a52a8ee @@ -1,3 +1,14 @@ +2006-04-06 Richard Levitte + + * ui.cc (user_interface::output_prefix): Move the invariant + checking that prog_name isn't empty... + (user_interface::set_prog_name): here. The reason is that an + invariant generates a log, and that will generate another call + to this message, which will trigger the invariant again, which + generates a log, which... + In user_interface::output_prefix, still check if prog_name is + empty, and output something harmless if it is. + 2006-04-05 Nathaniel Smith * NEWS: Start writing 0.26 release notes. ============================================================ --- ui.cc b944f8c34e63c7c9e44e06c347add0b9ac511680 +++ ui.cc 598c63106fd791bd380d6059f0590053dc0658cf @@ -377,12 +377,15 @@ user_interface::set_prog_name(std::string const & name) { prog_name = name; + I(!prog_name.empty()); } std::string user_interface::output_prefix() { - I(!prog_name.empty()); + if (prog_name.empty()) { + return "?: "; + } return prog_name + ": "; }