0ac607f2fe47eead3364dac05b7fe63018ef1db0
[platform/upstream/glib.git] / ChangeLog.pre-2-8
1 2005-07-09  Tor Lillqvist  <tml@novell.com>
2
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.
6
7         * glibconfig.h.win32.in: Minor tuning to match the
8         configure-produced glibconfig.h closely.
9
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.
16
17         * glib/glib.rc.in: Thus replace BUILDNUMBER with 0.
18
19 2005-07-08  Matthias Clasen  <mclasen@redhat.com>
20
21         * configure.in: Bump version
22         
23         * === Released 2.7.2 ===
24
25         * NEWS: Updates
26
27 2005-07-07  Matthias Clasen  <mclasen@redhat.com>
28
29         * configure.in: Make the size_t size detection work on AIX. 
30         (#309725)
31
32 2005-07-06  Matthias Clasen  <mclasen@redhat.com>
33
34         * configure.in: Require a newer gtk-doc.
35
36 2005-07-01  Hans Breuer  <hans@breuer.org>
37
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
41
42 2005-07-01  Matthias Clasen  <mclasen@redhat.com>
43
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.
48
49         * tests/keyfile-test.c (test_comments): Test that comments are
50         handled properly.  (#309263, Mikael Magnusson)
51
52 2005-06-30  Matthias Clasen  <mclasen@redhat.com>
53
54         * configure.in: Bump version
55
56         * === Released 2.7.1 ===
57
58 2005-06-30  Matthias Clasen  <mclasen@redhat.com>
59
60         * glib/gstring.c (g_str_hash): Fix portability issues.  
61         (#307064, Morten Welinder)
62
63         Apply a patch which may make GLib work on BeOS again.  
64         (#309157, Kian Duffy)
65
66         * glib/gmain.c: Update the BeOS includes.
67
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.
72
73         * configure.in: Don't put glib 1.0 into G_MODULE_LIBS, even
74         on BeOS.
75
76         * NEWS: Updates
77
78 2005-06-26  Tor Lillqvist  <tml@novell.com>
79
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.
83
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.
87
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().
91
92 2005-06-24  Matthias Clasen  <mclasen@redhat.com>
93
94         Add an mmap() wrapper called GMappedFile. (#148218,
95         David Schleef, Behdad Esfahbod)
96         
97         * glib/gmappedfile.[hc]: New files.
98
99         * configure.in: Check for mmap.
100         
101         * glib/Makefile.am: Add new files.
102         
103         * glib/glib.symbols: Add new functions.
104
105         * glib/glib.h: Include gmappedfile.h
106
107         * tests/mapping-test.c: Tests for GMappedFile.
108
109         * tests/Makefile.am: Add new file.
110
111         * Makefile.am (DISTCHECK_CONFIGURE_FLAGS): Add --enable-man.
112
113 2005-06-24  Tor Lillqvist  <tml@novell.com>
114
115         * glib/Makefile.am (install-libtool-import-lib): Current GNU tools
116         do understand the PRIVATE keyword.
117
118         * glib/gfileutils.c (g_mkdir_with_parents): Return error with
119         EINVAL also for empty pathnames.
120         (g_build_pathname_va): Fix typo.
121
122 Thu Jun 23 15:52:08 2005  Manish Singh  <yosh@gimp.org>
123
124         * glib/gfileutils.c: g_build_filename_va is only use in the G_OS_WIN32
125         case, so compile it conditionally.
126
127 2005-06-23  Matthias Clasen  <mclasen@redhat.com>
128
129         * tests/keyfile-test.c (test_group_remove): Don't leak
130         memory here.
131
132         * glib/gkeyfile.c (g_key_file_load_from_data_dirs): Don't
133         leak output_path.  (#308546, Kjartan Maraas)
134
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)
141
142         * tests/strfunc-test.c: Add tests for g_build_pathv() 
143         and g_build_filenamev().
144
145 2005-06-22  Tor Lillqvist  <tml@novell.com>
146
147         * glib/gfileutils.c
148         * glib/gfileutils.h
149         * glib/glib.symbols
150         * tests/testglib.c: Rename g_makepath() to g_mkdir_with_parents().
151
152 2005-06-22  Matthias Clasen  <mclasen@redhat.com>
153
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)
159
160 2005-06-22  Tor Lillqvist  <tml@novell.com>
161
162         * glib/gfileutils.c (g_makepath): New function. Creates a
163         directory including intermediate parent directories as
164         needed. (#60509)
165
166         * glib/gfileutils.h: Declare it.
167
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)
173
174         * glib/gutils.h: Declare it.
175
176         * glib/glib.symbols: Add new functions.
177
178         * tests/testglib.c: Test g_makepath() and g_get_host_name().
179         
180 2005-06-18  Matthias Clasen  <mclasen@redhat.com>
181
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)
186
187         * tests/option-test.c: test callback args
188
189 2005-06-14  Theppitak Karoonboonyanan  <thep@linux.thai.net>
190
191         * configure.in: Added 'th' (Thai) to ALL_LINGUAS.
192
193 2005-06-10  Matthias Clasen  <mclasen@redhat.com>
194
195         * configure.in: Bump version
196
197         * === Released 2.7.0 ===
198
199         * NEWS: Updates
200
201 2005-06-09  Matthias Clasen  <mclasen@redhat.com>
202
203         * glib/gkeyfile.c (g_key_file_parse_value_as_integer): Better
204         error checking. (#306389, Morten Welinder)
205
206         * glib/goption.c (parse_int): Set errno to 0 before calling
207         strtol.  (#306388, Morten Welinder)
208
209 2005-06-09  Tor Lillqvist  <tml@novell.com>
210
211         * glib/gstdio.h
212         * glib/gstdio.c
213         * glib/glib.symbols: Add a chdir() wrapper, too.
214
215         * glib/glib.symbols: Add g_win32_locale_filename_from_utf8().
216
217         * glib/gwin32.c (g_win32_locale_filename_from_utf8): Clarify doc
218         comment.
219
220 2005-06-08  Tor Lillqvist  <tml@novell.com>
221
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.
231
232 2005-06-08  Matthias Clasen  <mclasen@redhat.com>
233
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)
239
240 Fri May 27 17:18:00 2005  Manish Singh  <yosh@gimp.org>
241
242         * glib/goption.c (parse_short_option): initialize option_name
243         before using it.
244
245 2005-05-27  Matthias Clasen  <mclasen@redhat.com>
246
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)
250
251         * tests/option-test.c (missing_arg_test): Add a testcase.
252
253 Wed May 25 15:33:51 2005  Manish Singh  <yosh@gimp.org>
254
255         * glib/goption.c (print_help): rest_description should be const.
256
257 2005-05-25  Matthias Clasen  <mclasen@redhat.com>
258
259         * glib/gunidecomp.c (combine_hangul): Don't eat Hangul 
260         when normalizing.  (#301742, reported by Christian Biere,
261         patch by Noah Levitt)
262
263 2005-05-24  Matthias Clasen  <mclasen@redhat.com>
264
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)
268
269 2005-05-20  Federico Mena Quintero  <federico@ximian.com>
270
271         Merged from glib-2-6:
272
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.
276
277 2005-05-18  Matthias Clasen  <mclasen@redhat.com>
278
279         * glib/gunidecomp.c: Correct the end of the Hangul 
280         Syllables range, from 0xd7af to 0xd7a3, in several
281         places.  (#301984, Changwoo Ryu)
282
283 2005-05-17  Matthias Clasen  <mclasen@redhat.com>
284
285         * tests/tree-test.c (main): Check the return values of
286         g_tree_remove().
287
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)
291
292 2005-05-06  Brian Cameron  <brian.cameron@sun.com>
293
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.
298
299 2005-05-06  Matthias Clasen  <mclasen@redhat.com>
300
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)
306
307 2005-05-05  Owen Taylor  <otaylor@redhat.com>
308
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.
313
314         * tests/gobject/references.c tests/gobject/Makefile.am:
315         Add a test case for weak and toggle references.
316
317         * glib/gfileutils.[ch]: Rename g_file_replace() back
318         to g_file_set_contents().
319
320         * glib/glib.symbols: Update.
321
322 2005-05-02  Matthias Clasen  <mclasen@redhat.com>
323
324         * glib/gstring.c (g_str_equal, g_str_hash): Move docs
325         inline.
326
327 2005-05-01  Matthias Clasen  <mclasen@redhat.com>
328
329         * glib/ghash.h: Rename some parameters to make gtk-doc
330         happy.
331
332         * glib/gutils.c: 
333         * glib/gwin32.c: 
334         * glib/gstdio.c: Fix some typos, mark new API as "Since 2.8".
335
336 2005-04-29  Matthias Clasen  <mclasen@redhat.com>
337
338         * glib/gtree.c: Clarify some docs. (#302062, Matthew F. Barnes)
339
340 2005-04-28  Matthias Clasen  <mclasen@redhat.com>
341
342         * glib/gstrfuncs.c (g_strcompress): Warn and don't crash
343         when meeting a trailing \\.  (#301373, Benjamin Otte)
344
345 2005-04-27  Tor Lillqvist  <tml@novell.com>
346
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.
355
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.
362
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)
368
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.
372
373 2005-04-19  Tor Lillqvist  <tml@novell.com>
374
375         * glib/gutils.h: Minor comment improvement.
376
377 2005-04-18  Tor Lillqvist  <tml@novell.com>
378
379         * glib/gfileutils.c: No <sys/wait.h> on Win32. Definition of
380         save_errno was missing in one place.
381
382 Sat Apr 16 20:15:44 2005  Soeren Sandmann  <sandmann@redhat.com>
383
384         * glib/gfileutils.c (g_file_replace): Save the errno in various
385         places
386
387         * glib/gfileutils.c (set_umask_permissions): Fork a child and do
388         chmod() to the umask() permissions there.
389
390 2005-04-10  Matthias Clasen  <mclasen@redhat.com>
391
392         * glib/gmessages.h (g_debug): Use G_LOG_LEVEL_DEBUG in
393         both definitions.  (#300071, Tommi Komulainen)
394
395 2005-04-09  Tor Lillqvist  <tml@novell.com>
396
397         * glib/gutils.c: Include <process.h> on Win32 for getpid(). (#173094)
398
399 2005-04-08  Tor Lillqvist  <tml@novell.com>
400
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)
405
406 2005-04-08  Tor Lillqvist  <tml@novell.com>
407
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.
411
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.
417
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).
425
426         * glib/glib.symbols: Add g_win32_get_system_data_dirs_for_module.
427
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>
433
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.
436
437 2005-04-08  Tor Lillqvist  <tml@novell.com>
438
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.
446
447         * glib/gutils.h (G_WIN32_DLLMAIN_FOR_DLL_NAME): Use wide char API
448         if available, and store dll name in UTF-8.
449
450 2005-04-05  Matthias Clasen  <mclasen@redhat.com>
451
452         * glib/gfileutils.c (get_contents_stdio): Avoid memory 
453         leaks in borderline cases.  (#172612, Morten Welinder)
454
455 2005-04-04  Matthias Clasen  <mclasen@redhat.com>
456
457         * glib/gconvert.c: Clarify docs in some places. (#172404, 
458         Morten Welinder)
459
460 2005-04-03  Matthias Clasen  <mclasen@redhat.com>
461
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)
466
467 2005-04-01  Matthias Clasen  <mclasen@redhat.com>
468
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)
474
475 2005-03-30  Steve Murphy  <murf@e-tools.com>
476
477         * configure.in: Added "rw" to ALL_LINGUAS.
478
479 2005-03-30  Sven Neumann  <sven@gimp.org>
480
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.
483
484 2005-03-30  Tor Lillqvist  <tml@novell.com>
485
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)
489
490 2005-03-29  Tor Lillqvist  <tml@novell.com>
491
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.
500
501 2005-03-28  Matthias Clasen  <mclasen@redhat.com>
502
503         * tests/date-test.c: 
504         * tests/testgdate.c: Add tests for 
505         g_date_get_iso8601_week_of_year().
506
507         * glib/gdate.c (g_date_get_iso8601_week_of_year): 
508         Fix the calculation.  (#169858, Jon-Kare Hellan)
509
510 2005-03-27  Tor Lillqvist  <tml@novell.com>
511
512         * configure.in: Apparently AC_LIBTOOL_WIN32_DLL isn't deprecated
513         after all, and in fact necessary with HEAD libtool.
514
515 2005-03-23  Tor Lillqvist  <tml@novell.com>
516
517         * glib/gutils.c (g_getenv): [Win32] Fix corner case bug when
518         environment variable value is exactly one character.
519
520 2005-03-21  Matthias Clasen  <mclasen@redhat.com>
521
522         * glib/glib.symbols: Add g_try_malloc0
523
524         * glib/gmem.h: Add g_try_new, g_try_new0, g_try_renew and
525         g_try_malloc0.  (#169611, Stefan Kost)
526
527         * glib/gmem.c: Implement g_try_malloc0.
528
529 2005-03-20  Tor Lillqvist  <tml@novell.com>
530
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.
535
536         * glib/gtimer.c: On Win32, use GetSystemTimeAsFileTime() instead
537         of GetTickCount(). (#159507)
538
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).
544
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().
548
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.
552
553 2005-03-18  Hans Breuer  <hans@breuer.org>
554
555         * glib/makefile.msc.in : handle galiasdef.c (although completely 
556         useless for msvc build)
557
558         * glib/gbacktrace.c glib/gmessage.c : need at least _WIN_VER 0x0401
559         for IsDebuggerPresent()
560
561 2005-03-17  Matthias Clasen  <mclasen@redhat.com>
562
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)
566
567 2005-03-15  Matthias Clasen  <mclasen@redhat.com>
568
569         * glib/goption.c (g_option_context_set_main_group): Warn 
570         if there already is a main group.  (#170445, Jeff Franks)
571
572 Sun Mar 13 22:01:17 2005  Manish Singh  <yosh@gimp.org>
573
574         * tests/array-test.c: delete a bunch of dead code.
575
576 Sun Mar 13 21:28:47 2005  Manish Singh  <yosh@gimp.org>
577
578         * glib/gdataset.c: remove spurious IA prefix from g_quark_try_string.
579
580 2005-03-13  Matthias Clasen  <mclasen@redhat.com>
581
582         * glib/gatomic.c:
583         * glib/gcache.c: Small fixes to the previous commit.
584
585 2005-03-13  Matthias Clasen  <mclasen@redhat.com>
586
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.
599
600         * glib/glib.symbols: Add g_listenv and g_file_replace.
601
602 Fri Mar 11 23:51:12 2005  Soeren Sandmann  <sandmann@redhat.com>
603
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.
608
609 2005-03-11  Matthias Clasen  <mclasen@redhat.com>
610
611         * m4macros/glib-gettext.m4: Avoid stupid compiler complaints
612         about precision loss.
613
614 2005-03-10  Matthias Clasen  <mclasen@redhat.com>
615
616         * glib/gdate.c: Remove a lot of pointless g_return_if_fail()
617         checks.  (#169859, Morten Welinder)
618
619 2005-03-10  Sven Neumann  <sven@gimp.org>
620
621         * tests/file-test.c: include <gstdio.h>.
622
623 2005-03-10  Sven Neumann  <sven@gimp.org>
624
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)
628
629         * tests/file-test.c (test_get_contents): added a (very basic) test
630         for g_file_get_contents().
631
632 Wed Mar  9 19:06:45 2005  Manish Singh  <yosh@gimp.org>
633
634         * glib/glib.symbols: Add g_file_replace.
635
636 2005-03-09  Matthias Clasen  <mclasen@redhat.com>
637
638         * configure.in: Bump version
639
640 2005-03-09  Sven Neumann  <sven@gimp.org>
641
642         * glib/gfileutils.c (g_file_replace): avoid unnecessary filename
643         conversions.
644
645 2005-03-09  Tor Lillqvist  <tml@novell.com>
646
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.
652
653 Tue Mar  8 15:46:54 2005  Søren Sandmann  <sandmann@redhat.com>
654
655         * glib/gfileutils.c (g_file_replace): New API. A function to
656         atomically create a file.
657
658 2005-03-08  Matthias Clasen  <mclasen@redhat.com>
659
660         * glib/glib.symbols: Add the new attributes here too.
661
662         * glib/gmacros.h: Define G_GNUC_NULL_TERMINATED.
663         (#164706, Marc Meissner)
664
665         * glib/gstrfuncs.h: 
666         * glib/gfileutils.h: Use G_GNUC_NULL_TERMINATED where
667         appropriate.
668
669         * glib/goption.c (parse_int): Fix an error message.  
670         (#168751, Hazael Maldonado Torres)
671
672 2005-03-07  Matthias Clasen  <mclasen@redhat.com>
673
674         * glib/gdebug.h: Small cleanup (use G_BEGIN/END_DECLS).
675         (#168474, Fabricio Barros Cabral)
676
677 2005-03-07  Matthias Clasen  <mclasen@redhat.com>
678
679         * glib/gutils.c (g_find_program_in_path): Mark the last
680         paragraph of the docs as Windows-specific.  (#169433)
681
682 2005-03-06  Matthias Clasen  <mclasen@redhat.com>
683
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.
688
689 2005-02-24  Tor Lillqvist  <tml@novell.com>
690
691         * glib/Makefile.am (BUILT_EXTRA_DIST): Don't distribute
692         glib.def. (#167496, J. Ali Harlow)
693
694         * glib/gfileutils.c (get_contents_win32): Use g_fopen(). (#168341,
695         Daniel Atallah)
696
697 2005-02-23  Matthias Clasen  <mclasen@redhat.com>
698
699         * configure.in: Don't forget to set G_THREAD_LIBS_FOR_GTHREAD 
700         on non-linux platforms.  (#168177, Michael Banck)
701
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)
705
706 Tue Feb 22 22:03:38 2005  Manish Singh  <yosh@gimp.org>
707
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.
713
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.
719
720 Tue Feb 22 18:33:07 2005  Manish Singh  <yosh@gimp.org>
721
722         * glib/gtimer.c (g_usleep): Simplify the loop for the fix below.
723
724 2005-02-20  Matthias Clasen  <mclasen@redhat.com>
725
726         * glib/gqueue.c (g_queue_new): Use a memchunk for
727         sizeof(GQueue)-sized chunks.  (#167984, Fabrício Barros Cabral)
728
729         * glib/gtimer.c (g_usleep): Fix usage of 
730         nanosleep().  (#163039, Bastien Nocera)
731
732 2005-02-16  Adi Attar  <aattar@cvs.gnome.org>
733
734         * configure.in: Added "xh" to ALL_LINGUAS.
735
736 2005-02-11  Tor Lillqvist  <tml@novell.com>
737
738         * glib/giowin32.c: Include winsock2.h before windows.h, to avoid
739         compilation errors with MSVC. (#167105)
740
741 2005-02-10  Matthias Clasen  <mclasen@redhat.com>
742
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)
746
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)
750
751 2005-02-08  Matthias Clasen  <mclasen@redhat.com>
752
753         * glib/gkeyfile.c (g_key_file_parse_value_as_string): Don't
754         write out of bounds.
755
756         * glib/goption.c (g_option_context_parse): Fix a 
757         one-too-short memory allocation.  (#166609, Nicolas Laurent)
758
759         * tests/Makefile.am (TESTS_ENVIRONMENT): Add tests with
760         MALLOC_CHECK_.
761
762         * tests/option-test.c: Add a test for unkown short options.
763
764 2005-02-07  Matthias Clasen  <mclasen@redhat.com>
765
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)
770
771 2005-02-07  Tor Lillqvist  <tml@novell.com>
772
773         * glib-zip.in: Add gmodule-no-export-2.0.pc.
774
775 Sun Feb  6 21:59:09 2005  Manish Singh  <yosh@gimp.org>
776
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.
780
781 Sun Feb  6 12:09:55 2005  Manish Singh  <yosh@gimp.org>
782
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.
786
787 2005-02-05  Tor Lillqvist  <tml@novell.com>
788
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.
795
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)
799
800 2005-02-04  Matthias Clasen  <mclasen@redhat.com>
801
802         * configure.in: Remove the --enable-ansi option  (#160469)
803
804         * configure.in: Define a HAVE_GNUC_VISIBILITY automake
805         conditional.
806
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)
811
812 2005-02-02  Tor Lillqvist  <tml@novell.com>
813
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.
817
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)
822
823         * glib/gfileutils.c: Don't use potentially incorrect errno in
824         several places. (#165951)
825         (g_mkstemp): Set errno appropriately.
826
827 2005-02-02  Matthias Clasen  <mclasen@redhat.com>
828
829         * glib/gutils.c: Move doc comments inline.
830
831         * glib/ghash.h: Adjust some argument names.
832
833         * configure.in: Give meaningful names to g_memmove() 
834         arguments.
835
836 2005-02-01  Matthias Clasen  <mclasen@redhat.com>
837
838         * tests/keyfile-test.c (test_key_remove): Add test case for
839         key removal.
840
841         * glib/gkeyfile.c (g_key_file_remove_key): Actually remove 
842         the key from the list of pairs.  (#165980, David Hoover)
843
844         * glib/gkeyfile.c: Doc clarifications.  (#165907, Vincent Untz)
845
846         * tests/keyfile-test.c (test_group_remove): Add test case for
847         group removal.
848
849         * glib/gkeyfile.c (g_key_file_remove_group): Don't segfault
850         if the group doesn't exist.  (#165887, Mathias Hasselmann)
851
852 2005-01-30  Matthias Clasen  <mclasen@redhat.com>
853
854         * tests/keyfile-test.c: Some more unit tests.
855
856 2005-01-28  Christian Rose  <menthos@menthos.com>
857
858         * configure.in: Added "tl" to ALL_LINGUAS.
859
860 2005-01-24  Matthias Clasen  <mclasen@redhat.com>
861
862         * tests/run-markup-tests.sh: Let $srcdir default to .
863
864         * tests/markups/fail-40.gmarkup: Add a test with a long entity
865         name.
866
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)
871
872 2005-01-22  Tor Lillqvist  <tml@novell.com>
873
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)
879
880 2005-01-20  Matthias Clasen  <mclasen@redhat.com>
881
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.  
885
886         * tests/keyfile-test.c: Add some more tests.
887
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.
891
892 2005-01-19  Matthias Clasen  <mclasen@redhat.com>
893
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.  
900
901         * tests/Makefile.am (test_programs): Add keyfile-test.
902
903 2005-01-19  Tor Lillqvist  <tml@novell.com>
904
905         * glib/gbacktrace.c (g_on_error_stack_trace): On Win32 call
906         G_BREAKPOINT() if being debugged.
907
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.
911
912 2005-01-18  Matthias Clasen  <mclasen@redhat.com>
913
914         * glib/gqsort.c: Don't include alloca.h. It is not needed,
915         and does not exist on win32.  (#164468, Kazuki IWAMOTO)
916
917         * glib/gkeyfile.c (g_key_file_get_boolean_list): Fix a
918         sparse warning.  (#164467, Kjartan Maraas)
919
920 2005-01-17  Matthias Clasen  <mclasen@redhat.com>
921
922         * glib/gconvert.c (g_get_filename_charsets): Don't crash
923         if G_FILENAME_ENCODING is empty.  (#164330, Pawel Sakowski)
924
925 2005-01-15  Tor Lillqvist  <tlillqvist@novell.com>
926
927         * configure.in: sh portability fix. Use "test" and not [.
928         (#163144, Robert Ögren)
929
930 2005-01-13  Matthias Clasen  <mclasen@redhat.com>
931
932         * glib/gqsort.c: Sync to glibc.  (#133994, Morten Welinder, 
933         patch by Kjartan Maraas)
934
935 2005-01-11  Owen Taylor <otaylor@redhat.com>
936
937         * configure.in: Add gmodule-export-2.0.pc to AC_CONFIG_FILES.
938
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.
943
944 2005-01-11  Matthias Clasen  <mclasen@redhat.com>
945
946         * glib/gdir.c (g_dir_open): Typo fix.
947
948 2005-01-10  Owen Taylor  <otaylor@redhat.com>
949
950         * Makefile.am (EXTRA_DIST): Add missing ChangeLog.pre*
951
952 2005-01-09  Hans Breuer  <hans@breuer.org>
953
954         * glib/gfileutils.c : make it compile with mvc6 default sdk,
955         (#define INVALID_FILE_ATTRIBUTES, FILE_ATTRIBUTE_DEVICE)
956
957 2005-01-09  Tor Lillqvist  <tlillqvist@novell.com>
958
959         * glib/gwin32.c: Include also wchar.h for wcslen on
960         Cygwin.
961         (g_win32_error_message): Fix cast. (#163133, Roger Leigh)
962
963         * glib/gfileutils.c: Include <io.h> on Windows for
964         prototypes. (#163390, Kazuki Iwamoto)
965
966 2005-01-07  Matthias Clasen  <mclasen@redhat.com>
967
968         * NEWS: Typo fixes.
969
970         * configure.in: Bump version
971
972         * === Released 2.6.1 ===
973
974 2005-01-07  Matthias Clasen  <mclasen@redhat.com>
975
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.
982
983 2005-01-06  Tor Lillqvist  <tml@iki.fi>
984
985         * glib/Makefile.am
986         * gobject/Makefile.am: glib.def and gobject.def are generated, not
987         in $(srcdir). (#163143, J. Ali Harlow)
988
989         * configure.in
990         * glib/Makefile.am
991         * gobject/Makefile.am: Win32 cross-compilation fixes. (#163144,
992         J. Ali Harlow)
993
994 2005-01-05  Matthias Clasen  <mclasen@redhat.com>
995
996         * glib/gutils.h: Simplify the inlining magic to make it
997         work at Oh zero.  (#162990, Kalpesh Shah) 
998
999 2005-01-04  Tor Lillqvist  <tml@iki.fi>
1000
1001         * glib/guniprop.c (get_locale_type): Use g_win32_getlocale()
1002         instead of setlocale() on Windows. setlocale() returns strings
1003         like "Turkish_Turkey".
1004
1005 2005-01-04  Matthias Clasen  <mclasen@redhat.com>
1006
1007         Fix the inlining magic.  (#157536, Jens Hatlak, and
1008         #149907, Morten Welinder)
1009         
1010         * configure.in: Define G_CAN_INLINE in glibconfig.h
1011
1012         * glib/gutils.h: Streamline the inlining magic a bit,
1013         don't use extern when implementing the non-inlined 
1014         version.
1015
1016 2005-01-03  Matthias Clasen  <mclasen@redhat.com>
1017
1018         * glib/gutils.c (g_find_program_in_path): Don't return
1019         directories.  (#160738, Tommi Komulainen)
1020
1021         * glib/gfileutils.c (g_file_get_contents): Clarify the 
1022         documentation.  (#162251, Mariano Suárez-Alvarez)
1023
1024 2005-01-02  Matthias Clasen  <mclasen@redhat.com>
1025
1026         * glib/gutils.c (g_setenv, g_unsetenv): Clarify the 
1027         docs.  (#162747, Crispin Flowerday)
1028
1029 2005-01-01  J. Ali Harlow  <ali@juiblex.co.uk>
1030
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.
1034
1035         * README.win32: Add a reference to the cross compiling section
1036         of the reference manual.
1037
1038         * docs/reference/glib/cross.sgml: MinGW uses MSVCRT.DLL which
1039         requires %I64i instead of %lli. (#161306)
1040
1041 2005-01-01  Tor Lillqvist  <tml@iki.fi>
1042
1043         * glib/gutils.c: Make the g_getenv() ABI backward compatibility
1044         wrapper more robust.
1045
1046 2005-01-01  Tor Lillqvist  <tml@iki.fi>
1047
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().
1055
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...)
1060
1061 2004-12-31  Tor Lillqvist  <tml@iki.fi>
1062
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.
1069
1070 2004-12-30  Tor Lillqvist  <tml@iki.fi>
1071
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.
1075
1076 2004-12-30  Matthias Clasen  <mclasen@redhat.com>
1077
1078         * glib/gfileutils.c (g_file_test): Typo fix.
1079
1080 2004-12-30  Tor Lillqvist  <tml@iki.fi>
1081
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.
1087
1088 2004-12-27  Matthias Clasen  <mclasen@redhat.com>
1089
1090         * configure.in: Add an OS_LINUX conditional.
1091
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)
1095
1096 2004-12-21  Matthias Clasen  <mclasen@redhat.com>
1097
1098         * glib/goption.c (print_entry): Don't show
1099         the special G_OPTION_REMAINING entry.  (#161934,
1100         Matthew F. Barnes)
1101
1102 2004-12-20  Tor Lillqvist  <tml@iki.fi>
1103
1104         * glib/gconvert.c (g_locale_to_utf8, g_filename_to_uri): Improve
1105         docs.
1106
1107 2004-12-20  Matthias Clasen  <mclasen@redhat.com>
1108
1109         * tests/option-test.c: Add some tests for '--' 
1110         stripping.
1111
1112         * glib/goption.c (g_option_context_parse): Don't
1113         strip '--' if it would be needed by a second option
1114         parser.  (#161701)
1115
1116         * glib/gunicollate.c (g_utf8_collate): Make docs 
1117         more accurate.  (#161683, Marcin Krzyzanowski)
1118
1119 2004-12-19  Matthias Clasen  <mclasen@redhat.com>
1120
1121         * glib/goption.c (g_option_context_parse): Call
1122         post-parse hooks also if argv is NULL.  (#161668,
1123         Marcin Krzyzanowski)
1124