1 2008-09-30 Behdad Esfahbod <behdad@gnome.org>
3 Bug 554092 – glib doesn't return G_FILE_ERROR_NOENT et al on OS X
5 * glib/giounix.c (g_io_unix_read), (g_io_unix_write),
6 (g_io_unix_seek), (g_io_unix_close), (g_io_unix_set_flags),
7 (g_io_unix_get_flags), (g_io_channel_new_file):
8 Like mclasen says: "well, thats the way errno works...,
9 save it or loose it". Save errno.
11 2008-09-30 Tor Lillqvist <tml@novell.com>
14 * glib/tests/Makefile.am: Bypass gtester related stuff on Windows.
16 2008-09-30 Tor Lillqvist <tml@novell.com>
19 * glib/gnulib/vasnprintf.c: Don't define _GNU_SOURCE on Windows,
20 as _GNU_SOURCE has unintended side effects when compiling against
23 2008-09-26 Dan Winship <danw@gnome.org>
25 Bug 553447 – g_assert_no_error()
27 * glib/gtestutils.h (g_assert_no_error, g_assert_error): Macros to
28 assert that a GError is not set, or else is set to a particular
31 * glib/gtestutils.c (g_assertion_message_error): utility for
34 * glib/tests/keyfile.c:
35 * tests/asyncqueue-test.c:
36 * tests/bookmarkfile-test.c:
37 * tests/convert-test.c:
38 * tests/file-test.c: Use g_assert_error/g_assert_no_error
40 2008-09-26 Dan Winship <danw@gnome.org>
42 * glib/gthreadpool.c (wakeup_thread_marker): make this a "const
43 gpointer" rather than a gconstpointer to avoid warnings later
45 * glib/pcre/pcre_ucp_searchfuncs.c:
46 * glib/pcre/pcre_valid_utf8.c: #include "config.h"
48 * glib/tests/printf.c (test_d): fool gcc into not warning about
49 some printf format strings that we know are dubious
51 2008-09-26 Matthias Clasen <mclasen@redhat.com>
53 Bug 553857 – gbacktrace.h requires signal.h
55 * glib/gbacktrace.h: Include signal.h for raise().
56 Pointed out by Sebastien Bacher
58 2008-09-26 Matthias Clasen <mclasen@redhat.com>
60 Bug 553724 – python interpretter path not patched in correctly
62 * glib/Makefile.am: Fix the sed magic to replace python.
64 2008-09-26 Matthias Clasen <mclasen@redhat.com>
66 * glib/gmain.c: Add some more docs.
68 * glib/giochannel.c: Move more docs inline, and improve them
71 2008-09-25 Tor Lillqvist <tml@novell.com>
73 Bug 553820 - gpoll.c: undeclared identifier
76 * glib/gpoll.c: Make the g_poll() function non-static also on
77 Windows. Prefix an underscore to the g_main_poll_debug variable
78 and make it non-static in gmain.c so that it can be used in
79 gpoll.c. Add back missing variable declaration.
81 2008-09-25 Tor Lillqvist <tml@novell.com>
83 * glib/gspawn-win32.c (do_spawn_with_pipes) (do_spawn_directly):
84 Just ignore the child_setup function, never call it. The is no
85 situation in which it could be useful on Windows. Do print a
88 * glib/gspawn.c (g_spawn_async_with_pipes): Corresponding change
91 2008-09-24 Sven Herzberg <sven@imendio.com>
93 Be a little more explcit in the docs. Includes Owen's requested
96 * glib/gmain.c: improved documentation for g_source_attach() and
99 2008-09-23 Michael Natterer <mitch@imendio.com>
101 * glib/glib.h: #include <glib/gpoll.h>
103 * glib/gpoll.h: #error out if gpoll.h is included directly.
105 * glib/gpoll.c: remove trailing whitespace.
107 2008-09-23 Dan Winship <danw@gnome.org>
109 * glib/gpoll.[ch] (g_poll): Move this out of gmain.c and make it part
110 of the public API. (Part of Bug 505361 - gunixinputstream.c assumes
113 2008-09-23 Tor Lillqvist <tml@novell.com>
115 * glib/gmain.c (poll_rest) [Win32]: Fix embarrassing bug: I was
116 passing an incorrect third parameter to memmove(), had forgotten
117 to multiply by the size of the table entry. Just use a for loop
118 instead, clearer. Odd I didn't notice when testing this code.
120 2008-09-19 Hans Petter Jansson <hpj@novell.com>
122 Rewrite most of GHashTable to use open addressing with quadratic
123 probing instead of chaining. This has the potential to reduce memory
124 fragmentation significantly, while being slightly faster due to
125 better locality and no need to call alloc/free functions for nodes.
126 Benchmarks suggest it also uses less memory overall.
128 * glib/ghash.c (prime_mod): Table of suitable primes for
129 initial-probe distribution.
130 (g_hash_table_set_shift): New function.
131 (g_hash_table_find_closest_shift): New function.
132 (g_hash_table_set_shift_from_size): New function.
133 (g_hash_table_lookup_node_for_insertion): New function.
134 (g_hash_table_lookup_node): Rewritten to return node index instead of
135 pointer, use quadratic probe on flat table, and not return insertion
136 data. The latter saves some computation for read-only lookups.
137 (g_hash_table_remove_node): Rewrite to take a pointer directly to the
138 node structure to remove, and clear that. Remove unlinking code.
139 (g_hash_table_remove_all_nodes): Rewrite to not clear nodes
140 individually, but en masse using memset () after potentially calling
142 (iter_remove_or_steal): Use new data structure and algorithm. Vastly
143 simplified - now just a call to g_hash_table_remove_node ().
144 (g_hash_table_resize): New resize code, re-indexing with new prime
145 and cleaning up tombstones.
146 (g_hash_table_maybe_resize): Table may hold 8 buckets minimum, no less
147 than 1/4 load excluding tombstones, and no more than 15/16 load
148 including tombstones. These numbers are the results of a lot of
149 benchmarking with multiple complex applications, and should not be
151 (g_hash_table_iter_next)
152 (g_hash_table_lookup)
153 (g_hash_table_lookup_extended)
154 (g_hash_table_insert_internal)
155 (g_hash_table_remove_internal)
156 (g_hash_table_foreach_remove_or_steal)
157 (g_hash_table_foreach)
159 (g_hash_table_get_keys)
160 (g_hash_table_get_values): Use new data structure and algorithm,
161 fairly trivial changes.
163 2008-09-19 Tor Lillqvist <tml@novell.com>
165 * glib-zip.in: Look for man pages in share/man.
167 * glib/gutils.c (_glib_get_dll_directory)
168 * glib/gspawn-win32.c (do_spawn_with_pipes): Be a bit less
169 restrictive, look for the helper programs in the same folder where
170 the GLib DLL is, not necessarily in a "bin" subfolder of the top
171 GLib installation folder.
173 2008-09-18 Matthias Clasen <mclasen@redhat.com>
175 * configure.in: Bump version to 2.19.0
177 * ChangeLog.pre-2-18: rotate ChangeLog
179 * === branch for 2.18 ===