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