Bump version
[platform/upstream/glib.git] / ChangeLog.pre-2-8
1 2005-08-23  Matthias Clasen  <mclasen@redhat.com>
2
3         * Bump version
4
5         * === Released 2.8.1 ===
6
7         * NEWS: Updates
8
9 2005-08-20  Hans Breuer  <hans@breuer.org>
10
11         * glib/makefile.msc.in : link with ws2_32.lib
12
13 2005-08-18  Tor Lillqvist  <tml@novell.com>
14
15         * configure.in: Check for <sys/wait.h>
16
17         * glib/gbacktrace.c: Include <sys/wait.h> on if HAVE_SYS_WAIT_H.
18
19 2005-08-18  Ross Burton  <ross@burtonini.com>
20
21         * glib/gstring.c:
22         Optimise single-character insertions.
23         
24         * glib/gutf8.c:
25         Note copied code.
26         
27         * tests/string-test.c:
28         Add tests for new optimisation, and fix a leak.
29
30 2005-08-17  Matthias Clasen  <mclasen@redhat.com>
31
32         * configure.in: Check for crt_externs.h and _NSGetEnviron.
33
34         * glib/gutils.c: On Darwin, include crt-externs.h and
35         define environ using _NSGetEnviron().  (#313731)
36
37 2005-08-16  Stepan Kasal  <kasal@ucw.cz>
38
39         * glib/gutils.c (g_get_any_init): Move the body of the big if...
40         (g_get_any_init_do): ... to this new function.
41         (g_get_any_init): Declare as inline.
42         (g_get_any_init_locked): New inline function, does the locking.
43         Make use of these two throughout the code.
44
45 2005-08-15  Matthias Clasen  <mclasen@redhat.com>
46
47         * glib/gbacktrace.c (g_on_error_stack_trace): Wait for
48         the child process and then simply return. This makes 
49         The "S" option work as documented in g_on_error_query().
50         (#313125, Matthew F. Barnes)
51
52         * glib/gunicode.h: Update the link to Unicode category
53         values.  (#313369, Behnam Esfahbod)
54
55         * glib/gqueue.c (g_queue_find_custom): Clarify docs
56         a little.  (#311727, Tristan van Berkom)
57
58         * glib/abicheck.sh, gobject/abicheck.sh: Make the 
59         check work on ia64 too, where some symbols ended up 
60         in yet another section.
61
62 2005-08-12  Matthias Clasen  <mclasen@redhat.com>
63
64         * configure.in: Bump version
65
66         * === Released 2.8.0 ===
67
68         * NEWS: Updates
69
70 2005-08-12  Tim-Philipp Müller  <tim at centricular dot net>
71
72         * gobject/genums.c: (g_flags_get_first_value): Special-case flag
73           value of 0. Instead of returning the first random GFlagsValue
74           we come across, return the GFlagsValue for 0 if it exists or
75           NULL if it does not exist. Never return the GFlagsValue for 0
76           if the requested flags value is nonzero.
77
78 2005-08-12  Matthias Clasen  <mclasen@redhat.com>
79
80         * configure.in: Bump version to 2.8.0
81
82 2005-08-11  Tor Lillqvist  <tml@novell.com>
83
84         * glib/gutils.c (g_get_any_init): Use "localhost" as fallback for
85         g_get_host_name(), not "unknown".
86
87 2005-08-10  Stepan Kasal  <kasal@ucw.cz>
88
89         Fix typos: Invokation --> Invocation (in various places)
90
91 2005-08-10  Matthias Clasen  <mclasen@redhat.com>
92
93         * glib/gfileutils.c (g_build_path_va, g_build_pathname_va):
94         Take a va_list*, not a va_list, to avoid compiler warnings
95         about uninitialized variables.
96
97 2005-08-09  Matthias Clasen  <mclasen@redhat.com>
98
99         * tests/gobject/Makefile.am (test_programs): Add it here.
100
101         * tests/gobject/gvalue-test.c: Beginning of a test suite
102         for GValue.
103
104         * NEWS: Updates
105
106 2005-08-08  Matthias Clasen  <mclasen@redhat.com>
107
108         * glib/gutils.c (_g_compute_locale_variants): Initialize
109         variables to not make gcc nervous.
110
111 2005-08-08  Manish Singh  <yosh@gimp.org>
112
113         * glib/abicheck.sh: remove stray -V option to grep so it actually
114         works.
115
116 2005-08-08  Matthias Clasen  <mclasen@redhat.com>
117
118         * tests/convert-test.c: Enable the endianness test.
119
120         * glib/gconvert.c: Make the caching of iconv descriptors
121         optional.
122
123         * configure.in: Add an --enable-iconv-cache option, and
124         default to disabling iconv caching on new enough glibc.
125         Somebody with access to Solaris systems will need to test
126         if opening/closing of iconv descriptors is enough of
127         a performance problem to warrant the caching on that 
128         platform. Note that the caching is causing correctness
129         problems in some corner cases, thus turning it off
130         is desirable unless it has severe performance implications.
131
132         * tests/convert-test.c: Add a test for 
133         endianness handling.
134
135 2005-08-08  Sunil Mohan Adapa  <sunil@atc.tcs.co.in>
136
137         * configure.in: Added "te" to ALL_LINGUAS.
138
139 2005-08-08  Matthias Clasen  <mclasen@redhat.com>
140
141         * tests/Makefile.am: Add convert-test here.
142
143         * tests/convert-test.c: Add the beginning of a testsuite
144         for g_convert() and friends. 
145
146 2005-08-06  Matthias Clasen  <mclasen@redhat.com>
147
148         * glib/glib.symbols: Include glib_on_error_halt.
149         
150         * glib/abicheck.sh: Also check exported variables.
151
152 2005-08-05  Manish Singh  <yosh@gimp.org>
153
154         * tests/refcount/closures.c: remove unused n_threads variable.
155
156 2005-08-05  Matthias Clasen  <mclasen@redhat.com>
157
158         * configure.in: Bump version
159
160         * === Released 2.7.7 ===
161
162         * NEWS: Updates
163
164 2005-08-04  Matthias Clasen  <mclasen@redhat.com>
165
166         * glib/glib.symbols:
167         * glib/gatomic.[hc]: Always export g_atomic_int_get and
168         g_atomic_pointer_get as functions, even if we have macros,
169         to avoid changing the ABI depending on configuration.
170         
171         * glib/gatomic.c: Fix the s390 implementations of 
172         g_atomic_pointer_compare_and_exchange.
173
174 2005-08-04  Tor Lillqvist  <tml@novell.com>
175
176         * glib/gstdio.h: Move the G_BEGIN_DECLS/G_END_DECLS pair outside
177         the #if/#else/#endif block. Otherwise we had G_BEGIN_DECLS without
178         matching G_END_DECLS on Unix, and G_END_DECLS without matching
179         G_BEGIN_DECLS on Win32.
180
181 2005-08-03  Matthias Clasen  <mclasen@redhat.com>
182
183         * configure.in: Bump version
184
185         * === Released 2.7.6 ===
186
187         * NEWS: Updates
188
189 2005-08-03  Ross Burton  <ross@burtonini.com>
190
191         * docs/reference/glib/tmpl/windows.sgml:
192         Add a long description, pointing people at Cygwin for a complete
193         Unix library.
194
195         * glib/gutils.c:
196         Document return value of g_get_host_name().
197
198 2005-08-03  Matthias Clasen  <mclasen@redhat.com>
199
200         * glib/gatomic.c: Add native atomic operations
201         for s390.
202
203         * configure.in: ... and use them on s390.
204
205 2005-08-03  Ross Burton  <ross@burtonini.com>
206
207         * glib/gstdio.c:
208         Fix DocBook tag typo. (#311966)
209
210 2005-08-03  Matthias Clasen  <mclasen@redhat.com>
211
212         * glib/gstdio.h: Add G_BEGIN_DECLS/G_END_DECLS.  (#312424)
213
214 2005-08-02  Matthias Clasen  <mclasen@redhat.com>
215
216         * glib/gconvert.c (g_convert_with_iconv): Don't go in an
217         infinite loop if the input text ends in an incomplete multibyte
218         character.  (#312402, Sebastien Bacher)
219
220         * Bump version
221
222         * === Released 2.7.5 ===
223
224         * NEWS: Updates
225
226 2005-08-02  Matthias Clasen  <mclasen@redhat.com>
227
228         * glib/gconvert.c (g_convert_with_iconv, g_convert_with_fallback):
229         Cleanup converter state after the conversion. Document streaming
230         conversion pitfalls.  (#311337)
231
232 2005-08-02  Tor Lillqvist  <tml@novell.com>
233
234         * tests/refcount/objects.c 
235         * tests/refcount/properties.c 
236         * tests/refcount/signals.c: Use g_usleep() instead of sleep() for
237         portability.
238
239 Mon Aug  1 23:33:47 2005  Tim Janik  <timj@imendio.com>
240
241         * tests/refcount/closures.c: test high contention on closure
242         reference counts to trigger and catch non-atomic updates.
243
244         * tests/refcount/objects.c:
245         * tests/refcount/objects2.c: 
246         * tests/refcount/properties.c: 
247         * tests/refcount/properties2.c: 
248         * tests/refcount/signals.c:
249         fixed up test and threading fundamentals. variables accessed from all 
250         threads need to be volatile. context switches are enforced by using
251         g_thread_yield(), not g_usleep(1) which may result in busy waits on 
252         some platforms. for testcode, always consider all warnings and
253         critical messages fatal. issue the currently running program on
254         stdout. improved progress indicators.
255
256         * tests/refcount/properties.c:
257         * tests/refcount/objects.c:
258         don't overdo the number of testing threads to keep the testing machine
259         usable, 2 threads can produce as much contention as 20 if executing the
260         same code.
261
262         * tests/refcount/signals.c: only start 1 thread per object. GObject 
263         doesn't provide mutually exclusive object access, but only mutually
264         exclusive reference count modification.
265
266         * tests/Makefile.am: added closures test.
267
268 2005-08-01  Tor Lillqvist  <tml@novell.com>
269
270         * tests/uri-test.c: Make it pass on Win32.
271         (from_uri_tests[]): Take into consideration that on Win32 we don't
272         return "localhost" hostnames.
273         (safe_strcmp_filename): New function that considers slash and
274         backslash equal on Win32.
275         (safe_strcmp_hostname): New function that considers "localhost"
276         equal NULL on Win32.
277         (run_roundtrip_tests): Use safe_strcmp_filename() and
278         safe_strcmp_hostname().
279
280 Sun Jul 31 01:50:20 2005  Tim Janik  <timj@gtk.org>
281
282         * glib/gdataset.c:
283         moved G_DATALIST_*_POINTER() macros here, because proper use requires
284         the global g_dataset_global mutex to be acquired.
285         g_datalist_id_get_data():
286         g_datalist_unset_flags():
287         g_datalist_set_flags(): properly acquire and release dataset mutex.
288
289         * glib/gdatasetprivate.h: implement G_DATALIST_GET_FLAGS() via atomic
290         pointer access to account for memory barriers. moved all other macros.
291
292 2005-07-26  Matthias Clasen  <mclasen@redhat.com>
293
294         * glib/goption.c: Include glibintl.h, not gi18n.h, noticed
295         by Dan Winship.
296
297         * configure.in: Try -mt as compiler flag for threads, needed
298         for the HP C compiler on HP-UX.  (#163051, Paul Cornett)
299
300         * glib/ghash.c (g_hash_table_foreach): Fix a typo in the 
301         docs.  (#311569, Ross Burton)
302
303 2005-07-21  Matthias Clasen  <mclasen@redhat.com>
304
305         * configure.in: Bump version 
306
307         * === Released 2.7.4 ===
308
309         * NEWS: Updates
310
311 2005-07-20  Manish Singh  <yosh@gimp.org>
312
313         * tests/refcount/signals.c: use G_CALLBACK for signal connections.
314
315 2005-07-20  Matthias Clasen  <mclasen@redhat.com>
316
317         * glib/gthreadpool.c (g_thread_pool_free): Don't get
318         stuck in here if immediate is TRUE.  (#310954, 
319         Hong Jen Yee)
320
321         * tests/threadpool-test.c (main): Test immediate == TRUE.
322
323 2005-07-20  Tor Lillqvist  <tml@novell.com>
324
325         * glib/gutils.h (g_win32_get_system_data_dirs): Make this an
326         inline function. Define it only if G_CAN_INLINE and not
327         C++. (#173098)
328
329 2005-07-19  Matthias Clasen  <mclasen@redhat.com>
330
331         * glib/gstring.c (g_string_chunk_insert_len): Avoid
332         an unnecessary strlen if len is -1.  (#169692, 
333         Benoit Dejean)
334
335         * glib/gatomic.c (g_atomic_pointer_compare_and_exchange): 
336         Fix g_atomic_pointer_compare_and_exchange on sparc64.
337         (#167572, Gert Doering)
338
339 2005-07-15  Matthias Clasen  <mclasen@redhat.com>
340
341         * configure.in: Bump version
342
343         * === Released 2.7.3 ===
344         
345 2005-07-15  Matthias Clasen  <mclasen@redhat.com>
346
347         * tests/Makefile.am (SUBDIRS): Add tests/refcount
348
349         * configure.in: Add tests/refcount
350
351         * tests/refcount/properties.c: Test property changes
352         from multiple threads.
353
354         * tests/refcount/signals.c: Test signal emission from
355         multiple threads.
356
357         * tests/refcount/objects.c: Test refcounting from 
358         multiple threads.
359
360         * tests/refcount/objects2.c: 
361         * tests/refcount/properties2.c: Tests to measure the 
362         overhead of threadsafe refcounting.
363         
364         * glib/giochannel.c (g_io_channel_ref, g_io_channel_unref): 
365         Use atomic operations to make refcounting
366         threadsafe.  (#166020, Wim Taymans)
367
368         * NEWS: Updates
369
370 2005-07-14  Matthias Clasen  <mclasen@redhat.com>
371
372         * tests/spawn-test.c: 
373         * tests/uri-test.c: 
374         * tests/thread-test.c: 
375         * tests/queue-test.c: 
376         * tests/mainloop-test.c: 
377         * tests/iochannel-test.c: 
378         * tests/gio-test.c: 
379         * tests/child-test.c: Make the tests silent on success.
380
381 2005-07-13  Matthias Clasen  <mclasen@redhat.com>
382
383         * glib/gfileutils.c (g_mkdir_with_parents): Fix a 
384         typo.  (#310243, Richard Laager)
385
386         * glib/goption.c (g_option_group_add_entries): Warn if a
387         short name is not acceptable.
388
389 2005-07-12  Matthias Clasen  <mclasen@redhat.com>
390
391         * glib/goption.h (G_OPTION_FLAG_NOALIAS): 
392         * glib/goption.c: Add and implement a new flag
393         to turn off the automatic <groupname>- prefixing
394         for conflict resolution of long option names. (#171840,
395         Adam McLaurin)
396         
397         All optional callback arguments  (#308886, Pawel
398         Sliwowski)
399
400         * glib/goption.h (G_OPTION_FLAG_OPTIONAL_ARG): 
401         * glib/goption.c: Add and implement a new flag
402         to indicate that a callback *optionally* takes another
403         argument.
404
405         * tests/option-test.c: Add tests for optional arguments.
406
407 2005-07-12  Matthias Clasen  <mclasen@redhat.com>
408
409         * glib/gthread.c (g_static_rec_mutex_lock_full): Don't lock
410         if depth is zero.  (#310148, Wim Taymans)
411
412 2005-07-10  Matthias Clasen  <mclasen@redhat.com>
413
414         * glib/gutils.c (g_listenv): Ignore anomalous environment
415         entries which are not of the form variable=value.  (#309859,
416         Morten Welinder)
417
418 2005-07-09  Tor Lillqvist  <tml@novell.com>
419
420         * glib/giowin32.c: Totally rewritten socket channel
421         implementation. See discussion in bug #147392.
422
423         * configure.in: Don't use autoconf variables for the resource
424         object files on Win32 any longer. Instead handle that in the
425         Makefile.am files. Check for windres.
426
427         * glibconfig.h.win32.in: Minor tuning to match the
428         configure-produced glibconfig.h closely.
429
430         * glib/Makefile.am: Don't use the scripts in build/win32 to
431         compile glib.rc into a resource object file. (This means we lose
432         the build number increment magic, but I doubt it was that useful
433         anyway.) Instead use windres directly. To pass the normal .o file
434         produced by windres through libtool, which wants .lo files, pass
435         it directly to the linker using a -Wl option.
436
437         * glib/glib.rc.in: Thus replace BUILDNUMBER with 0.
438
439 2005-07-08  Matthias Clasen  <mclasen@redhat.com>
440
441         * configure.in: Bump version
442         
443         * === Released 2.7.2 ===
444
445         * NEWS: Updates
446
447 2005-07-07  Matthias Clasen  <mclasen@redhat.com>
448
449         * configure.in: Make the size_t size detection work on AIX. 
450         (#309725)
451
452 2005-07-06  Matthias Clasen  <mclasen@redhat.com>
453
454         * configure.in: Require a newer gtk-doc.
455
456 2005-07-01  Hans Breuer  <hans@breuer.org>
457
458         * glib/gmessages.c : include <process.h> for getpid()
459         * glib/gmappedfile.c : include <io.h> for close() etc.
460         * glib/makefile.msc.in : add    gmappedfile.obj
461
462 2005-07-01  Matthias Clasen  <mclasen@redhat.com>
463
464         * glib/gkeyfile.c (g_key_file_get_key_comment): 
465         (g_key_file_get_top_comment): Don't reverse the order of multiline 
466         comments.
467         (g_key_file_get_group_comment): Actually get the group comment.
468
469         * tests/keyfile-test.c (test_comments): Test that comments are
470         handled properly.  (#309263, Mikael Magnusson)
471
472 2005-06-30  Matthias Clasen  <mclasen@redhat.com>
473
474         * configure.in: Bump version
475
476         * === Released 2.7.1 ===
477
478 2005-06-30  Matthias Clasen  <mclasen@redhat.com>
479
480         * glib/gstring.c (g_str_hash): Fix portability issues.  
481         (#307064, Morten Welinder)
482
483         Apply a patch which may make GLib work on BeOS again.  
484         (#309157, Kian Duffy)
485
486         * glib/gmain.c: Update the BeOS includes.
487
488         * glib/gstdio.c: 
489         * glib/gutils.c (g_find_program_in_path): 
490         * glib/gbacktrace.c (g_on_error_stack_trace): Use the UNIX
491         implementation on BeOS, as well.
492
493         * configure.in: Don't put glib 1.0 into G_MODULE_LIBS, even
494         on BeOS.
495
496         * NEWS: Updates
497
498 2005-06-26  Tor Lillqvist  <tml@novell.com>
499
500         * glib/Makefile.am: libtool installs/uninstalls the import
501         library, no need to do it ourselves. Do still install/uninstall
502         the .def file, though.
503
504         * glib/gmappedfile.c: Add Win32 implementation.
505         (g_mapped_file_free): Don't mention writable shared mappings in
506         the doc comment. Free the GMappedFile struct.
507
508         * tests/mapping-test.c (main): No kill() or SIGUSR1 on Win32, use
509         a flag file instead to stop the child. Use g_usleep() instead of
510         sleep().
511
512 2005-06-24  Matthias Clasen  <mclasen@redhat.com>
513
514         Add an mmap() wrapper called GMappedFile. (#148218,
515         David Schleef, Behdad Esfahbod)
516         
517         * glib/gmappedfile.[hc]: New files.
518
519         * configure.in: Check for mmap.
520         
521         * glib/Makefile.am: Add new files.
522         
523         * glib/glib.symbols: Add new functions.
524
525         * glib/glib.h: Include gmappedfile.h
526
527         * tests/mapping-test.c: Tests for GMappedFile.
528
529         * tests/Makefile.am: Add new file.
530
531         * Makefile.am (DISTCHECK_CONFIGURE_FLAGS): Add --enable-man.
532
533 2005-06-24  Tor Lillqvist  <tml@novell.com>
534
535         * glib/Makefile.am (install-libtool-import-lib): Current GNU tools
536         do understand the PRIVATE keyword.
537
538         * glib/gfileutils.c (g_mkdir_with_parents): Return error with
539         EINVAL also for empty pathnames.
540         (g_build_pathname_va): Fix typo.
541
542 Thu Jun 23 15:52:08 2005  Manish Singh  <yosh@gimp.org>
543
544         * glib/gfileutils.c: g_build_filename_va is only use in the G_OS_WIN32
545         case, so compile it conditionally.
546
547 2005-06-23  Matthias Clasen  <mclasen@redhat.com>
548
549         * tests/keyfile-test.c (test_group_remove): Don't leak
550         memory here.
551
552         * glib/gkeyfile.c (g_key_file_load_from_data_dirs): Don't
553         leak output_path.  (#308546, Kjartan Maraas)
554
555         * glib/glib.symbols: 
556         * glib/gfileutils.h: 
557         * glib/gfileutils.c (g_build_pathv, g_build_filenamev): 
558         Variants of g_build_path() and g_build_filename()
559         which take a string array instead of varargs.  
560         (#149092, Todd A. Fisher)
561
562         * tests/strfunc-test.c: Add tests for g_build_pathv() 
563         and g_build_filenamev().
564
565 2005-06-22  Tor Lillqvist  <tml@novell.com>
566
567         * glib/gfileutils.c
568         * glib/gfileutils.h
569         * glib/glib.symbols
570         * tests/testglib.c: Rename g_makepath() to g_mkdir_with_parents().
571
572 2005-06-22  Matthias Clasen  <mclasen@redhat.com>
573
574         * glib/goption.c (parse_short_option, parse_long_option): 
575         Pass the option name also in the NO_ARG case.  (#308602,
576         Masatake YAMATO)
577         (parse_arg): Properly store changes for arrays.  (#308528,
578         Roger Leigh)
579
580 2005-06-22  Tor Lillqvist  <tml@novell.com>
581
582         * glib/gfileutils.c (g_makepath): New function. Creates a
583         directory including intermediate parent directories as
584         needed. (#60509)
585
586         * glib/gfileutils.h: Declare it.
587
588         * glib/gutils.c (g_get_host_name): New function. Returns the
589         machine's name, or one of its names. Document that it is
590         best-effort only, and not guaranteed to be unique or anything.
591         (g_get_any_init): Get the host name here. On Unix use
592         gethostname(), on Windows use GetComputerName(). (#5200)
593
594         * glib/gutils.h: Declare it.
595
596         * glib/glib.symbols: Add new functions.
597
598         * tests/testglib.c: Test g_makepath() and g_get_host_name().
599         
600 2005-06-18  Matthias Clasen  <mclasen@redhat.com>
601
602         * glib/goption.h: 
603         * glib/goption.c: Add G_OPTION_FLAG_NO_ARG and
604         G_OPTION_FLAG_FILENAME to allow greater control of
605         G_OPTION_ARG_CALLBACK options. (#302632, Dan Winship)
606
607         * tests/option-test.c: test callback args
608
609 2005-06-14  Theppitak Karoonboonyanan  <thep@linux.thai.net>
610
611         * configure.in: Added 'th' (Thai) to ALL_LINGUAS.
612
613 2005-06-10  Matthias Clasen  <mclasen@redhat.com>
614
615         * configure.in: Bump version
616
617         * === Released 2.7.0 ===
618
619         * NEWS: Updates
620
621 2005-06-09  Matthias Clasen  <mclasen@redhat.com>
622
623         * glib/gkeyfile.c (g_key_file_parse_value_as_integer): Better
624         error checking. (#306389, Morten Welinder)
625
626         * glib/goption.c (parse_int): Set errno to 0 before calling
627         strtol.  (#306388, Morten Welinder)
628
629 2005-06-09  Tor Lillqvist  <tml@novell.com>
630
631         * glib/gstdio.h
632         * glib/gstdio.c
633         * glib/glib.symbols: Add a chdir() wrapper, too.
634
635         * glib/glib.symbols: Add g_win32_locale_filename_from_utf8().
636
637         * glib/gwin32.c (g_win32_locale_filename_from_utf8): Clarify doc
638         comment.
639
640 2005-06-08  Tor Lillqvist  <tml@novell.com>
641
642         * glib/gutils.c (get_windows_directory_root): New helper function
643         on Win32, returns the root of the drive (or possibly share) where
644         the Windows directory is. (In the case of Terminal Server sessions
645         the Windows directory is a per-user folder.)
646         (g_get_any_init): Use get_windows_directory_root() as last resort
647         for both temp directory and home directory. g_get_home_dir() now
648         never returns NULL on Win32. Don't look at HOMEDRIVE and
649         HOMEPATH. HOME, USERPROFILE, CSIDL_PROFILE and Windows directory
650         drive root should be enough.
651
652 2005-06-08  Matthias Clasen  <mclasen@redhat.com>
653
654         * glib/glib.symbols: 
655         * glib/gunicode.h: 
656         * glib/gunicollate.c (g_utf8_collate_key_for_filename): 
657         New function to calculate collation keys which are more
658         suitable for sorting filenames.  (#172690, Ole Laursen)
659
660 Fri May 27 17:18:00 2005  Manish Singh  <yosh@gimp.org>
661
662         * glib/goption.c (parse_short_option): initialize option_name
663         before using it.
664
665 2005-05-27  Matthias Clasen  <mclasen@redhat.com>
666
667         * glib/goption.c (parse_short_option, parse_long_option):
668         Return an error if an option is missing its argument.  (#305576,
669         Björn Lindqvist)
670
671         * tests/option-test.c (missing_arg_test): Add a testcase.
672
673 Wed May 25 15:33:51 2005  Manish Singh  <yosh@gimp.org>
674
675         * glib/goption.c (print_help): rest_description should be const.
676
677 2005-05-25  Matthias Clasen  <mclasen@redhat.com>
678
679         * glib/gunidecomp.c (combine_hangul): Don't eat Hangul 
680         when normalizing.  (#301742, reported by Christian Biere,
681         patch by Noah Levitt)
682
683 2005-05-24  Matthias Clasen  <mclasen@redhat.com>
684
685         * glib/goption.c (print_help): If the remaining argument
686         has an arg_description, display the synopsis as
687         PROGNAME [OPTION...] REST  (#305346, Noah Levitt)
688
689 2005-05-20  Federico Mena Quintero  <federico@ximian.com>
690
691         Merged from glib-2-6:
692
693         * glib/gspawn.c (g_spawn_command_line_sync): Clarify the meaning
694         of exit_status(); it's not the return code from the child, but
695         rather the waitpid() status.
696
697 2005-05-18  Matthias Clasen  <mclasen@redhat.com>
698
699         * glib/gunidecomp.c: Correct the end of the Hangul 
700         Syllables range, from 0xd7af to 0xd7a3, in several
701         places.  (#301984, Changwoo Ryu)
702
703 2005-05-17  Matthias Clasen  <mclasen@redhat.com>
704
705         * tests/tree-test.c (main): Check the return values of
706         g_tree_remove().
707
708         * glib/gtree.c (g_tree_remove, g_tree_steal): Return
709         a boolean indicating wether the key was found.  (#302545,
710         Matthew F. Barnes)
711
712 2005-05-06  Brian Cameron  <brian.cameron@sun.com>
713
714         * configure.in, gmodule-no-export-2.0-uninstalled.pc.in,
715           Makefile.am:  Added gmodule-no-export-2.0-uninstalled.pc.in
716           to allow building of other libraries like pango when 
717           glib is uninstalled.
718
719 2005-05-06  Matthias Clasen  <mclasen@redhat.com>
720
721         * tests/option-test.c: Add a testcase.
722         
723         * glib/goption.c (g_option_context_parse): Treat '-'
724         on its own as a non-option argument.  (#168008, Tim Musson,
725         Thomas Leonard and others)
726
727 2005-05-05  Owen Taylor  <otaylor@redhat.com>
728
729         * glib/gdataset.[ch] glib/gdatasetprivate.h: Add 
730         g_datalist_set/unset_flags(), g_datalist_get_flags() functions
731         to squeeze some bits into a GDataSet... this is needed for
732         efficient implementation of toggle references in GObject.
733
734         * tests/gobject/references.c tests/gobject/Makefile.am:
735         Add a test case for weak and toggle references.
736
737         * glib/gfileutils.[ch]: Rename g_file_replace() back
738         to g_file_set_contents().
739
740         * glib/glib.symbols: Update.
741
742 2005-05-02  Matthias Clasen  <mclasen@redhat.com>
743
744         * glib/gstring.c (g_str_equal, g_str_hash): Move docs
745         inline.
746
747 2005-05-01  Matthias Clasen  <mclasen@redhat.com>
748
749         * glib/ghash.h: Rename some parameters to make gtk-doc
750         happy.
751
752         * glib/gutils.c: 
753         * glib/gwin32.c: 
754         * glib/gstdio.c: Fix some typos, mark new API as "Since 2.8".
755
756 2005-04-29  Matthias Clasen  <mclasen@redhat.com>
757
758         * glib/gtree.c: Clarify some docs. (#302062, Matthew F. Barnes)
759
760 2005-04-28  Matthias Clasen  <mclasen@redhat.com>
761
762         * glib/gstrfuncs.c (g_strcompress): Warn and don't crash
763         when meeting a trailing \\.  (#301373, Benjamin Otte)
764
765 2005-04-27  Tor Lillqvist  <tml@novell.com>
766
767         * glib/gconvert.c (open_converter, g_convert_with_iconv): Don't
768         call g_set_error() unless the GError pointer is non-NULL. This
769         avoids infinite recursion problems in certain rare situations on
770         Windows, when g_locale_from_utf8() is called from
771         _glib_get_locale_dir() after the change below. It's the
772         _glib_gettext() calls to translate error messages that are
773         parameters to g_set_error() that cause the recursion, not
774         g_set_error() itself.
775
776         * glib/gwin32.c (g_win32_locale_filename_from_utf8): New
777         function. Converts a filename to the system codepage, and if a
778         straight conversion isn't possible (because the filename contains
779         characters not in the system codepage), try looking up the
780         filename (which should refer to an existing file for this to
781         succeed) with short (8.3) pathname components.
782
783         * glib/gutils.c (_glib_get_locale_dir): No need to cache the
784         result, this function is normally called only once. Return the
785         path to the locale directory in system codepage, not UTF-8. The
786         path is passed to bindtextdomain(), which doesn't use UTF-8 file
787         names. Use g_win32_locale_filename_from_utf8(). (#301772)
788
789         Don't do run-time lookup of message catalog directory on
790         Cygwin. Cygwin is supposed to look and feel like Unix, and on Unix
791         we use paths fixed at configure time.
792
793 2005-04-19  Tor Lillqvist  <tml@novell.com>
794
795         * glib/gutils.h: Minor comment improvement.
796
797 2005-04-18  Tor Lillqvist  <tml@novell.com>
798
799         * glib/gfileutils.c: No <sys/wait.h> on Win32. Definition of
800         save_errno was missing in one place.
801
802 Sat Apr 16 20:15:44 2005  Soeren Sandmann  <sandmann@redhat.com>
803
804         * glib/gfileutils.c (g_file_replace): Save the errno in various
805         places
806
807         * glib/gfileutils.c (set_umask_permissions): Fork a child and do
808         chmod() to the umask() permissions there.
809
810 2005-04-10  Matthias Clasen  <mclasen@redhat.com>
811
812         * glib/gmessages.h (g_debug): Use G_LOG_LEVEL_DEBUG in
813         both definitions.  (#300071, Tommi Komulainen)
814
815 2005-04-09  Tor Lillqvist  <tml@novell.com>
816
817         * glib/gutils.c: Include <process.h> on Win32 for getpid(). (#173094)
818
819 2005-04-08  Tor Lillqvist  <tml@novell.com>
820
821         * glib/gstdio.h
822         * glib/gstdio.c
823         * glib/glib.symbols (g_access, g_chmod, g_creat): Wrap also
824         access(), chmod() and creat(). (#169623, #171285)
825
826 2005-04-08  Tor Lillqvist  <tml@novell.com>
827
828         Improve g_get_system_data_dirs() on Windows. A library that calls
829         g_get_system_data_dirs() might be installed in a different
830         top-level prefix than GLib or the application being run.
831
832         * glib/gutils.h (g_win32_get_system_data_dirs): New static
833         function defined in this header. Calls
834         g_win32_get_system_data_dirs_for_module() passing the address of
835         itself as parameter. g_get_system_data_dirs() is #defined as this
836         function.
837
838         * glib/gutils.c (g_win32_get_system_data_dirs_for_module): New
839         function. If the address parameter is non-NULL, the corresponding
840         module's installation location is used for one of the returned
841         path names, in addition to the COMMON_APPDATA, COMMON_DOCUMENTS,
842         glib top-level and application top-level folders.
843         (g_get_system_data_dirs): Now just for backward compatibility on
844         Win32. Just call g_win32_get_system_data_dirs_for_module(NULL).
845
846         * glib/glib.symbols: Add g_win32_get_system_data_dirs_for_module.
847
848         * glib/gutils.c (read_aliases): Not used on Windows.
849         (unalias_lang): Don't do anything on Windows, there is no
850         /usr/share/locale/locale.alias file..
851         
852 Thu Apr  7 22:51:15 2005  <yosh@gimp.org>
853
854         * glib/gutils.c (g_get_system_data_dirs): Declare glib_top_share_dir
855         and exe_top_share_dir only in G_OS_WIN32.
856
857 2005-04-08  Tor Lillqvist  <tml@novell.com>
858
859         * glib/gutils.c (g_get_system_data_dirs): After investigating more
860         closely the actual use cases of this function, I understand better
861         what it needs to do on Windows. In addition to the Windows
862         COMMON_APPDATA and COMMON_DOCUMENTS folders, also return the
863         "share" subfolders of GLib's installation location and the
864         application .exe's installation location, hoping that either
865         matches what the function's caller is looking for.
866
867         * glib/gutils.h (G_WIN32_DLLMAIN_FOR_DLL_NAME): Use wide char API
868         if available, and store dll name in UTF-8.
869
870 2005-04-05  Matthias Clasen  <mclasen@redhat.com>
871
872         * glib/gfileutils.c (get_contents_stdio): Avoid memory 
873         leaks in borderline cases.  (#172612, Morten Welinder)
874
875 2005-04-04  Matthias Clasen  <mclasen@redhat.com>
876
877         * glib/gconvert.c: Clarify docs in some places. (#172404, 
878         Morten Welinder)
879
880 2005-04-03  Matthias Clasen  <mclasen@redhat.com>
881
882         * glib/gutils.h: Undef G_CAN_INLINE if G_IMPLEMENT_INLINES is 
883         defined. This was the pre-2.6 behaviour, and without it,
884         G_IMPLEMENT_INLINES cannot be used in multiple .c files
885         at all.  (#165852, Dave Benson)
886
887 2005-04-01  Matthias Clasen  <mclasen@redhat.com>
888
889         * glib/gmain.c (g_child_watch_source_new): Add a note regarding
890         waitpid(-1).
891         (g_child_watch_source_init_multi_threaded): 
892         (g_child_watch_source_init_single): Don't use SA_RESTART,
893         since it causes problems on at least one platform. (#168352)
894
895 2005-03-30  Steve Murphy  <murf@e-tools.com>
896
897         * configure.in: Added "rw" to ALL_LINGUAS.
898
899 2005-03-30  Sven Neumann  <sven@gimp.org>
900
901         * glib/gfileutils.c (get_contents_stdio): handle the unlikely case
902         that no bytes are read from the file and allocate an empty string.
903
904 2005-03-30  Tor Lillqvist  <tml@novell.com>
905
906         * glib/giowin32.c (g_io_win32_fd_get_flags_internal): Always claim
907         file descriptors open to devices are readable, since we can't
908         know. fstat() doesn't give any useful information. (#145326)
909
910 2005-03-29  Tor Lillqvist  <tml@novell.com>
911
912         * glib/gmain.c (g_poll): [Win32] If the event fired, assign
913         f->revents=f->events. We can't know whether the upper layer using
914         the event actually is readable, writeable or what, so say that all
915         the conditions hold. Remove the ResetEvent() call that has been
916         ifdeffed out anyway for a long time. Remove an "#ifdef 1" and
917         #endif pair of lines, that code is not optional.
918         (g_get_current_time): [Win32] Use GetSystemTimeAsFileTime()
919         instead of time() and GetTickCount(). Much simpler.
920
921 2005-03-28  Matthias Clasen  <mclasen@redhat.com>
922
923         * tests/date-test.c: 
924         * tests/testgdate.c: Add tests for 
925         g_date_get_iso8601_week_of_year().
926
927         * glib/gdate.c (g_date_get_iso8601_week_of_year): 
928         Fix the calculation.  (#169858, Jon-Kare Hellan)
929
930 2005-03-27  Tor Lillqvist  <tml@novell.com>
931
932         * configure.in: Apparently AC_LIBTOOL_WIN32_DLL isn't deprecated
933         after all, and in fact necessary with HEAD libtool.
934
935 2005-03-23  Tor Lillqvist  <tml@novell.com>
936
937         * glib/gutils.c (g_getenv): [Win32] Fix corner case bug when
938         environment variable value is exactly one character.
939
940 2005-03-21  Matthias Clasen  <mclasen@redhat.com>
941
942         * glib/glib.symbols: Add g_try_malloc0
943
944         * glib/gmem.h: Add g_try_new, g_try_new0, g_try_renew and
945         g_try_malloc0.  (#169611, Stefan Kost)
946
947         * glib/gmem.c: Implement g_try_malloc0.
948
949 2005-03-20  Tor Lillqvist  <tml@novell.com>
950
951         * glib/gspawn-win32.c (do_spawn_with_pipes): Close the process
952         handle if the caller doesn't want it also in the case without a
953         helper process.
954         (g_spawn_sync): Don't ask for a child pid which we don't need.
955
956         * glib/gtimer.c: On Win32, use GetSystemTimeAsFileTime() instead
957         of GetTickCount(). (#159507)
958
959         * glib/gmessages.c (g_log_default_handler)
960         * glib/gutils.c (g_get_prgname): Move the Win32 code that asks the
961         program name from the system to g_get_prgname(). Do output the pid
962         also on Win32 (useful in case there are several instances of the
963         same program running).
964
965         * tests/testglib.c (main): Print more detailled output from the
966         timer tests. Don't print home directory twice. Test
967         g_win32_error_message().
968
969         * tests/spawn-test.c (run_tests): On Win32, run netstat instead of
970         ipconfig. On Windows XP collecting output from ipconfig doesn't
971         seem to work for some reason.
972
973 2005-03-18  Hans Breuer  <hans@breuer.org>
974
975         * glib/makefile.msc.in : handle galiasdef.c (although completely 
976         useless for msvc build)
977
978         * glib/gbacktrace.c glib/gmessage.c : need at least _WIN_VER 0x0401
979         for IsDebuggerPresent()
980
981 2005-03-17  Matthias Clasen  <mclasen@redhat.com>
982
983         * glib/gkeyfile.c: Update the documentation, reflecting the
984         fact that the special case for !group_name --> start_group
985         got removed.  (#170566, Tim-Philipp Müller)
986
987 2005-03-15  Matthias Clasen  <mclasen@redhat.com>
988
989         * glib/goption.c (g_option_context_set_main_group): Warn 
990         if there already is a main group.  (#170445, Jeff Franks)
991
992 Sun Mar 13 22:01:17 2005  Manish Singh  <yosh@gimp.org>
993
994         * tests/array-test.c: delete a bunch of dead code.
995
996 Sun Mar 13 21:28:47 2005  Manish Singh  <yosh@gimp.org>
997
998         * glib/gdataset.c: remove spurious IA prefix from g_quark_try_string.
999
1000 2005-03-13  Matthias Clasen  <mclasen@redhat.com>
1001
1002         * glib/gatomic.c:
1003         * glib/gcache.c: Small fixes to the previous commit.
1004
1005 2005-03-13  Matthias Clasen  <mclasen@redhat.com>
1006
1007         Make PLT-reduction work with gcc4, and don't include
1008         everything in galias.h:
1009         
1010         * glib/glib.symbols: Group symbols by header and source file.
1011         * glib/makegalias.pl: Protect definitions by the same 
1012         preprocessor symbols used to guard the headers. Move
1013         the alias declarations to a separate file which is 
1014         produced when calling makegalias.pl -def
1015         * glib/Makefile.am (galiasdef.c): Add a rule to generate this
1016         file.
1017         * glib/*.c: Include galias.h after the other GLib headers,
1018         include galiasdef.c at the bottom.
1019
1020         * glib/glib.symbols: Add g_listenv and g_file_replace.
1021
1022 Fri Mar 11 23:51:12 2005  Soeren Sandmann  <sandmann@redhat.com>
1023
1024         * glib/gfileutils.c (write_to_temp_file): Don't try and generate
1025         a dotfile from the name -- it doesn't work with absolute
1026         paths. Also make documentation indicate that symlinks will be
1027         overwritten. Both pointed out by Alexis S. L. Carvalho.
1028
1029 2005-03-11  Matthias Clasen  <mclasen@redhat.com>
1030
1031         * m4macros/glib-gettext.m4: Avoid stupid compiler complaints
1032         about precision loss.
1033
1034 2005-03-10  Matthias Clasen  <mclasen@redhat.com>
1035
1036         * glib/gdate.c: Remove a lot of pointless g_return_if_fail()
1037         checks.  (#169859, Morten Welinder)
1038
1039 2005-03-10  Sven Neumann  <sven@gimp.org>
1040
1041         * tests/file-test.c: include <gstdio.h>.
1042
1043 2005-03-10  Sven Neumann  <sven@gimp.org>
1044
1045         * glib/gfileutils.c (get_contents_stdio): delay memory allocation
1046         until after the first read. Saves a bunch of reallocs. Also
1047         increased the buffer size to 4096 bytes. (bug #165954)
1048
1049         * tests/file-test.c (test_get_contents): added a (very basic) test
1050         for g_file_get_contents().
1051
1052 Wed Mar  9 19:06:45 2005  Manish Singh  <yosh@gimp.org>
1053
1054         * glib/glib.symbols: Add g_file_replace.
1055
1056 2005-03-09  Matthias Clasen  <mclasen@redhat.com>
1057
1058         * configure.in: Bump version
1059
1060 2005-03-09  Sven Neumann  <sven@gimp.org>
1061
1062         * glib/gfileutils.c (g_file_replace): avoid unnecessary filename
1063         conversions.
1064
1065 2005-03-09  Tor Lillqvist  <tml@novell.com>
1066
1067         * glib/gutils.c (g_get_user_data_dir, g_get_user_config_dir,
1068         g_get_user_cache_dir, g_get_system_data_dirs,
1069         g_get_system_config_dirs): [Win32] Don't leak return value from
1070         get_special_folder(). (#169348, Daniel Atallah) Guard against
1071         g_home_dir being NULL, use g_tmp_dir/g_user_name in that case.
1072
1073 Tue Mar  8 15:46:54 2005  Søren Sandmann  <sandmann@redhat.com>
1074
1075         * glib/gfileutils.c (g_file_replace): New API. A function to
1076         atomically create a file.
1077
1078 2005-03-08  Matthias Clasen  <mclasen@redhat.com>
1079
1080         * glib/glib.symbols: Add the new attributes here too.
1081
1082         * glib/gmacros.h: Define G_GNUC_NULL_TERMINATED.
1083         (#164706, Marc Meissner)
1084
1085         * glib/gstrfuncs.h: 
1086         * glib/gfileutils.h: Use G_GNUC_NULL_TERMINATED where
1087         appropriate.
1088
1089         * glib/goption.c (parse_int): Fix an error message.  
1090         (#168751, Hazael Maldonado Torres)
1091
1092 2005-03-07  Matthias Clasen  <mclasen@redhat.com>
1093
1094         * glib/gdebug.h: Small cleanup (use G_BEGIN/END_DECLS).
1095         (#168474, Fabricio Barros Cabral)
1096
1097 2005-03-07  Matthias Clasen  <mclasen@redhat.com>
1098
1099         * glib/gutils.c (g_find_program_in_path): Mark the last
1100         paragraph of the docs as Windows-specific.  (#169433)
1101
1102 2005-03-06  Matthias Clasen  <mclasen@redhat.com>
1103
1104         * glib/gmarkup.c: Add G_GNUC_PRINTF attribute
1105         to set_error.
1106         (g_markup_parse_context_end_parse): Fix an
1107         error message, noticed by Tim Janik.
1108
1109 2005-02-24  Tor Lillqvist  <tml@novell.com>
1110
1111         * glib/Makefile.am (BUILT_EXTRA_DIST): Don't distribute
1112         glib.def. (#167496, J. Ali Harlow)
1113
1114         * glib/gfileutils.c (get_contents_win32): Use g_fopen(). (#168341,
1115         Daniel Atallah)
1116
1117 2005-02-23  Matthias Clasen  <mclasen@redhat.com>
1118
1119         * configure.in: Don't forget to set G_THREAD_LIBS_FOR_GTHREAD 
1120         on non-linux platforms.  (#168177, Michael Banck)
1121
1122         * tests/keyfile-test.c (test_locale_string): Set LANGUAGE 
1123         instead of LC_ALL to shield against LANGUAGE being set in 
1124         the environment.  (#168311, Suren A. Chilingaryan)
1125
1126 Tue Feb 22 22:03:38 2005  Manish Singh  <yosh@gimp.org>
1127
1128         * glib/gstdio.h: On G_OS_UNIX, simple #define g_open and co. as
1129         aliases for their respective C library functions, instead of
1130         using the function wrappers. This avoids library users having to
1131         care about matching large file support with whatever glib has been
1132         built with. Fixes bug #167942.
1133
1134         * glib/gstdio.c
1135         * glib/abicheck.sh
1136         * glib/glib.symbols
1137         * glib/makegalias.pl: Logic to make the gstdio wrappers still
1138         available for compatibility, but not used in new code.
1139
1140 Tue Feb 22 18:33:07 2005  Manish Singh  <yosh@gimp.org>
1141
1142         * glib/gtimer.c (g_usleep): Simplify the loop for the fix below.
1143
1144 2005-02-20  Matthias Clasen  <mclasen@redhat.com>
1145
1146         * glib/gqueue.c (g_queue_new): Use a memchunk for
1147         sizeof(GQueue)-sized chunks.  (#167984, Fabrício Barros Cabral)
1148
1149         * glib/gtimer.c (g_usleep): Fix usage of 
1150         nanosleep().  (#163039, Bastien Nocera)
1151
1152 2005-02-16  Adi Attar  <aattar@cvs.gnome.org>
1153
1154         * configure.in: Added "xh" to ALL_LINGUAS.
1155
1156 2005-02-11  Tor Lillqvist  <tml@novell.com>
1157
1158         * glib/giowin32.c: Include winsock2.h before windows.h, to avoid
1159         compilation errors with MSVC. (#167105)
1160
1161 2005-02-10  Matthias Clasen  <mclasen@redhat.com>
1162
1163         * glib/goption.c (print_help): Take main group options into
1164         account when calculating column size.  (#166921)
1165         (g_option_context_parse): Accept -? as documented.  (#166977)
1166
1167 2005-02-09  Matthias Clasen  <mclasen@redhat.com>
1168         * glib/gkeyfile.c (find_file_in_data_dirs): Don't leak path
1169         here.  (#166801, Kjartan Maraas)
1170
1171 2005-02-08  Matthias Clasen  <mclasen@redhat.com>
1172
1173         * glib/gkeyfile.c (g_key_file_parse_value_as_string): Don't
1174         write out of bounds.
1175
1176         * glib/goption.c (g_option_context_parse): Fix a 
1177         one-too-short memory allocation.  (#166609, Nicolas Laurent)
1178
1179         * tests/Makefile.am (TESTS_ENVIRONMENT): Add tests with
1180         MALLOC_CHECK_.
1181
1182         * tests/option-test.c: Add a test for unkown short options.
1183
1184 2005-02-07  Matthias Clasen  <mclasen@redhat.com>
1185
1186         * glib/glib.symbols: 
1187         * glib/gutils.h: 
1188         * glib/gutils.c (g_listenv): New function to list all 
1189         environment variables.  (#166327, Hans Petter Jansson)
1190
1191 2005-02-07  Tor Lillqvist  <tml@novell.com>
1192
1193         * glib-zip.in: Add gmodule-no-export-2.0.pc.
1194
1195 Sun Feb  6 21:59:09 2005  Manish Singh  <yosh@gimp.org>
1196
1197         * glib/abicheck.sh: feed the contents of config.h and glibconfig.h
1198         into the preprocessor, since glib.symbols could need #defines
1199         from them.
1200
1201 Sun Feb  6 12:09:55 2005  Manish Singh  <yosh@gimp.org>
1202
1203         * glib/gatomic.c: Don't use matching constraints for asm mem
1204         parameters. This makes the code match with current glibc, and
1205         quiets some warnings with gcc 3.4.
1206
1207 2005-02-05  Tor Lillqvist  <tml@novell.com>
1208
1209         * configure.in (G_LIBS_EXTRA)
1210         * glib/giowin32.c: I think we can include <winsock2.h> and link
1211         with -lws2_32. Only Windows 95 originally didn't have Winsock 2,
1212         and it's available as an update for it. Not that we use any actual
1213         Winsock 2 -only features, but still, simpler to link directly with
1214         ws2_32.dll instead of going through wsock32.dll.
1215
1216         * glib/gfileutils.c (g_file_get_contents): In the Win32 ABI
1217         stability version, call g_file_get_contents_utf8(), not
1218         itself. (#166386, Bill Skaggs)
1219
1220 2005-02-04  Matthias Clasen  <mclasen@redhat.com>
1221
1222         * configure.in: Remove the --enable-ansi option  (#160469)
1223
1224         * configure.in: Define a HAVE_GNUC_VISIBILITY automake
1225         conditional.
1226
1227         * glib/Makefile.am (TESTS): Only check the abi if
1228         the compiler supports visibility, otherwise we
1229         know there will be (harmless) extra symbols.  
1230         (#166181, Ed Avis)
1231
1232 2005-02-02  Tor Lillqvist  <tml@novell.com>
1233
1234         * glib/gwin32.h: Remove unnecessary MSVC-only typedef for
1235         pid_t. (#165910) GLib does not pretend to be a POSIX emulation
1236         library.
1237
1238         * glib/gstdio.c: In the Win32 part of all functions, handle
1239         invalid UTF-8 more robustly. Don't pass the resulting NULL
1240         wide-char or codepage strings on to C library functions, but bail
1241         out early. (#166084)
1242
1243         * glib/gfileutils.c: Don't use potentially incorrect errno in
1244         several places. (#165951)
1245         (g_mkstemp): Set errno appropriately.
1246
1247 2005-02-02  Matthias Clasen  <mclasen@redhat.com>
1248
1249         * glib/gutils.c: Move doc comments inline.
1250
1251         * glib/ghash.h: Adjust some argument names.
1252
1253         * configure.in: Give meaningful names to g_memmove() 
1254         arguments.
1255
1256 2005-02-01  Matthias Clasen  <mclasen@redhat.com>
1257
1258         * tests/keyfile-test.c (test_key_remove): Add test case for
1259         key removal.
1260
1261         * glib/gkeyfile.c (g_key_file_remove_key): Actually remove 
1262         the key from the list of pairs.  (#165980, David Hoover)
1263
1264         * glib/gkeyfile.c: Doc clarifications.  (#165907, Vincent Untz)
1265
1266         * tests/keyfile-test.c (test_group_remove): Add test case for
1267         group removal.
1268
1269         * glib/gkeyfile.c (g_key_file_remove_group): Don't segfault
1270         if the group doesn't exist.  (#165887, Mathias Hasselmann)
1271
1272 2005-01-30  Matthias Clasen  <mclasen@redhat.com>
1273
1274         * tests/keyfile-test.c: Some more unit tests.
1275
1276 2005-01-28  Christian Rose  <menthos@menthos.com>
1277
1278         * configure.in: Added "tl" to ALL_LINGUAS.
1279
1280 2005-01-24  Matthias Clasen  <mclasen@redhat.com>
1281
1282         * tests/run-markup-tests.sh: Let $srcdir default to .
1283
1284         * tests/markups/fail-40.gmarkup: Add a test with a long entity
1285         name.
1286
1287         * glib/gmarkup.c (unescape_text_state_inside_entity_name): Don't
1288         copy the entity name into a short buffer of fixed length. Instead,
1289         compare it in place with strncmp(), and do a full strdup() in the
1290         error path.  (#165100, Simon Budig)
1291
1292 2005-01-22  Tor Lillqvist  <tml@novell.com>
1293
1294         * glib/gdate.c (g_date_set_time): Don't g_assert that localtime()
1295         returns non-NULL. It does return NULL at least on Win32 if you
1296         pass it a negative time_t, which although wrong, shouldn't cause
1297         an application to abort. Instead return 2000-01-01 as a default
1298         date. Print a warning unless G_DISABLE_CHECKS. (#164622)
1299
1300 2005-01-20  Matthias Clasen  <mclasen@redhat.com>
1301
1302         * glib/gkeyfile.c (g_key_file_parse_value_as_integer): Don't
1303         interpret leading zeros as octal. The specification requires
1304         %f parsing, and %f doesn't allow octal.  
1305
1306         * tests/keyfile-test.c: Add some more tests.
1307
1308         * glib/gkeyfile.c (g_key_file_get_keys): Return keys in
1309         the order found in the file, rather than the opposite.
1310         (g_key_file_parse_value_as_string): Fix error reporting.
1311
1312 2005-01-19  Matthias Clasen  <mclasen@redhat.com>
1313
1314         * glib/gkeyfile.c (g_key_file_parse_data): Accept \r\n as 
1315         line end.  (#163030, Bastian Nocera)
1316         (g_key_file_load_from_data): Make -1 work as a size.
1317         
1318         * tests/keyfile-test.c: Some unit tests for the keyfile
1319         parser.  
1320
1321         * tests/Makefile.am (test_programs): Add keyfile-test.
1322
1323 2005-01-19  Tor Lillqvist  <tml@novell.com>
1324
1325         * glib/gbacktrace.c (g_on_error_stack_trace): On Win32 call
1326         G_BREAKPOINT() if being debugged.
1327
1328         * glib/gmessages.c (g_logv): For fatal messages on Win32, use
1329         G_BREAKPOINT() also without G_ENABLE_DEBUG, but only if being
1330         debugged. Suggestion by Ulf Lamping.
1331
1332 2005-01-18  Matthias Clasen  <mclasen@redhat.com>
1333
1334         * glib/gqsort.c: Don't include alloca.h. It is not needed,
1335         and does not exist on win32.  (#164468, Kazuki IWAMOTO)
1336
1337         * glib/gkeyfile.c (g_key_file_get_boolean_list): Fix a
1338         sparse warning.  (#164467, Kjartan Maraas)
1339
1340 2005-01-17  Matthias Clasen  <mclasen@redhat.com>
1341
1342         * glib/gconvert.c (g_get_filename_charsets): Don't crash
1343         if G_FILENAME_ENCODING is empty.  (#164330, Pawel Sakowski)
1344
1345 2005-01-15  Tor Lillqvist  <tlillqvist@novell.com>
1346
1347         * configure.in: sh portability fix. Use "test" and not [.
1348         (#163144, Robert Ögren)
1349
1350 2005-01-13  Matthias Clasen  <mclasen@redhat.com>
1351
1352         * glib/gqsort.c: Sync to glibc.  (#133994, Morten Welinder, 
1353         patch by Kjartan Maraas)
1354
1355 2005-01-11  Owen Taylor <otaylor@redhat.com>
1356
1357         * configure.in: Add gmodule-export-2.0.pc to AC_CONFIG_FILES.
1358
1359         * glib/Makefile.am gobject/Makefile.am gthread/Makefile.am:
1360         Use grep | head -n 1 instead of grep -m 1 which doesn't work
1361         with slightly older versions of GNU grep in 
1362         install-libtool-import-lib rule.
1363
1364 2005-01-11  Matthias Clasen  <mclasen@redhat.com>
1365
1366         * glib/gdir.c (g_dir_open): Typo fix.
1367
1368 2005-01-10  Owen Taylor  <otaylor@redhat.com>
1369
1370         * Makefile.am (EXTRA_DIST): Add missing ChangeLog.pre*
1371
1372 2005-01-09  Hans Breuer  <hans@breuer.org>
1373
1374         * glib/gfileutils.c : make it compile with mvc6 default sdk,
1375         (#define INVALID_FILE_ATTRIBUTES, FILE_ATTRIBUTE_DEVICE)
1376
1377 2005-01-09  Tor Lillqvist  <tlillqvist@novell.com>
1378
1379         * glib/gwin32.c: Include also wchar.h for wcslen on
1380         Cygwin.
1381         (g_win32_error_message): Fix cast. (#163133, Roger Leigh)
1382
1383         * glib/gfileutils.c: Include <io.h> on Windows for
1384         prototypes. (#163390, Kazuki Iwamoto)
1385
1386 2005-01-07  Matthias Clasen  <mclasen@redhat.com>
1387
1388         * NEWS: Typo fixes.
1389
1390         * configure.in: Bump version
1391
1392         * === Released 2.6.1 ===
1393
1394 2005-01-07  Matthias Clasen  <mclasen@redhat.com>
1395
1396         * configure.in: 
1397         * Makefile.am: Generate and distribute gmodule-export-2.0.pc,
1398         which is currently just a copy of gmodule-2.0.pc, but makes
1399         it explicit that it adds --export-dynamic.
1400         
1401         * gmodule-export-2.0.pc.in: Copy of gmodule-2.0.pc.in.
1402
1403 2005-01-06  Tor Lillqvist  <tml@iki.fi>
1404
1405         * glib/Makefile.am
1406         * gobject/Makefile.am: glib.def and gobject.def are generated, not
1407         in $(srcdir). (#163143, J. Ali Harlow)
1408
1409         * configure.in
1410         * glib/Makefile.am
1411         * gobject/Makefile.am: Win32 cross-compilation fixes. (#163144,
1412         J. Ali Harlow)
1413
1414 2005-01-05  Matthias Clasen  <mclasen@redhat.com>
1415
1416         * glib/gutils.h: Simplify the inlining magic to make it
1417         work at Oh zero.  (#162990, Kalpesh Shah) 
1418
1419 2005-01-04  Tor Lillqvist  <tml@iki.fi>
1420
1421         * glib/guniprop.c (get_locale_type): Use g_win32_getlocale()
1422         instead of setlocale() on Windows. setlocale() returns strings
1423         like "Turkish_Turkey".
1424
1425 2005-01-04  Matthias Clasen  <mclasen@redhat.com>
1426
1427         Fix the inlining magic.  (#157536, Jens Hatlak, and
1428         #149907, Morten Welinder)
1429         
1430         * configure.in: Define G_CAN_INLINE in glibconfig.h
1431
1432         * glib/gutils.h: Streamline the inlining magic a bit,
1433         don't use extern when implementing the non-inlined 
1434         version.
1435
1436 2005-01-03  Matthias Clasen  <mclasen@redhat.com>
1437
1438         * glib/gutils.c (g_find_program_in_path): Don't return
1439         directories.  (#160738, Tommi Komulainen)
1440
1441         * glib/gfileutils.c (g_file_get_contents): Clarify the 
1442         documentation.  (#162251, Mariano Suárez-Alvarez)
1443
1444 2005-01-02  Matthias Clasen  <mclasen@redhat.com>
1445
1446         * glib/gutils.c (g_setenv, g_unsetenv): Clarify the 
1447         docs.  (#162747, Crispin Flowerday)
1448
1449 2005-01-01  J. Ali Harlow  <ali@juiblex.co.uk>
1450
1451         * configure.in: Don't use AC_TRY_RUN to test for long long format
1452         when using the MSVCRT.DLL runtime since we know the answer anyway
1453         and it causes some mild inconvience when cross compiling.
1454
1455         * README.win32: Add a reference to the cross compiling section
1456         of the reference manual.
1457
1458         * docs/reference/glib/cross.sgml: MinGW uses MSVCRT.DLL which
1459         requires %I64i instead of %lli. (#161306)
1460
1461 2005-01-01  Tor Lillqvist  <tml@iki.fi>
1462
1463         * glib/gutils.c: Make the g_getenv() ABI backward compatibility
1464         wrapper more robust.
1465
1466 2005-01-01  Tor Lillqvist  <tml@iki.fi>
1467
1468         * glib/glib.symbols
1469         * glib/gutils.h
1470         * glib/gutils.c: Make also g_getenv(), g_setenv(), g_unsetenv()
1471         and g_find_program_in_path() take and return UTF-8 strings on
1472         Win32. Implement DLL ABI backward compatility for them, too. Move
1473         all the DLL ABI stability wrappers to the end of the file. Use
1474         wide character API when available in inner_find_program_in_path().
1475
1476         * glib/gfileutils.c: With the UTF-8ness of g_getenv() above, just
1477         use g_getenv() to get PATHEXT. (Yeah, it's probably overdoing it
1478         to consider somebody actually having anything else than ASCII
1479         in PATHEXT, but...)
1480
1481 2004-12-31  Tor Lillqvist  <tml@iki.fi>
1482
1483         * glib/gfileutils.c (g_file_test): Rewrite the Win32 version to
1484         use GetFileAttributes() instead of stat(). stat() is unreliable
1485         for corner cases like '\\server\share' or '.\'. Part of fixing
1486         #161797. When testing for executability, in addition to the fixed
1487         set of executable file name extensions also check the PATHEXT
1488         environment variable.
1489
1490 2004-12-30  Tor Lillqvist  <tml@iki.fi>
1491
1492         * glib/gutils.c (g_get_current_dir): In the Win32 version, use
1493         GetCurrentDirectory() directly for simpler buffer length
1494         management. I don't trust getcwd() getting it right all the time.
1495
1496 2004-12-30  Matthias Clasen  <mclasen@redhat.com>
1497
1498         * glib/gfileutils.c (g_file_test): Typo fix.
1499
1500 2004-12-30  Tor Lillqvist  <tml@iki.fi>
1501
1502         * glib/gutils.c (g_path_skip_root): Require UNC paths to start
1503         with exactly two slashes.
1504         (g_get_current_dir): Use wide character API when available.
1505         (g_path_get_dirname): Handle UNC paths better. Part of fix for
1506         #161797.
1507
1508 2004-12-27  Matthias Clasen  <mclasen@redhat.com>
1509
1510         * configure.in: Add an OS_LINUX conditional.
1511
1512         * glib/Makefile.am (TESTS): Only check the ABI on 
1513         linux, since the shell script is not portable, and libtool
1514         deficiencies may distort the ABI on other platforms.  (#161741)
1515
1516 2004-12-21  Matthias Clasen  <mclasen@redhat.com>
1517
1518         * glib/goption.c (print_entry): Don't show
1519         the special G_OPTION_REMAINING entry.  (#161934,
1520         Matthew F. Barnes)
1521
1522 2004-12-20  Tor Lillqvist  <tml@iki.fi>
1523
1524         * glib/gconvert.c (g_locale_to_utf8, g_filename_to_uri): Improve
1525         docs.
1526
1527 2004-12-20  Matthias Clasen  <mclasen@redhat.com>
1528
1529         * tests/option-test.c: Add some tests for '--' 
1530         stripping.
1531
1532         * glib/goption.c (g_option_context_parse): Don't
1533         strip '--' if it would be needed by a second option
1534         parser.  (#161701)
1535
1536         * glib/gunicollate.c (g_utf8_collate): Make docs 
1537         more accurate.  (#161683, Marcin Krzyzanowski)
1538
1539 2004-12-19  Matthias Clasen  <mclasen@redhat.com>
1540
1541         * glib/goption.c (g_option_context_parse): Call
1542         post-parse hooks also if argv is NULL.  (#161668,
1543         Marcin Krzyzanowski)
1544