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