Updates
[platform/upstream/glib.git] / ChangeLog.pre-2-10
1 2005-12-08  Matthias Clasen  <mclasen@redhat.com>
2
3         * NEWS: Updates
4
5 2005-12-07  Martyn Russell  <martyn@imendio.com>
6
7         * glib/gasyncqueue.c:
8         - Call g_queue_insert_sorted() instead of duplicating the code.
9         - Call g_queue_sort() instead of duplicating the code.
10         - Invert sort function results to make sure the same sort function
11         gives the same results across glist, gslist, gqueue and
12         gasyncqueue.
13
14         * tests/asyncqueue-test.c:
15         - Updated the sort function to reflect the example in the
16         documentation for gasyncqueue.c.
17
18 2005-12-07  Martyn Russell  <martyn@imendio.com>
19
20         * docs/reference/glib/glib-sections.txt:
21         * docs/reference/glib/tmpl/linked_lists_double.sgml:
22         * docs/reference/glib/tmpl/linked_lists_single.sgml:
23         * glib/glist.[ch]: 
24         * glib/gslist.[ch]: 
25         - Added g_list_insert_sorted_with_data () and
26         g_slist_insert_sorted_with_data ().
27         - Removed the extra check in g_list_sort() and g_slist_sort() for
28         GCompareDataFunc vs. GCompareFunc.
29         
30 2005-12-07  Tor Lillqvist  <tml@novell.com>
31
32         * glib-gettextize.in: Look up prefix at run-time on Win32,
33         assuming the standard directory structure with glib-gettextize in
34         $prefix/bin.
35
36 2005-12-06  Matthias Clasen  <mclasen@redhat.com>
37
38         * glib/gmem.h: Exempt GTK+ from the mem chunk deprecation, since
39         we need GTK+ 2.8 to compile against GLib 2.10.
40
41 2005-12-05  Manish Singh  <yosh@gimp.org>
42
43         * tests/run-collate-test.sh: set LC_COLLATE, not LANG, to be sure
44         to override any user settings.
45
46 2005-12-05  Matthias Clasen  <mclasen@redhat.com>
47
48         * configure.in: Revert an accidential commit
49
50 2005-12-05  Matthias Clasen  <mclasen@redhat.com>
51
52         * glib/gutf8.c: Documentation updates.  (#323291, Morten Welinder)
53
54         * tests/Makefile.am (TESTS_ENVIRONMENT): 
55         * tests/gobject/Makefile.am (TESTS_ENVIRONMENT): Set
56         MALLOC_CHECK_ and MALLOC_PERTURB_
57
58         * tests/run-collate-tests.sh: Run the collation tests explicitly 
59         in en_US locale. (#320463)
60
61         * glib/gmem.h: Really deprecate GMemChunk.
62
63         * glib/gdate.c: 
64         * glib/gutils.c: 
65         * glib/gtree.c: 
66         * glib/gstring.c: 
67         * glib/giochannel.c: 
68         * glib/gstrfuncs.c: Add versioned deprecation docs. 
69
70 2005-12-05  Martyn Russell  <martyn@imendio.com>
71
72         * docs/reference/glib/glib-sections.txt:
73         * glib/gasyncqueue.[ch]:
74         - Added support for sorting async queues by with _push_sorted(),
75         _push_sorted_unlocked(), _sort() and _sort_unlocked() (#323047).
76         
77         * tests/Makefile.am:
78         * tests/asyncqueue-test.c:
79         - Added test case for gasyncqueue.c
80
81 Mon Dec  5 15:53:20 2005  Tim Janik  <timj@imendio.com>
82
83         * glib/gslice.c: implement chain walking for arbitrary ->next pointer
84         offsets in g_slice_free_chain_with_offset() based on a patch by behdad
85         in bug 323178. moved time consuming logic from g_slice_free() out of
86         the inner loop, so g_slice_free_chain_with_offset() provides a real
87         performance benefit over g_slice_free1() now.
88         
89         * glib/gslice.h: renamed g_slice_free_chain() to
90         g_slice_free_chain_with_offset(). implemented g_slice_free_chain() as
91         a type-safe macro as suggested in bug 323178.
92         simplified the macro implementation of g_slice_free() and implemented
93         it in a type safe manner for all compliers as suggested by Morten
94         Welinder <mortenw@gnome.org>.
95
96         * glib/gmain.c:
97         * glib/glist.c:
98         * glib/gslist.c:
99         * glib/glib.symbols: s/g_slice_free_chain/g_slice_free_chain_with_offset/
100
101 2005-12-05  Matthias Clasen  <mclasen@redhat.com>
102
103         * glib/gasyncqueue.c: Add some docs.
104
105         * tests/libmoduletestplugin_a.c: Fix compiler warnings.
106
107         * glib/gatomic.c: In the ia64 implementation, use
108         __sync builtin without _si or _di suffix.  (#321229,
109         Stanislav Brabec, patch by Andreas Schwab)
110
111 2005-12-04  Behdad Esfahbod  <behdad@gnome.org>
112
113         * glib/gslice.h: Remove comma at the end of enum.
114
115 2005-12-04  Matthias Clasen  <mclasen@redhat.com>
116
117         Handle multiple user names with the same UID better.
118         (#319535, Laszlo Peter)
119         
120         * glib/gutils.c (g_get_any_init_do): When determining user
121         data, first look up $LOGNAME. If the UID doesn't match
122         getuid(), fall back to the current behaviour of looking
123         up the user data based on getuid().
124
125 2005-12-04  Matthias Clasen  <mclasen@redhat.com>
126
127         * glib/gmacros.h (G_GNUC_WARN_UNUSED_RESULT): Add a macro
128         to make gcc warn if a function result is ignored.  (#145466,
129         Arjan van de Ven, Alex Larsson)
130
131         * glib/gmem.h: Add the new attribute to g_realloc and 
132         g_try_realloc.
133
134 2005-12-03  Matthias Clasen  <mclasen@redhat.com>
135
136         * glib/glib.symbols: 
137         * glib/gcache.h: Deprecate g_cache_value_foreach. (#322956,
138         Nicolas Caniart)
139
140         * glib/gmappedfile.c: Make mapping of empty files
141         work.  (#321530)
142         
143         * glib/gfileutils.c: Don't fork a new process just to 
144         fix the permissions of the created temp file.  (#321318,
145         Alexis S. L. Carvalho)
146
147 2005-12-02  Matthias Clasen  <mclasen@redhat.com>
148
149         * README.in: Add a note about Solaris threads.
150
151         * glib/gspawn.c:
152         * configure.in: Remove support for Solaris threads. 
153         (#136971, Sebastian Wilhelmi, patch by Andrew Paprocki)
154
155 2005-12-02  Matthias Clasen  <mclasen@redhat.com>
156
157         * configure.in: Define G_GUINT64_CONSTANT in analogy to
158         G_GINT64_CONSTANT.  (#322568, Andrew Paprocki)
159
160 2005-12-02  Matthias Clasen  <mclasen@redhat.com>
161
162         * glib/gslice.c: Win32 portability fixes and C99ism removal,
163         pointed out by Kazuki Iwamoto.  (#323052)
164         
165 2005-12-02  Matthias Clasen  <mclasen@redhat.com>
166
167         * glib/gatomic.c (g_atomic_int_add): Add a missing volatile for
168         the IA64 implementation.
169
170 Fri Dec  2 16:18:09 2005  Tim Janik  <timj@imendio.com>
171
172         * glib/gslice.c: some naming and type size fixups.
173
174 Fri Dec  2 13:08:58 2005  Tim Janik  <timj@gtk.org>
175
176         * glib/gslice.h (g_slice_free): reworked GCC-specific type-safe macro
177         variant into something less verbose, but digestible for gcc-3.4.
178
179 Fri Dec  2 10:55:07 2005  Tim Janik  <timj@imendio.com>
180
181         * tests/slice-test.c: extended to perform the benchmarking on the old
182         memchunk code if 'O' is selected.
183
184         * tests/memchunks.c: new file which contains the old GLib mem chunks
185         implementation with prefix old_mem_chunk_.
186
187         * tests/Makefile.am: added memchunks.c
188
189 Fri Dec  2 00:16:59 2005  Tim Janik  <timj@imendio.com>
190
191         * glib/gslice.c: improved gettimeofday() timer resolution by maintaining
192         acceptable load distribution of the syscall.
193         (allocator_get_magazine_threshold): reduce minimum/single-thread magazine
194         sizes to approximately page_size/2.5 to avoid excessive startup allocations.
195
196 2005-12-01  Matthias Clasen  <mclasen@redhat.com>
197
198         * tests/gobject/ifacecheck.c (test_iface_base_init): Don't
199         double-free base interface members.
200
201         * tests/Makefile.am: Remove duplicate variable.
202
203 Thu Dec  1 17:32:46 2005  Tim Janik  <timj@imendio.com>
204
205         * glib/gslice.[hc]: new slice allocator implementation.
206
207         * tests/slice-test.c: added random slice allocation test.
208
209         * glib/gthread.[hc]: removed newly added private thread mem API.
210
211         * glib/gthreadinit.h:
212         * glib/gmessages.c:
213         * glib/gthread.c:
214         * glib/gmem.c: divided glib threading initialisation into three phases,
215         initialisation where private keys and messaging are not available (only
216         needed by gmem.c), initialisation without messaging but private keys
217         available (gslice.c, gmessage.c), and full fledged initialisers that
218         server the rest of glib. initialisation functions got renamed to reflect
219         the limitations of their corresponding phases.
220
221         * glib/gmem.c: removed memchunk code, defer allocations to 
222         g_slice_* instead.
223
224         * glib/gmem.[hc]: removed g_slice_* skeletons.
225
226         * glib/glib.symbols: added g_slice_* symbols.
227
228         * configure.in: check for availability of posix_memalign(3), memalign(3)
229         and valloc(3). 
230
231         * glib/Makefile.am: added gslice.[hc].
232
233 2005-12-01  Tor Lillqvist  <tml@novell.com>
234
235         * glib/gstdio.c (g_stat): In the Win32 implementation, strip
236         trailing slash(es) for non-root folders. stat() fails if non-root
237         folders are specified with trailing slashes. It's too much hassle
238         to demand that callers strip such slashes themselves, especially
239         as it is easy to get it wrong and strip the slash of a root
240         folder.
241         (g_rename): On NT-based Windows, use MoveFileEx() with
242         MOVEFILE_REPLACE_EXISTING to better match Unix behaviour.
243
244 2005-11-28  Matthias Clasen  <mclasen@redhat.com>
245
246         Fix G_STMT_START / G_STMT_END on Solaris.  (#321972,
247         Andrew Paprocki)
248         
249         * configure.in: Check whether do { } while (0) works.
250
251         * glib/gmacros.h: Use do { } while (0) for G_STMT_START / 
252         G_STMT_END if it works.
253         
254 2005-11-28  Matthias Clasen  <mclasen@redhat.com>
255
256         * glib/gthread.c (g_static_rw_lock_wait, g_static_rw_lock_signal): 
257         * glib/gnode.c (g_node_depth_traverse_level): 
258         * glib/gmem.c (g_allocator_new): 
259         * glib/ghash.c (g_hash_table_unref, g_hash_table_destroy) 
260         (g_hash_table_foreach_remove_or_steal): Silence compiler
261         warnings.
262
263 2005-11-27  Matthias Clasen  <mclasen@redhat.com>
264
265         * glib/gunicollate.c (g_utf8_collate_key_for_filename): 
266         Don't read beyond len.  (#322520, Christian Persch)
267
268 Wed Nov 23 17:34:01 2005  Tim Janik  <timj@imendio.com>
269
270         * glib/gdataset.c: access datalist flags via atomic pointer access
271         functions, instead of acquiring the dataset lock. this is faster and
272         also matches the atomic pointer readouts in gdatalistprivate.h and
273         direct pointer modifications required by gobject.c.
274
275 Wed Nov 23 13:35:31 2005  Tim Janik  <timj@gtk.org>
276
277         * glib/gdataset.c: streamlined initialization code somewhat,
278         removed GData node cache.
279
280 2005-11-22  Matthias Clasen  <mclasen@redhat.com>
281
282         * glib/ghash.c (g_hash_table_ref): 
283         (g_hash_table_unref): Mark these as new API.
284
285         Avoid double locking in g_intern_string (#322133,
286         Benedikt Meurer)
287
288         * glib/gdataset.c (g_quark_from_string_internal): New 
289         internal function which factors out common parts of 
290         g_quark_from[_static]_string.
291         (g_quark_from_string, g_quark_from_static_string):
292         Use g_quark_from_string_internal.
293         (g_intern_string, g_intern_static_string): Use
294         g_quark_from_string_internal, and only take the
295         lock once.
296         (g_quark_new): Don't store the strings shifted by -1
297         in the g_quarks array.
298         (g_quark_to_string): Adapt to the previous change.
299
300 Tue Nov 22 14:04:26 2005  Tim Janik  <timj@imendio.com>
301
302         * glib/ghash.h: 
303         * glib/ghash.c: 
304         g_hash_table_new_full(): create hash tables with a ref count of 1.
305         g_hash_table_ref(): atomically ref_count+=1
306         g_hash_table_unref(): atomically ref_count-=1, destroys hash table
307         when refcount reaches 0.
308         g_hash_table_destroy(): just destroy keys and values, unref by 1.
309         g_hash_table_insert(): 
310         g_hash_table_replace(): assert ref_count>0.
311
312         * glib/gatomic.h: 
313         * glib/gatomic.c: added 'volatile' qualifier to all atomic pointer and
314         integer pointers.
315
316 2005-11-20  Behdad Esfahbod  <behdad@gnome.org>
317
318         * glib/guniprop.c (g_unichar_get_mirror_char): Remove unused
319         variables. (#321984, Andrew Paprocki)
320
321 2005-11-18  Matthias Clasen  <mclasen@redhat.com>
322
323         * configure.in: Bump version
324
325 2005-11-17  Matthias Clasen  <mclasen@redhat.com>
326
327         * === Released 2.9.0 ===
328
329         * glib/glib.symbols: Updates
330
331         * glib/gutf8.c (g_utf8_offset_to_pointer): Add some performance
332         hints to the docs. (Paolo Borelli)
333         
334         * NEWS: Updates
335
336         * glib/gthread.c (g_thread_foreach): Mark as new api.
337
338         * README.in: Updates.
339
340         * glib/glib.symbols: 
341         * glib/gdate.h: 
342         * glib/gdate.c (g_date_set_time_t): 
343         (g_date_set_time_val): Add functions to set a date from
344         a time_t and from a GTimeVal.
345         (g_date_set_time): Deprecate.  (#314067, Roger Leigh)
346         
347         * tests/Makefile.am:
348         * tests/utf8-pointer.c: Unit tests for g_utf8_pointer_to_offset
349         and g_utf8_offset_to_pointer.
350
351         * glib/gutf8.c (g_utf8_pointer_to_offset) 
352         (g_utf8_offset_to_pointer): Handle negative offsets, and use
353         "stutter stepping" for going backwards. (#320638, Larry
354         Ewing)
355
356         * glib/gbacktrace.c:
357         * glib/gdate.c:
358         * glib/gthread.c: const correctness fixes, found
359         by Arjan van de Ven and gcc.
360         
361 2005-11-16  Behdad Esfahbod  <behdad@gnome.org>
362
363         * docs/reference/glib/tmpl/unicode.sgml: Correct typo on mentioning
364         @G_UNICODE_BREAK_UNKNOWN that should be #G_UNICODE_BREAK_UNKNOWN.
365
366 2005-11-09  Behdad Esfahbod  <behdad@gnome.org>
367
368         * glib/guniprop.c: Use bit hacks instead when checking a general
369         category value against multiple values.
370
371         * glib/gutf8.c: Change ISO10646 to Unicode in docs.
372
373 2005-11-10  Simos Xenitellis  <simos@gnome.org>
374
375         * configure.in: Added tt (Tatar) to ALL_LINGUAS.
376
377 2005-11-05  Tor Lillqvist  <tml@novell.com>
378
379         * glib/giowin32.c (g_io_win32_set_flags): Don't call g_warning().
380         (#320688) Instead set error and return failure.
381
382 2005-11-07  Matthias Clasen  <mclasen@redhat.com>
383
384         * glib/gmain.c (g_main_dispatch): Don't call cb_funcs->unref
385         while holding the context lock.  (#320886, Andy Wingo)
386
387 2005-11-07  Billy Biggs <vektor@dumbterm.net>
388
389         * tests/refcount/Makefile.am: Add a missing reference to libglib
390         in the LDADD for this test.
391
392 2005-11-07  Matthias Clasen  <mclasen@redhat.com>
393
394         * glib/gmem.c (g_allocator_new): We need to set n_preallocs to a
395         nonzero value, otherwise GTK+ 2.8 breaks when compiled against
396         GLib 2.9.  (#320755, Luca Ferretti)
397
398 2005-11-04  Matthias Clasen  <mclasen@redhat.com>
399
400         * glib/Makefile.am: Apply a patch from Behdad Esfahbod to 
401         use a faster lookup table for g_unichar_get_mirror_char().
402         * glib/gmirroringtable.h: The new table.
403         * glib/gunichartables.h: Remove bidi_mirroring_table.
404         * glib/gen-unicode-tables.pl: Don't generate the mirroring
405         table.
406         * glib/glib-mirroring-tab/*: Sources for the program
407         which generated gmirroringtable.h.
408
409         * glib/glist.c: Avoid some code duplication.
410
411         * glib/gscanner.h: Include gdataset.h.  (#320322)
412
413         * glib/gdebug.h: add new GDebugFlag for fatal_criticals
414         * glib/gmessages.c: (_g_debug_init): handle G_DEBUG=fatal_criticals,
415         to help find critical warnings in applications.  (#320017,
416         Vincent Untz)
417
418 2005-11-02  Tor Lillqvist  <tml@novell.com>
419
420         * glib/glib.symbols: Remove large amount of trailing whitespace
421         from one line. Remove #ifdef G_UNDEFINED from around
422         g_hash_table_new and g_hash_table_new_full symbols, what was the
423         purpose of that? Add the g_slice functions.
424
425 Tue Nov  1 16:24:20 2005  Tim Janik  <timj@imendio.com>
426
427         * glib/gmem.[hc]: prepared deprecation of GMemChunk and GAllocator.
428         added g_slice_*() API to allocate and cache small bits of memory.
429         an actuall allocator implementation for g_slice_*() is still pending.
430
431         * glib/gthread.[hc]: changes from a patch by Matthias Clasen.
432         changed GRealThread list to use in-structure *next; fields instead
433         of GSList, in order for thread iteration to not depenend on g_slice_*()
434         indirectly.
435         _g_thread_mem_private_get():
436         _g_thread_mem_private_set(): added accessors for private memory,
437         needed because the ordinary GPrivate implementation relies on GArray
438         and GSList and therefore indirectly on working g_slice_*() allocations.
439
440         * glib/gthread.[hc]:
441         g_thread_foreach(): new public API function to loop over all existing threads.
442
443         * glib/gdataset.c:
444         * glib/gstring.c:
445         * glib/gcache.c:
446         * glib/garray.c: 
447         * glib/gqueue.c:
448         * glib/gslist.c:
449         * glib/glist.c:
450         * glib/ghash.c:
451         * glib/gtree.c:
452         * glib/ghook.c:
453         * glib/gmain.c:
454         * glib/gnode.c:
455         removed GAllocator and free list usages and accompanying locks.
456         use g_slice_*() API to allocate and cache small bits of memory.
457
458         * glib/ghook.h: removed GMemChunk field from public API.
459
460         * glib/gslist.h:
461         * glib/glist.h: deprecate allocator API, provide _free1() for consistency.
462
463         * glib/gnode.h: deprecate allocator API.
464
465         * glib/gmain.c: reordered GPollRec fields so g_slice_free_chain() can
466         be used for poll rec lists.
467
468         * glib/grel.c: removed mem chunk usage, and allocated tuples via g_slice_*().
469         g_relation_destroy(): free all tuples from the all_tuples hash table,
470         this effectively maintains the life time track keeping of tuples.
471         g_relation_delete_tuple(): free tuples which are removed from the
472         all_tuples hash table. this fixes a temporary leak that was present
473         in the memchunk code until the destruction of the relation.
474
475 2005-10-29  Matthias Clasen  <mclasen@redhat.com>
476
477         * tests/convert-test.c: Add some tests for conversions between
478         UTF-8, UCS-4 and UTF-16.
479
480         * glib/gutf8.c (g_utf8_to_ucs4, g_utf8_to_utf16): Fix handling
481         of len == -1, noticed by Morten Welinder.
482
483 2005-10-27  Erdal Ronahi  <erdal.ronahi@gmail.com>
484
485         * configure.in: Added ku (Kurdish) to ALL_LINGUAS
486
487 2005-10-26  Matthias Clasen  <mclasen@redhat.com>
488
489         * glib/gutf8.c (g_ucs4_to_utf8): Don't set items_read twice
490         in the error case, and add some documentation.  (#319806, Morten
491         Welinder)
492
493 2005-10-19  Manish Singh  <yosh@gimp.org>
494
495         * configure.in: Use AC_CHECK_FUNCS for _NSGetEnviron, to get the
496         config.h symbol automatically. Fixes bug #313731.
497
498 2005-10-19  Tor Lillqvist  <tml@novell.com>
499
500         * glib/gwin32.c (g_win32_get_package_installation_directory):
501         Return a g_strdup()ed copy of the value stored in the hash table,
502         so that it can be g_free()d without leaving a dangling pointer in
503         the hash table. (#319232)
504
505 2005-10-06  Matthias Clasen  <mclasen@redhat.com>
506
507         * glib/gunicollate.c (g_utf8_collate_key_for_filename): Handle
508         all-zero sequences correctly.  (#317930, Sebastien Bacher)
509
510 2005-10-05  Matthias Clasen  <mclasen@redhat.com>
511
512         * glib/gmarkup.c (g_markup_escape_text): Doc addition
513
514         * Makefile.am: Add Collation tests.
515
516         * tests/collate/*: Inputs and expected outputs for collation tests.
517
518         * tests/run-collate-tests.sh: Script to run collation tests.
519
520         * tests/unicode-collate.c (main): Rework slightly to make
521         it usable in unit tests. Also test g_utf8_collate_key_for_filename().
522
523 2005-10-01  Behdad Esfahbod  <behdad@gnome.org>
524
525         * docs/reference/glib/tmpl/unicode.sgml:
526         * glib/gen-unicode-tables.pl:
527         * glib/gunibreak.h:
528         * glib/gunichartables.h:
529         * glib/gunicode.h:
530         * tests/casefold.txt:
531         * tests/casemap.txt: Updated to Unicode 4.1.  There are five new
532         GUnicodeBreakType types.  That may break some applications, like
533         Pango <= 1.10.
534
535 2005-09-26  Matthias Clasen  <mclasen@redhat.com>
536
537         * glib/gstrfuncs.c (g_ascii_strtoull): Add details to the 
538         docs.  (#314393, Matthew F. Barnes)
539
540         * glib/glib.symbols:
541         * glib/gprintf.h: Remove g_snprintf() and g_vsnprintf(), since
542         they are already declared in glib.h. This doesn't break documented
543         use of gprintf.h, but should probably be pointed out in the 
544         release notes for 2.10. (#314232, Behdad Esfahbod)
545
546 Tue Sep 20 13:16:04 2005  Tim Janik  <timj@imendio.com>
547
548         * glib/gpattern.c (g_pattern_ph_match): applied significant recursion
549         complexity optimization, based on a patch from Matthias Clasen.
550
551         * tests/patterntest.c: more tests, mostly from matthias.
552
553 2005-09-20  Matthias Clasen  <mclasen@redhat.com>
554
555         * glib/gqueue.c (g_queue_insert_sorted): Correct the docs.
556         (#316703, Mark Drago)
557
558 Mon Sep 19 17:23:23 2005  Tim Janik  <timj@imendio.com>
559
560         * glib/gpattern.c: applied a patch from matthias which checks on the
561         upper bound of GPatternSpec length to optimize matches.
562         cosmetic fixups.
563
564         * tests/patterntest.c: added more match cases.
565
566 2005-09-16  Tor Lillqvist  <tml@novell.com>
567
568         * glib/gstrfuncs.c (g_ascii_strcasecmp, g_ascii_strncasecmp): Add
569         warning to doc comment that these functions should not be used on
570         encodings like CP932.
571
572 2005-09-14  Matthias Clasen  <mclasen@redhat.com>
573
574         * tests/keyfile-test.c: Add a test for grup names of length 1.
575
576         * glib/gkeyfile.c (g_key_file_line_is_group): Accept group names
577         of length 1.  (#316309)
578         
579 2005-09-12  Matthias Clasen  <mclasen@redhat.com>
580
581         * glib/gmarkup.c (g_markup_escape_text): Clarify docs.
582
583 2005-09-11  Sebastian Wilhelmi  <seppi@seppi.de>
584
585         * tests/refcount/Makefile.am (INCLUDES): Link the the refcount
586         tests to the system thread library $(G_THREAD_LIBS). Fixes #313744
587         and #314217.
588
589 2005-09-11  Kjartan Maraas  <kmaraas@gnome.org>
590
591         * glib/gmain.c: (g_child_watch_prepare), (g_child_watch_check),
592         (child_watch_helper_thread): Remove some dead code. Closes
593         bug #315278.
594
595 2005-09-07  Tor Lillqvist  <tml@novell.com>
596
597         * glib/Makefile.am: Create also a console version of the
598         gspawn-win32-helper program, gspawn-win32-helper-console.exe.
599         It's otherwise identical to gspawn-win32-helper.exe, except marked
600         as a console application (linked without the -mwindows option).
601         
602         * glib/gspawn-win32.c (do_spawn_directly, do_spawn_with_pipes):
603         Drop the dont_wait parameter. Its truth value correlated 100% with
604         the NULLness of the exit_status parameter anyway, so it's enough
605         to check whether exit_status is NULL. Invert the sense of the
606         dont_return_handle parameter and rename it to do_return_handle, to
607         make the code easier to read by avoiding double negations.
608
609         (g_spawn_sync_utf8, g_spawn_async_with_pipes_utf8): Modify calls
610         to do_spawn_with_pipes() accordingly.
611
612         (do_spawn_with_pipes): If we have a console, use the console
613         version of the helper program, otherwise use the GUI one. This
614         avoids extra console windows opening up in some situations. (In
615         case a console application uses the GUI gspawn-win32-helper.exe to
616         spawn another console application we would get a separate console
617         for the spawned console application).
618
619         * glib-zip.in: Distribute also gspawn-win32-helper-console.exe.
620
621 2005-09-05  Matthias Clasen  <mclasen@redhat.com>
622
623         * glib/gmappedfile.c (g_mapped_file_new): Report an error
624         if the file is too large.  (#315275, Kjartan Maraas)
625
626         * glib/gkeyfile.c (g_key_file_load_from_fd): The return value
627         of read() is signed.  (#315273, Kjartan Maraas)
628         
629 2005-08-31  Tor Lillqvist  <tml@novell.com>
630
631         * glib/gutils.h: Wrapping atexit() is a bad idea on Windows, where
632         the EXE and each DLL have their own atexit function chains.
633
634         #define g_atexit as atexit instead. This means it has a
635         better chance of doing what the caller wants. For instance,
636         gtkhtml calls g_atexit() registering a function in gtkhtml
637         itself. This caused a crash when g_atexit() was implemented as a
638         function in the GLib DLL. The gtkhtml DLL was already unloaded by
639         the time the GLib DLL got unloaded.
640
641         * glib/gutils.c: #undef the #define mentioned above, to also get a
642         real g_atexit() into the DLL for backward compatibility. Document
643         the Windows behaviour of g_atexit(), and document the varying ways
644         atexit() can behave in the context of dynamically loaded modules
645         on Unix.
646
647 2005-08-31  Matthias Clasen  <mclasen@redhat.com>
648
649         * glib/glib.symbols: 
650         * glib/gquark.h: 
651         * glib/gdataset.c: Add string interning functions.
652
653 2005-08-28  Matthias Clasen  <mclasen@redhat.com>
654
655         * glib/giochannel.c: Unify some near-duplicate strings. (#314654,
656         Clytie Siddall)
657         
658 2005-08-26  Matthias Clasen  <mclasen@redhat.com>
659
660         * configure.in: Bump version to 2.9.0
661
662 2005-08-25  Tor Lillqvist  <tml@novell.com>
663
664         Make also the g_spawn*() functions take parameters in the GLib
665         file name encoding, i.e. UTF-8, on Windows. Has no impact on Unix
666         API or ABI. Like the other GLib API that was earlier changed to
667         use UTF-8 on Windows, the names of the functions that take UTF-8
668         have _utf8 suffixes added by using preprocessor macros in the
669         header file. The old names are kept for functions with the old
670         behaviour, taking parameters in the system codepage, for DLL ABI
671         stability.
672         
673         * glib/gspawn.h: On Win32 add the suffix _utf8 to the names of the
674         g_spawn*() functions.
675         
676         * glib/gspawn-win32.c: Use wide-char API on NT-based
677         Windows. Convert parameters from UTF-8 to wide chars (NT) or
678         system codepage (Win9x) and call the C library _wspawn*() or
679         spawn*() functions respectvely. Add DLL ABI stability versions
680         that take parameters in the system codepage.
681
682         * glib/gspawn-win32-helper.c: On NT-based Windows use the
683         wide-char versions of argv and envp, and use wide-char API to
684         change directory and spawn the program to run. Remove the verbose
685         debugging output, it was too complex to modify for the wide-char
686         features. (Just add temporary debugging printouts if needed, no
687         need to have them permanently in the source.)
688
689         * glib/gspawn.c: Corresponding documentation updates.
690
691         * glib/glib.symbols: Corresponding changes: Mark the ABI stability
692         symbols as PRIVATE, add the new _utf8-suffixed ones.
693
694 2005-08-24  Stepan Kasal  <kasal@ucw.cz>
695
696         * glib/gtypes.h (G_MININT64): Cast the constant to gint64; it is
697         guint64 otherwise and that can produce warnings about comparison
698         between signed and unsigned.
699
700 2005-08-23  Matthias Clasen  <mclasen@redhat.com>
701
702         * glib/gutils.c: Fix the crt_externs.h include.
703
704 2005-08-23  Stepan Kasal  <kasal@ucw.cz>
705
706         * NEWS: Fix spelling of my first name.
707
708 2005-08-23  Matthias Clasen  <mclasen@redhat.com>
709
710         * Bump version
711
712         * === Released 2.8.1 ===
713
714         * NEWS: Updates
715
716 2005-08-20  Hans Breuer  <hans@breuer.org>
717
718         * glib/makefile.msc.in : link with ws2_32.lib
719
720 2005-08-18  Tor Lillqvist  <tml@novell.com>
721
722         * configure.in: Check for <sys/wait.h>
723
724         * glib/gbacktrace.c: Include <sys/wait.h> on if HAVE_SYS_WAIT_H.
725
726 2005-08-18  Ross Burton  <ross@burtonini.com>
727
728         * glib/gstring.c:
729         Optimise single-character insertions.
730         
731         * glib/gutf8.c:
732         Note copied code.
733         
734         * tests/string-test.c:
735         Add tests for new optimisation, and fix a leak.
736
737 2005-08-17  Matthias Clasen  <mclasen@redhat.com>
738
739         * configure.in: Check for crt_externs.h and _NSGetEnviron.
740
741         * glib/gutils.c: On Darwin, include crt-externs.h and
742         define environ using _NSGetEnviron().  (#313731)
743
744 2005-08-16  Stepan Kasal  <kasal@ucw.cz>
745
746         * glib/gutils.c (g_get_any_init): Move the body of the big if...
747         (g_get_any_init_do): ... to this new function.
748         (g_get_any_init): Declare as inline.
749         (g_get_any_init_locked): New inline function, does the locking.
750         Make use of these two throughout the code.
751
752 2005-08-15  Matthias Clasen  <mclasen@redhat.com>
753
754         * glib/gbacktrace.c (g_on_error_stack_trace): Wait for
755         the child process and then simply return. This makes 
756         The "S" option work as documented in g_on_error_query().
757         (#313125, Matthew F. Barnes)
758
759         * glib/gunicode.h: Update the link to Unicode category
760         values.  (#313369, Behnam Esfahbod)
761
762         * glib/gqueue.c (g_queue_find_custom): Clarify docs
763         a little.  (#311727, Tristan van Berkom)
764
765         * glib/abicheck.sh, gobject/abicheck.sh: Make the 
766         check work on ia64 too, where some symbols ended up 
767         in yet another section.
768