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