1 2008-08-14 Matthias Clasen <mclasen@redhat.com>
3 Bug 547832 – gtk+-2.12.11 fails to build - AC_PROG_MMAP too strict,
6 * configure.in: Be a little bit more forgiving when checking
7 for mmap. Patch by Peter O'Gorman
9 2008-08-13 Matthias Clasen <mclasen@redhat.com>
11 Bug 547337 – G_DISABLE_DEPRECATED breaks tests build
13 * tests/testglib.c: Protect deprecated API by ifdefs.
14 Patch by Kalle Vahlman
16 2008-08-13 Matthias Clasen <mclasen@redhat.com>
18 Bug 547637 – unconditional #include of sys/statfs.h in configure
19 impedes detection of statfs things if non-existant
21 * configure.in: Protect the statfs.h include by guards.
23 2008-08-12 Federico Mena Quintero <federico@novell.com>
25 * glib/gi18n-lib.h: In the #error about having to define
26 GETTEXT_PACKAGE, add a hint about a possibly-missing config.h.
28 2008-08-11 Behdad Esfahbod <behdad@gnome.org>
30 Bug 547200 – g_utf8_find_next_char() issues
32 * glib/gutf8.c: Improve wording about @end arguments in str funcs.
34 2008-08-10 Behdad Esfahbod <behdad@gnome.org>
36 * glib/gutf8.c: Fix docs to use "nul-terminated" consistently.
38 2008-08-08 Ryan Lortie <desrt@desrt.ca>
40 Fix 'fail' markup test cases to -not- be valid XML 1.1.
42 * tests/markups/fail-32.gmarkup: change  to � since the
43 former is no longer a failure.
45 2008-08-08 Ryan Lortie <desrt@desrt.ca>
47 Bug 546876 - Modify GMarkup parser to accept  .. 
49 * glib/gmarkup.c: previously the parser only accepted character
50 references for \t \n and \r (as per XML 1.0); now it accepts all
53 2008-08-07 Tor Lillqvist <tml@novell.com>
55 * configure.in: Output comment clarifying GPid semantics to
58 * glibconfig.h.win32.in: Ditto here.
60 2008-08-04 Matthias Clasen <mclasen@redhat.com>
62 Bug 546329 – API docs for g_utf8_normalize() are incorrect
64 * glib/gunidecomp.c: Remove inaccurate information about
65 g_utf8_collate() from g_utf8_normalize() docs.
66 Pointed out by Sven Neumann.
68 2008-08-04 Tor Lillqvist <tml@novell.com>
70 * glibconfig.h.win32.in: Make the union _GSystemThread::data array
71 8 bytes on Win64. Not that it matters as the union contains a
72 pointer also anyway, but for equivalence with the configure-
73 generated glibconfig.h
75 2008-08-04 Tor Lillqvist <tml@novell.com>
77 * glib/gmain.c (g_get_current_time): MSDN says: "Do not cast a
78 pointer to a FILETIME structure to either a LARGE_INTEGER* or
79 __int64* value because it can cause alignment faults on 64-bit
80 Windows." So don't do that then. Indeed the code did work randomly
81 on Win64 when compiled with optimisation.
83 2008-08-04 Tor Lillqvist <tml@novell.com>
88 * glib/gspawn-win32-helper.c: Change gssize casts introduced on
89 2008-07-28 to gintptr casts now that we have that. gssize is as
90 such the same as gintptr on both 32- and 64-bit Windows, but the
91 gintptr name indicates that it is used to hold pointers, i.e. also
94 * tests/testglib.c: Avoid warning on Win64 by using gintptr cast
97 2008-08-04 Matthias Clasen <mclasen@redhat.com>
99 * configure.in: Bump version
101 2008-08-04 Matthias Clasen <mclasen@redhat.com>
103 * === Released 2.17.6 ===
105 2008-08-04 Matthias Clasen <mclasen@redhat.com>
107 * configure.in: Bump version
109 * === Released 2.17.5 ===
113 2008-08-02 Tor Lillqvist <tml@novell.com>
115 * glibconfig.h.win32.in: Add gintptr and guintptr typedefs here,
116 too, appropriately ifdeffed for 32/64 bit, gcc/MSVC. Add 64-bit
117 versions of GPOINTER_TO_INT(), GPOINTER_TO_UINT() and vice versa,
120 2008-08-01 Matthias Clasen <mclasen@redhat.com>
124 2008-08-01 Matthias Clasen <mclasen@redhat.com>
126 Bug 545798 – "Since: 2.18" mark is missing in g_set_error_literal
129 * glib/gerror.c (g_set_error_literal): Add a Since: marker.
130 Pointed out by Kouhei Sutou
132 2008-07-30 Tor Lillqvist <tml@novell.com>
134 Bug 545485 - Implicit declaration of utime()
136 * glib/gstdio.c: Include <utime.h> on POSIX.
138 2008-07-28 Tor Lillqvist <tml@novell.com>
140 * configure.in: Output to glibconfig.h typedefs for gintptr as the
141 signed integer type that can hold a pointer, and guintptr as the
142 corresponding unsigned type. These types are portable equivalents
143 to intptr_t and uintptr_t which are not available in all
146 For all current platforms, they will presumably end up as the same
147 types as gssize and gsize, but in theory size_t can be smaller
148 than intptr_t. Also, the intended use case for gintptr and
149 guintptr is different from that of gssize and gsize. As the name
150 indicates, gintptr is for when one wants an integer type that can
151 hold a pointer, and gsize is for when one wants an integer type
152 that can hold the value of the sizeof operator.
154 2008-07-28 Matthias Clasen <mclasen@redhat.com>
156 Bug 544465 – gmarkup makes it hard to use pre-rolled parsers
159 * glib/gmarkup.[hc]: Add g_markup_context_get_user_data.
162 2008-07-28 Tor Lillqvist <tml@novell.com>
164 * glib-zip.in: Message catalogs should always get installed into
165 share/locale nowadays, don't bother with the convoluted logic
166 checking if they are in lib/locale instead. Put the correct helper
167 programs in the zipfile.
169 2008-07-28 Tor Lillqvist <tml@novell.com>
171 Fix problems on 64-bit Windows. Avoid warnings, some of which
172 indicated actual problems, some which were just annoyances.
174 Where casts to an integer type are needed for pointers, use
175 gssize. Technically intptr_t would be the more proper type, but we
176 still want to be compilable with MSVS6 and 7 which don't have
177 intptr_t. MSVS8 and 9 do have intptr_t, but in <crtdefs.h>, not
180 Use %p to print out handles. Use gssize casts when assigning
183 Use G_GSIZE_FORMAT when printing size_t values.
185 * configure.in: Define automake conditional G_OS_WIN32_X64 which
188 * glib/giochannel.h: Use slightly different prototype for
189 g_io_channel_win32_new_messages() on Win64 with gsize instead of
194 * glib/gspawn-win32.c
195 * tests/testglib.c: Generic changes as described above.
197 * glib/gmain.h: Don't bother mentioning GIMP in comment.
199 * glib/grel.c (tuple_hash_2): Use all bits of pointer.
201 * glib/gspawn-win32.c
202 * glib/gspawn-win32-helper.c: Use gssize types in the
203 communication between parent and helper process, so that we can
204 pass process handles, which are pointers, also on Win64.
206 * glib/gtimer.c (g_time_val_to_iso8601): time_t is 64 bits on
207 Win64 so we can't pass the address of a GTimeVal::tv_sec which is
208 a long directly to gmtime(). On the other hand, changing
209 GTimeVal::tv_sec to be a gint64 on Win64 is not really feasible
210 either, as that would then require changes in much code that uses
213 * glib/gspawn-win32.c
214 * glib/Makefile.am: Call the helper programs
215 gspawn-win64-helper.exe and gspawn-win64-helper-console.exe on
216 Win64, to avoid potential risk of running a 32-bit version of the
219 2008-07-27 Tor Lillqvist <tml@novell.com>
226 * glib/gspawn-win32.c
228 * glib/gwin32.c: Bypass the Windows "ABI compatibility" symbols on
229 _WIN64. As there hasn't been any widely deployed 64-bit Windows
230 builds of the really old GLib (pre-2.8.1) versions those refer to,
231 there is no need to have the "ABI compatibility" versions in the
234 * glib/makegalias.pl: Handle #ifndef _WIN64: Just output it, too.
236 2008-07-27 Tor Lillqvist <tml@novell.com>
238 * configure.in: Set LIB_EXE_MACHINE_FLAG to either X86 or X64 on
239 Windows. AC_SUBST it.
241 * glib/Makefile.am (glib-2.0.lib): Pass appropriate -machine flag
244 2008-07-25 15:47:08 Tim Janik <timj@imendio.com>
246 * glib/tests/testing.c (test_random_conversions): added new sample
247 test to prepare for extended range random tests.
249 2008-07-24 Tor Lillqvist <tml@novell.com>
251 * glib/gdir.c: Include <stdio.h> for FILENAME_MAX on newer mingw
254 2008-07-24 Tor Lillqvist <tml@novell.com>
256 * glib/gslice.c (smc_notify_free): Use G_GSIZE_FORMAT instead of
259 2008-07-24 Tor Lillqvist <tml@novell.com>
261 * configure.in: Must output the GLIB_USING_SYSTEM_PRINTF to
262 glibconfig.h using the same two phase code as for the other
263 defines in it. Can't check enable_included_printf directly in the
264 shell code that is the first argument to AC_CONFIG_COMMANDS().
266 Preset glib_cv_stack_grows=no on Windows to help
269 * configure.in: Enhancements for 64-bit Windows:
271 Handle also size_t being larger than long. It is long long
272 a.k.a. __int64 on the LLP64 Win64.
274 Set glib_void_p and glib_long correctly. Their assignments were
275 crossed. It hasn't mattered on LP64 platforms like all (?) 64-bit
276 UNIXes, but on the LLP Win64 it was wrong.
278 * glibconfig.h.win32.in: Check also _WIN64.
280 2008-07-24 Tor Lillqvist <tml@novell.com>
282 * glibconfig.h.win32.in: Patch for 64-bit Windows from Richard
285 2008-07-23 Matthias Clasen <mclasen@redhat.com>
287 544088 – option_test_LDADD is left in tests/Makefile.am
289 * tests/Makefile.am: Remove leftovers.
290 Noticed by Hiroyuki Ikezoe
292 2008-07-22 Mathias Hasselmann <mathias@openismus.com>
294 Set LANG variable for group caption tests to get reproducable results.
296 * glib/tests/option-context.c (group_captions()):
297 Set LANG variable to C in the forked process to get reproducable.
298 Don't silence the forked process in --verbose mode to support
301 2008-07-21 Matthias Clasen <mclasen@redhat.com>
303 * configure.in: Fix detection of struct statfs fields.
305 2008-07-21 Matthias Clasen <mclasen@redhat.com>
307 * configure.in: Bump version
309 2008-07-21 Matthias Clasen <mclasen@redhat.com>
311 * === Released 2.17.4 ===
313 * configure.in: Bump version
317 2008-07-21 Emmanuele Bassi <ebassi@gnome.org>
319 * glib/gtimer.c (g_time_val_to_iso8601): Use the right format
320 string to get leading zeros when converting to ISO 8601. (Sven
323 2008-07-21 Emmanuele Bassi <ebassi@gnome.org>
325 * glib/gbookmarkfile.c:
326 (bookmark_app_info_new): Do not set the timestamp value
327 using time(), as it will be overwritten anyway. (#535223,
330 (parse_application_element),
331 (bookmark_app_info_dump): Support the "modified" attribute,
332 which takes an ISO-formatted string instead of a Unix time
333 stamp, to keep the number of g_strdup_printf() calls to a
337 (g_time_val_to_iso8601): Do not use strftime(): we know
338 the format and contents of the ISO 8601 date format we
341 * tests/bookmarks/valid-03.xbel: Add a test file for the
344 2008-07-19 Matthias Clasen <mclasen@redhat.com>
346 * glib/tests/Makefile.am:
347 * glib/tests/array-test.c: Move array tests here.
350 * tests/array-test.c: Removed.
352 2008-07-20 Tor Lillqvist <tml@novell.com>
354 * glib/giowin32.c (g_io_win32_prepare): Patch from Yu Kuan that
355 makes watched sockets behave much better. See gtk-devel-list
356 archives from May for the (unfortunately rather meager)
357 discussion. This patch fixes the presented simple test program,
358 which reasonably could be expected to work.
360 2008-07-18 Matthias Clasen <mclasen@redhat.com>
364 2008-07-18 Matthias Clasen <mclasen@redhat.com>
366 Bug 536996 – Missing noop i18n macro equivalent to C_
369 * glib/gstrfuncs.[hc]: Add g_dpgettext2() which is a
370 variant of g_dpgettext() taking context and id as separate
374 * glib/gi18n.h: Add an NC_() macro that is to C_() as N_()
377 2008-07-18 Matthias Clasen <mclasen@redhat.com>
380 * tests/keyfile-test.c:
381 * tests/option-test.c: Remove
382 * glib/tests/option-context.c: Add all GOptionContext tests here.
383 * glib/tests/keyfile.c: Add all GKeyFile tests here.
385 2008-07-16 Matthias Clasen <mclasen@redhat.com>
387 Bug 334234 – "printf" format error
389 * glib/gslice.c (mem_error): Avoid a warning when printing a pid_t.
390 Pointed out by Morten Welinder.
392 2008-07-16 Matthias Clasen <mclasen@redhat.com>
394 Bug 406120 – g_ascii_strtod
396 * glib/gstrfuncs.c (g_ascii_strtod): Document that this
397 function does accept localized infinities and nans. Reported
400 2008-07-16 Matthias Clasen <mclasen@redhat.com>
402 Bug 482413 - get_contents_stdio -- overflow and memory corruption
404 * glib/gfileutils.c (get_contents_stdio): Detect overflow and
405 error out. Reported by Morten Welinder.
407 2008-07-16 Matthias Clasen <mclasen@redhat.com>
409 Bug 542332 – small fix for error message in GMarkup
411 * glib/gmarkup.c: Improve an error message.
414 2008-07-14 Matthias Clasen <mclasen@redhat.com>
416 Bug 428048 – 2 of 51 tests fail on Solaris
418 * tests/iochannel-test.c: Ignore the error if iconv doesn't
421 2008-07-14 Matthias Clasen <mclasen@redhat.com>
423 * tests/option-test.c: Print error messages when something fails.
425 2008-07-14 Matthias Clasen <mclasen@redhat.com>
427 Bug 467707 – test_iconv_state() in tests/convert-test.c fails on AIX 5.3
429 * tests/convert-test.c (test_iconv_state): Skip this test if
430 CP1255 is not supported.
432 2008-07-10 Ryan Lortie <desrt@desrt.ca>
434 * docs/reference/glib/glib-sections.txt:
437 * glib/gmarkup.h: add functions g_markup_parse_context_{push,pop} in
438 order to provide some small hooks on which to build easy-to-use
441 * glib/tests/Makefile: add new test
442 * glib/tests/markup-subparser.c: new test for subparsers
446 2008-07-05 Matthias Clasen <mclasen@redhat.com>
448 Bug 528317 – GRegex does not allow recursion limit
450 * glib/pcre/Makefile.am: Set a sane default recursion limit
451 of 8192 instead of 1000000.
452 Patch by Mart Raudsepp.
454 2008-07-04 Behdad Esfahbod <behdad@gnome.org>
456 Bug 541507 – Ambiguous description of assigned characters in the Glib
457 Unicode Manipulation reference
460 (g_unichar_isgraph): Return true for PrivateUse too.
461 (g_unichar_isprint): Return true for PrivateUse too.
462 (g_unichar_isdefined): Return false for Surrogate.
464 2008-07-04 Michael Natterer <mitch@imendio.com>
466 Bug 541208 – Functions to easily install and use signals without
469 * tests/gobject/override.c: added tests for the new gsignal
470 overriding and chaining APIs.
472 2008-07-02 Matthias Clasen <mclasen@redhat.com>
474 * === Released 2.17.3 ===
476 2008-07-02 Matthias Clasen <mclasen@redhat.com>
478 * configure.in: Better endianness fix. From Tomas Mraz.
480 2008-07-02 Matthias Clasen <mclasen@redhat.com>
484 2008-07-02 Colin Walters <walters@redhat.com>
486 * gio/gcontenttype.c: Use UNLOCK to unlock, not LOCK.
488 2008-07-02 Matthias Clasen <mclasen@redhat.com>
490 * configure.in: Add a check for structfs.f_bavail
492 2008-07-02 Matthias Clasen <mclasen@redhat.com>
494 * glib/gmain.c (g_get_current_time): Add a g_return_val_if_fail
495 check in both versions. Proposed by Patrik Olsson in bug 540545.
497 2008-07-02 Matthias Clasen <mclasen@redhat.com>
499 * configure.in: Workaround AC_C_BIGENDIAN breakage in autoconf 2.61.
500 Add a _cv_ to some variable names, since autoconf wants it.
502 2008-06-30 Matthias Clasen <mclasen@redhat.com>
504 * glib/pcre/pcre_compile.c: Apply fix for CVE-2008-2371 to
505 fix a heap-based buffer overflow.
507 2008-06-29 Björn Lindqvist <bjourne@gmail.com>
509 Bug 539626 – Update docstrings for g_object_freeze_notify and
512 * gobject/gobject.c: Explain how the freeze count works.
514 2008-06-26 Cody Russell <bratsche@gnome.org>
516 * configure.in: Add #define GLIB_USING_SYSTEM_PRINTF
517 to glibconfig.h, which specifies if GLib is using
518 the system printf functions for g_print*().
519 (#539999, by Tim-Philipp Müller)
521 2008-06-24 Paolo Borelli <pborelli@katamail.com>
523 Bug 539770 - migrate gstrfunc unit tests to gtest
525 * tests/strfunc-test.c:
527 * tests/strtoll-test.c:
528 * tests/strtod-test.c:
529 * tests/string-test.c:
533 * glib/tests/fileutils.c:
534 * glib/tests/strfuncs.c:
535 * glib/tests/Makefile.am:
536 Added all the old tests migrated to the new unit test framework
537 and add new unit tests for some of the functions.
539 2008-06-23 Kristian Rietveld <kris@imendio.com>
541 * gobject/glib-mkenums.in: introduce an ENUMPREFIX substitution.
543 * gio/gioenumtypes.h.template: use @ENUMPREFIX@ instead of
544 hard coding "G" as prefix.
546 2008-06-22 Stefan Kost <ensonic@users.sf.net>
549 Fix markup in comment.
551 2008-06-21 Johan Dahlin <jdahlin@async.com.br>
553 * *.[ch]: Include "config.h" instead of <config.h>
555 find -name \*.[ch]|xargs perl -p -i -e 's/^#include <config.h>/#include "config.h"/g'
556 Rubberstamped by Mitch
558 2008-06-20 Sebastian Dröge <slomo@circular-chaos.org>
560 Bug 316221 - G_LOCK warns about breaking strict-aliasing rules
563 * glib/gthread.h: Revert previous patch as it doesn't improve the
564 situation and results in other warnings.
566 2008-06-16 Christian Persch <chpe@gnome.org>
568 Bug 539123 – annotate g_d[n]gettext with G_GNUC_FORMAT
571 * glib/glib.symbols: Annotate some functions with G_GNUC_FORMAT.
573 2008-06-19 Tor Lillqvist <tml@novell.com>
575 Bug 539074 - Cannot get exit status with g_spawn_command_line_sync()
577 * glib/gspawn-win32-helper.c (main): Write also the exit status of
578 the spawned process to the error report pipe. Patch by Hiroyuki
581 2008-06-19 Matthias Clasen <mclasen@redhat.com>
583 Bug 535949 – annotate g_strip_context and g_dpgettext with
587 * glib/glib.symbols: Annotate some functions with G_GNUC_FORMAT.
588 Patch by Christian Persch
590 2008-06-19 Matthias Clasen <mclasen@redhat.com>
592 Bug 539067 – The document g_io_channel_win32_new_fd() says that "Your
593 code should call only g_io_channel_read()." but gio_channel_read() is
596 * glib/giochannel.h: Fix a reference in a comment
597 Patch by Hiroyuki Ikezoe
599 2008-06-18 Matthias Clasen <mclasen@redhat.com>
601 Bug 537635 – Corrections and improvements to
602 g_time_val_from_iso8601()/g_time_val_to_iso8601()
604 * glib/gtimer.c (g_time_val_from_iso8601): set tv_usec to 0 rather
605 than 1 when a fraction of a second is not specified
606 (g_time_val_from_iso8601): calculate a fraction of a second
607 correctly even in case it does not happen to consist of exactly
608 six digits; do not allow random data after the ISO 8601 string,
610 (make g_time_val_to_iso8601): support fractions of a second
611 Patch by Peter Kjellerstedt
613 * tests/testglib.c: Update to match
615 2008-06-16 Christian Persch <chpe@gnome.org>
617 * glib/gbookmarkfile.c
626 * glib/gspawn-win32.c
627 * glib/gutf8.c: Use g_set_error_literal where appropriate. Patch from
630 2008-06-16 Christian Persch <chpe@gnome.org>
632 * docs/reference/glib/glib-sections.txt:
635 * glib/glib.symbols: Add g_set_error_literal. Bug #535947.
637 2008-06-16 Michael Natterer <mitch@imendio.com>
639 * glib/goption.c (dgettext_swapped): changed return value to
640 const gchar* to fix warning.
642 2008-06-14 Matthias Clasen <mclasen@redhat.com>
644 * glib/gtestutils.c: Move docs around
646 * glib/gchecksum.h: Add docs.
648 2008-06-13 Matthias Clasen <mclasen@redhat.com>
650 Bug 538119 – glib's mainloop leaks a pipe to sub-processes
652 * glib/gmain.c (g_main_context_init_pipe): Don't leak the
653 pipes to child processes. Patch by Thiago Macieira.
655 2008-06-13 Hans Breuer <hans@breuer.org>
657 * glib/gstrfuncs.c : to get the default translation target on
658 win32 use g_win32_get_locale() instead of setlocale(LS_MESSAGES,NULL)
661 * glib/makefile.msc.in gio/makefile.msc : updated
663 2008-06-12 Matthias Clasen <mclasen@redhat.com>
665 * configure.in: Bump version
667 * === Released 2.17.2 ===
669 * configure.in: Fix LINGUAS conversion
671 2008-06-12 Matthias Clasen <mclasen@redhat.com>
673 * configure.in: Bump version
675 * === Released 2.17.1 ===
677 2008-06-12 Matthias Clasen <mclasen@redhat.com>
679 * glib/gtestutils.c: Documentation fixups
681 2008-06-11 Matthias Clasen <mclasen@redhat.com>
683 * glib/glist.c: Tiny doc fix
685 2008-06-11 Matthias Clasen <mclasen@redhat.com>
689 2008-06-11 Behdad Esfahbod <behdad@gnome.org>
691 Bug 503071 – Application direction changes to right to left even if
692 theres no translation
698 Add new functions g_dgettext() and g_dngettext().
700 * glib/gutils.c (glib_gettext):
701 * glib/gfileutils.c (g_format_size_for_display):
702 * glib/goption.c (dgettext_swapped):
703 Use the new functions.
705 2008-06-11 Matthias Clasen <mclasen@redhat.com>
707 Bug 502511 – g_assert_cmphex prints invalid message
709 * glib/gtestutils.c (g_assertion_message_cmpnum): Actually print
711 Pointed out by Tor Lillqvist
713 2008-06-11 Matthias Clasen <mclasen@redhat.com>
715 Bug 338162 – [PATCH] Use po/LINGUAS
717 * po/LINGUAS: New file
718 * po/Makefile.in.in: Dist LINGUAS
719 * configure.in: Use po/LINUAS
720 Patch by Thomas Andersen
722 2008-06-11 Matthias Clasen <mclasen@redhat.com>
724 Bug 314453 – Nautilus crashes in Solaris when browsing the attached
727 * glib/gunicollate.c (g_utf8_collate_key): Handle strfxrm returning
728 -1 a little better. Problem pointed out by Takao Fujiwara
730 2008-06-11 Matthias Clasen <mclasen@redhat.com>
732 Bug 529321 – make check fails in glib/pcre
734 * glib/pcre/Makefile.am: include Makefile.decl to fix 'make check'.
735 Patch by Hiroyuki Ikezoe
737 2008-06-11 Tor Lillqvist <tml@novell.com>
739 * glib/giowin32.c: g_win32_error_message() works fine for the
740 Winsock WSA* error codes, too, so drop the winsock_error_message()
743 2008-06-11 Matthias Clasen <mclasen@redhat.com>
745 Bug 455215 – g_get_user_special_dir: no reference about
746 G_USER_DIRECTORY_DOWNLOAD fallback to $HOME/Desktop if
747 xdg-user-dirs is not in use
749 * glib/gutils.c (g_get_user_special_dir): Improve the docs.
750 Proposed by Luca Ferretti
752 2008-06-11 Matthias Clasen <mclasen@redhat.com>
754 Bug 498732 – g_key_file_to_data cannot fail
756 * glib/gkeyfile.c (g_key_file_to_data): Improve the docs.
757 Proposed by Christian Persch
759 2008-06-11 Ross Burton <ross@burtonini.com>
761 Bug 511367 - add g_file_make_directory_with_parents.
765 * gio/gio.symbols: Add g_file_make_directory_with_parents.
767 2008-06-11 Sebastian Dröge <slomo@circular-chaos.org>
769 Bug 531900 – Use __builtin_offsetof for G_STRUCT_OFFSET if building
770 with gcc 4.0 or newer
772 * glib/gmacros.h: Use __builtin_offsetof for G_STRUCT_OFFSET if
773 building with gcc 4.0 or newer.
775 2008-06-11 Tor Lillqvist <tml@novell.com>
778 * glib/gspawn.c: Clarify what a "child pid" is in the doc
781 2008-06-10 Matthias Clasen <mclasen@redhat.com>
783 Bug 536158 – also bump GHashTable version when a node is removed via
784 g_hash_table_iter_remove()/g_hash_table_iter_steal()
786 * glib/ghash.c (iter_remove_or_steal): Bump the hash table
787 version. Patch by Jean-Yves Lefort
789 2008-06-07 Tor Lillqvist <tml@novell.com>
791 * glib/gstdio.c (g_access): Define X_OK if necessary (MSVC).
793 2008-06-02 Yevgen Muntyan <muntyan@tamu.edu>
795 Bug 531403 – g_utf8_collate broken on Mac.
797 * glib/gunicollate.c: (g_utf8_collate): use UCCompareTextDefault;
798 (collate_key_to_string), (carbon_collate_key_with_collator),
799 (carbon_collate_key), (carbon_collate_key_for_filename): new
800 functions using Carbon API to get collate key for g_utf8_collate_key()
801 and g_utf8_collate_key_for_filename();
802 (g_utf8_collate_key), (g_utf8_collate_key_for_filename): use those.
804 2008-05-30 Michael Natterer <mitch@imendio.com>
806 Bug 535628 - test/patterntest.c still includes gpattern.h
809 * tests/patterntest.c: don't include "glib/gpattern.h" directly.
810 Patch from Hiroyuki Ikezoe.
812 2008-05-30 Tor Lillqvist <tml@novell.com>
814 Bug 535625 - alias.h:2648: error: 'utime' undeclared here (not in
817 * glib/glib.symbols: Move g_utime inside #if !defined(G_OS_UNIX)
818 || defined(G_STDIO_NO_WRAP_ON_UNIX).
820 2008-05-30 Tor Lillqvist <tml@novell.com>
822 * glib/gstdio.c (g_access) [Win32]: Mask out X_OK to avoid problem
823 on Vista. X_OK was just ignored by access() in earlier Microsoft C
824 libraries. (Which is fine as executability has little meaning on
825 Windows.) The one on Vista returns an error if X_OK is passed.
827 2008-05-29 Tor Lillqvist <tml@novell.com>
830 * glib/gstdio.c: Add g_utime(). No need to include <sys/utime.h>
831 in gstdio.h, just use a forward struct declaration.
833 * glib/glib.symbols: Add it.
835 2008-05-29 Tor Lillqvist <tml@novell.com>
837 * glib/gnulib/printf-args.c (printf_fetchargs): wint_t is short on
838 Windows, and gcc warns: "wint_t is promoted to int when passed
839 through ... (so you should pass int not wint_t to va_arg)." And
840 indeed g_print("%C", L'a') crashes. So do as gcc says then.
842 2008-05-28 Michael Natterer <mitch@imendio.com>
844 * configure.in: add G_DISABLE_SINGLE_INCLUDES to CPPFLAGS
847 * glib/tests/option-context.c
848 * glib/tests/testing.c
849 * tests/testingbase64.c: don't include <glib/gtestutils.h>
851 2008-05-27 Matthias Clasen <mclasen@redhat.com>
853 * configure.in: Bump version
855 * === Released 2.17.0 ===
857 2008-05-27 Matthias Clasen <mclasen@redhat.com>
859 * README.in: Add a note about G_DISABLE_SINGLE_HEADERS.
863 2008-05-27 Matthias Clasen <mclasen@redhat.com>
866 * tests/casefold.txt: Update for Unicode 5.1
868 2008-05-27 Matthias Clasen <mclasen@redhat.com>
870 * Revert the patch for bug 527214 and related changes. GTimer
871 is supposed to work without threads.
873 2008-05-27 simon.zheng <simon.zheng@sun.com>
875 * configure.in: Fix #533369. Check whether memeber statvfs.f_basetype
878 2008-05-27 Matthias Clasen <mclasen@redhat.com>
880 * glib/pcre/*: Update to PCRE 7.7
882 2008-05-26 Matthias Clasen <mclasen@redhat.com>
884 * glib/gchecksum.c: Add Since: tag to g_checksum_reset
886 * glib/glib.symbols: Add g_checksum_reset
888 2008-05-25 Matthias Clasen <mclasen@redhat.com>
890 Bug 534137 – Typo in g_spawn_async_with_pipes doc
892 * glib/gspawn.c: Fix a typo in the docs, pointed out by Ted Percival.
894 2008-05-25 Tor Lillqvist <tml@novell.com>
896 Bug 534319 - GLib's .pc files could use Libs.private
898 * glib-2.0-uninstalled.pc.in
900 * gmodule-2.0-uninstalled.pc.in
902 * gmodule-export-2.0.pc.in
903 * gmodule-no-export-2.0.pc.in: Move ICONV_LIBS and G_MODULE_LIBS
906 2008-05-24 Matthias Clasen <mclasen@redhat.com>
908 * glib/gfileutils.c (g_file_open_tmp): Small documention addition.
910 2008-05-22 10:49:37 Tim Janik <timj@imendio.com>
912 * glib/gmacros.h: implement G_STMT_START and G_STMT_END with
913 do{}while(0), which is believed to be widely portable, fixes:
914 Bug 519026 - G_STMT_START/G_STMT_END test a non-existent preprocessor symbol
916 2008-05-20 Behdad Esfahbod <behdad@gnome.org>
918 Bug 501651 – Update glib/libcharset
921 * glib/libcharset/Makefile.am:
922 * glib/libcharset/README:
923 * glib/libcharset/codeset.m4:
924 * glib/libcharset/config.charset:
925 * glib/libcharset/glibc21.m4:
926 * glib/libcharset/libcharset-glib.patch:
927 * glib/libcharset/libcharset.h:
928 * glib/libcharset/localcharset.c (_g_locale_get_charset_aliases),
929 (_g_locale_charset_raw):
930 * glib/libcharset/localcharset.h:
931 * glib/libcharset/make-patch.sh:
932 * glib/libcharset/ref-add.sin:
933 * glib/libcharset/ref-del.sin:
934 * glib/libcharset/update.sh:
935 Update libcharset to the one shipped with libiconv-0.12.
937 2008-05-20 Behdad Esfahbod <behdad@gnome.org>
939 Bug 459905 – Bug in wcwidth data
940 Bug 534085 – g_unichar_iswide_cjk() has a totally wrong table
941 * glib/guniprop.c (g_unichar_iswide), (g_unichar_iswide_cjk):
942 Regenrate wide and wide_cjk tables from Unicode 5.1.0 data directly.
943 Not using Markus Kuhn's tables anymore.
945 2008-05-20 14:31:18 Tim Janik <timj@imendio.com>
947 * reverted recent unapproved changes by Yair Hershkovitz, regarding:
948 Bug 503071 – Application direction changes to right to left even if theres no translation.
950 2008-05-20 Tor Lillqvist <tml@novell.com>
952 * configure.in: Don't need memory barriers when using a non-gcc
953 compiler on Windows either.
955 2008-05-19 Tor Lillqvist <tml@novell.com>
957 * glib/gdir.c: Include the dirent.h and wdirent.c from
958 ../build/win32/dirent directly here when compiling with MSVC and
959 without HAVE_DIRENT_H.
961 2008-05-19 Hans Breuer <hans@breuer.org>
963 * glib/makefile.msc : added gi18n.c
965 2008-05-19 Tor Lillqvist <tml@novell.com>
967 * glib/Makefile.am: #define HELPER_CONSOLE in
968 gspawn-win32-helper-console.c
970 * glib/gspawn-win32-helper.c: Compile a main() instead of
971 WinMain() if HELPER_CONSOLE is defined. MSVC insists on a console
972 application having a main().
974 2008-05-18 Matthias Clasen <mclasen@redhat.com>
976 Bug 527214 – g_timer_elapsed() returns random values.
978 * glib/gtimer.c (g_timer_new()):
979 Print warning if g_thread_init() has not been called yet.
980 Patch by Mathias Hasselmann
982 2008-05-12 Jeffrey Stedfast <fejj@novell.com>
984 * glib/gchecksum.c (g_checksum_reset): New function to reset the
985 state of a GChecksum.
986 (g_checksum_new): Call g_checksum_reset() instead of duplicating
989 2008-05-17 Matthias Clasen <mclasen@redhat.com>
991 Bug 528667 – Typos in testing module documentation
993 * glib/gtestutils.c: Fix typos in the documentation.
995 2008-05-17 Tor Lillqvist <tml@novell.com>
997 * glib/giowin32.c: Make debugging printout more compact and add
998 more information to it. No changes to actual functionality.
1000 * glib/gmain.c: Improve debugging printouts. When
1001 G_MAIN_POLL_DEBUG is defined, we check for an environment variable
1002 of the same name to decide whether to print out debugging
1003 information or not. G_MAIN_POLL_DEBUG is always defined on Windows
1004 as there is more often a need to debug this stuff there. On Unix
1005 the definition has to be uncommented (or done on the compile
1008 2008-05-17 Tor Lillqvist <tml@novell.com>
1010 * build: Don't include the "build" module with svn:externals any
1011 longer. Instead add the still relevant directories and files from
1012 it for real here in GLib.
1014 2008-05-17 Yair Hershkovitz <yairhr@gmail.com>
1016 * glib/glib.symbols:
1017 * glib/gi18n.h: Added g_disable_setlocale().
1019 * glib/gi18n.c: Added g_disable_setlocale() API to disable setting
1020 the locale in g_i18n_init(). Dont disable translations if textdomain
1021 was not set before calling g_i18n_init(). Dont disable translations if
1024 2008-05-16 Tor Lillqvist <tml@novell.com>
1026 * config.h.win32.in: Update to match the configure-produced one.
1028 2008-05-14 Michael Natterer <mitch@imendio.com>
1030 * glib/gatomic.c: #include "config.h" before using G_ATOMIC_ARM.
1032 2008-05-13 Kjartan Maraas <kmaraas@gnome.org>
1034 * glib/gi18n.c: #include <locale.h> to fix the build.
1036 2008-05-12 Yair Hershkovitz <yairhr@gmail.com>
1038 * glib/gi18n.c (g_i18n_init): Coding convention fix. Space between
1039 a function name and its opening parenthesis.
1041 2008-05-12 Tor Lillqvist <tml@novell.com>
1043 * glib/glib.symbols: Add g_i18n_init.
1045 2008-05-12 Tor Lillqvist <tml@novell.com>
1047 Bug 530457 - G_USER_DIRECTORY_DOWNLOAD folder improperly mapped
1049 * glib/gutils.c (load_user_special_dirs): When running on Vista or
1050 later, use SHGetKnownFolderPath() to get the FOLDERID_Downloads
1051 folder for G_USER_DIRECTORY_DOWNLOAD, and FOLDERID_Public for
1052 G_USER_DIRECTORY_PUBLIC_SHARE.
1054 2008-05-11 Yair Hershkovitz <yairhr@gmail.com>
1056 Bug 503071 - Application direction changes to right to left even if
1057 theres no translation.
1059 * glib/gi18n.c: g_i18n_init() for initializing the glib i18n,
1060 checking if a translation is available for the calling app. wrappers for
1061 gettext, dgettext and dpgettext to check first if the application
1062 should be translated.
1064 * glib/gi18n.h: symbol declaration for gettext wrappers.
1066 * glib/gi18n-lib.h: include gi18n.h instead of libintl.h.
1068 * glib/gstrfuncs.c: moved g_dpgettext() to glib/gi18n.c.
1070 * glib/gutils.c: use g_dgettext() instead of dgettext().
1072 * glib/glibintl.h: include gi18n.h.
1074 * glib.symbols: added gettext wrappers.
1076 * glib/Makefile.am: added gi18n.c.
1078 2008-05-05 Michael Natterer <mitch@imendio.com>
1080 * glib/glib.h: #define __GLIB_H_INSIDE__ around including
1083 * glib/*.h: check for that define instead of __G_LIB_H__ if
1084 G_DISABLE_SINGLE_INCLUDES is defined.
1086 * glib/gdatasetprivate.h: #include <glib.h> instead of
1089 2008-05-02 13:24:13 Tim Janik <timj@imendio.com>
1091 * glib/gmain.c: renamed GMainDispatch.dispatching_sources to be more
1092 descriptive and distinguishable within the source file.
1094 2008-04-21 Tor Lillqvist <tml@novell.com>
1096 Bug 528752 - Win32 build and SSL not working
1098 This bug report against libsoup points out an issue with the use
1099 of bitfields in the GIOChannel struct that should really be taken
1100 care of here in GLib.
1102 * configure.in: Add Autoconf variable GLIB_EXTRA_CFLAGS which will
1103 contain the -mms-bitfields flag on Windows.
1105 * glib-2.0.pc.in: Add it to Cflags.
1107 2008-04-21 Tor Lillqvist <tml@novell.com>
1110 * */Makefile.am: More work on enabling static building on
1111 Windows. When building statically: Also define
1112 GOBJECT_STATIC_COMPILATION in glibconfig.h so that also the
1113 variables in gparamspecs.h get declared without any
1114 dllimport/dllexport decorations. Don't install .def files which
1115 obviously have no meaning for static libraries. Don't create MS
1116 import libraries. Don't do any resource object files.
1118 2008-04-18 17:40:58 Tim Janik <timj@imendio.com>
1120 * tests/testglib.c: fixed gstdio.h include.
1122 * tests/Makefile.am: properly list testglib.c SOURCES.
1124 2008-04-17 Emmanuele Bassi <ebassi@gnome.org>
1127 (sha_byte_reverse): Use the macro GLib provides for byte-swapping
1128 as it can be optimized.
1130 (g_checksum_update): Fix a compiler warning.
1132 2008-04-15 Mukund Sivaraman <muks@mukund.org>
1134 * gio/gfile.c: Fixed typos in gtk-doc comments.
1136 2008-04-10 Mathias Hasselmann <mathias@openismus.com>
1138 Bug 519137 – g_slice_dup macro needs cast for 64-bit platform
1140 * glib/gslice.h (g_slice_copy): Apply type casts needed
1141 for proper compilation on 64-bit platforms.
1143 2008-04-09 Federico Mena Quintero <federico@novell.com>
1145 * glib/gbookmarkfile.c (bookmark_metadata_free): Don't leak
1146 the apps_by_name hash table if the applications list is empty.
1148 2008-04-08 Behdad Esfahbod <behdad@gnome.org>
1150 * glib/gunicode.h: Add ISO 15924 code comments for new scripts.
1152 2008-04-07 Matthias Clasen <mclasen@redhat.com>
1154 Bug 491554 – Update to Unicode 5.1.0
1156 * glib/gunichartables.h:
1159 * glib/gmirroringtable.h:
1160 * glib/gscripttable.h:
1161 * glib/gen-script-table.pl: Update to Unicode 5.1.0. Patch by
1164 2008-04-07 Matthias Clasen <mclasen@redhat.com>
1166 Bug 526619 – make test-report crash
1168 * glib/gtester.c: Allocate enough space for argv. Patch by
1171 2008-04-04 Matthias Clasen <mclasen@redhat.com>
1173 * glib/gmain.c: Make the fix for bug 448943 work.
1175 2008-04-04 Tor Lillqvist <tml@novell.com>
1177 * configure.in: Make sure we don't build both shared and static at
1178 the same time on Windows. Put a #define for
1179 GLIB_STATIC_COMPILATION into glibconfig.h in the static case, so
1180 that the use of variables from libglib gets the GLIB_VAR macro in
1181 gtypes.h automatically correct. This means that a shared and
1182 static build of GLib can't be installed in the same prefix on
1183 Windows, which sucks a bit. But with variables in the GLib API,
1184 there isn't much we can do otherwise. The alternative would be to
1185 force the developer who compiles against a statically built GLib
1186 to use -DGLIB_STATIC_COMPILATION.
1188 * glibconfig.h.win32.in: Define GLIB_STATIC_COMPILATION here also,
1191 2008-04-03 Tor Lillqvist <tml@novell.com>
1193 * configure.in: Don't enforce shared library build only on
1194 Windows. It might well make sense to build static libraries in
1197 * glib/gutils.c: Don't compile the DllMain if building libglib
1198 statically. Also in that case don't return NULL from
1199 _glib_get_installation_directory(), but return the installation
1200 directory of the program's .exe file.
1202 2008-04-03 Tor Lillqvist <tml@novell.com>
1204 Bug 525972 - UCS-4 not in the new win_iconv implementation
1206 * glib/win_iconv.c: Add UCS-4. Also add spelling of UCS-2 without
1209 2008-04-03 Matthias Clasen <mclasen@redhat.com>
1211 Bug 448943 – g_timeout_add_seconds() problems
1213 * glib/gmain.c (g_timeout_set_expiration): Prevent expiration
1214 time going negative. Reported by Cody Russell, analyzed by
1215 Olivier Crete, patch by Sjoerd Simons.
1217 2008-04-03 Matthias Clasen <mclasen@redhat.com>
1219 Bug 525674 – A typo in gmarkup.c
1221 * glib/gmarkup.c (g_markup_parse_context_get_element_stack): Fix
1222 the docs, reported by Hiroyuki Ikezoe
1224 2008-04-03 Matthias Clasen <mclasen@redhat.com>
1226 Bug 525732 – Error in documentation for g_list_first
1228 * glib/glist.c (g_list_first): Fix the docs, reported by
1231 2008-04-02 Tor Lillqvist <tml@novell.com>
1233 Bug 524314 - g_convert() on Win32 implicitly converts full width
1234 alphanumerics into half width
1236 * glib/win_iconv.c: Update from Yukihiro Nakadaira. Use
1237 WC_NO_BEST_FIT_CHARS flag for WideCharToMultiByte() unless the
1238 //translit flag was suffixed to the codeset name.
1240 * glib/gconvert.c: Include win_iconv.c earlier so that its
1241 definition of WINVER before it includes <windows.h> is used.
1243 2008-03-31 Tor Lillqvist <tml@novell.com>
1245 * glib/gmain.c (g_poll): Improve fix for #525192 below: Use
1246 SleepEx() so that the sleep is alertable. Thanks to John
1249 2008-03-31 Tor Lillqvist <tml@novell.com>
1252 (g_win32_get_package_installation_directory_of_module): Fix Cygwin
1253 breakage. Patch by Lieven van der Heide.
1255 2008-03-31 10:39:17 Tim Janik <timj@imendio.com>
1257 * glib/gutils.h: reapply inlining fix from r6333 to fix:
1258 Bug 522292 – Gives warnings in glib/gutils.h with GCC in C99 mode
1260 Bug 315437 – extern inline -> static inline
1262 2008-03-31 Tor Lillqvist <tml@novell.com>
1264 Bug 525192 - 100% CPU if run main loop with no IO sources
1266 * glib/gmain.c (g_poll) [Win32]: Patch by Neil Roberts.
1268 2008-03-30 Matthias Clasen <mclasen@redhat.com>
1270 * glib/gtester.c: Don't use ARG_MAX. (#522335, patch by
1271 Samuel Thibault, adapted by Sebastian Dröge)
1273 2008-03-30 Matthias Clasen <mclasen@redhat.com>
1275 * glib/gmacros.h: Add macros wrapping the gcc alloc_size
1276 function attribute. (#523019, Rodrigo Moya)
1280 * glib/gstrfuncs.h: Use the new attribute where appropriate.
1282 2008-03-30 Matthias Clasen <mclasen@redhat.com>
1286 * glib/gutils.c: Simple fixes to help building GLib on
1287 embedded systems without NLS. (#524350, Peter Kjellerstedt)
1289 2008-03-30 Matthias Clasen <mclasen@redhat.com>
1291 * glib/ghash.c: Fix the build with -DG_DISABLE_ASSERT.
1292 (#525060, Arfrever Frehtes Taifersar Arahesis)
1294 2008-03-30 Matthias Clasen <mclasen@redhat.com>
1296 * glib/gthread.h: Replace occurrances of G_GNUC_PRETTY_FUNCTION
1297 by G_STRFUNC. (#524344, Peter Kjellerstedt)
1299 2008-03-30 Matthias Clasen <mclasen@redhat.com>
1301 * glib/gtestutils.c: Fix a doc typo. (#524742, Hiroyuki Ikezoe)
1303 2008-03-22 Claudio Saavedra <csaavedra@gnome.org>
1305 Bug 523877 – gbookmarkfile: avoid using g_string_append_printf() and
1308 * glib/gbookmarkfile.c: (bookmark_metadata_dump),
1309 (bookmark_item_dump), (g_bookmark_file_dump), (expand_exec_line):
1310 Replace all calls to g_string_append_printf with g_strconcat () or
1311 g_string_append () where appropriate, to reduce the file creation time.
1312 Also, use g_string_sized_new () with an appropriate buffer size instead
1313 of g_string_new (NULL), to reduce time spent in memory reallocation.
1314 (#523877, Claudio Saavedra, Emmanuele Bassi)
1316 2008-03-22 Emmanuele Bassi <ebassi@gnome.org>
1318 Bug 518160 - replace two g_strdup_printf calls in GBookmarkFile
1320 * glib/gbookmarkfile.c (is_element_full): Compare the fragments
1321 instead of building two strings; this avoids two g_strdup_printf()
1322 per namespaced element enountered. (#518160, Felix Riemann)
1324 2008-03-20 Alexander Larsson <alexl@redhat.com>
1327 Final fixes for struct statfs.f_fstypename checks (OpenBSD). (#521045)
1328 Patch from ephraim_owns@hotmail.com
1330 2008-03-19 Tor Lillqvist <tml@novell.com>
1332 Bug 523298 - win_iconv can't convert from UTF-8 to GB18030 (or vice versa)
1334 * glib/win_iconv.c: Fixes for code page 54936 (GB18030)
1335 (mbtowc_flags): New function. Check if a code page is one of those
1336 for which the dwFlags parameter to MultiByteToWideChar() must be
1337 zero. Return 0 or MB_ERR_INVALID_CHARS.
1338 (mbcs_mblen): New function for multi-byte (more than two bytes for
1339 some characters) code pages. Only handles 54936 for now.
1340 (make_csconv): Use it for 54936.
1341 (kernel_mbtowc): Use mbtowc_flags().
1343 2008-03-18 Sebastian Dröge <slomo@circular-chaos.org>
1345 Bug 522292 - Gives warnings in glib/gutils.h with GCC in C99 mode
1347 * glib/gutils.h: Use "__attribute__ ((__gnu_inline__))" for inlining
1348 if either __GNUC_STDC_INLINE__ or __GNUC_GNU_INLINE__ are defined. In
1349 gcc version prior to 4.3 no correct C99-inline was implemented which
1350 has semantic differences to GNU inline.
1352 2008-03-16 Tor Lillqvist <tml@novell.com>
1354 * configure.in: Don't bother defining Autoconf variables for
1355 glib.def, gmodule.def, gobject.def and gthread.def when this can
1356 be handled easily in */Makefile.am which are the only files that
1357 use them. Remove also TESTGMODULE_EXP which isn't used at all.
1359 * glib/Makefile.am: Corrsponding change.
1361 2008-03-14 Michael Natterer <mitch@imendio.com>
1363 * glib/*.h: make it possible to disable single-file includes by
1364 defining G_DISABLE_SINGLE_INCLUDES when building against GLib.
1365 Approved by Tim Janik.
1367 * glib/glib.h: include <glib/gslice.h>.
1371 * glib/gprintf.h: include <glib.h> so the above works when these
1372 files are included without including <glib.h> first.
1374 2008-03-14 Alexander Larsson <alexl@redhat.com>
1377 Add required includes for f_fstypename member check.
1379 2008-03-14 Alexander Larsson <alexl@redhat.com>
1382 Added checks for FEN (Solaris File Event Notification)
1384 2008-03-13 Tor Lillqvist <tml@novell.com>
1386 * glib-zip.in: Add lib/gio-2.0.lib and lib/gio-2.0.def.
1388 2008-03-12 Tor Lillqvist <tml@novell.com>
1390 * configure.in: Expand gio/win32/Makefile.
1392 2008-03-12 Matthias Clasen <mclasen@redhat.com>
1394 * configure.in: Bump version to 2.17.0
1396 * ChangeLog.pre-2-16: rotate ChangeLog
1398 * === branch for 2.16 ===