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