Make it compile on Win32 without pthreads: Use a Win32 critical section
[platform/upstream/glib.git] / ChangeLog
1 2006-12-28  Tor Lillqvist  <tml@novell.com>
2
3         * glib/gslice.c: Make it compile on Win32 without pthreads: Use a
4         Win32 critical section instead.
5
6         * glib/gmessages.c (g_logv): On Win32, if we get a fatal error
7         message while being debugged we break into the debugger with
8         G_BREAKPOINT(). Don't call abort() if the user is foolhardy enough
9         to continue after the breakpoint. The user presumably knows what
10         he is doing and deserves what he gets. (#376645, Andreas Köhler)
11
12 Thu Dec 28 12:50:31 2006  Tim Janik  <timj@imendio.com>
13
14         * glib/gslice.h, glib/gslice.c: implemented static debugging
15         hash-tree to validate slice adresses and sizes with G_SLICE=debug-blocks.
16         use abort() to exit in mem_error() to allow catching of these in gdb.
17         abort programs with a descriptive error message if g_thread_init() is
18         called after GSlice was in use. previously this just silently corrupted
19         the magazines.
20
21         * glib/ghash.c (struct _GHashNode): reordered fields to keep 8-byte 
22         pointer alignment on 64bit systems and request smaller slice sizes
23         on 32bit systems.
24
25         * tests/slice-test.c: support '~' option flag to introduce slice 
26         allocation/release corruption with a significant probability. this
27         allowes testing of G_SLICE=debug-blocks.
28
29 2006-12-27  Matthias Clasen  <mclasen@redhat.com>
30
31         * glib/gconvert.[hc]:
32         * glib/gfileutils.c:
33         * glib/giochannel.c:
34         * glib/goption.c:
35         * glib/gspawn.c:
36         * glib/gunicollate.c:
37         * glib/gutils.c:
38         * tests/timeloop-basic.c: 
39         Consistently use gsize rather than size_t.  (#333310,
40         Morten Welinder)
41
42 2006-12-27  Matthias Clasen  <mclasen@redhat.com>
43
44         * configure.in: Use AC_CACHE_CHECK for the nl_langinfo
45         check.  (#304517, Lőrinczy Zsigmond)
46
47 2006-12-27  Tor Lillqvist  <tml@novell.com>
48
49         * glib/gwin32.h
50         * glib/gwin32.c (get_package_directory_from_module)
51         (g_win32_get_package_installation_directory)
52         (g_win32_get_package_installation_subdirectory): Add const to
53         gchar* arguments. (#384523, Yevgen Muntyan)
54         
55 2006-12-27  Ryan Lortie  <desrt@desrt.ca>
56
57         * glib/ghash.c: cache the value of the hash function
58         in the GHashNode.  this speeds up resizing the hash
59         table and it also allows a slight optimisation on
60         lookups.  (#388332)
61
62 2006-12-27  Matthias Clasen  <mclasen@redhat.com>
63
64         * glib/gunicollate.c (g_utf8_collate_key): Don't modify
65         the current locale.  (#389300)
66
67 2006-12-26  Matthias Clasen  <mclasen@redhat.com>
68
69         * glib/gutf8.c: Add hints for locale-dependent interfaces.
70         * glib/gconvert.c: Add hints for locale-dependent interfaces.
71
72         * glib/gconvert.c (g_get_filename_charsets): Improve
73         formatting of docs. 
74
75 2006-12-26  Behdad Esfahbod  <behdad@gnome.org>
76
77         * configure.in: Use libtool to determine shared library suffix.
78         (#357245)
79
80 2006-12-24  Matthias Clasen  <mclasen@redhat.com>
81
82         * tests/run-collate-tests.sh:
83         * tests/unicode-collate.c: Silently skip tests if
84         we can't set LC_COLLATE to en_US.  (#336438)
85
86 2006-12-19  Matthias Clasen  <mclasen@redhat.com>
87
88         * glib/gkeyfile.c (g_key_file_is_key_name): Accept
89         '/', '+' and '.' in key names, since gnome-vfs uses
90         mime types as keys in some cache.
91
92         * tests/keyfile-test.c: Tests for the above.
93
94 2006-12-18  Matthias Clasen  <mclasen@redhat.com>
95
96         * configure.in: Fix the broken poll test.  (#387260,
97         Christian Persch)
98
99         * glib/gmain.c (child_watch_helper_thread): Readd a
100         return which was removed as dead code a while ago.
101         icc may consider it dead, but gcc doesn't like non-void
102         functions without a return...  (#354707)
103
104         * tests/Makefile.am: Try a different fix for bug 346373.
105
106 2006-12-18  Matthias Clasen  <mclasen@redhat.com>
107
108         Fix bug 161288:
109
110         * configure.in: Check for wcslen.
111
112         * glib/gnulib/vasnprintf.c: Handle wcslen missing.
113
114 2006-12-18  Matthias Clasen  <mclasen@redhat.com>
115
116         * glib/gkeyfile.c: Accept '@' in locale names.
117
118         * glib/gkeyfile.c: Tighten up the check for allowed
119         key and group names.  (#343191, Tommi Komulainen)
120
121         * tests/keyfile-test.c: Test handling of key and group names.
122
123         * tests/Makefile.am: Don't use $RANDOM if the shell doesn't
124         have it.  (#346373, Thomas Klausner)
125
126 2006-12-17  Behdad Esfahbod  <behdad@gnome.org>
127
128         * glib/gstring.c: Improve docs about string functions taking a
129         length.  (#378727)
130
131 2006-12-17  Matthias Clasen  <mclasen@redhat.com>
132
133         * glib/gconvert.c:
134         * glib/gutf8.c (_g_charset_get_aliases): Put the G_GNUC_INTERNAL
135         where gcc doesn't complain about it.
136
137         * glib/ghash.c: Make ref_count an int to avoid compiler
138         warnings.
139
140         * configure.in: Use AC_LANG_SOURCE for the clock test.
141         
142         * glib/gthreadpool.h:
143         * glib/gthreadpool.c (g_thread_pool_free): Don't use "wait"
144         as parameter name.  (#379207, Christian Biere)
145
146         * glib/gspawn.c: Refer to g_child_watch_add() in addition
147         to waitpid().
148
149         * glib/gstrfuncs.c (g_strndup, g_strnfill): Move docs
150         inline, and improve wording.  (#372598, Behdad Esfahbod)
151
152         * glib/gspawn.c: Add some pointers to the gdk_spawn_
153         variants.  (#338134, Federico Mena Quintero)
154
155         * configure.in: Make montonic clock test work again. Does
156         AC_COMPILE_IFELSE not get confdefs ? Also, move the clock
157         tests below the thread checks to fix #364663.
158
159         * tests/run-markup-tests.sh: Don't use diff -u  (#380801,
160         Marek Rouchal)
161
162         * glib/gspawn.c: Fix the recent fdwalk()-related changes
163         to not break mapping-test.  (#286838, Marco Barisione)
164
165         * glib/gstring.c (g_string_chunk_new): Don't shadow size.
166         (#386760, Kazuki IWAMOTO)
167
168 2006-12-16  Matthias Clasen  <mclasen@redhat.com>
169
170         * glib/gstring.c: Move more documentation inline.
171
172         * configure.in: Use AC_COMPILE_IFELSE for the monotonic
173         clock test.  (#362918, Han-Wen Nienhuys, Jeremy Lainé)
174
175         * glib/gstring.c: Move documentation inline. 
176
177 2006-12-15  Matthias Clasen  <mclasen@redhat.com>
178
179         * glib/giochannel.h: Make ref_count a gint to avoid
180         compiler warnings.  (#321977, Andrew Paprocki)
181
182         * configure.in: On Solaris, set CFLAGS and LDFLAGS that
183         work both with Sun cc and gcc.  (#315061, Lazlo Peter)
184
185         * glib/gspawn.c: Undefine READ_OK to fix the build on
186         old versions of Darwin.  (#327800)
187
188         * glib/glib.symbols:
189         * glib/gstring.[hc] (g_string_chunk_clear): Add a function
190         for clearing a GStringChunk. (#364608, Matt Barnes)
191
192         * glib/guniprop.c (interval_compare): Avoid a compiler
193         warning.
194
195         * glib/gspawn.c (do_exec): Call set_cloexec() with
196         the right parameters.  (#386252, Guillaume Desmottes)
197
198 2006-12-15  Matthias Clasen  <mclasen@redhat.com>
199
200         Fix #357585, Padraig O'Briain.
201         
202         * configure.in: Check for fdwalk.
203         
204         * glib/gspawn.c (do_exec): Use fdwalk() to close all
205         file descriptors. 
206
207         * glib/gspawn.c (fdwalk): Fallback implementation of
208         fdwalk.
209
210 2006-12-14  Matthias Clasen  <mclasen@redhat.com>
211
212         * glib/gconvert.c (open_converter): Don't use alloca
213         and avoid allocating memory for small keys that are 
214         already cached.  (#172406, Morten Welinder)
215
216         * glib/gmain.c (g_child_watch_add_full): Improve the docs.
217         (#345569, Tim-Philipp Müller)
218
219         * glib/gkeyfile.c (g_key_file_add_group): If the group
220         is already there, make it current.  (#385910, Joe Halliwell)
221
222         * tests/keyfile-test.c: Add a test for duplicate groups/keys.
223
224 2006-12-13  Matthias Clasen  <mclasen@redhat.com>
225
226         * m4macros/glib-gettext.m4: Require AC_CANONICAL_HOST in
227         GLIB_WITH_NLS.  (#385132, Laszlo Peter)
228
229 2006-12-12  Matthias Clasen  <mclasen@redhat.com>
230
231         * configure.in: Add a check for broken poll on Mac OS X.
232
233         * glib/gmain.c: Use poll emulation on OS X.  (#302672, Toby Peterson,
234         patch by Dave Vasilevsky)
235
236 2006-12-11  Matthias Clasen  <mclasen@redhat.com>
237
238         * glib/gatomic.c: Don't use local numeric labels in
239         inline assembler on AIX.  (#316434, Hans Rosenfeld)
240
241         * glib/gunicode.h (g_utf8_next_char): Cast to const char *,
242         not char *.  (#138153, Nikolai Weibull)
243
244 Wed Nov 22 16:09:13 2006  Tim Janik  <timj@gtk.org>
245
246         * glib/gmacros.h: added G_GNUC_MAY_ALIAS, suggested by Mathias
247         Hasselmann in bug #335341, fixes bug #335853.
248
249 2006-11-15  Matthias Clasen  <mclasen@redhat.com>
250
251         * m4macros/glib-gettext.m4: Apply a patch from James 
252         Henstridge for compatibility with automake 2.60 (#343825)
253
254 2006-11-14  Behdad Esfahbod  <behdad@gnome.org>
255
256         * sanity_check: Replace bash-specific == with sh-understood =.
257         Fixes bug #373864.
258
259 2006-11-05  Hans Breuer  <hans@breuer.org>
260
261         * glib/makefile.msc.in : glib/ version not the gobject/ 
262         one I accidentially commited. Fixes bug #371074.
263         
264 2006-11-05  Tor Lillqvist  <tml@novell.com>
265
266         * makefile.mingw
267         * gmodule/makefile.mingw.in
268         * glib/makefile.mingw.in
269         * gobject/makefile.mingw.in
270         * gthread/makefile.mingw.in
271         * tests/makefile.mingw.in: Remove from CVS. Haven't been
272         maintained or distributed for long.
273
274 2006-10-26  Pascal Terjan  <pterjan@linuxfr.org>
275
276         * glib/libcharset/localcharset.c: Fix small leak on failed
277         realloc in _g_locale_get_charset_aliases (#338582)
278
279 2006-10-16  Behdad Esfahbod  <behdad@gnome.org>
280
281         * glib/gnulib/Makefile.am: Add $(GLIB_DEBUG_FLAGS).  (#362543,
282         Peter Kjellerstedt)
283
284 2006-10-15  Sebastian Wilhelmi  <seppi@seppi.de>
285
286         * tests/Makefile.am: Compile errorcheck-mutex-test with thread
287         libraries explicitly. (#74748, Javier Villavicencio)
288
289 2006-10-08  Matthias Clasen  <mclasen@redhat.com>
290
291         Add a way to obtain Unicode script information.  (#348348,
292         Marco Barisione)
293
294         * glib/glib.symbols:
295         * glib/gunicode.h: Add GUnicodeScript enumeration and
296         g_unichar_get_script. 
297         
298         * glib/guniprop.c: Implement g_unichar_get_script.
299
300         * glib/gscripttable.h: Generated private header containing
301         script tables.
302
303         * glib/gen-script-table.pl: Script to generate gscripttable.h.
304
305         * glib/Makefile.am: Update
306
307 2006-10-08  Matthias Clasen  <mclasen@redhat.com>
308
309         * tests/run-markup-tests.sh: Small portability fix.  (#347944,
310         Dan McMahill)
311
312 2006-10-07  Tor Lillqvist  <tml@novell.com>
313
314         * glib/gwin32.c (get_package_directory_from_module)
315         (g_win32_get_package_installation_directory): g_strdup the keys
316         that we are passed before adding them to the hash tables, to guard
317         against the caller freeing them. (#355955, Andreas Köhler)
318
319 2006-10-06  Matthias Clasen  <mclasen@redhat.com> 
320
321         * glib/gtimer.c: Fix a typo.  (#359190)
322
323 2006-10-02  Behdad Esfahbod  <behdad@gnome.org>
324
325         * glib/Makefile.am:
326         * gobject/Makefile.am:
327         Include pltcheck.sh in EXTRA_DIST, and remove redefinition of TESTS.
328         (#358966)
329
330 2006-10-01  Matthias Clasen  <mclasen@redhat.com>
331
332         * glib/gtimer.c (g_usleep): Use nsleep to implement
333         g_usleep on AIX.  (#321974, Andrew Paprocki)
334
335         * configure.in: Check for nsleep
336
337         * glib/gmain.c: Fix typos in doc comments.  
338         (#358421, Tom Tromey)
339
340 2006-09-30  Matthias Clasen  <mclasen@redhat.com>
341
342         * glib/pltcheck.sh: A script to check PLT entries.
343         * glib/Makefile.am (TESTS): Run pltcheck.sh
344
345         * glib/*: Fix includes to correct some issues with
346         PLT entries.  (#354522, Behdad Esfahbod)
347
348 2006-09-17  Hans Breuer  <hans@breuer.org>
349
350         * glib/makefile.msc.in gobject/makefile.msc.in : better filtering
351         of G_GNUC_* stuff when generating .def files. Now also works with
352         newer (less tolerant) linkers, e.g. from vc2500e
353
354 2006-09-10  Matthias Clasen  <mclasen@redhat.com>
355
356         * glib/gbacktrace.c: Assume string.h is available. 
357         (#354523, Behdad Esfahbod)
358
359         * configure.in: Bump version to 2.13.0
360
361         * glib/glib.symbols:
362         * glib/gmain.[hc]: Add functions to create approximate
363         timeouts.  (#353942, Arjan van de Ven)
364
365         * glib/gstdio.c (g_rename): Initialize save_errno.
366         (#355206, Mike Edenfield)
367
368 2006-09-03  Matthias Clasen  <mclasen@redhat.com>
369
370         * glib/gerror.c: Allocate GErrors using the slice allocator.
371         (#354054, Matt Barnes)
372
373 2006-09-02  Matthias Clasen  <mclasen@redhat.com>
374
375         * glib/gtimer.c: Forgotten HAVE_CLOCK_GETTIME.
376
377 2006-09-02  Tor Lillqvist  <tml@novell.com>
378
379         * glib/gutils.c (g_get_any_init_do): Correct C99ism (mixed
380         declarations and code) in Win32 ifdef branch. (#353903, Mike
381         Edenfield)
382
383 2006-09-01  Abel Cheung  <abel@oaka.org>
384
385         * configure.in: Added 'dz' 'hy' to ALL_LINGUAS.
386
387 2006-09-01  Matthias Clasen  <mclasen@redhat.com>
388
389         * configure.in: Check for CLOCK_MONOTONIC.
390
391         * glib/gtimer.c: Only use clock_gettime if we
392         have a monotonic clock.
393
394 2006-08-31  Matthias Clasen  <mclasen@redhat.com>
395
396         * configure.in: Add missing includes to a few test
397         programs.  (#353580, Chris Wilson)
398
399 2006-08-30  Matthias Clasen  <mclasen@redhat.com>
400
401         * glib/gmarkup.c (g_markup_vprintf_escaped): Don't call
402         va_end on caller-provided va_args.  (#353584, Chris Wilson)
403
404 2006-08-29  Tor Lillqvist  <tml@novell.com>
405
406         Remove support for Windows 9x/ME, as will be done also in Pango
407         and GTK+. GTK+ hasn't worked on Win9x since 2.6 or 2.8 anyway, so
408         it's pretty pointless to keep the Win9x code in here either. If
409         somebody is interested, the code can always be found in older GLib
410         versions, and in CVS.
411
412         * glib/gdir.c
413         * glib/gfileutils.c
414         * glib/gspawn-win32-helper.c
415         * glib/gspawn-win32.c
416         * glib/gstdio.c
417         * glib/gutils.c
418         * glib/gwin32.c
419         * glib/gwin32.h: Remove the G_WIN32_IS_NT_BASED() and
420         G_WIN32_HAVE_WIDECHAR_API() tests and their false (Win9x)
421         branches, and any variables or static functions used only by the
422         Win9x branches.
423
424         * glib/gwin32.c (g_win32_windows_version_init): Call g_error() if
425         run on Win9x.
426
427 2006-08-27  Matthias Clasen  <mclasen@redhat.com>
428
429         * configure.in: Fix pthread compiler flag detection.
430
431         * glib/gtimer.c: Use Posix monotonic clocks instead of 
432         gettimeofday when available.  (#336114, William Jon McCann)
433
434 2006-08-26  Matthias Clasen  <mclasen@redhat.com>
435
436         * glib/gutils.h: 
437         * glib/gscanner.c: Fix some typos.  (#351741, Kjartan Maraas)
438
439 2006-08-25  Matthias Clasen  <mclasen@redhat.com>
440
441         * configure.in: Fix the pthread compiler flag detection.
442
443         * glib/gunicode.h: 
444         * glib/gutf8.c (_g_utf8_make_valid): Rename make_valid_utf8
445         from gconvert.c, move it to gutf8.c, and export it privately.
446
447         * glib/gconvert.c (g_filename_display_name): Adjust callers.
448
449         * glib/gkeyfile.c: Use _g_utf8_make_valid() in a number of
450         places to ensure error messages are valid UTF-8.  (#351853,
451         Simon Budig)
452
453 2006-08-22  Matthias Clasen <mclasen@redhat.com>
454
455         * Branch for 2.12
456