Updated Georgian translation
[platform/upstream/glib.git] / ChangeLog
1 2006-03-20  Vladimer Sichinava  <vlsichinava@gmail.com>
2
3         * configure.in: Added "ka" (Georgian) to ALL_LINGUAS
4
5 =======
6 2006-03-20  Matthias Clasen  <mclasen@redhat.com>
7
8         * glib/gmem.c (profiler_log): use standard_calloc to allocate
9         the profile_data.  (#335209, Chris Wilson)
10
11         * glib/gmain.c (g_main_context_unref): Avoid a deadlock.
12         (#335207, Chris Wilson)
13
14         Minor optimizations (#335216, Chris Wilson):
15         
16         * glib/gasyncqueue.c (g_async_queue_pop_intern_unlocked): Use
17         g_queue_peek_tail_link instead of g_queue_peek_tail.  
18
19         * glib/glist.c: 
20         * glib/gslist.c: Avoid some memset calls. 
21
22 2006-03-19  Matthias Clasen  <mclasen@redhat.com>
23
24         * MAINTAINERS: Add this, at the request of the GNOME sysadmin team.
25
26 >>>>>>> 1.2267
27 2006-03-15  Matthias Clasen  <mclasen@redhat.com>
28
29         * glib/goption.c (g_option_context_parse): Only set the prgname
30         if it hasn't been set before.  (#334611, Chong Kai Xiong)
31
32 2006-03-14  Matthias Clasen  <mclasen@redhat.com>
33
34         * glib/gutils.c (g_parse_debug_string): Don't read past the
35         end of the string.  (#334471, Morten Welinder)
36
37         * tests/testglib.c (test_g_parse_debug_string): Add testss
38         for g_parse_debug_string.
39
40         * glib/goption.c (parse_short_option): Don't create the
41         option_name twice.  (#334519, Chris Wilson)
42
43 2006-03-13  Anders Carlsson  <andersca@luminoth.local>
44
45         * configure.in: Revert fix for #322476, it breaks module loading
46         since libtool on darwin makes shared modules use .so and shared
47         libraries use .dylib. The fix breaks shared module loading everywhere
48         in GTK+.
49
50 2006-03-02  Marcus Brinkmann  <mb@g10code.de>
51
52         Implement watches for GIOChannels for write file descriptors on
53         Win32 (#333098).
54         
55         * glib/giowin32.c (GIOWin32Channel): Add a new direction field.
56         (read_thread): Initialize direction.
57         (write_thread): New function.
58         (buffer_write): New function.
59         (g_io_win32_prepare): Handle the G_IO_WIN32_FILE_DESC case for the
60         write direction.
61         (g_io_win32_fd_write): Call buffer_write() if there is a writer
62         thread.
63         (g_io_win32_fd_close): Set space_avail_event for writer threads.
64         (g_io_win32_fd_create_watch): Create the writer thread if
65         condition is G_IO_OUT.
66         (g_io_channel_win32_make_pollfd): Likewise here.
67
68 2006-03-09  Matthias Clasen  <mclasen@redhat.com>
69
70         * Makefile.am: Add ChangeLog.pre-2.8 to EXTRA_DIST.
71
72 2006-03-08  Tor Lillqvist  <tml@novell.com>
73
74         * glibconfig.h.win32.in: Add G_GUINT64_CONSTANT.
75
76 2006-03-07  Matthias Clasen  <mclasen@redhat.com>
77
78         * configure.in: Bump version
79
80         * ===  Released 2.10.1 ===
81
82         * NEWS: Updates.
83
84         * glib/gutf8.c (_g_charset_get_aliases): Match the prototype
85         in gconvert.c to fix build problems in NetBSD.  (#333651,
86         Julio M. Merino Vidal)
87
88 2006-03-06  Anders Carlsson  <andersca@imendio.com>
89
90         * configure.in:
91         Make .dylib the shared library suffix on darwin.
92         (#322476, Vladimir Panov)
93         
94 2006-03-06  Anders Carlsson  <andersca@imendio.com>
95
96         * configure.in:
97         Skip checking thread flags on Darwin. Fix suggested by Manish Singh.
98         (#314794, Gregor Riepl)
99         
100 2006-03-01  Tor Lillqvist  <tml@novell.com>
101
102         * glib/gutils.c (g_listenv): Separate implementation on Win32: Use
103         the wide character API on NT-based Windows. Return UTF-8 strings.
104
105         * glib/glib.symbols: Don't mark g_listenv as PRIVATE, as that
106         meant it wasn't present in the import library. PRIVATE is used
107         only for the backwards-compatibility DLL ABI stability hacks.
108
109 2006-02-24  Matthias Clasen  <mclasen@redhat.com>
110
111         * configure.in: Bump version
112
113         * === Released 2.10.0 ===
114
115         * README.in: Mention the slice allocator and GInitiallyUnowned.
116
117         * NEWS: Updates
118
119         * configure.in: Bump version to 2.10.0
120
121         * tests/utf8-pointer.c: Add tests for g_utf8_strlen().
122
123         * glib/gutf8.c: Fix boundary cases in g_utf8_strlen().
124         (#332435)
125
126 2006-02-23  Kjartan Maraas  <kmaraas@gnome.org>
127
128         * tests/completion-test.c: (main): Plug leaks reported by
129         valgrind.
130         * tests/convert-test.c: (test_iconv_state), (test_one_half):
131         Same.
132         * tests/patterntest.c: (test_compilation): Same
133         * tests/shell-test.c: (do_argv_test): Same.
134         * tests/unicode-caseconv.c: (main): Same.
135         * tests/uri-test.c: (run_to_uri_tests): Same.
136         Closes bug #332093.
137
138 2006-02-19  Martyn Russell  <martyn@imendio.com>
139         
140         * tests/asyncqueue-test.c: 
141         * tests/list-test.c: 
142         * tests/slist-test.c: Updated to test _sort, _sort_with_data,
143         _insert_sorted and _insert_sorted_with_data API. 
144
145 2006-02-18  Matthias Clasen  <mclasen@redhat.com>
146
147         * tests/gobject/Makefile.am: Add paramspec-test
148
149         * tests/gobject/paramspec-test.c: Some GParamSpec tests. 
150
151         * tests/gobject/gvalue-test.c: Add more tests.
152
153 2006-02-17  Kang Jeong-Hee  <keizie@gmail.com>
154
155         * glib/gutf8.c (g_utf8_find_prev_char): Correct documentation typo.
156
157 2006-02-15  Sebastian Wilhelmi  <seppi@seppi.de>
158
159         * glib/gthreadpool.c: Fix deadlock when signalling the thread
160         which freed a thread pool (#331110, Chris Wilson).
161
162 Tue Feb 14 17:00:43 2006  Tim Janik  <timj@imendio.com>
163
164         * glib/gslice.c: only define _XOPEN_SOURCE to 600 to get at 
165         posix_memalign() in case we actually are going to use it, because
166         we detected a compliant implementation (#328997).
167
168         * configure.in (enable_included_printf): don't include malloc.h when
169         testing for posix_memalign() funcitonality, since this may break the 
170         test on some systems (#328997).
171
172 2006-02-14  Matthias Clasen  <mclasen@redhat.com>
173
174         * glib/gstrfuncs.c: Improve docs.
175
176 2006-02-11  Matthias Clasen  <mclasen@redhat.com>
177
178         * configure.in: Bump version
179
180 2006-02-10  Matthias Clasen  <mclasen@redhat.com>
181
182         * === Released 2.9.6 ===
183
184         * NEWS: Updates
185
186 2006-01-31  Behdad Esfahbod  <behdad@gnome.org>
187
188         * docs/reference/glib/tmpl/relations.sgml (g_relation_insert): Specify
189         the type of varargs arguments. (bug #317679)
190
191 2006-01-31  Matthias Clasen  <mclasen@redhat.com>
192
193         * autogen.sh: Touch README and INSTALL here to pacify 
194         automake.  (#329124, Kjartan Maraas, Tim Janik)
195         
196 Tue Jan 31 16:45:03 2006  Tim Janik  <timj@imendio.com>
197
198         * glib/gdataset.c: carry out all dtalist pointer accesses atomically,
199         some missing cases where pointed out by Sebastian Wilhelmi.
200
201 Tue Jan 31 12:33:48 2006  Tim Janik  <timj@imendio.com>
202
203         * configure.in: generate build/win32/vs8/Makefile, to fix build breakage.
204
205 2006-01-30  David Schleef  <ds@schleef.org>
206
207         * glib/grand.c: Update URL
208
209 2006-01-29  Sven Herzberg  <herzi@gnome-de.org>
210
211         * docs/reference/gobject/tmpl/param_value_types.sgml: tell how to
212         create container classes which are as flexible as a GValue is
213
214 2006-01-27  Matthias Clasen  <mclasen@redhat.com>
215
216         * configure.in: Bump version
217
218         * === Released 2.9.5 ===
219
220         * glib/glib.symbols: Add g_mem_gc_friendly as an exported
221         variable.
222
223         * NEWS: Updates
224
225 2006-01-26  Matthias Clasen  <mclasen@redhat.com>
226
227         * glib/gmem.c (g_mem_init_nomessage): Fix C99isms.  (#328705, 
228         Kazuki Iwamoto)
229
230 Wed Jan 25 19:16:57 2006  Tim Janik  <timj@imendio.com>
231
232         * fixed buglets reported by Jens Granseuer in #328254.
233
234         * configure.in: free the memory allocated in posix_memalign() tests.
235
236         * glib/gslice.c: spelling fixes.
237
238 Wed Jan 25 16:39:18 2006  Tim Janik  <timj@imendio.com>
239
240         * glib/gslice.c: honour g_mem_gc_friendly settings when freeing
241         slices, make sure g_mem_gc_friendly is properly initialized.
242
243         * gmem.[hc]: ensure g_mem_gc_friendly is initialized from G_DEBUG upon
244         the first allocation. applied some branching optimizations.
245
246         * docs/macros.txt: reflected --enable-gc-friendly change and
247         described ENABLE_GC_FRIENDLY_DEFAULT as well as G_DEBUG=gc-friendly.
248
249         * configure.in: changed --enable-gc-friendly=yes to define
250         ENABLE_GC_FRIENDLY_DEFAULT.
251
252         * glib/garray.c: changed ENABLE_GC_FRIENDLY macro #ifdef-s to
253         if (G_UNLIKELY (g_mem_gc_friendly)).
254
255         * glib/gtree.c:
256         * glib/ghash.c: removed ENABLE_GC_FRIENDLY code which is now taken
257         care of by g_slice_free1().
258
259         * tests/slice-test.c: fixed leaks, reported by Kjartan Maraas.
260
261 Tue Jan 24 17:49:36 2006  Tim Janik  <timj@imendio.com>
262
263         * glib/gslice.c: only use posix_memalign() if it's known to work,
264         revert to memalign() otherwise.
265
266         * configure.in: check for broken posix_memalign() implementations
267         to fix #328254.
268
269 2006-01-24  Matthias Clasen  <mclasen@redhat.com>
270
271         * tests/unicode-encoding.c: Use UTF-16LE as target encoding
272         on all little-endian systems.  (#143380, Marc Moorcroft)
273
274 2006-01-23  Matthias Clasen  <mclasen@redhat.com>
275
276         * configure.in: Change the shared libary extension for hpux-ia64
277         to so.  (#328253, The Written Word)
278
279 Mon Jan 23 17:30:33 2006  Tim Janik  <timj@imendio.com>
280
281         * glib/gutils.c (_g_getenv_nomalloc): wiped out all the wonderfull
282         G_OS_WIN32 code i wrote ;-[) after tml told me windows has getenv()
283         as well.
284
285 Mon Jan 23 16:46:20 2006  Tim Janik  <timj@imendio.com>
286
287         * glib/gslice.c (slice_config_init): initialize GSlice config from
288         G_SLICE environment variable. we support G_SLICE=always-malloc
289         currently, which forces all g_slice_*() allocations to use the system
290         malloc instead.
291
292         * glib/gutils.c: 
293         g_parse_debug_string(): added a note about not using g_malloc() here.
294         _g_getenv_nomalloc(): getenv() variant that doesn't use g_malloc or 
295         g_slice. contains only guesswork in the WIN32 branch.
296
297 2006-01-18  Matthias Clasen  <mclasen@redhat.com>
298
299         * Bump version
300         
301         * === Released 2.9.4 ===
302
303         * NEWS: Updates
304
305 2006-01-17  Matthias Clasen  <mclasen@redhat.com>
306
307         * glib/gkeyfile.c (g_key_file_get_groups): Correct a g_new0()
308         call.  (#327421, Morten Welinder)
309
310 2006-01-17  Sebastian Wilhelmi  <seppi@seppi.de>
311
312         * glib/gthreadpool.c: To avoid deadlocks get rid of the settings
313         G_LOCK. Use the unused_thread_queue lock instead. Change
314         g_thread_pool_thread_proxy such that threads only wait on
315         non-exlusive pools for at most a 1/2 second. Do not reorder tasks
316         due to superfluous tasks. Global tasks wait at most for
317         max-idle-time milliseconds. Make sure, that no task is woken up
318         twice for the same event via a wakeup_serial. This fixes #324228.
319
320         * tests/threadpool-test.c: Adapt test accordingly. Do not pass
321         invalid NULL into the thread pools. This as well fixes #327290.
322
323 2006-01-16  Matthias Clasen  <mclasen@redhat.com>
324
325         * configure.in: Bump version
326
327         * === Released 2.9.3 ===
328
329         * NEWS: Updates
330
331         * glib/gthread.h (g_static_mutex_get_mutex_impl_shortcut): 
332         Rework the strict aliasing fix to not break C++, pointed
333         out by Murray Cumming.
334         
335         * glib/gasyncqueue.c (g_async_queue_push_sorted_unlocked):
336         Signal waiting threads, problem noticed by Christian Kellner.
337
338 2006-01-16  Matthias Clasen  <mclasen@redhat.com>
339
340         Fix bug 326747, Alberto Ruiz:
341         
342         * glib/gconvert.c (make_valid_utf8): Change this function to
343         replace unknown characters by the Unicode replacement character
344         instead of '?', and don't append "(invalid encoding)".
345         (g_filename_display_name, g_filename_display_basename): Document
346         how to determine if the filename was in an invalid encoding.
347
348 2006-01-14  Matthias Clasen  <mclasen@redhat.com>
349
350         * glib/gtree.c: Replace the simple recursive implementation
351         by a nonrecursive, threaded implementation by Maurizio 
352         Monge.  (#169285)
353
354 2006-01-12  Matthias Clasen  <mclasen@redhat.com>
355
356         * tests/asyncqueue-test.c (main): Fix the
357         assert to not always trigger.  (#326558, 
358         Daichi Kawahata)
359
360 2006-01-11  Matthias Clasen  <mclasen@redhat.com>
361
362         * tests/convert-test.c: Don't test items_read and
363         items_written in error cases where it is not set.
364
365         * tests/asyncqueue-test.c: Set error to NULL.
366
367 2006-01-08  Matthias Clasen  <mclasen@redhat.com>
368
369         * glib/gtree.c: Break some long lines.
370
371         * tests/tree-test.c: Add more tests.
372
373         * glib/gslice.c: Include config.h first, pointed out
374         by Bogdan Nicula.
375
376 2005-12-20  Sven Herzberg  <herzi@gnome-de.org>
377
378         * docs/reference/gobject/tmpl/gtype.sgml: explain that
379         G_TYPE_INSTANCE_GET_CLASS() does behave different during
380         initialization
381
382 2006-01-06  Matthias Clasen  <mclasen@redhat.com>
383
384         * glib/gslice.c: Only define _XOPEN_SOURCE if we know
385         that we have posix_memalign().  (#323937, Bogdan Nicula)
386
387 2006-01-05  Matthias Clasen  <mclasen@redhat.com>
388
389         * configure.in: Bump version
390
391         * === Released 2.9.2 ===
392
393 2006-01-05  Hans Breuer  <hans@breuer.org>
394
395         * glib/makefile.msc.in : added gslice.obj
396
397 2006-01-05  Matthias Clasen  <mclasen@redhat.com>
398
399         * NEWS: Updates
400
401         * glib/gmain.c: Clarify the documentation of source ids
402         a bit.  (#325874, Dan Williams)
403
404         * configure.in: Fix another strict aliasing problem.
405
406         * glib/gthreadpool.c: Avoid use of varargs macro.  (#325864,
407         Kazuki IWAMOTO)
408
409 2006-01-04  Manish Singh  <yosh@gimp.org>
410
411         * glib/glib.symbols
412         * glib/gstdio.h: don't macroized g_access, g_chdir, and g_unlink
413         either, since they have the same issue as g_rmdir. (Related to
414         bug #325249)
415
416 Wed Jan  4 13:33:25 2006  Tim Janik  <timj@gtk.org>
417
418         * glib/gslice.c (magazine_cache_pop_magazine): don't reverse chunk 
419         order when creating magazines, so we hand out chunks with ascending
420         adresses.
421
422 2006-01-04  Abel Cheung  <maddog@linuxhall.org>
423
424         * configure.in: Added "ml" "zh_HK" to ALL_LINGUAS.
425
426 2006-01-03  Martyn Russell  <martyn@imendio.com>
427
428         * docs/reference/glib/glib-sections.txt:
429         * glib/glib.symbols:
430         * glib/gthreadpool.[ch]:
431         - Added new API g_thread_pool_get_idle_time() and
432         g_thread_pool_set_idle_time(). (#324228).
433         
434         * tests/threadpool-test.c: 
435         - Updated test case to do thread pool sorting, thread pool with
436         no sorting and a thread pool with idle thread timeouts.
437         
438 2006-01-03  Matthias Clasen  <mclasen@redhat.com>
439         
440         * glib/gmain.h: Add new functions here, too.
441
442         * glib/glib.symbols: Add new functions.
443
444 2005-12-20  Michael Meeks  <michael.meeks@novell.com>
445
446         * glib/gmain.c (g_main_context_is_owner): new method
447         to determine if the current thread is the owner of the
448         context.
449
450 2006-01-02  Matthias Clasen  <mclasen@redhat.com>
451
452         * glib/glib.symbols: 
453         * glib/gstdio.h: 
454         * glib/gstdio.c (g_rmdir): Don't provide g_rmdir() as a macro
455         expanding to rmdir, since rmdir is not declared in a portable
456         system header we can include in gstdio.h.  (#325249, Jani Monoses)
457
458 2006-01-01  Tor Lillqvist  <tml@novell.com>
459
460         * glib/gspawn-win32.c (g_spawn_sync_utf8): Set the GIOChannels for
461         stdout and stderr to unbuffered. Otherwise the giochannel layer
462         will try to read from them regardless whether the
463         g_io_channel_win32_poll() call here has indicated
464         readability or not. (#325310)
465
466 2005-12-29  Matthias Clasen  <mclasen@redhat.com>
467
468         * glib/gutils.c (glib_check_version): Fix a copy-and-paste error
469         in the docs.  (#325273, Declan Naughton)
470
471 2005-12-27  Manish Singh  <yosh@gimp.org>
472
473         * tests/run-collate-tests.sh: use LC_ALL instead of LC_COLLATE, to
474         make sure we really override things.
475
476 2005-12-27  Matthias Clasen  <mclasen@redhat.com>
477         
478         Fix #316221, Michal Benes, Stanislav Brabec;
479
480         * configure.in: Fix a strict aliasing problem in 
481         g_static_mutex_get_mutex(). 
482         * glib/gthread.h: ...and in 
483         g_static_mutex_get_mutex_impl_shortcut().
484
485         * glib/gdatasetprivate.h: Add a cast to silence compiler
486         warnings.  (#321978, Andrew Paprocki)
487
488         Partial fix for bug #323937, Bogdan Nicula.
489
490         * configure.in: Check for malloc.h
491         * glib/gslice.c: Don't include malloc.h unconditionally.
492
493 2005-12-27  Manish Singh  <yosh@gimp.org>
494
495         * tests/run-collate-tests.sh: export LC_COLLATE so it takes.
496         (#324950, Dan Yefimov)
497
498 2005-12-26  Matthias Clasen  <mclasen@redhat.com>
499
500         * glib/gslice.c: On Win32, include process.h  (#325015, Kazuki
501         Iwamoto)
502
503 2005-12-25  Matthias Clasen  <mclasen@redhat.com>
504
505         * AUTHORS: Update my email
506
507         * tests/slice-test.c: Fix C99isms.  (#324950, Dan Yefimov)
508
509 2005-12-21  Matthias Clasen  <mclasen@redhat.com>
510         
511         * README.in: Add some notes on when 'make check' may fail.
512
513 2005-12-20  Matthias Clasen  <mclasen@redhat.com>
514
515         * glib/glib.symbols: 
516         * glib/gthreadpool.h: 
517         * glib/gthreadpool.c (g_thread_pool_set_sort_function): New function
518         to sort tasks pushed into a threadpool.  (#324479, Martyn Russell)
519
520         * tests/threadpool-test.c: Test this.
521
522 Tue Dec 20 18:14:14 2005  Tim Janik  <timj@imendio.com>
523
524         * glib/gslice.[hc]: added mem_error() and mem_assert() to test and 
525         handle  errors without depending on gmessage.c which might not be
526         setup when the error occours.
527         removed G_SLICE_CONFIG_ALWAYS_FREE config option, fixed the code so
528         always freeing can be achieved by adjusting the working set time to
529         0 with G_SLICE_CONFIG_WORKING_SET_MSECS.
530         added G_SLICE_CONFIG_COLOR_INCREMENT to test different color increments
531         (mainly 0 and 1). reduced the minimum block size to 128 bytes, to
532         minimize wastage if small amounts of differently sized structrues are
533         allocated, this does come at a performance cost of roughly 5% though.
534         fixed up block alignment calculation, so it works for varying
535         block sizes. only use strerror() not g_strerror() since the latter
536         depends on working GQuark and GSlice.
537         mem_error(): implemented in terms of fprintf and vfprintf.
538
539         * tests/slice-color.c: new program to test cache colorization effects.
540
541         * tests/slice-test.c: trade G_SLICE_CONFIG_ALWAYS_FREE for 0 duration
542         G_SLICE_CONFIG_WORKING_SET_MSECS.
543
544 2005-12-17  Matthias Clasen  <mclasen@redhat.com>
545
546         * glib/goption.c (parse_short_option): Set an error in all
547         failure cases.  (#324332, Tim-Philipp Müller) 
548
549 2005-12-17  Sebastian Wilhelmi  <seppi@seppi.de>
550
551         * glib/gatomic.c: Fix memory barrier position in g_atomic_int_get
552         and g_atomic_pointer_get. Add g_atomic_int_set and
553         g_atomic_pointer_set implementations for the !DEFINE_WITH_MUTEXES &&
554         G_ATOMIC_OP_MEMORY_BARRIER_NEEDED case, as well as defining them
555         as functions (additionally to the macros in the header) for the 
556         !G_ATOMIC_OP_MEMORY_BARRIER_NEEDED case.
557
558 2005-12-16  Matthias Clasen  <mclasen@redhat.com>
559
560         *  glib/gmem.c (g_allocator_new): Don't return a pointer to
561         a const struct, since apps expect to be able to modify it. 
562         (#324179, J. Ali Harlow)
563
564 Tue Dec 13 10:13:32 2005  Tim Janik  <timj@imendio.com>
565
566         * glib/gatomic.h: added g_atomic_pointer_set() and g_atomic_int_set()
567         for systems where the initialization of atomic variables requires a
568         write memory barrier.
569
570 2005-12-09  Matthias Clasen  <mclasen@redhat.com>
571
572         * configure.in: Bump version
573
574         * === Released 2.9.1 ===
575
576 2005-12-09  Alexander Larsson  <alexl@redhat.com>
577
578         * glib/glist.h: 
579         * glib/gslist.h:
580         Use G_GNUC_WARN_UNUSED_RESULT on list functions that return
581         the whole list.
582
583 2005-12-08  Matthias Clasen  <mclasen@redhat.com>
584
585         * NEWS: Updates
586
587 2005-12-07  Martyn Russell  <martyn@imendio.com>
588
589         * glib/gasyncqueue.c:
590         - Call g_queue_insert_sorted() instead of duplicating the code.
591         - Call g_queue_sort() instead of duplicating the code.
592         - Invert sort function results to make sure the same sort function
593         gives the same results across glist, gslist, gqueue and
594         gasyncqueue.
595
596         * tests/asyncqueue-test.c:
597         - Updated the sort function to reflect the example in the
598         documentation for gasyncqueue.c.
599
600 2005-12-07  Martyn Russell  <martyn@imendio.com>
601
602         * docs/reference/glib/glib-sections.txt:
603         * docs/reference/glib/tmpl/linked_lists_double.sgml:
604         * docs/reference/glib/tmpl/linked_lists_single.sgml:
605         * glib/glist.[ch]: 
606         * glib/gslist.[ch]: 
607         - Added g_list_insert_sorted_with_data () and
608         g_slist_insert_sorted_with_data ().
609         - Removed the extra check in g_list_sort() and g_slist_sort() for
610         GCompareDataFunc vs. GCompareFunc.
611         
612 2005-12-07  Tor Lillqvist  <tml@novell.com>
613
614         * glib-gettextize.in: Look up prefix at run-time on Win32,
615         assuming the standard directory structure with glib-gettextize in
616         $prefix/bin.
617
618 2005-12-06  Matthias Clasen  <mclasen@redhat.com>
619
620         * glib/gmem.h: Exempt GTK+ from the mem chunk deprecation, since
621         we need GTK+ 2.8 to compile against GLib 2.10.
622
623 2005-12-05  Manish Singh  <yosh@gimp.org>
624
625         * tests/run-collate-test.sh: set LC_COLLATE, not LANG, to be sure
626         to override any user settings.
627
628 2005-12-05  Matthias Clasen  <mclasen@redhat.com>
629
630         * configure.in: Revert an accidential commit
631
632 2005-12-05  Matthias Clasen  <mclasen@redhat.com>
633
634         * glib/gutf8.c: Documentation updates.  (#323291, Morten Welinder)
635
636         * tests/Makefile.am (TESTS_ENVIRONMENT): 
637         * tests/gobject/Makefile.am (TESTS_ENVIRONMENT): Set
638         MALLOC_CHECK_ and MALLOC_PERTURB_
639
640         * tests/run-collate-tests.sh: Run the collation tests explicitly 
641         in en_US locale. (#320463)
642
643         * glib/gmem.h: Really deprecate GMemChunk.
644
645         * glib/gdate.c: 
646         * glib/gutils.c: 
647         * glib/gtree.c: 
648         * glib/gstring.c: 
649         * glib/giochannel.c: 
650         * glib/gstrfuncs.c: Add versioned deprecation docs. 
651
652 2005-12-05  Martyn Russell  <martyn@imendio.com>
653
654         * docs/reference/glib/glib-sections.txt:
655         * glib/gasyncqueue.[ch]:
656         - Added support for sorting async queues by with _push_sorted(),
657         _push_sorted_unlocked(), _sort() and _sort_unlocked() (#323047).
658         
659         * tests/Makefile.am:
660         * tests/asyncqueue-test.c:
661         - Added test case for gasyncqueue.c
662
663 Mon Dec  5 15:53:20 2005  Tim Janik  <timj@imendio.com>
664
665         * glib/gslice.c: implement chain walking for arbitrary ->next pointer
666         offsets in g_slice_free_chain_with_offset() based on a patch by behdad
667         in bug 323178. moved time consuming logic from g_slice_free() out of
668         the inner loop, so g_slice_free_chain_with_offset() provides a real
669         performance benefit over g_slice_free1() now.
670         
671         * glib/gslice.h: renamed g_slice_free_chain() to
672         g_slice_free_chain_with_offset(). implemented g_slice_free_chain() as
673         a type-safe macro as suggested in bug 323178.
674         simplified the macro implementation of g_slice_free() and implemented
675         it in a type safe manner for all compliers as suggested by Morten
676         Welinder <mortenw@gnome.org>.
677
678         * glib/gmain.c:
679         * glib/glist.c:
680         * glib/gslist.c:
681         * glib/glib.symbols: s/g_slice_free_chain/g_slice_free_chain_with_offset/
682
683 2005-12-05  Matthias Clasen  <mclasen@redhat.com>
684
685         * glib/gasyncqueue.c: Add some docs.
686
687         * tests/libmoduletestplugin_a.c: Fix compiler warnings.
688
689         * glib/gatomic.c: In the ia64 implementation, use
690         __sync builtin without _si or _di suffix.  (#321229,
691         Stanislav Brabec, patch by Andreas Schwab)
692
693 2005-12-04  Behdad Esfahbod  <behdad@gnome.org>
694
695         * glib/gslice.h: Remove comma at the end of enum.
696
697 2005-12-04  Matthias Clasen  <mclasen@redhat.com>
698
699         Handle multiple user names with the same UID better.
700         (#319535, Laszlo Peter)
701         
702         * glib/gutils.c (g_get_any_init_do): When determining user
703         data, first look up $LOGNAME. If the UID doesn't match
704         getuid(), fall back to the current behaviour of looking
705         up the user data based on getuid().
706
707 2005-12-04  Matthias Clasen  <mclasen@redhat.com>
708
709         * glib/gmacros.h (G_GNUC_WARN_UNUSED_RESULT): Add a macro
710         to make gcc warn if a function result is ignored.  (#145466,
711         Arjan van de Ven, Alex Larsson)
712
713         * glib/gmem.h: Add the new attribute to g_realloc and 
714         g_try_realloc.
715
716 2005-12-03  Matthias Clasen  <mclasen@redhat.com>
717
718         * glib/glib.symbols: 
719         * glib/gcache.h: Deprecate g_cache_value_foreach. (#322956,
720         Nicolas Caniart)
721
722         * glib/gmappedfile.c: Make mapping of empty files
723         work.  (#321530)
724         
725         * glib/gfileutils.c: Don't fork a new process just to 
726         fix the permissions of the created temp file.  (#321318,
727         Alexis S. L. Carvalho)
728
729 2005-12-02  Matthias Clasen  <mclasen@redhat.com>
730
731         * README.in: Add a note about Solaris threads.
732
733         * glib/gspawn.c:
734         * configure.in: Remove support for Solaris threads. 
735         (#136971, Sebastian Wilhelmi, patch by Andrew Paprocki)
736
737 2005-12-02  Matthias Clasen  <mclasen@redhat.com>
738
739         * configure.in: Define G_GUINT64_CONSTANT in analogy to
740         G_GINT64_CONSTANT.  (#322568, Andrew Paprocki)
741
742 2005-12-02  Matthias Clasen  <mclasen@redhat.com>
743
744         * glib/gslice.c: Win32 portability fixes and C99ism removal,
745         pointed out by Kazuki Iwamoto.  (#323052)
746         
747 2005-12-02  Matthias Clasen  <mclasen@redhat.com>
748
749         * glib/gatomic.c (g_atomic_int_add): Add a missing volatile for
750         the IA64 implementation.
751
752 Fri Dec  2 16:18:09 2005  Tim Janik  <timj@imendio.com>
753
754         * glib/gslice.c: some naming and type size fixups.
755
756 Fri Dec  2 13:08:58 2005  Tim Janik  <timj@gtk.org>
757
758         * glib/gslice.h (g_slice_free): reworked GCC-specific type-safe macro
759         variant into something less verbose, but digestible for gcc-3.4.
760
761 Fri Dec  2 10:55:07 2005  Tim Janik  <timj@imendio.com>
762
763         * tests/slice-test.c: extended to perform the benchmarking on the old
764         memchunk code if 'O' is selected.
765
766         * tests/memchunks.c: new file which contains the old GLib mem chunks
767         implementation with prefix old_mem_chunk_.
768
769         * tests/Makefile.am: added memchunks.c
770
771 Fri Dec  2 00:16:59 2005  Tim Janik  <timj@imendio.com>
772
773         * glib/gslice.c: improved gettimeofday() timer resolution by maintaining
774         acceptable load distribution of the syscall.
775         (allocator_get_magazine_threshold): reduce minimum/single-thread magazine
776         sizes to approximately page_size/2.5 to avoid excessive startup allocations.
777
778 2005-12-01  Matthias Clasen  <mclasen@redhat.com>
779
780         * tests/gobject/ifacecheck.c (test_iface_base_init): Don't
781         double-free base interface members.
782
783         * tests/Makefile.am: Remove duplicate variable.
784
785 Thu Dec  1 17:32:46 2005  Tim Janik  <timj@imendio.com>
786
787         * glib/gslice.[hc]: new slice allocator implementation.
788
789         * tests/slice-test.c: added random slice allocation test.
790
791         * glib/gthread.[hc]: removed newly added private thread mem API.
792
793         * glib/gthreadinit.h:
794         * glib/gmessages.c:
795         * glib/gthread.c:
796         * glib/gmem.c: divided glib threading initialisation into three phases,
797         initialisation where private keys and messaging are not available (only
798         needed by gmem.c), initialisation without messaging but private keys
799         available (gslice.c, gmessage.c), and full fledged initialisers that
800         server the rest of glib. initialisation functions got renamed to reflect
801         the limitations of their corresponding phases.
802
803         * glib/gmem.c: removed memchunk code, defer allocations to 
804         g_slice_* instead.
805
806         * glib/gmem.[hc]: removed g_slice_* skeletons.
807
808         * glib/glib.symbols: added g_slice_* symbols.
809
810         * configure.in: check for availability of posix_memalign(3), memalign(3)
811         and valloc(3). 
812
813         * glib/Makefile.am: added gslice.[hc].
814
815 2005-12-01  Tor Lillqvist  <tml@novell.com>
816
817         * glib/gstdio.c (g_stat): In the Win32 implementation, strip
818         trailing slash(es) for non-root folders. stat() fails if non-root
819         folders are specified with trailing slashes. It's too much hassle
820         to demand that callers strip such slashes themselves, especially
821         as it is easy to get it wrong and strip the slash of a root
822         folder.
823         (g_rename): On NT-based Windows, use MoveFileEx() with
824         MOVEFILE_REPLACE_EXISTING to better match Unix behaviour.
825
826 2005-11-28  Matthias Clasen  <mclasen@redhat.com>
827
828         Fix G_STMT_START / G_STMT_END on Solaris.  (#321972,
829         Andrew Paprocki)
830         
831         * configure.in: Check whether do { } while (0) works.
832
833         * glib/gmacros.h: Use do { } while (0) for G_STMT_START / 
834         G_STMT_END if it works.
835         
836 2005-11-28  Matthias Clasen  <mclasen@redhat.com>
837
838         * glib/gthread.c (g_static_rw_lock_wait, g_static_rw_lock_signal): 
839         * glib/gnode.c (g_node_depth_traverse_level): 
840         * glib/gmem.c (g_allocator_new): 
841         * glib/ghash.c (g_hash_table_unref, g_hash_table_destroy) 
842         (g_hash_table_foreach_remove_or_steal): Silence compiler
843         warnings.
844
845 2005-11-27  Matthias Clasen  <mclasen@redhat.com>
846
847         * glib/gunicollate.c (g_utf8_collate_key_for_filename): 
848         Don't read beyond len.  (#322520, Christian Persch)
849
850 Wed Nov 23 17:34:01 2005  Tim Janik  <timj@imendio.com>
851
852         * glib/gdataset.c: access datalist flags via atomic pointer access
853         functions, instead of acquiring the dataset lock. this is faster and
854         also matches the atomic pointer readouts in gdatalistprivate.h and
855         direct pointer modifications required by gobject.c.
856
857 Wed Nov 23 13:35:31 2005  Tim Janik  <timj@gtk.org>
858
859         * glib/gdataset.c: streamlined initialization code somewhat,
860         removed GData node cache.
861
862 2005-11-22  Matthias Clasen  <mclasen@redhat.com>
863
864         * glib/ghash.c (g_hash_table_ref): 
865         (g_hash_table_unref): Mark these as new API.
866
867         Avoid double locking in g_intern_string (#322133,
868         Benedikt Meurer)
869
870         * glib/gdataset.c (g_quark_from_string_internal): New 
871         internal function which factors out common parts of 
872         g_quark_from[_static]_string.
873         (g_quark_from_string, g_quark_from_static_string):
874         Use g_quark_from_string_internal.
875         (g_intern_string, g_intern_static_string): Use
876         g_quark_from_string_internal, and only take the
877         lock once.
878         (g_quark_new): Don't store the strings shifted by -1
879         in the g_quarks array.
880         (g_quark_to_string): Adapt to the previous change.
881
882 Tue Nov 22 14:04:26 2005  Tim Janik  <timj@imendio.com>
883
884         * glib/ghash.h: 
885         * glib/ghash.c: 
886         g_hash_table_new_full(): create hash tables with a ref count of 1.
887         g_hash_table_ref(): atomically ref_count+=1
888         g_hash_table_unref(): atomically ref_count-=1, destroys hash table
889         when refcount reaches 0.
890         g_hash_table_destroy(): just destroy keys and values, unref by 1.
891         g_hash_table_insert(): 
892         g_hash_table_replace(): assert ref_count>0.
893
894         * glib/gatomic.h: 
895         * glib/gatomic.c: added 'volatile' qualifier to all atomic pointer and
896         integer pointers.
897
898 2005-11-20  Behdad Esfahbod  <behdad@gnome.org>
899
900         * glib/guniprop.c (g_unichar_get_mirror_char): Remove unused
901         variables. (#321984, Andrew Paprocki)
902
903 2005-11-18  Matthias Clasen  <mclasen@redhat.com>
904
905         * configure.in: Bump version
906
907 2005-11-17  Matthias Clasen  <mclasen@redhat.com>
908
909         * === Released 2.9.0 ===
910
911         * glib/glib.symbols: Updates
912
913         * glib/gutf8.c (g_utf8_offset_to_pointer): Add some performance
914         hints to the docs. (Paolo Borelli)
915         
916         * NEWS: Updates
917
918         * glib/gthread.c (g_thread_foreach): Mark as new api.
919
920         * README.in: Updates.
921
922         * glib/glib.symbols: 
923         * glib/gdate.h: 
924         * glib/gdate.c (g_date_set_time_t): 
925         (g_date_set_time_val): Add functions to set a date from
926         a time_t and from a GTimeVal.
927         (g_date_set_time): Deprecate.  (#314067, Roger Leigh)
928         
929         * tests/Makefile.am:
930         * tests/utf8-pointer.c: Unit tests for g_utf8_pointer_to_offset
931         and g_utf8_offset_to_pointer.
932
933         * glib/gutf8.c (g_utf8_pointer_to_offset) 
934         (g_utf8_offset_to_pointer): Handle negative offsets, and use
935         "stutter stepping" for going backwards. (#320638, Larry
936         Ewing)
937
938         * glib/gbacktrace.c:
939         * glib/gdate.c:
940         * glib/gthread.c: const correctness fixes, found
941         by Arjan van de Ven and gcc.
942         
943 2005-11-16  Behdad Esfahbod  <behdad@gnome.org>
944
945         * docs/reference/glib/tmpl/unicode.sgml: Correct typo on mentioning
946         @G_UNICODE_BREAK_UNKNOWN that should be #G_UNICODE_BREAK_UNKNOWN.
947
948 2005-11-09  Behdad Esfahbod  <behdad@gnome.org>
949
950         * glib/guniprop.c: Use bit hacks instead when checking a general
951         category value against multiple values.
952
953         * glib/gutf8.c: Change ISO10646 to Unicode in docs.
954
955 2005-11-10  Simos Xenitellis  <simos@gnome.org>
956
957         * configure.in: Added tt (Tatar) to ALL_LINGUAS.
958
959 2005-11-05  Tor Lillqvist  <tml@novell.com>
960
961         * glib/giowin32.c (g_io_win32_set_flags): Don't call g_warning().
962         (#320688) Instead set error and return failure.
963
964 2005-11-07  Matthias Clasen  <mclasen@redhat.com>
965
966         * glib/gmain.c (g_main_dispatch): Don't call cb_funcs->unref
967         while holding the context lock.  (#320886, Andy Wingo)
968
969 2005-11-07  Billy Biggs <vektor@dumbterm.net>
970
971         * tests/refcount/Makefile.am: Add a missing reference to libglib
972         in the LDADD for this test.
973
974 2005-11-07  Matthias Clasen  <mclasen@redhat.com>
975
976         * glib/gmem.c (g_allocator_new): We need to set n_preallocs to a
977         nonzero value, otherwise GTK+ 2.8 breaks when compiled against
978         GLib 2.9.  (#320755, Luca Ferretti)
979
980 2005-11-04  Matthias Clasen  <mclasen@redhat.com>
981
982         * glib/Makefile.am: Apply a patch from Behdad Esfahbod to 
983         use a faster lookup table for g_unichar_get_mirror_char().
984         * glib/gmirroringtable.h: The new table.
985         * glib/gunichartables.h: Remove bidi_mirroring_table.
986         * glib/gen-unicode-tables.pl: Don't generate the mirroring
987         table.
988         * glib/glib-mirroring-tab/*: Sources for the program
989         which generated gmirroringtable.h.
990
991         * glib/glist.c: Avoid some code duplication.
992
993         * glib/gscanner.h: Include gdataset.h.  (#320322)
994
995         * glib/gdebug.h: add new GDebugFlag for fatal_criticals
996         * glib/gmessages.c: (_g_debug_init): handle G_DEBUG=fatal_criticals,
997         to help find critical warnings in applications.  (#320017,
998         Vincent Untz)
999
1000 2005-11-02  Tor Lillqvist  <tml@novell.com>
1001
1002         * glib/glib.symbols: Remove large amount of trailing whitespace
1003         from one line. Remove #ifdef G_UNDEFINED from around
1004         g_hash_table_new and g_hash_table_new_full symbols, what was the
1005         purpose of that? Add the g_slice functions.
1006
1007 Tue Nov  1 16:24:20 2005  Tim Janik  <timj@imendio.com>
1008
1009         * glib/gmem.[hc]: prepared deprecation of GMemChunk and GAllocator.
1010         added g_slice_*() API to allocate and cache small bits of memory.
1011         an actuall allocator implementation for g_slice_*() is still pending.
1012
1013         * glib/gthread.[hc]: changes from a patch by Matthias Clasen.
1014         changed GRealThread list to use in-structure *next; fields instead
1015         of GSList, in order for thread iteration to not depenend on g_slice_*()
1016         indirectly.
1017         _g_thread_mem_private_get():
1018         _g_thread_mem_private_set(): added accessors for private memory,
1019         needed because the ordinary GPrivate implementation relies on GArray
1020         and GSList and therefore indirectly on working g_slice_*() allocations.
1021
1022         * glib/gthread.[hc]:
1023         g_thread_foreach(): new public API function to loop over all existing threads.
1024
1025         * glib/gdataset.c:
1026         * glib/gstring.c:
1027         * glib/gcache.c:
1028         * glib/garray.c: 
1029         * glib/gqueue.c:
1030         * glib/gslist.c:
1031         * glib/glist.c:
1032         * glib/ghash.c:
1033         * glib/gtree.c:
1034         * glib/ghook.c:
1035         * glib/gmain.c:
1036         * glib/gnode.c:
1037         removed GAllocator and free list usages and accompanying locks.
1038         use g_slice_*() API to allocate and cache small bits of memory.
1039
1040         * glib/ghook.h: removed GMemChunk field from public API.
1041
1042         * glib/gslist.h:
1043         * glib/glist.h: deprecate allocator API, provide _free1() for consistency.
1044
1045         * glib/gnode.h: deprecate allocator API.
1046
1047         * glib/gmain.c: reordered GPollRec fields so g_slice_free_chain() can
1048         be used for poll rec lists.
1049
1050         * glib/grel.c: removed mem chunk usage, and allocated tuples via g_slice_*().
1051         g_relation_destroy(): free all tuples from the all_tuples hash table,
1052         this effectively maintains the life time track keeping of tuples.
1053         g_relation_delete_tuple(): free tuples which are removed from the
1054         all_tuples hash table. this fixes a temporary leak that was present
1055         in the memchunk code until the destruction of the relation.
1056
1057 2005-10-29  Matthias Clasen  <mclasen@redhat.com>
1058
1059         * tests/convert-test.c: Add some tests for conversions between
1060         UTF-8, UCS-4 and UTF-16.
1061
1062         * glib/gutf8.c (g_utf8_to_ucs4, g_utf8_to_utf16): Fix handling
1063         of len == -1, noticed by Morten Welinder.
1064
1065 2005-10-27  Erdal Ronahi  <erdal.ronahi@gmail.com>
1066
1067         * configure.in: Added ku (Kurdish) to ALL_LINGUAS
1068
1069 2005-10-26  Matthias Clasen  <mclasen@redhat.com>
1070
1071         * glib/gutf8.c (g_ucs4_to_utf8): Don't set items_read twice
1072         in the error case, and add some documentation.  (#319806, Morten
1073         Welinder)
1074
1075 2005-10-19  Manish Singh  <yosh@gimp.org>
1076
1077         * configure.in: Use AC_CHECK_FUNCS for _NSGetEnviron, to get the
1078         config.h symbol automatically. Fixes bug #313731.
1079
1080 2005-10-19  Tor Lillqvist  <tml@novell.com>
1081
1082         * glib/gwin32.c (g_win32_get_package_installation_directory):
1083         Return a g_strdup()ed copy of the value stored in the hash table,
1084         so that it can be g_free()d without leaving a dangling pointer in
1085         the hash table. (#319232)
1086
1087 2005-10-06  Matthias Clasen  <mclasen@redhat.com>
1088
1089         * glib/gunicollate.c (g_utf8_collate_key_for_filename): Handle
1090         all-zero sequences correctly.  (#317930, Sebastien Bacher)
1091
1092 2005-10-05  Matthias Clasen  <mclasen@redhat.com>
1093
1094         * glib/gmarkup.c (g_markup_escape_text): Doc addition
1095
1096         * Makefile.am: Add Collation tests.
1097
1098         * tests/collate/*: Inputs and expected outputs for collation tests.
1099
1100         * tests/run-collate-tests.sh: Script to run collation tests.
1101
1102         * tests/unicode-collate.c (main): Rework slightly to make
1103         it usable in unit tests. Also test g_utf8_collate_key_for_filename().
1104
1105 2005-10-01  Behdad Esfahbod  <behdad@gnome.org>
1106
1107         * docs/reference/glib/tmpl/unicode.sgml:
1108         * glib/gen-unicode-tables.pl:
1109         * glib/gunibreak.h:
1110         * glib/gunichartables.h:
1111         * glib/gunicode.h:
1112         * tests/casefold.txt:
1113         * tests/casemap.txt: Updated to Unicode 4.1.  There are five new
1114         GUnicodeBreakType types.  That may break some applications, like
1115         Pango <= 1.10.
1116
1117 2005-09-26  Matthias Clasen  <mclasen@redhat.com>
1118
1119         * glib/gstrfuncs.c (g_ascii_strtoull): Add details to the 
1120         docs.  (#314393, Matthew F. Barnes)
1121
1122         * glib/glib.symbols:
1123         * glib/gprintf.h: Remove g_snprintf() and g_vsnprintf(), since
1124         they are already declared in glib.h. This doesn't break documented
1125         use of gprintf.h, but should probably be pointed out in the 
1126         release notes for 2.10. (#314232, Behdad Esfahbod)
1127
1128 Tue Sep 20 13:16:04 2005  Tim Janik  <timj@imendio.com>
1129
1130         * glib/gpattern.c (g_pattern_ph_match): applied significant recursion
1131         complexity optimization, based on a patch from Matthias Clasen.
1132
1133         * tests/patterntest.c: more tests, mostly from matthias.
1134
1135 2005-09-20  Matthias Clasen  <mclasen@redhat.com>
1136
1137         * glib/gqueue.c (g_queue_insert_sorted): Correct the docs.
1138         (#316703, Mark Drago)
1139
1140 Mon Sep 19 17:23:23 2005  Tim Janik  <timj@imendio.com>
1141
1142         * glib/gpattern.c: applied a patch from matthias which checks on the
1143         upper bound of GPatternSpec length to optimize matches.
1144         cosmetic fixups.
1145
1146         * tests/patterntest.c: added more match cases.
1147
1148 2005-09-16  Tor Lillqvist  <tml@novell.com>
1149
1150         * glib/gstrfuncs.c (g_ascii_strcasecmp, g_ascii_strncasecmp): Add
1151         warning to doc comment that these functions should not be used on
1152         encodings like CP932.
1153
1154 2005-09-14  Matthias Clasen  <mclasen@redhat.com>
1155
1156         * tests/keyfile-test.c: Add a test for grup names of length 1.
1157
1158         * glib/gkeyfile.c (g_key_file_line_is_group): Accept group names
1159         of length 1.  (#316309)
1160         
1161 2005-09-12  Matthias Clasen  <mclasen@redhat.com>
1162
1163         * glib/gmarkup.c (g_markup_escape_text): Clarify docs.
1164
1165 2005-09-11  Sebastian Wilhelmi  <seppi@seppi.de>
1166
1167         * tests/refcount/Makefile.am (INCLUDES): Link the the refcount
1168         tests to the system thread library $(G_THREAD_LIBS). Fixes #313744
1169         and #314217.
1170
1171 2005-09-11  Kjartan Maraas  <kmaraas@gnome.org>
1172
1173         * glib/gmain.c: (g_child_watch_prepare), (g_child_watch_check),
1174         (child_watch_helper_thread): Remove some dead code. Closes
1175         bug #315278.
1176
1177 2005-09-07  Tor Lillqvist  <tml@novell.com>
1178
1179         * glib/Makefile.am: Create also a console version of the
1180         gspawn-win32-helper program, gspawn-win32-helper-console.exe.
1181         It's otherwise identical to gspawn-win32-helper.exe, except marked
1182         as a console application (linked without the -mwindows option).
1183         
1184         * glib/gspawn-win32.c (do_spawn_directly, do_spawn_with_pipes):
1185         Drop the dont_wait parameter. Its truth value correlated 100% with
1186         the NULLness of the exit_status parameter anyway, so it's enough
1187         to check whether exit_status is NULL. Invert the sense of the
1188         dont_return_handle parameter and rename it to do_return_handle, to
1189         make the code easier to read by avoiding double negations.
1190
1191         (g_spawn_sync_utf8, g_spawn_async_with_pipes_utf8): Modify calls
1192         to do_spawn_with_pipes() accordingly.
1193
1194         (do_spawn_with_pipes): If we have a console, use the console
1195         version of the helper program, otherwise use the GUI one. This
1196         avoids extra console windows opening up in some situations. (In
1197         case a console application uses the GUI gspawn-win32-helper.exe to
1198         spawn another console application we would get a separate console
1199         for the spawned console application).
1200
1201         * glib-zip.in: Distribute also gspawn-win32-helper-console.exe.
1202
1203 2005-09-05  Matthias Clasen  <mclasen@redhat.com>
1204
1205         * glib/gmappedfile.c (g_mapped_file_new): Report an error
1206         if the file is too large.  (#315275, Kjartan Maraas)
1207
1208         * glib/gkeyfile.c (g_key_file_load_from_fd): The return value
1209         of read() is signed.  (#315273, Kjartan Maraas)
1210         
1211 2005-08-31  Tor Lillqvist  <tml@novell.com>
1212
1213         * glib/gutils.h: Wrapping atexit() is a bad idea on Windows, where
1214         the EXE and each DLL have their own atexit function chains.
1215
1216         #define g_atexit as atexit instead. This means it has a
1217         better chance of doing what the caller wants. For instance,
1218         gtkhtml calls g_atexit() registering a function in gtkhtml
1219         itself. This caused a crash when g_atexit() was implemented as a
1220         function in the GLib DLL. The gtkhtml DLL was already unloaded by
1221         the time the GLib DLL got unloaded.
1222
1223         * glib/gutils.c: #undef the #define mentioned above, to also get a
1224         real g_atexit() into the DLL for backward compatibility. Document
1225         the Windows behaviour of g_atexit(), and document the varying ways
1226         atexit() can behave in the context of dynamically loaded modules
1227         on Unix.
1228
1229 2005-08-31  Matthias Clasen  <mclasen@redhat.com>
1230
1231         * glib/glib.symbols: 
1232         * glib/gquark.h: 
1233         * glib/gdataset.c: Add string interning functions.
1234
1235 2005-08-28  Matthias Clasen  <mclasen@redhat.com>
1236
1237         * glib/giochannel.c: Unify some near-duplicate strings. (#314654,
1238         Clytie Siddall)
1239         
1240 2005-08-26  Matthias Clasen  <mclasen@redhat.com>
1241
1242         * configure.in: Bump version to 2.9.0
1243
1244 2005-08-25  Tor Lillqvist  <tml@novell.com>
1245
1246         Make also the g_spawn*() functions take parameters in the GLib
1247         file name encoding, i.e. UTF-8, on Windows. Has no impact on Unix
1248         API or ABI. Like the other GLib API that was earlier changed to
1249         use UTF-8 on Windows, the names of the functions that take UTF-8
1250         have _utf8 suffixes added by using preprocessor macros in the
1251         header file. The old names are kept for functions with the old
1252         behaviour, taking parameters in the system codepage, for DLL ABI
1253         stability.
1254         
1255         * glib/gspawn.h: On Win32 add the suffix _utf8 to the names of the
1256         g_spawn*() functions.
1257         
1258         * glib/gspawn-win32.c: Use wide-char API on NT-based
1259         Windows. Convert parameters from UTF-8 to wide chars (NT) or
1260         system codepage (Win9x) and call the C library _wspawn*() or
1261         spawn*() functions respectvely. Add DLL ABI stability versions
1262         that take parameters in the system codepage.
1263
1264         * glib/gspawn-win32-helper.c: On NT-based Windows use the
1265         wide-char versions of argv and envp, and use wide-char API to
1266         change directory and spawn the program to run. Remove the verbose
1267         debugging output, it was too complex to modify for the wide-char
1268         features. (Just add temporary debugging printouts if needed, no
1269         need to have them permanently in the source.)
1270
1271         * glib/gspawn.c: Corresponding documentation updates.
1272
1273         * glib/glib.symbols: Corresponding changes: Mark the ABI stability
1274         symbols as PRIVATE, add the new _utf8-suffixed ones.
1275
1276 2005-08-24  Stepan Kasal  <kasal@ucw.cz>
1277
1278         * glib/gtypes.h (G_MININT64): Cast the constant to gint64; it is
1279         guint64 otherwise and that can produce warnings about comparison
1280         between signed and unsigned.
1281
1282 2005-08-23  Matthias Clasen  <mclasen@redhat.com>
1283
1284         * glib/gutils.c: Fix the crt_externs.h include.
1285
1286 2005-08-23  Stepan Kasal  <kasal@ucw.cz>
1287
1288         * NEWS: Fix spelling of my first name.
1289
1290 2005-08-23  Matthias Clasen  <mclasen@redhat.com>
1291
1292         * Bump version
1293
1294         * === Released 2.8.1 ===
1295
1296         * NEWS: Updates
1297
1298 2005-08-20  Hans Breuer  <hans@breuer.org>
1299
1300         * glib/makefile.msc.in : link with ws2_32.lib
1301
1302 2005-08-18  Tor Lillqvist  <tml@novell.com>
1303
1304         * configure.in: Check for <sys/wait.h>
1305
1306         * glib/gbacktrace.c: Include <sys/wait.h> on if HAVE_SYS_WAIT_H.
1307
1308 2005-08-18  Ross Burton  <ross@burtonini.com>
1309
1310         * glib/gstring.c:
1311         Optimise single-character insertions.
1312         
1313         * glib/gutf8.c:
1314         Note copied code.
1315         
1316         * tests/string-test.c:
1317         Add tests for new optimisation, and fix a leak.
1318
1319 2005-08-17  Matthias Clasen  <mclasen@redhat.com>
1320
1321         * configure.in: Check for crt_externs.h and _NSGetEnviron.
1322
1323         * glib/gutils.c: On Darwin, include crt-externs.h and
1324         define environ using _NSGetEnviron().  (#313731)
1325
1326 2005-08-16  Stepan Kasal  <kasal@ucw.cz>
1327
1328         * glib/gutils.c (g_get_any_init): Move the body of the big if...
1329         (g_get_any_init_do): ... to this new function.
1330         (g_get_any_init): Declare as inline.
1331         (g_get_any_init_locked): New inline function, does the locking.
1332         Make use of these two throughout the code.
1333
1334 2005-08-15  Matthias Clasen  <mclasen@redhat.com>
1335
1336         * glib/gbacktrace.c (g_on_error_stack_trace): Wait for
1337         the child process and then simply return. This makes 
1338         The "S" option work as documented in g_on_error_query().
1339         (#313125, Matthew F. Barnes)
1340
1341         * glib/gunicode.h: Update the link to Unicode category
1342         values.  (#313369, Behnam Esfahbod)
1343
1344         * glib/gqueue.c (g_queue_find_custom): Clarify docs
1345         a little.  (#311727, Tristan van Berkom)
1346
1347         * glib/abicheck.sh, gobject/abicheck.sh: Make the 
1348         check work on ia64 too, where some symbols ended up 
1349         in yet another section.
1350