don't free or modify static strings, dup them when needed and clear the
[platform/upstream/glib.git] / ChangeLog
1 2007-04-24  Michael Natterer  <mitch@imendio.com>
2
3         * gobject/gparamspecs.c (param_string_validate): don't free or
4         modify static strings, dup them when needed and clear the
5         G_VALUE_NOCOPY_CONTENTS flag. Fixes bug #432895.
6
7         * tests/gobject/paramspec-test.c: test all GParamSpecString
8         validations with static and allocated strings.
9
10 2007-04-19  William Jon McCann  <mccann@jhu.edu>
11
12         * glib/gkeyfile.[ch]: (find_file_in_data_dirs),
13         (g_key_file_load_from_dirs), (g_key_file_load_from_data_dirs):
14         Add g_key_file_load_from_dirs for looking through a search
15         path for a key-file. (#355334)
16
17 2007-04-15  Tor Lillqvist  <tml@novell.com>
18
19         * build: Include the build module using the svn:externals
20         mechanism.
21
22         * Makefile.am
23         * configure: Add the references to build back.
24
25 2007-04-11  Matthias Clasen  <mclasen@redhat.com>
26
27         * glib/gspawn.c (g_spawn_async): Fix a doc typo.  (#427285, 
28         Jochen Baier)
29
30 2007-04-11  Emmanuele Bassi  <ebassi@gnome.org>
31
32         * glib/ghash.[ch]: Add g_hash_table_get_keys() and
33         g_hash_table_get_values(), API to retrieve the keys
34         and values inside an hash table in list form. (#413133)
35
36         * glib/glib.symbols: Update symbols.
37
38         * tests/hash-test.c: Exercise newly added functions.
39
40 2007-04-11  Matthias Clasen  <mclasen@redhat.com>
41
42         * configure.in: Use CFLAGS/LDFLAGS in addition to 
43         PCRE_CFLAGS/PCRE_LIBS when checking system PCRE.  (#421607, 
44         Paul Jarc)
45
46 2007-03-27  Emmanuele Bassi  <ebassi@gnome.org>
47
48         * glib/gdate.h: Remove old comment and forward declaration of
49         struct tm: gdate.h includes time.h now.
50
51 2007-03-23  Matthias Clasen  <mclasen@redhat.com> 
52
53         * tests/gobject/Makefile.am: Handle $RANDOM missing.  (#356843,
54         Paul Jarc)
55
56 2007-03-22  Matthias Clasen  <mclasen@redhat.com> 
57
58         * glib/guniprop.c: Fix corner-cases of upper/lowercase conversion.
59         (#418217, Denis Jacquerye)
60
61 2007-03-22  Chris Wilson  <chris@chris-wilson.co.uk>
62
63         * glib/gkeyfile.c: Track whether the last key=value pair in a group
64         is a blank line and during to_data() only insert a new blank line
65         betweens group in its absence. This allows the beautification of the
66         GKeyFile and prevents newlines being inserted indefinitely. (#420686)
67
68         * tests/keyfile-test.c (test_reload_idempotency): Test that after a 
69         single beautification pass, g_key_file_to_data() does not alter its
70         input data.
71
72 2007-03-21  Matthias Clasen  <mclasen@redhat.com>
73
74         * glib/pcre/Makefile.am: Make builddir != srcdir work.  (#419900)
75
76 2007-03-19  Paolo Borelli  <pborelli@katamail.com>
77
78         * glib/gutf8.c (fast_validate_len): remove unneeded checks.
79
80 2007-03-18  Matthias Clasen  <mclasen@redhat.com>
81
82         * glib/gregex.c: Cosmetic fixes
83
84 2007-03-17  Marco Barisione <marco@barisione.org>
85
86         * glib/update-pcre/table-reduction.patch:
87         * glib/update-pcre/make_utt.py:
88         * glib/update-pcre/utt.patch: Add forgotten files
89
90         * glib/update-pcre/update.sh: Call python directly instead of relying
91         on shebang. Also copy the changes from glib/pcre/makefile.msc to this
92         file
93
94 2007-03-17  Hans Breuer  <hans@breuer.org>
95
96         * glib/makefile.msc.in glib/pcre/makefile.msc 
97           glib/update-pcre/update.sh : define PCRE_STATIC to reflect the 
98         inclusion of pcre as LIB, not stand-alone DLL. Also set NEWLINE=-1
99         to match any newline by default, use of ../../build/win32/make.msc
100
101         * glib/gregex.h : minimal includes of <glib/*.H> instead of <glib.h>
102
103         * glib/gnulib/makefile.msc : make use of ../../build/win32/make.msc
104
105         * tests/regex-test.c(verbose): don't pass a string containing '%' 
106         as first parameter to g_print ()
107         (test_match) : for the unexpected case output pattern and string
108         escaped
109
110         * tests/child-test.c tests/slice-color.c : fix c99ism
111         * tests/slice-test.c : fix c99ism and gccism
112         * tests/mapping-test.c tests/base-64-tests.c : don't 
113         #include <unistd.h> unconditionally
114         * tests/option-test.c : use G_GINT64_CONSTANT() instead of direct LL
115
116         * tests/makefile.msc.in : more tests build
117
118 2007-03-17  Matthias Clasen  <mclasen@redhat.com>
119
120         * glib/gsequence.[hc]:
121         * glib/glib.symbols:
122         * tests/sequence-test.c: Move the consistency
123         checks to the test.
124
125 2007-03-16  Matthias Clasen  <mclasen@redhat.com>
126
127         * configure.in: Bump version
128
129         * === Released 2.13.0 ===
130
131         * NEWS: Updates
132
133 2007-03-16  Matthias Clasen  <mclasen@redhat.com>
134         
135         * glib/glib.symbols:
136         * glib/gsequence.h: Add the test function to the header,
137         since it is exported.
138
139         * glib/gbase64.c (g_base64_decode): Warn if the input
140         is too short.  (#418862, Halton Huo)
141
142 Fri Mar 16 11:24:51 2007  Tim Janik  <timj@imendio.com>
143
144         * glib/gscanner.[hc]: reverted premature commit which broke
145         GScanner ABI and API, #415323.
146
147 2007-03-16  Chris Wilson  <chris@chris-wilson.co.uk>
148
149         * glib/gkeyfile.c: Convert to GSlice and check for redundant
150         clears. (#418637)
151
152 2007-03-15  Matthias Clasen  <mclasen@redhat.com>
153
154         * glib/gscanner.[hc]: Revert recent changes that break
155         existing users of GScanner.
156
157 2007-03-15  Matthias Clasen  <mclasen@redhat.com>
158
159         * glib/gscanner.c (g_scanner_get_token_ll): Fix a typo
160         in the last commit.  (#415323, Richard Hult)
161
162 2007-03-15  Tor Lillqvist  <tml@novell.com>
163
164         * glib/gnulib/Makefile.am (INCLUDES): Add -I$(top_srcdir)/glib so
165         that gregex.h finds <glib.h>.
166
167         * glib/update-pcre/Makefille.am-1: Add -DGLIB_COMPILATION so that
168         we don't think g_ascii_table is dllimport.
169
170         * glib/pcre/Makefile.am: Corresponding change.
171
172         * glib/update-pcre/notdll.patch: New file. Drop
173         dllimport/dllexport magic for the pcre symbols.
174
175         * glib/update-pcre/Makefile.am: Dist it.
176
177         * glib/update-pcre/update.sh: Apply notdll.patch.
178
179         * glib/pcre/pcre.h: Corresponding change.
180
181 2007-03-15  Tor Lillqvist  <tml@novell.com>
182
183         * glib/gtypes.h: Add comment to avoid misleading people with the
184         large number of digits in G_PI etc. (#404338)
185
186 2007-03-15  Tor Lillqvist  <tml@novell.com>
187
188         * config.h.win32.in: Update to match what configure produces.
189
190 2007-03-15  Marco Barisione <marco@barisione.org>
191
192         Add GRegex for regular expression matching.  (#50075)
193
194         * configure.in: Handle GRegex compilation.
195
196         * glib/gregex.c:
197         * glib/gregex.h: Code for GRegex.
198
199         * glib/Makefile.am:
200         * glib/makefile.msc.in: Updated makefiles.
201
202         * glib/pcre/*: Internal copy of PCRE.
203
204         * glib/update-pcre/*: Stuff to automatically update the internal PCRE
205         to a newer version.
206
207         * tests/regex-test.c:
208         * tests/Makefile.am:
209         * tests/makefile.msc.in: Add tests for GRegex.
210
211 2007-03-15  Chris Wilson  <chris@chris-wilson.co.uk>
212
213         * glib/gmain.c (g_main_dispatch): Replace a
214         g_slist_prepend/g_slist_remove pair with an on-stack link
215         and open coding. (#416094)
216
217 2007-03-15  Matthias Clasen  <mclasen@redhat.com>
218
219         Fix two glitches in the Unicode case conversion
220         functions (#418217,  Denis Jacquerye)
221
222         * glib/guniprop.c (g_unichar_toupper): Handle zero entries
223         in special_case_table correctly.
224         (g_unichar_totitle): Fall back to g_unichar_toupper.
225
226 2007-03-15  Matthias Clasen  <mclasen@redhat.com>
227
228         * glib/gscanner.[hc]: Some optimizations, use a lookup
229         table for character classes, pre-allocate GStrings with
230         reasonable sizes.  (#415323, Charlie Brej)
231
232 2007-03-14  Matthias Clasen  <mclasen@redhat.com>
233
234         * glib/gkeyfile.c (g_key_file_get_double): Fix a 
235         small typo.  (#417847, Bobby Jack)
236
237 2007-03-08  Matthias Clasen  <mclasen@redhat.com>
238
239         * glib/gstrfuncs.c (g_strtoll): Return negative values.
240         (#416062)
241
242         * tests/strtoll-test.c: Add more testcases.
243
244 2007-03-06  Matthias Clasen  <mclasen@redhat.com>
245
246         * glib/gstring.c (g_str_equal): Clarify docs.  (#364026, 
247         Bastian Nocera)
248
249 2007-03-06  Matthew Barnes  <mbarnes@redhat.com>
250
251         * glib/gqueue.h:
252         * glib/gqueue.c: Add G_QUEUE_INIT, g_queue_init(), and
253         g_queue_clear() to better support statically allocated
254         queues.  (#413244)
255
256 2007-03-06  Matthias Clasen  <mclasen@redhat.com>
257
258         * glib/gkeyfile.c (g_key_file_parse_value_as_boolean):
259         Remove a NULL check that didn't do any good.  (#360904,
260         Paolo Borelli)
261
262 2007-03-06  Matthias Clasen  <mclasen@redhat.com>
263
264         * glib/gmarkup.c (g_markup_parse_context_parse): Report
265         more accurate position for invalid UTF-8.  (#350802,
266         Simon Budig)
267
268 2007-03-06  Matthias Clasen  <mclasen@redhat.com>
269
270         * glib/gbase64.c: Add NULL checks to the base64 
271         functions that take pointers.  (#399611, Martyn Russell)
272
273 2007-03-06  Matthias Clasen  <mclasen@redhat.com>
274
275         Work with Solaris gettext (#341988, Laszlo Peter)
276
277         * m4macros/glib-gettext.m4: Make GLIB_WITH_NLS define
278         MSGFMT_OPTS if msgfmt supports -c.
279
280         * po/Makefile.in.in: Use MSGFMT_OPTS when calling
281         msgfmt.
282
283 2007-03-06  Matthias Clasen  <mclasen@redhat.com>
284
285         * tests/Makefile.am: Apply a patch by Loïc Minier
286         to fix building with -Wl,-z,defs.  (#149144)
287
288 2007-03-03  Thierry Randrianiriana  <randrianiriana@gmail.com>
289
290         * po/mg.po: Added Malagasy translation.
291         * configure.in: Added Malagasy 'mg' to ALL_LINGUAS
292
293 2007-03-01  Ihar Hrachyshka <iharh@gnome.org>
294         * configure.in: Added be@latin to ALL_LINGUAS.
295
296 2007-02-17  Tor Lillqvist  <tml@novell.com>
297
298         * glib/gdate.c (win32_strftime_helper): New Win32-only
299         function. Use the wide character Win32 API to do the work of
300         strftime(): GetThreadLocale(), GetLocaleInfoW(), GetDateFormatW()
301         and GetTimeFormatW().
302         (g_date_strftime): On Windows use win32_strftime_helper()
303         instead of strftime() to avoid codepage issues with strftime().
304         Unfortunately using wcsftime() would not help either. (#404832)
305
306 2007-02-16  Soren Sandmann <sandmann@redhat.com>
307
308         * tests/sequence-test.c: For move, test moving between two
309         sequences. Add test for swap.
310
311         * glib/gsequence.c: Replace splay tree with a treap.
312         (check_node): Add checks for the treap invariants.
313
314 2007-02-10  Hans Breuer  <hans@breuer.org>
315
316         * glib/makefile.msc.in : added gsequence.obj
317
318 Fri Feb  9 17:46:18 2007  Søren Sandmann  <sandmann@redhat.com>
319
320         * glib/gsequence.c (g_sequence_get_end_iter): Remove assertion.
321         * glib/gsequence.c (is_end): Return TRUE if the iter doesn't have
322         a parent.
323         * glib/gsequence.c: Fix grammar of comment.
324         * glib/gsequence.c (node_update_fields): Use a temporary variable
325         for the n_nodes.
326
327 2007-02-07  Soren Sandmann <sandmann@daimi.au.dk>
328
329         * tests/sequence-test.c (compare_items): Force an arbitrary order
330         on otherwise identical items.
331
332         * glib/gsequence.c: Add comment discussing splay trees vs. other trees.
333         * glib/gsequence.c (is_end): Add fast path for the common case
334         when the node is not actually the end node.
335
336 2007-02-05  Soren Sandmann <sandmann@daimi.au.dk>
337
338         * glib/gsequence.c (g_sequence_sort_iter): Don't prohibit access
339         until after the g_sequence_move_range() call.  Bug 404759,
340         Christian Persch.
341
342        * tests/sequence-test.c: Formatting fix.
343
344 2007-02-03  Soren Sandmann <sandmann@daimi.au.dk>
345
346         * glib/gsequence.c (struct _GSequence): Add a new 'real_sequence'
347         field.
348         (g_sequence_new): Initialize real_sequence to the sequence
349         (g_sequence_sort_iter): Set real_sequence of the temporary
350         sequence to the real sequence.
351         (g_sequence_sort_changed_iter): Same
352         (g_sequence_insert_sorted_iter): Same
353         (g_sequence_search_iter): Same
354         (g_sequence_iter_get_sequence): Return real_sequence
355
356         * tests/sequence-test.c (compare_iters): Insert assertions that
357         the iters point to the sequence being manipulated.
358
359 2007-02-03  Soren Sandmann <sandmann@daimi.au.dk>
360
361         * glib/gsequence.[ch]: New files implementing GSequence, a list
362         implemented using a binary tree.
363         * glib/glib.h, glib/glib.symbols: Update for GSequence.
364         * docs/reference: Add documentation for GSequence
365         * tests: Add sequence-test.c, a thorough test of all of
366         the GSequence API.
367
368 2007-01-30  Matthias Clasen <mclasen@redhat.com>
369
370         * glib/glib.symbols:
371         * glib/gslice.h:
372         * glib/gslice.c: Don't make ABI depend on G_ENABLE_DEBUG,
373         just add an empty g_slice_debug_tree_statistics () implementation
374         in the !G_ENABLE_DEBUG case.
375
376 2007-01-26  Matthias Clasen <mclasen@redhat.com>
377
378         * configure.in: Define G_GNUC_INTERNAL for Sun Studio
379         as __hidden.  (#342981, Brian Cameron)
380
381         * glib/gconvert.c:
382         * glib/gutf8.c: Move G_GNUC_INTERNAL uses to the right
383         spot.
384
385 2007-01-26  Matthias Clasen <mclasen@redhat.com>
386
387         * gmem.c:
388         * gslice.c:
389         * gmessages.c:
390         * gutils.c: Make some structs which are used only once
391         non-static.
392
393 2007-01-24  Benjamin Otte <otte@gnome.org>
394
395         * glib/gprintf.c (g_sprintf): Clarify the documentation
396         regarding overflows (wording by Jan Schmidt)
397
398 2007-01-23  Roozbeh Pournader  <roozbeh@farsiweb.info>
399
400         * README: Remove mention of no-longer-existing PATCH
401         keyword in bugzilla. (#396899)
402
403 2007-01-23  Matthias Clasen  <mclasen@redhat.com>
404
405         * glib/gutf8.c (g_utf8_get_char_validated): Clarify
406         the behaviour is max_len is zero.  (#400044,
407         Benjamin Dauvergne)
408
409 2007-01-23  Matthias Clasen  <mclasen@redhat.com>
410
411         * glib/goption.c (print_help): Use bitwise &
412         when operating on flags.  (#399971, Jon Oberheide)
413
414 2007-01-19  Matthias Clasen  <mclasen@redhat.com>
415
416         Some file list updates (#398069, Owen Taylor)
417
418         * docs/Changes-2.0.txt
419         * docs/reference/README.cvs-commits
420         * glib.spec.in: Remove obsolete files
421
422         * tests/Makefile.am:
423         * glib/libcharset/Makefile.am:
424         * gobject/Makefile.am:
425         * Makefile.am: Add some missing files to EXTRA_DIST
426
427         * tests/timeloop-basic.c: Make it build
428         * HACKING: Small updates
429
430 2007-01-18  Matthias Clasen  <mclasen@redhat.com>
431
432         * glib/gdate.c (g_date_set_time): Fix a typo.  (#398203,
433         Owen Taylor)
434
435 2007-01-17  Tor Lillqvist  <tml@novell.com>
436
437         * config.h.win32.in
438         * glib/galloca.h
439         * glib/gbacktrace.h
440         * glib/gwin32.c
441         * glibconfig.h.win32.in
442         * README.win32: More minor tweaks for Digital Mars
443         compiler. (#346808, Serhat Sevki Dincer)
444
445 2007-01-17  Tor Lillqvist  <tml@novell.com>
446
447         * glib-zip.in: DLLs are always installed in "bin" with current
448         libtool, drop unnecessary logic to check where they are. Include
449         also the COPYING file.
450
451 2007-01-17  Tor Lillqvist  <tml@novell.com>
452
453         * glib/galloca.h: Use <malloc.h> also with Digital Mars compiler
454         on Win32. (#346808, Serhat Sevki Dincer)
455
456 2007-01-16  Matthias Clasen  <mclasen@redhat.com>
457
458         * glib/gthread.h:
459         * glib/gthread.c:
460         * glib/glib.symbols: Revert an accidental ABI break by
461         moving gettime out of the GThreadFunctions struct and making
462         it a separate variable.  (#397139, Joe Marcus Clarke)
463
464         * gthread/*.c: Adapt.
465
466 2007-01-16  Tor Lillqvist  <tml@novell.com>
467
468         * glib/gthread.c (gettime): GetSystemTimeAsFileTime() returns 100s
469         of nanoseconds since 1601, so offset to Unix epoch (1970) and
470         multiply by 100 to get nanoseconds which is what we want.
471
472 2007-01-15  Tor Lillqvist  <tml@novell.com>
473
474         * glib/gmain.h (struct _GPollFD): Fix mistake in my last commit.
475
476 2005-01-15  Matthias Clasen  <mclasen@redhat.com>
477
478         * glib/giochannel.c:
479         * glib/gbookmarkfile.c: Remove redundant NULL-checks.
480         (#369668, Morten Welinder)
481
482 2005-01-15  Matthias Clasen  <mclasen@redhat.com>
483
484         * glib/gthread.c:
485         * gthread/gthread-posix.c: Correct the gettime calculations
486         once more.  (#395203, Chris Wilson)
487
488 2007-01-15  Tor Lillqvist  <tml@novell.com>
489
490         * glib/gmain.h (struct _GPollFD): Prepare for potential Win64
491         build: Use gint64 for the fd field on Win64, as we want to be able
492         to store a HANDLE in it. (#395422) (Other changes will surely also
493         be necessary when building on Win64, at least in giowin32.c.)
494
495 2007-01-15  Tor Lillqvist  <tml@novell.com>
496
497         * glib/gwin32.c (g_win32_getlocale): Simplify greatly. Instead of
498         hardcoding a large switch statement, just ask Windows for the
499         ISO639 and ISO3166 codes. Tack on @Latn or @Cyrl for those
500         languages which can alternatively be written in Latin or
501         Cyrillic. Fixes #395419.
502
503 2007-01-12  Matthias Clasen  <mclasen@redhat.com>
504
505         * glib/gkeyfile.c: Rework the handling of invalid
506         keys/groups again. We are back to being liberal about
507         what we accept, and only reject things that would lead
508         to non-rereadable keyfiles.
509
510         * tests/keyfile-test.c: Adapt tests.
511
512 2007-01-12  Matthias Clasen  <mclasen@redhat.com>
513
514         * glib/gutils.c (g_get_home_dir): Clarify docs.  (#394687,
515         Marc Brockschmidt)
516
517 2007-01-12  Matthias Clasen  <mclasen@redhat.com>
518
519         * glib/gthread.c: Include windows.h and fix
520         include order. (#394258, Kazuki Iwamoto)
521
522 2007-01-12  Matthias Clasen  <mclasen@redhat.com>
523
524         * configure.in: Make G_GNUC_INTERNAL a no-op for
525         gcc 2.95.    (#329031, David Schleef, Marc Brockschmidt)
526
527 2007-01-12  Matthias Clasen  <mclasen@redhat.com>
528
529         * gthread/gthread-posix.c:
530         * glib/gtimer.c:
531         * glib/gthread.c: Fix errors in the recently moved
532         time calculations.  (#395203, Chris Wilson)
533
534 2007-01-10  Matthias Clasen  <mclasen@redhat.com>
535
536         * configure.in: Actually link gthread against librt.
537         (#394641, Marco Pesenti Gritti)
538
539 2007-01-10  Matthias Clasen  <mclasen@redhat.com>
540
541         * glib/gkeyfile.c (g_key_file_is_key_name): Grr, allow '*' in keys,
542         too.  (#394262)
543
544 2007-01-09  Behdad Esfahbod  <behdad@gnome.org>
545
546         * glib/gutils.h: Use a more optimized g_bit_storage() when gcc is
547         available.  (#371670, Daniel Elstner)
548
549 2007-01-08  Matthias Clasen  <mclasen@redhat.com>
550
551         * gthread/gthread-posix.c (g_thread_impl_init): Don't
552         use _SC_MONOTONIC_CLOCK unless USE_CLOCK_GETTIME is
553         defined.  (#394150)
554
555 2007-01-07  Matthias Clasen  <mclasen@redhat.com>
556
557         Don't link glib against libpthread.  (#393812)
558
559         * configure.in: Link gthread against librt, not glib itself.
560
561         * glib/gthread.h:
562         * glib/gthread.c: Add a new thread function, gettime.
563
564         * glib/gtimer.c: Use gettime instead of directly working with
565         the various system interfaces.
566
567         * gthread/gthread-impl.c:
568         * gthread/gthread-posix.c:
569         * gthread/gthread-win32.c: Implement gettime.
570
571 2007-01-07  Matthias Clasen  <mclasen@redhat.com>
572
573         * m4macros/glib-2.0.m4: Use PKG_PROG_PKG_CONFIG.  (#392636,
574         Yevgen Muntyan)
575
576 2007-01-07  Tor Lillqvist  <tml@novell.com>
577
578         * glib/giowin32.c: Handle GIOChannels for file descriptors
579         connected to the console separately. This would typically be the
580         fd 0, 1, or 2 (if not redirected) in a console application. For
581         such fds we don't need a separate thread, as console HANDLEs are
582         waitable objects. (#359202, Michiel de Hoon)
583
584 2007-01-04  Behdad Esfahbod  <behdad@gnome.org>
585
586         * tests/bit-test.c (builtin_bit_nth_lsf1), (builtin_bit_nth_lsf2),
587         (builtin_bit_nth_msf): Fix tests on x86_64.
588
589 2007-01-03  Behdad Esfahbod  <behdad@gnome.org>
590
591         * glib/goption.c (_g_unichar_get_width), (_g_utf8_strwidth),
592         (calculate_max_length), (print_entry), (print_help): Take zerowidth
593         and double-width chars into consideration when computing width of a
594         string.  Also fix another bug in width computation. (#346955)
595
596         * glib/guniprop.c (g_unichar_iszerowidth): Fix typo.  It was not
597         working correctly.
598
599 2007-01-03  Behdad Esfahbod  <behdad@gnome.org>
600
601         * glib/glib.symbols:
602         * glib/gunicode.h:
603         * glib/guniprop.c: Add g_unichar_iszerowidth(). (#347645)
604
605 2007-01-03  Behdad Esfahbod  <behdad@gnome.org>
606
607         * glib/gutils.h: Fix bug in g_bit_nth_lsf (#371631) and use
608         __builtin_clzl for g_bit_storage if available (#371670).
609
610         * tests/Makefile.am:
611         * tests/bit-test.c: New test, to test g_bit_* operations against
612         naive and builtin implementations.
613
614 2007-01-02  Behdad Esfahbod  <behdad@gnome.org>
615
616         * configure.in: Avoid more warnings from running libtool --config.
617         (#391364)
618
619 2007-01-03  Michael Natterer  <mitch@imendio.com>
620
621         * removed all .cvsignore files. SVN doesn't need them.
622
623 2007-01-02  Emmanuele Bassi  <ebassi@gnome.org>
624
625         * glib/gbookmarkfile.c (expand_exec_line): Add support for
626         expanding the desktop entry spec variables %U (list of URIs)
627         and %F (list of filenames), so that using the command line
628         from the Exec and TryExec key of a desktop entry file works
629         as intended.
630
631 2007-01-02  Matthias Clasen  <mclasen@redhat.com>
632
633         * configure.in: Avoid warnings from running libtool --config.
634         (#391364, Loïc Minier)
635
636 2007-01-02  Matthias Clasen  <mclasen@redhat.com>
637
638         * glib/gbookmarkfile.c (g_bookmark_file_get_app_info):
639         Return an error if the uri is bad. (#391370, Maciej Piechotka)
640
641 2007-01-02  Matthias Clasen  <mclasen@redhat.com>
642
643         * glib/glib.symbols: Guard g_slice_debug_tree_statistics
644         by G_ENABLE_DEBUG.  (#390940, Kazuki Iwamoto)
645
646 2007-01-02  Michael Natterer  <mitch@imendio.com>
647
648         * configure.in
649         * Makefile.am: remove references to build/ until a proper decision
650         has been made what to do with it.
651
652 2007-01-01  Matthias Clasen  <mclasen@redhat.com>
653
654         * glib-gettextize.in: Silence autoconf warnings about
655         datarootdir.  (#391367, Loïc Minier)
656
657 2006-12-31  Matthias Clasen  <mclasen@redhat.com>
658
659         * glib/gslice.c: Fix some C99isms.  (#390913, Kazuki Iwamoto)
660
661 Fri Dec 29 13:28:07 2006  Tim Janik  <timj@imendio.com>
662
663         * glib/gslice.c: turned detection of too late g_thread_init() calls
664         into a warning. this is a temporary work-around for some head-room
665         to fix affected programs, memory corruption still occours regardless.
666
667 2006-12-29  Matthias Clasen  <mclasen@redhat.com>
668
669         * tests/gobject/Makefile.am:
670         * tests/gobject/dynamictype.c: New test for dynamic type
671         registration macros.
672
673 Thu Dec 28 21:14:45 2006  Tim Janik  <timj@imendio.com>
674
675         * glib/gslice.c: removed pthread-dependant debugging bits, the code
676         was already converted to GMutex. this obsoletes Tor's recent fixups.
677
678 2006-12-28  Tor Lillqvist  <tml@novell.com>
679
680         * glib/gutils.h (G_WIN32_DLLMAIN_FOR_DLL_NAME)
681         * glib/gutils.c (get_windows_directory_root): : Use only the wide
682         character API here, too.
683
684         * glib/gslice.c: Make it compile on Win32 without pthreads: Use a
685         Win32 critical section instead.
686
687         * glib/gmessages.c (g_logv): On Win32, if we get a fatal error
688         message while being debugged we break into the debugger with
689         G_BREAKPOINT(). Don't call abort() if the user is foolhardy enough
690         to continue after the breakpoint. The user presumably knows what
691         he is doing and deserves what he gets. (#376645, Andreas Köhler)
692
693 Thu Dec 28 12:50:31 2006  Tim Janik  <timj@imendio.com>
694
695         * glib/gslice.h, glib/gslice.c: implemented static debugging
696         hash-tree to validate slice adresses and sizes with G_SLICE=debug-blocks.
697         use abort() to exit in mem_error() to allow catching of these in gdb.
698         abort programs with a descriptive error message if g_thread_init() is
699         called after GSlice was in use. previously this just silently corrupted
700         the magazines.
701
702         * glib/ghash.c (struct _GHashNode): reordered fields to keep 8-byte
703         pointer alignment on 64bit systems and request smaller slice sizes
704         on 32bit systems.
705
706         * tests/slice-test.c: support '~' option flag to introduce slice
707         allocation/release corruption with a significant probability. this
708         allowes testing of G_SLICE=debug-blocks.
709
710 2006-12-27  Matthias Clasen  <mclasen@redhat.com>
711
712         * glib/gconvert.[hc]:
713         * glib/gfileutils.c:
714         * glib/giochannel.c:
715         * glib/goption.c:
716         * glib/gspawn.c:
717         * glib/gunicollate.c:
718         * glib/gutils.c:
719         * tests/timeloop-basic.c:
720         Consistently use gsize rather than size_t.  (#333310,
721         Morten Welinder)
722
723 2006-12-27  Matthias Clasen  <mclasen@redhat.com>
724
725         * configure.in: Use AC_CACHE_CHECK for the nl_langinfo
726         check.  (#304517, Lőrinczy Zsigmond)
727
728 2006-12-27  Tor Lillqvist  <tml@novell.com>
729
730         * glib/gwin32.h
731         * glib/gwin32.c (get_package_directory_from_module)
732         (g_win32_get_package_installation_directory)
733         (g_win32_get_package_installation_subdirectory): Add const to
734         gchar* arguments. (#384523, Yevgen Muntyan)
735
736 2006-12-27  Ryan Lortie  <desrt@desrt.ca>
737
738         * glib/ghash.c: cache the value of the hash function
739         in the GHashNode.  this speeds up resizing the hash
740         table and it also allows a slight optimisation on
741         lookups.  (#388332)
742
743 2006-12-27  Matthias Clasen  <mclasen@redhat.com>
744
745         * glib/gunicollate.c (g_utf8_collate_key): Don't modify
746         the current locale.  (#389300)
747
748 2006-12-26  Matthias Clasen  <mclasen@redhat.com>
749
750         * glib/gutf8.c: Add hints for locale-dependent interfaces.
751         * glib/gconvert.c: Add hints for locale-dependent interfaces.
752
753         * glib/gconvert.c (g_get_filename_charsets): Improve
754         formatting of docs.
755
756 2006-12-26  Behdad Esfahbod  <behdad@gnome.org>
757
758         * configure.in: Use libtool to determine shared library suffix.
759         (#357245)
760
761 2006-12-24  Matthias Clasen  <mclasen@redhat.com>
762
763         * tests/run-collate-tests.sh:
764         * tests/unicode-collate.c: Silently skip tests if
765         we can't set LC_COLLATE to en_US.  (#336438)
766
767 2006-12-19  Matthias Clasen  <mclasen@redhat.com>
768
769         * glib/gkeyfile.c (g_key_file_is_key_name): Accept
770         '/', '+' and '.' in key names, since gnome-vfs uses
771         mime types as keys in some cache.
772
773         * tests/keyfile-test.c: Tests for the above.
774
775 2006-12-18  Matthias Clasen  <mclasen@redhat.com>
776
777         * configure.in: Fix the broken poll test.  (#387260,
778         Christian Persch)
779
780         * glib/gmain.c (child_watch_helper_thread): Readd a
781         return which was removed as dead code a while ago.
782         icc may consider it dead, but gcc doesn't like non-void
783         functions without a return...  (#354707)
784
785         * tests/Makefile.am: Try a different fix for bug 346373.
786
787 2006-12-18  Matthias Clasen  <mclasen@redhat.com>
788
789         Fix bug 161288:
790
791         * configure.in: Check for wcslen.
792
793         * glib/gnulib/vasnprintf.c: Handle wcslen missing.
794
795 2006-12-18  Matthias Clasen  <mclasen@redhat.com>
796
797         * glib/gkeyfile.c: Accept '@' in locale names.
798
799         * glib/gkeyfile.c: Tighten up the check for allowed
800         key and group names.  (#343191, Tommi Komulainen)
801
802         * tests/keyfile-test.c: Test handling of key and group names.
803
804         * tests/Makefile.am: Don't use $RANDOM if the shell doesn't
805         have it.  (#346373, Thomas Klausner)
806
807 2006-12-17  Behdad Esfahbod  <behdad@gnome.org>
808
809         * glib/gstring.c: Improve docs about string functions taking a
810         length.  (#378727)
811
812 2006-12-17  Matthias Clasen  <mclasen@redhat.com>
813
814         * glib/gconvert.c:
815         * glib/gutf8.c (_g_charset_get_aliases): Put the G_GNUC_INTERNAL
816         where gcc doesn't complain about it.
817
818         * glib/ghash.c: Make ref_count an int to avoid compiler
819         warnings.
820
821         * configure.in: Use AC_LANG_SOURCE for the clock test.
822
823         * glib/gthreadpool.h:
824         * glib/gthreadpool.c (g_thread_pool_free): Don't use "wait"
825         as parameter name.  (#379207, Christian Biere)
826
827         * glib/gspawn.c: Refer to g_child_watch_add() in addition
828         to waitpid().
829
830         * glib/gstrfuncs.c (g_strndup, g_strnfill): Move docs
831         inline, and improve wording.  (#372598, Behdad Esfahbod)
832
833         * glib/gspawn.c: Add some pointers to the gdk_spawn_
834         variants.  (#338134, Federico Mena Quintero)
835
836         * configure.in: Make montonic clock test work again. Does
837         AC_COMPILE_IFELSE not get confdefs ? Also, move the clock
838         tests below the thread checks to fix #364663.
839
840         * tests/run-markup-tests.sh: Don't use diff -u  (#380801,
841         Marek Rouchal)
842
843         * glib/gspawn.c: Fix the recent fdwalk()-related changes
844         to not break mapping-test.  (#286838, Marco Barisione)
845
846         * glib/gstring.c (g_string_chunk_new): Don't shadow size.
847         (#386760, Kazuki IWAMOTO)
848
849 2006-12-16  Matthias Clasen  <mclasen@redhat.com>
850
851         * glib/gstring.c: Move more documentation inline.
852
853         * configure.in: Use AC_COMPILE_IFELSE for the monotonic
854         clock test.  (#362918, Han-Wen Nienhuys, Jeremy Lainé)
855
856         * glib/gstring.c: Move documentation inline.
857
858 2006-12-15  Matthias Clasen  <mclasen@redhat.com>
859
860         * glib/giochannel.h: Make ref_count a gint to avoid
861         compiler warnings.  (#321977, Andrew Paprocki)
862
863         * configure.in: On Solaris, set CFLAGS and LDFLAGS that
864         work both with Sun cc and gcc.  (#315061, Lazlo Peter)
865
866         * glib/gspawn.c: Undefine READ_OK to fix the build on
867         old versions of Darwin.  (#327800)
868
869         * glib/glib.symbols:
870         * glib/gstring.[hc] (g_string_chunk_clear): Add a function
871         for clearing a GStringChunk. (#364608, Matt Barnes)
872
873         * glib/guniprop.c (interval_compare): Avoid a compiler
874         warning.
875
876         * glib/gspawn.c (do_exec): Call set_cloexec() with
877         the right parameters.  (#386252, Guillaume Desmottes)
878
879 2006-12-15  Matthias Clasen  <mclasen@redhat.com>
880
881         Fix #357585, Padraig O'Briain.
882
883         * configure.in: Check for fdwalk.
884
885         * glib/gspawn.c (do_exec): Use fdwalk() to close all
886         file descriptors.
887
888         * glib/gspawn.c (fdwalk): Fallback implementation of
889         fdwalk.
890
891 2006-12-14  Matthias Clasen  <mclasen@redhat.com>
892
893         * glib/gconvert.c (open_converter): Don't use alloca
894         and avoid allocating memory for small keys that are
895         already cached.  (#172406, Morten Welinder)
896
897         * glib/gmain.c (g_child_watch_add_full): Improve the docs.
898         (#345569, Tim-Philipp Müller)
899
900         * glib/gkeyfile.c (g_key_file_add_group): If the group
901         is already there, make it current.  (#385910, Joe Halliwell)
902
903         * tests/keyfile-test.c: Add a test for duplicate groups/keys.
904
905 2006-12-13  Matthias Clasen  <mclasen@redhat.com>
906
907         * m4macros/glib-gettext.m4: Require AC_CANONICAL_HOST in
908         GLIB_WITH_NLS.  (#385132, Laszlo Peter)
909
910 2006-12-12  Matthias Clasen  <mclasen@redhat.com>
911
912         * configure.in: Add a check for broken poll on Mac OS X.
913
914         * glib/gmain.c: Use poll emulation on OS X.  (#302672, Toby Peterson,
915         patch by Dave Vasilevsky)
916
917 2006-12-11  Matthias Clasen  <mclasen@redhat.com>
918
919         * glib/gatomic.c: Don't use local numeric labels in
920         inline assembler on AIX.  (#316434, Hans Rosenfeld)
921
922         * glib/gunicode.h (g_utf8_next_char): Cast to const char *,
923         not char *.  (#138153, Nikolai Weibull)
924
925 Wed Nov 22 16:09:13 2006  Tim Janik  <timj@gtk.org>
926
927         * glib/gmacros.h: added G_GNUC_MAY_ALIAS, suggested by Mathias
928         Hasselmann in bug #335341, fixes bug #335853.
929
930 2006-11-15  Matthias Clasen  <mclasen@redhat.com>
931
932         * m4macros/glib-gettext.m4: Apply a patch from James
933         Henstridge for compatibility with automake 2.60 (#343825)
934
935 2006-11-14  Behdad Esfahbod  <behdad@gnome.org>
936
937         * sanity_check: Replace bash-specific == with sh-understood =.
938         Fixes bug #373864.
939
940 2006-11-05  Hans Breuer  <hans@breuer.org>
941
942         * glib/makefile.msc.in : glib/ version not the gobject/
943         one I accidentially commited. Fixes bug #371074.
944
945 2006-11-05  Tor Lillqvist  <tml@novell.com>
946
947         * makefile.mingw
948         * gmodule/makefile.mingw.in
949         * glib/makefile.mingw.in
950         * gobject/makefile.mingw.in
951         * gthread/makefile.mingw.in
952         * tests/makefile.mingw.in: Remove from CVS. Haven't been
953         maintained or distributed for long.
954
955 2006-10-26  Pascal Terjan  <pterjan@linuxfr.org>
956
957         * glib/libcharset/localcharset.c: Fix small leak on failed
958         realloc in _g_locale_get_charset_aliases (#338582)
959
960 2006-10-16  Behdad Esfahbod  <behdad@gnome.org>
961
962         * glib/gnulib/Makefile.am: Add $(GLIB_DEBUG_FLAGS).  (#362543,
963         Peter Kjellerstedt)
964
965 2006-10-15  Sebastian Wilhelmi  <seppi@seppi.de>
966
967         * tests/Makefile.am: Compile errorcheck-mutex-test with thread
968         libraries explicitly. (#74748, Javier Villavicencio)
969
970 2006-10-08  Matthias Clasen  <mclasen@redhat.com>
971
972         Add a way to obtain Unicode script information.  (#348348,
973         Marco Barisione)
974
975         * glib/glib.symbols:
976         * glib/gunicode.h: Add GUnicodeScript enumeration and
977         g_unichar_get_script.
978
979         * glib/guniprop.c: Implement g_unichar_get_script.
980
981         * glib/gscripttable.h: Generated private header containing
982         script tables.
983
984         * glib/gen-script-table.pl: Script to generate gscripttable.h.
985
986         * glib/Makefile.am: Update
987
988 2006-10-08  Matthias Clasen  <mclasen@redhat.com>
989
990         * tests/run-markup-tests.sh: Small portability fix.  (#347944,
991         Dan McMahill)
992
993 2006-10-07  Tor Lillqvist  <tml@novell.com>
994
995         * glib/gwin32.c (get_package_directory_from_module)
996         (g_win32_get_package_installation_directory): g_strdup the keys
997         that we are passed before adding them to the hash tables, to guard
998         against the caller freeing them. (#355955, Andreas Köhler)
999
1000 2006-10-06  Matthias Clasen  <mclasen@redhat.com>
1001
1002         * glib/gtimer.c: Fix a typo.  (#359190)
1003
1004 2006-10-02  Behdad Esfahbod  <behdad@gnome.org>
1005
1006         * glib/Makefile.am:
1007         * gobject/Makefile.am:
1008         Include pltcheck.sh in EXTRA_DIST, and remove redefinition of TESTS.
1009         (#358966)
1010
1011 2006-10-01  Matthias Clasen  <mclasen@redhat.com>
1012
1013         * glib/gtimer.c (g_usleep): Use nsleep to implement
1014         g_usleep on AIX.  (#321974, Andrew Paprocki)
1015
1016         * configure.in: Check for nsleep
1017
1018         * glib/gmain.c: Fix typos in doc comments.
1019         (#358421, Tom Tromey)
1020
1021 2006-09-30  Matthias Clasen  <mclasen@redhat.com>
1022
1023         * glib/pltcheck.sh: A script to check PLT entries.
1024         * glib/Makefile.am (TESTS): Run pltcheck.sh
1025
1026         * glib/*: Fix includes to correct some issues with
1027         PLT entries.  (#354522, Behdad Esfahbod)
1028
1029 2006-09-17  Hans Breuer  <hans@breuer.org>
1030
1031         * glib/makefile.msc.in gobject/makefile.msc.in : better filtering
1032         of G_GNUC_* stuff when generating .def files. Now also works with
1033         newer (less tolerant) linkers, e.g. from vc2500e
1034
1035 2006-09-10  Matthias Clasen  <mclasen@redhat.com>
1036
1037         * glib/gbacktrace.c: Assume string.h is available.
1038         (#354523, Behdad Esfahbod)
1039
1040         * configure.in: Bump version to 2.13.0
1041
1042         * glib/glib.symbols:
1043         * glib/gmain.[hc]: Add functions to create approximate
1044         timeouts.  (#353942, Arjan van de Ven)
1045
1046         * glib/gstdio.c (g_rename): Initialize save_errno.
1047         (#355206, Mike Edenfield)
1048
1049 2006-09-03  Matthias Clasen  <mclasen@redhat.com>
1050
1051         * glib/gerror.c: Allocate GErrors using the slice allocator.
1052         (#354054, Matt Barnes)
1053
1054 2006-09-02  Matthias Clasen  <mclasen@redhat.com>
1055
1056         * glib/gtimer.c: Forgotten HAVE_CLOCK_GETTIME.
1057
1058 2006-09-02  Tor Lillqvist  <tml@novell.com>
1059
1060         * glib/gutils.c (g_get_any_init_do): Correct C99ism (mixed
1061         declarations and code) in Win32 ifdef branch. (#353903, Mike
1062         Edenfield)
1063
1064 2006-09-01  Abel Cheung  <abel@oaka.org>
1065
1066         * configure.in: Added 'dz' 'hy' to ALL_LINGUAS.
1067
1068 2006-09-01  Matthias Clasen  <mclasen@redhat.com>
1069
1070         * configure.in: Check for CLOCK_MONOTONIC.
1071
1072         * glib/gtimer.c: Only use clock_gettime if we
1073         have a monotonic clock.
1074
1075 2006-08-31  Matthias Clasen  <mclasen@redhat.com>
1076
1077         * configure.in: Add missing includes to a few test
1078         programs.  (#353580, Chris Wilson)
1079
1080 2006-08-30  Matthias Clasen  <mclasen@redhat.com>
1081
1082         * glib/gmarkup.c (g_markup_vprintf_escaped): Don't call
1083         va_end on caller-provided va_args.  (#353584, Chris Wilson)
1084
1085 2006-08-29  Tor Lillqvist  <tml@novell.com>
1086
1087         Remove support for Windows 9x/ME, as will be done also in Pango
1088         and GTK+. GTK+ hasn't worked on Win9x since 2.6 or 2.8 anyway, so
1089         it's pretty pointless to keep the Win9x code in here either. If
1090         somebody is interested, the code can always be found in older GLib
1091         versions, and in CVS.
1092
1093         * glib/gdir.c
1094         * glib/gfileutils.c
1095         * glib/gspawn-win32-helper.c
1096         * glib/gspawn-win32.c
1097         * glib/gstdio.c
1098         * glib/gutils.c
1099         * glib/gwin32.c
1100         * glib/gwin32.h: Remove the G_WIN32_IS_NT_BASED() and
1101         G_WIN32_HAVE_WIDECHAR_API() tests and their false (Win9x)
1102         branches, and any variables or static functions used only by the
1103         Win9x branches.
1104
1105         * glib/gwin32.c (g_win32_windows_version_init): Call g_error() if
1106         run on Win9x.
1107
1108 2006-08-27  Matthias Clasen  <mclasen@redhat.com>
1109
1110         * configure.in: Fix pthread compiler flag detection.
1111
1112         * glib/gtimer.c: Use Posix monotonic clocks instead of
1113         gettimeofday when available.  (#336114, William Jon McCann)
1114
1115 2006-08-26  Matthias Clasen  <mclasen@redhat.com>
1116
1117         * glib/gutils.h:
1118         * glib/gscanner.c: Fix some typos.  (#351741, Kjartan Maraas)
1119
1120 2006-08-25  Matthias Clasen  <mclasen@redhat.com>
1121
1122         * configure.in: Fix the pthread compiler flag detection.
1123
1124         * glib/gunicode.h:
1125         * glib/gutf8.c (_g_utf8_make_valid): Rename make_valid_utf8
1126         from gconvert.c, move it to gutf8.c, and export it privately.
1127
1128         * glib/gconvert.c (g_filename_display_name): Adjust callers.
1129
1130         * glib/gkeyfile.c: Use _g_utf8_make_valid() in a number of
1131         places to ensure error messages are valid UTF-8.  (#351853,
1132         Simon Budig)
1133
1134 2006-08-22  Matthias Clasen <mclasen@redhat.com>
1135
1136         * Branch for 2.12