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