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