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