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