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