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