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