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