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