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