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