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