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