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