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