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