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