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