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