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