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