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