g_assert() semantics is changed without announce



In the Glib-2.16 (trunk/ r6086 if more preciously) the g_assert() and
g_assert_not_reached() semantics was changed in comparison with 2.14
on the incompatible way without any announce :-(

Previous semantics was: log message through g_log*() facility and abort.
New semantics: log message through g_test_log*() facility and abort.

Please pay attention on the g_log() vs g_test_log().

g_log() allows install user-defined handlers and intercept such
messages for reporting on the application-defined/friendly way.

In contrast, the g_test_log() machinery is primary intended for GTest
framework, internal and cannot be extended/modified on the
application-specific way.

Therefore, I consider it as semantics change.

Sorry, but it would be very very nice:

    1.  Revert these incompatibilities.  I don't ask about moving
g_assert() and g_assert_not_reached() back to gmessages.h.  I ask only
about restoring previous behavior: passing messages through GLog and
do not output anything to the stdout/stderr except from the default
GLog handler.

    2. Clearly document such changes in the API doc and in the NEWS file.

PS: Should I fill Bugzilla entry for this?

-- 
Andrew W. Nosenko <andrew w nosenko gmail com>


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]