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