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