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