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