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