2023-07-14  Kjell Ahlstedt  <[email protected]>

 2.77.0

2023-07-14  Kjell Ahlstedt  <[email protected]>

 Glib, Gio: Add new API from glib 2.77.0

 * configure.ac:
 * meson.build: Require glib-2.0 >= 2.77.0.
 * gio/src/actionmap.hg: _IGNORE(g_action_map_remove_action_entries).
 * gio/src/resolver.hg: Add set/get/property_timeout().
 * glib/glibmm/ustring.[cc|h]: Add ustring::truncate_middle().

2023-07-14  Kjell Ahlstedt  <[email protected]>

 Glib, Gio: Regenerate docs.xml and .defs files

 using glib files from glib 2.77.0.

2023-07-11  Kjell Ahlstedt  <[email protected]>

 Remove AUTHORS and README.SUN; add info to README.md

 See gtkmm#140

2023-07-11  Kjell Ahlstedt  <[email protected]>

 Update glibmm.doap

2023-06-29  Kjell Ahlstedt  <[email protected]>

 README.md: Generate a link to README.win32.md

2023-06-27  Chun-wei Fan  <[email protected]>

 README.win32: Convert to MarkDown

 Convert the README.win32 file into MarkDown format so that it is easier on the
 eye for formatting, and convert it to UNIX line endings.  Also update the info
 that is in there to reflect the current situation on Visual Studio better.

2023-06-19  Daniel Boles  <[email protected]>

 Gio::File: Fix various spelling errors in .hg docs

2023-06-14  Kjell Ahlstedt  <[email protected]>

 tools/enum.pl, tools/defs_gen/enumextract.py: Accept XXX = YYY + 1

 Accept "+" in GTK_ALIGN_BASELINE = GTK_ALIGN_CENTER + 1,

2023-06-01  Jeremy Bicha  <[email protected]>

 tests: Test for /etc/passwd instead of /etc/fstab

 /etc/fstab is not guaranteed to exist on modern Linux distros

2023-05-24  Kjell Ahlstedt  <[email protected]>

 Glib: Add DBusHandle and Variant<DBusHandle>

 Fixes #113

2023-05-24  Kjell Ahlstedt  <[email protected]>

 Autotools build: Don't include config.h in ustring.cc

 Include GLIBMM_SIZEOF_WHAR_T in glibmmconfig.h, as in a Meson build.

2023-05-23  Kjell Ahlstedt  <[email protected]>

 Glib::Variant: Provide Variant<long long> whenever possible

 If all of the types short, int, long, long long have size 2, 4 or 8 bytes,
 provide Variant specializations for all of them and for the corresponding
 unsigned types.
 Fixes #111

2023-05-21  Kjell Ahlstedt  <[email protected]>

 Glib::Variant docs: Small fixes

 create_variant(): Add a missing ::create.
 VariantBase::get_dynamic(): Recommend Variant<T>::get() when possible.
 See #109 and #110

2023-05-20  Kjell Ahlstedt  <[email protected]>

 Glib::VariantContainerBase: Add a const version of get_child()

 and deprecate the non-const version.
 Both get_child() versions return a non-const VariantBase, usually
 with the same GVariant as *this, just with an added reference.
 It's reasonable to have a const version, because GVariant is immutable.
 Fixes #112

2023-05-20  Kjell Ahlstedt  <[email protected]>

 Add Glib::VariantBase::get_dynamic()

 and use it in tests/glibmm_variant/main.cc.
 Fixes #110

2023-05-18  Kjell Ahlstedt  <[email protected]>

 Add Glib::create_variant()

 and use it in tests/glibmm_variant/main.cc.
 Fixes #109

2023-05-18  Kjell Ahlstedt  <[email protected]>

 Doxyfile.in: Remove obsolete entries

 and add a comment in tools/m4/class_shared.m4.

2023-04-26  Kjell Ahlstedt  <[email protected]>

 tools/defs_gen/h2def.py: Recognize Graphene type names

 A typical type name is not GraphenePoint, but graphene_point_t.

2023-04-26  Kjell Ahlstedt  <[email protected]>

 giomm.pc.in, glibmm.pc.in: Update htmlrefpub

2023-04-17  Kjell Ahlstedt  <[email protected]>

 Add Gio::Subprocess, SubprocessLauncher and examples/subprocess

 Fixes #106

2023-04-09  Kjell Ahlstedt  <[email protected]>

 gmmproc: Generate callback functions with C linkage

 * tools/m4/signal.m4: Add an optional parameter to _SIGNAL_PH.
 * tools/m4/vfunc.m4: Add an optional parameter to _VFUNC_PH.
 * tools/pm/Output.pm:
 output_wrap_vfunc_h(): Add $objCDefsFunc->args_names_only()
 in call to _VFUNC_PH.
 output_wrap_default_signal_handler_h(): Add $objCDefsFunc->args_names_only()
 in call to _SIGNAL_PH.
 Part of issue #1

2023-04-03  Kjell Ahlstedt  <[email protected]>

 Glib:NodeTree: Add GLIBMM_API on new callback functions

2023-04-02  Kjell Ahlstedt  <[email protected]>

 Glib: NodeTree etc.: Use callback functions with C linkage

 * glib/glibmm/class.cc: Use glibmm_custom_[get|set]_property_callback().
 * glib/glibmm/object.[cc|h]: Add set_data_with_c_callback().
 Don't call g_object_set_qdata_full() with a function with C++ linkage, if
 GLIBMM_CAN_ASSIGN_NON_EXTERN_C_FUNCTIONS_TO_EXTERN_C_CALLBACKS is defined.
 * glib/glibmm/property.[cc|h]: Declare some local functions extern "C".
 Add glibmm_custom_[get|set]_property_callback().
 * glib/src/nodetree.[ccg|hg]:
 Add glibmm_NodeTree_c_callback_[traverse|foreach]() and
 struct NodeTreeCallback[Traverse|Foreach]Data.
 Part of issue #1

2023-03-31  Kjell Ahlstedt  <[email protected]>

 Glib: value_custom: Use callback functions with C linkage

 * glib/glibmm/value_custom.[cc|h]: Add custom_boxed_type_cpp_register().
 * tests/glibmm_value/main.cc: Add test of copying custom Value.
 Part of issue #1

2023-03-31  Kjell Ahlstedt  <[email protected]>

 Add Gio::giomm_SignalProxy_async_callback() with C linkage

 and use it instead of SignalProxy_async_callback().
 Part of issue #1

2023-03-31  Kjell Ahlstedt  <[email protected]>

 Glib: Use callback functions with C linkage

 * gio/src/cancellable.ccg: Add TODO comment.
 * glib/glibmm/class.cc: Call custom_class_base_finalize_function() and
 custom_class_init_function() via local functions with C linkage.
 * glib/glibmm/extraclassinit.h: Point out in the class documentation that
 the class init and instance init functions shall have C linkage.
 * glib/glibmm/main.[cc|h]: Call prepare_vfunc(), check_vfunc() and
 dispatch_vfunc() via local functions with C linkage.
 * glib/glibmm/objectbase.cc: Call destroy_notify_callback()
 via a local function with C linkage.
 * glib/glibmm/propertyproxy_base.cc: Call PropertyProxyConnectionNode::
 callback() and destroy_notify_handler() via local functions with C linkage.
 * glib/glibmm/signalproxy.cc: Call SignalProxyNormal::slot0_void_callback()
 and SignalProxyConnectionNode::destroy_notify_handler() via local functions
 with C linkage.
 * glib/src/binding.ccg: Add extern "C".
 * glib/src/bytearray.ccg: Add a TODO comment.
 * glib/src/markup.ccg: Call functions in the vfunc table via local
 functions with C linkage.
 * glib/src/optioncontext.ccg: Add extern "C".
 * glib/src/optiongroup.ccg: Call post_parse_callback() and
 option_arg_callback() via local functions with C linkage.

 Part of issue #1

2023-03-27  Kjell Ahlstedt  <[email protected]>

 Gio: Use callback functions with C linkage

 * gio/giomm/socketsource.cc: Add extern "C".
 * gio/src/application.[ccg|hg]: Call Application_Class::open_callback()
 via a local function with C linkage.
 * gio/src/asyncinitable.[ccg|hg]: Call
 AsyncInitable_Class::init_async_vfunc_callback() and
 init_finish_vfunc_callback() via local functions with C linkage.
 * gio/src/dbusobjectmanagerclient.ccg: Use a local function with C linkage
 instead of Glib::destroy_notify_delete<SlotProxyType>.
 * gio/src/file.ccg: Add extern "C".
 * gio/src/liststore.ccg: Add a TODO comment.
 * gio/src/memoryinputstream.ccg: Add extern "C".
 * gio/src/settings.ccg: Add extern "C".
 * gio/src/socketcontrolmessage.[ccg|hg]: Call
 SocketControlMessage_Class::deserialize_async_vfunc_callback()
 via a local function with C linkage.

 Code that mixes up C linkage and C++ linkage has undefined behavior.
 Most compilers make no difference between C and C++ linkage, so it
 has not been an issue so far. Part of issue #1