f3f193ef4f0e527add3187d05954398cb88a65ba
[platform/upstream/glib.git] / ChangeLog.pre-2-6
1 2004-12-11  Tor Lillqvist  <tml@iki.fi>
2
3         * glib/gstdio.c (g_rename, g_unlink, g_remove): Add doc comments
4         about Windows restrictions on renaming and removing.
5
6         (g_remove): Mimic POSIX remove() on Windows: Try also to rmdir if
7         removal as a file fails. Document this.
8
9         * glib/gstdio.h: Clarify comment about file name encoding on
10         Windows.
11
12         * glib/gspawn-win32.c: Fix #157255. Also some refactoring of this
13         still very ugly source file.
14
15 2004-12-09  Matthias Clasen  <mclasen@redhat.com>
16
17         * glib/goption.c (print_help): Don't print help options
18         if the options of a specific group have been 
19         requested.  (#160645, Glynn Foster)
20
21 2004-12-07  Matthias Clasen  <mclasen@redhat.com>
22
23         * glib/gutils.c (g_get_language_names): Update the returned
24         value after locale changes.  (#160271, Christian Persch)
25         (_g_utils_thread_init): Initialize the language name cache
26         before going threaded.
27
28         * glib/gthread.c (g_thread_init_glib): Call _g_utils_thread_init().
29
30         * glib/gthreadinit.h: Add _g_utils_thread_init().
31
32 2004-12-06  Tor Lillqvist  <tml@iki.fi>
33
34         * glib/giowin32.c (g_io_win32_finalize): Fix a write to freed
35         memory: Unlock the channel's mutex before unrefing the channel.
36
37 2004-12-06  Matthias Clasen  <mclasen@redhat.com>
38
39         * configure.in: Remove a no longer needed hack for 
40         libtool < 1.5.2.  (#100697, Owen Taylor, Sebastian Wilhelmi)
41
42 2004-12-05  Tor Lillqvist  <tml@iki.fi>
43
44         * glib/glib.symbols
45         * glib/gwin32.[hc]: Implement DLL ABI stability also for
46         g_win32_get_package_installation_directory()) and
47         g_win32_get_package_installation_subdirectory().
48
49         * glib/Makefile.am (install-libtool-import-lib): Remove the DLL
50         binary compatibilty entries from the import library. They aren't
51         used by newly compiled code, so no need to have them in the import
52         library. (The "PRIVATE" keyword in the .def file is supposed to do
53         this, but not implemented in the GNU linker yet.)
54
55 2004-12-04  Matthias Clasen  <mclasen@redhat.com>
56
57         * glib/gqueue.c (g_queue_link_index): Return -1 if queue is 
58         NULL.  (#159530, Philippe Blain)
59
60 2004-12-02  Matthias Clasen  <mclasen@redhat.com>
61
62         * configure.in: Bump version.
63
64         * === Released 2.5.7 ===
65         
66 2004-12-02  Matthias Clasen  <mclasen@redhat.com>
67
68         * glib/glib.symbols: Protect the the various push/pop allocator
69         functions by #ifndef DISABLE_MEM_POOLS.  (#160215, Frederic Crozat)
70
71         * glib/makegalias.pl: Support #ifndef'ed sections.
72
73         * glib/gutils.c (g_get_system_config_dirs): Don't forget to 
74         initialize g_system_config_dirs.  (#160213, Frederic Crozat)
75
76 Wed Dec  1 17:04:37 2004  Manish Singh  <yosh@gimp.org>
77
78         * glib/gstring.h (g_string_append_c_inline): actually enable (and
79         fix up the length test).
80
81 2004-11-30  Tor Lillqvist  <tml@iki.fi>
82
83         * glib/Makefile.am (glib.def): gcc -E complains "linker input file
84         unused because linking not done" if told to preprocess the
85         glib.symbols file. Use '-' and redirection to pass it as standard
86         input instead.
87
88 2004-11-30  Matthias Clasen  <mclasen@redhat.com>
89
90         * NEWS: Updates
91
92 2004-11-30  Tor Lillqvist  <tml@iki.fi>
93
94         * glib/gspawn-win32-helper.c (WinMain): Also check errno to detect
95         true errors from spawn*(). (#157258, reported by Bruce Hochstetler)
96
97 2004-11-29  Matthias Clasen  <mclasen@redhat.com>
98
99         * glib/gmacros.h (G_GNUC_MALLOC): Define empty for gcc 2.95.
100
101         * glib/gmarkup.c (unescape_text_state_after_charref_hash): 
102         Avoid a strndup() here, noticed by Morten Welinder.
103
104 2004-11-29  Matthias Clasen  <mclasen@redhat.com>
105
106         * glib/gmarkup.c: Remove leftover noinline attributes.
107         (is_name_start_char, is_name_char): Avoid possible reads
108         beyond the end of g_ascii_table.
109
110         * glib/Makefile.am: Use the perl found by configure.  (#149826,
111         Morten Welinder)
112
113 Sun Nov 28 13:13:56 2004  Manish Singh  <yosh@gimp.org>
114
115         * glib/abicheck.sh: filter G_GNUC before PRIVATE so $ is still true.
116
117         * tests/utf8-validate.c: cast pointer math to gint for error print
118         message.
119
120 Sun Nov 28 12:07:29 2004  Manish Singh  <yosh@gimp.org>
121
122         * tests/utf8-validate.c: minor comment fix.
123
124 2004-11-28  Matthias Clasen  <mclasen@redhat.com>
125
126         * glib/gconvert.h:
127         * glib/gkeyfile.h:
128         * glib/gmem.h: 
129         * glib/gstrfuncs.h:
130         * glib/gunicode.h:
131         * glib/gutils.h: Mark functions with G_GNUC_MALLOC when appropriate.
132
133         * glib/glib.symbols: Add G_GNUC_MALLOC annotations.
134
135         * glib/gmacros.h (G_GNUC_MALLOC): Add a macro for 
136         __attribute__((__malloc__)).  (#61780)
137
138 2004-11-28  Tor Lillqvist  <tml@iki.fi>
139
140         * glib/gutils.[hc]
141         * glib/glib.symbols: [Win32] Make also g_get_user_name() and
142         g_get_real() name return UTF-8. As for the similar changes to fix
143         #101792, for DLL ABI stability we use preprocessor defines to get
144         the new UTF-8 versions, and keep the old names for versions
145         returning strings in the system codepage.
146
147         Fix g_get_tmp_dir() and g_get_home_dir() to actually return UTF-8
148         as was intended in the fix for bug #101792. (#159664, noticed by
149         Robert Ögren)
150
151 2004-11-28  Matthias Clasen  <mclasen@redhat.com>
152
153         * glib/gmarkup.c: Optimizations; don't scan the entire text
154         in find_current_text_end(), split unescape_text() into multiple
155         functions.  (#159001, Havoc Pennington)
156
157 2004-11-27  Matthias Clasen  <mclasen@redhat.com>
158
159         * glib/gspawn.c (g_spawn_async_with_pipes): Update the @flags
160         documentation with references to GChildWatch and 
161         g_spawn_close_pid().  (#136255, noted by Owen Taylor)
162
163 2004-11-26  Matthias Clasen  <mclasen@redhat.com>
164
165         * glib/gkeyfile.c (g_key_file_parse_value_as_string): 
166         Don't access invalid memory address if p wasn't 
167         increased.  (#159557, Frederic Crozat)
168
169 2004-11-25  Matthias Clasen  <mclasen@redhat.com>
170
171         * tests/strtod-test.c (main): Add a testcase for the previous fix.
172
173         * glib/gstrfuncs.c (g_ascii_strtod): Make it work again for floats
174         starting with a decimal point, like .75  (#156421, Hans Breuer)
175
176 Thu Nov 25 14:02:43 2004  Manish Singh  <yosh@gimp.org>
177
178         * glib/abicheck.sh: filter out G_GNUC stuff when doing the compare.
179
180         * glib/gmessages.c (g_assert_warning): call abort() at the end, so
181         gcc doesn't warn.
182
183 2004-11-25  Kjartan Maraas  <kmaraas@gnome.org>
184
185         * configure.in: Add «nb» to ALL_LINGUAS.
186
187 2004-11-24  Tor Lillqvist  <tml@iki.fi>
188
189         * glib/gwin32.c (g_win32_error_message,
190         get_package_directory_from_module,
191         g_win32_get_package_installation_directory,
192         g_win32_get_package_installation_subdirectory): Use wide character
193         API when available. Document that string parameters and return
194         values are in UTF-8.
195
196 2004-11-24  Matthias Clasen  <mclasen@redhat.com>
197
198         * glib/gutf8.c: Replace g_utf8_validate() with an
199         optimized version, and clarify the docs a bit.  (#159131,
200         Owen Taylor)
201
202         * tests/Makefile.am (test_programs): Add utf8-validate.
203
204         * tests/utf8-validate.c: Unit tests for g_utf8_validate().
205
206 2004-11-23  Matthias Clasen  <mclasen@redhat.com>
207
208         * glib/goption.h: Don't mark g_option_error_quark() as const,
209         to be consistent with all the other error_quark functions. 
210         (technically they are const, but since these are called only
211         in error paths, giving the compiler better optimization 
212         opportunities doesn't matter much)
213
214 2004-11-23  Matthias Clasen  <mclasen@redhat.com>
215
216         Fix a problem with the PLT reduction changes which caused the
217         internal aliases to lose all attributes.
218         
219         * glib/glib.symbols: Add attribute annotations.
220         * glib/makegalias.pl: Keep attribute annotations, but strip PRIVATE.
221         * glib/Makefile.am (glib.def): Strip attribute annotations, but keep 
222         PRIVATE.
223
224 2004-11-21  Hans Breuer  <hans@breuer.org>
225
226         * **/makefile.msc : updated
227
228 2004-11-16  Matthias Clasen  <mclasen@redhat.com>
229
230         * m4macros/glib-2.0.m4 (AM_PATH_GLIB_2_0): Support gmodule-no-export.
231
232         * Makefile.am (EXTRA_DIST): 
233         * configure.in (AC_CONFIG_FILES): Add gmodule-no-export-2.0.pc.in 
234
235         * gmodule-no-export-2.0.pc.in: Add a variants of gmodule-2.0.pc.in
236         which doesn't add -Wl,--export-dynamic, since Pango or GTK+ don't
237         need it.  (#125627, Owen Taylor)
238
239 2004-11-17  Matthias Clasen  <mclasen@redhat.com>
240
241         * glib/gkeyfile.c: Define S_ISREG() on windows, since it
242         is not present there.  (#158469, Kazuki IWAMOTO)
243
244 2004-11-15  Matthias Clasen  <mclasen@redhat.com>
245
246         * glib/gkeyfile.c (g_key_file_load_from_fd): Use S_ISREG(), since
247         S_IFMT and S_IFREG are apprarently missing on some systems (they 
248         are SUS, but not Posix).  (#158263)
249
250 2004-11-12  Matthias Clasen  <mclasen@redhat.com>
251
252         * configure.in: Bump version.
253
254         * === Released 2.5.6 ===
255         
256 2004-11-11  J. Ali Harlow  <ali@juiblex.co.uk>
257
258         * gobject/Makefile.am:
259         * glib/Makefile.am (gtk.def): Use embedded tab rather than '\t'
260         escape sequence. (#157951)
261
262 2004-11-10  Tor Lillqvist  <tml@iki.fi>
263
264         * glib/gconvert.c (g_get_filename_charsets): Fix typo in doc
265         comment.
266
267 2004-11-10  Matthias Clasen  <mclasen@redhat.com>
268
269         * NEWS: Updates
270
271 Mon Nov  8 10:45:50 2004  Manish Singh  <yosh@gimp.org>
272
273         * glib/gasyncqueue.c
274         * glib/ghook.c
275         * glib/giochannel.c: g_return_if_fail -> g_return_val_if_fail
276
277         * glib/gmain.c: Ditto, plus also make g_main_context_ref() actually
278         return the passed in pointer.
279
280 2004-11-08  Matthias Clasen  <mclasen@redhat.com>
281
282         * glib/gnode.h (enum GTraverseFlags): Add G_TRAVERSE_LEAVES
283         and G_TRAVERSE_NON_LEAVES as alternative names for 
284         G_TRAVERSE_LEAFS and G_TRAVERSE_NON_LEAFS, which are
285         grammatically brutal.  (#138853, Morten Welinder)
286         
287         * glib/gasyncqueue.[hc]:
288         * glib/ghook.[hc]: 
289         * glib/gmain.[hc]:
290         * glib/giochannel.[hc]: Make g_io_channel_ref(), 
291         g_main_context_ref(), g_hook_ref(), g_async_queue_ref()
292         return the passed in pointer. (#151663, Manish Singh)
293
294         * glib/gmain.c: Initialize child_watch_count to 1, so 
295         that we don't miss the very first child if it exits 
296         before we set up the child watch. In that case we had 
297         previously source->count == child_watch_count == 0, 
298         causing g_child_watch_check() to skip the waitpid() 
299         call.  (#154827, Gustavo Carneiro)
300
301         * glib/gmain.c (g_child_watch_source_init_single) 
302         (g_child_watch_source_init_multi_threaded): Use sigaction()
303         instead of signal().  (#136867, Jonas Jonsson, patch by
304         Archana Shah)
305
306 2004-11-07  Matthias Clasen  <mclasen@redhat.com>
307
308         * glib/gutils.c (g_get_any_init): Work around an bug
309         in Mac OS < 10.3.  (#156446, Dave MacLachlan)
310
311 2004-11-06  Tor Lillqvist  <tml@iki.fi>
312
313         * glibconfig.h.win32.in: Cosmetics: move the G_GNUC_INTERNAL
314         define to the same place where it is in a configure-generated
315         glibconfig.h
316
317 2004-11-05  Matthias Clasen  <mclasen@redhat.com>
318
319         * tests/strtod-test.c: Portability fixes and extra sanity
320         checks.  (#157453, Morten Welinder)
321
322 2004-11-04  Matthias Clasen  <mclasen@redhat.com>
323
324         * glib/gstrfuncs.c (g_ascii_strtod): Handle numbers like
325         1e1, nan, -infinity. Also try harder to preserve errno.  
326         (#156421, Morten Welinder)
327
328         * tests/strtod-test.c: Add testcases.
329
330 2004-11-04  Tor Lillqvist  <tml@iki.fi>
331
332         * glib/goption.h (enum GOptionFlags): Add G_OPTION_FLAG_REVERSE,
333         to reverse the sense of a G_OPTION_ARG_NONE (boolean) option.
334
335         * glib/goption.c (parse_arg): Obey the above flag.
336
337         * glib/gconvert.c (g_filename_display_name): Document that the
338         result is guaranteed to be non-NULL.
339
340         * glib/gfileutils.c (get_contents_stdio, get_contents_regfile,
341         get_contents_posix, get_contents_win32, g_file_open_tmp,
342         g_file_read_link): Use g_filename_display_name() for error
343         messages.
344         (g_mkstemp): Document that the template should be in the GLib file
345         name encoding.
346         (g_file_open_tmp): Ditto. Also document that the actual name
347         returned is also in the GLib file name encoding.
348
349 2004-11-02  Matthias Clasen  <mclasen@redhat.com>
350
351         * glib/gconvert.c (g_filename_display_name): New function 
352         to convert a filename to a UTF-8 string for display 
353         purposes.  (requested by Alex Larsson)
354         
355         * glib/gconvert.c (g_get_filename_charsets): New function 
356         to return the encodings which are tried when converting a 
357         filename to UTF-8. (#151465, François Gagné)
358
359 2004-11-02  Matthias Clasen  <mclasen@redhat.com>
360
361         * configure.in: Bump version
362
363         * === Released 2.5.5 ===
364
365         * NEWS: Updates
366
367 2004-11-02  Matthias Clasen  <mclasen@redhat.com>
368
369         * glib/glib.symbols: Add new functions.
370
371         * glib/gconvert.c: Fix doc comment for 
372         g_get_filename_charsets().
373
374         * glib/gconvert.c (g_filename_display_name): New function to
375         convert a filename to a UTF-8 string for display purposes.
376         (g_get_filename_charsets): New function to return the 
377         encodings which are tried when converting a filename to 
378         UTF-8.
379
380         * glib/goption.c (g_option_context_parse): Document that
381         this function may not return.
382
383 2004-11-01  Matthias Clasen  <mclasen@redhat.com>
384
385         * glib/gutils.h: Make gtkdoc-scan happy by removing spaces
386         between gchar and *.
387
388 2004-11-01  Tor Lillqvist  <tml@iki.fi>
389
390         * glib/gstdio.c (g_lstat): Implement correctly also on Unix
391         systems without lstat(). (#157038, Morten Welinder)
392
393 2004-11-01  Ray Strode <rstrode@redhat.com>
394
395         * glib/gkeyfile.c:
396         (g_key_file_get_locale_string): don't return an
397         error if we come across a value with invalid utf8 or
398         if we don't find a translated string. Just fallback
399         to the untranslated string (Mark McLoughlin, bug
400         #156790).
401         
402         * glib/gkeyfile.c:
403         (g_key_file_init), (g_key_file_clear): track the
404         actual start GKeyFileGroup rather than just its name
405         (g_key_file_parse_group): allow add_group() to
406         update the start group.
407         (g_key_file_remove_group_node): update the start
408         group if it gets removed (Mark McLoughlin, bug
409         #156790).
410
411         * glib/gkeyfile.c:
412         (g_key_file_parse_string_as_value): Don't escape
413         tabs and spaces in the middle of key values.
414
415 2004-11-01  Matthias Clasen  <mclasen@redhat.com>
416
417         * glib/gconvert.c:
418         * glib/gdebug.h
419         * glib/gutils.c
420         * gobject/gtype.c
421         * gthread/gthread-posix.c
422         * tests/timeloop-closure.c
423         * tests/timeloop.c: Fix sparse warnings.  (#157014, Kjartan Maraas)
424
425 2004-11-01  Matthias Clasen  <mclasen@redhat.com>
426
427         * glib/goption.c: Documentation updates.
428
429         Handle conflicts between options in different groups. (#156808)
430         
431         * glib/goption.c (g_option_context_parse): When a long option does not
432         match exactly, try to parse it as --group-option.
433         (g_option_context_add_group): Warn if a group name conflict occurs.
434
435         * glib/goption.c (print_help): Print out the effective options, ie 
436         don't print shadowed short options, and for long options print
437         --group-option instead of --option if appropriate.
438
439 2004-10-31  Matthias Clasen  <mclasen@redhat.com>
440
441         * glib/gwin32.c: Add bits of markup to g_win32_get_windows_version()
442         docs.
443
444 2004-10-31  Tor Lillqvist  <tml@iki.fi>
445
446         * glib/gwin32.c: Document g_win32_get_windows_version().
447
448         * glib/gstdio.[ch]: Add g_lstat().
449
450 2004-10-29  Matthias Clasen  <mclasen@redhat.com>
451
452         * glib/goption.c: Doc additions.
453
454         * glib/goption.c (parse_arg): Convert filenames to UTF-8 on
455         Windows.
456
457 2004-10-29  Hans Breuer  <hans@breuer.org>
458
459         * glibconfig.h */makefile.msc.in : updated [and finally fixed my
460         script to produce ready to go de-in(ed) files, w/o autotools]
461
462         * */*.rc.in : updated copyrights to 2004
463
464         * glib/gutils.c : some CSIDL_* defines lacking from older SDK;
465         use the same fallback mecahnism as on *NIX where ever applicable
466
467 2004-10-29  Matthias Clasen  <mclasen@redhat.com>
468
469         * tests/option-test.c: Add tests for the handling of
470         non-option arguments, "--" and G_OPTION_REMAINING.
471
472         * glib/goption.[hc]: #define G_OPTION_REMAINING, which is
473         a special long option name, which can be used for an option
474         in the main group which collects the non-option arguments.
475         It must be of type G_OPTION_ARG_STRING_ARRAY or 
476         G_OPTION_ARG_FILENAME_ARRAY. If the main group doesn't contain
477         an option whose name is G_OPTION_REMAINING, the non-option
478         arguments are left behind in argv as before.
479
480         * glib/goption.c: Add documentation.
481
482 2004-10-28  Matthias Clasen  <mclasen@redhat.com>
483
484         * glib/gmessages.h: Mark g_assert_warning as G_GNUC_NORETURN,
485         to avoid compiler warnings.  (#156767, Owen Taylor)
486
487 2004-10-29  Tor Lillqvist  <tml@iki.fi>
488
489         * glib/gstdio.c: Include also <direct.h> for mkdir() prototype
490         with MSVC. [156727, Kazuki IWAMOTO]
491
492         * glib/giochannel.h (g_io_channel_new_file): Redefine also
493         g_io_channel_new_file to the UTF-8 version on Win32. [156725,
494         Kazuki IWAMOTO)
495
496 2004-10-28  Ray Strode  <rstrode@redhat.com>
497
498         * glib/gkeyfile.c
499         (find_file_in_data_dirs): clean up a leak (#156652,
500         Morten Welinder)
501         (g_key_file_load_from_fd): propagate fstat() error
502         conditions and retry read on EAGAIN (#156647, Morten
503         Welinder).  Return error if file is NOT regular, not if
504         it is regular (bug introduced from last commited bug
505         fix). 
506         (g_key_file_load_from_data_dirs): allocate enough space
507         for the terminating NULL.
508
509 2004-10-28  Ray Strode  <rstrode@redhat.com>
510
511         * glib/gkeyfile.c: Don't use S_ISREG macro (#156728,
512         Kazuki IWAMOTO)
513
514 2004-10-28  Matthias Clasen  <mclasen@redhat.com>
515
516         * glib/gstdio.c: Include galias.h before glib.h (#156697,
517         Christophe Fergeau)
518
519         * glib/gkeyfile.c: Add a missing "Since: 2.6" comment.
520
521 2004-10-28  Tor Lillqvist  <tml@iki.fi>
522
523         * glib/gstdio.c: Include glib.h early to get G_OS_WIN32. Include
524         errno.h for errno.
525
526         * glib/gkeyfile.c: Include gstdio.h and use g_open().
527
528 2004-10-27  Ray Strode  <rstrode@redhat.com>
529
530         * glib/gkeyfile.c:
531          (g_key_file_load_from_fd), 
532          (g_key_file_load_from_file): 
533          Move file is regular check to load_from_file to use
534          fstat() instead of race prone g_file_test().  Don't
535          clear/init until needed. Change error messages to be
536          more consistent.
537          (g_key_file_load_from_data),
538          (g_key_file_load_from_data_dirs),
539          (g_key_file_parse_data),
540          (g_key_file_get_value),
541          (g_key_file_get_string),
542          (g_key_file_set_string),
543          (g_key_file_get_string_list),
544          (g_key_file_set_string_list),
545          (g_key_file_set_locale_string),
546          (g_key_file_get_locale_string),
547          (g_key_file_set_locale_string_list),
548          (g_key_file_get_boolean),
549          (g_key_file_set_boolean),
550          (g_key_file_get_boolean_list),
551          (g_key_file_set_boolean_list),
552          (g_key_file_get_integer),
553          (g_key_file_get_integer_list),
554          (g_key_file_set_integer_list),
555          (g_key_file_remove_key):
556          Add more g_return_*if_fail checks for public functions.
557
558 2004-10-27  Matthias Clasen  <mclasen@redhat.com>
559
560         * configure.in: Bump version.
561
562         * === Released 2.5.4 ===
563
564 2004-10-27  Matthias Clasen  <mclasen@redhat.com>
565
566         * glib/abicheck.sh: Strip Win32 specific defs file syntax.
567
568         * NEWS: Updates. 
569
570 2004-10-27  Matthias Clasen  <mclasen@redhat.com>
571
572         Introduce the idea of a filename encoding, which is 
573         *literally* the filename encoding on Unix. On Windows, 
574         use the Unicode name converted to UTF-8. (#101792,
575         Tor Lillqvist, Owen Taylor)
576         
577         * glib/gdir.[hc]: 
578         * glib/gconvert.[hc]: 
579         * glib/gfileutils.[hc]: 
580         * glib/gutils.[hc]: 
581         * glib/giowin32.c: On Windows, keep old ABI versions 
582         of GLib pathname api for DLL ABI stability. Use different 
583         names for the new-style UTF-8 versions. Hide this through 
584         a #define.
585
586         * glib/gstdio.[hc]: New files containing wrappers for
587         POSIX pathname api.
588
589         * glib/glib.symbols: Add new symbols.
590
591         * glib/makegalias.pl: Drop Win32 specific .def syntax,
592         include gstdio.h
593
594 2004-10-27  Matthias Clasen  <mclasen@redhat.com>
595
596         * glib/gkeyfile.c: Fix includes. (#156500, #156499, 
597         Kazuki IWAMOTO)
598
599         * glib/Makefile.am (galias.h): Fix srcdir != builddir 
600         builds.  (#156447, Thomas Fitzsimmons)
601
602 2004-10-26  Gora Mohanty  <gmohanty@cvs.gnome.org>
603
604         * configure.in: Added 'or' to ALL_LINGUAS.
605
606 2004-10-26  Matthias Clasen  <mclasen@redhat.com>
607
608         * glib/gkeyfile.c: Include galias.h.
609         
610         * glib/gkeyfile.c (g_key_file_parse_value_as_comment): 
611         Don't compare strings and chars.
612
613         * glib/glib.symbols: Add new symbols.
614
615         * glib/gkeyfile.c (g_key_file_new): Fix docs.
616
617         * glib/gkeyfile.h: Use the same parameter names as in
618         the implementation and the docs.
619
620         * glib/gwin32.c (g_win32_get_windows_version): Make this
621         function thread-safe in the GLib style.
622         * glib/gthreadinit.h: 
623         * glib/gwin32.c (_g_win32_thread_init): New function to
624         initialize the version.
625         * glib/gthread.c (g_thread_init_glib): Call 
626         _g_win32_thread_init() from here.
627
628 2004-10-26  Ray Strode  <rstrode@redhat.com>
629
630         * glib/gkeyfile.c: Add Matthias to "Written by" lines
631          (GKeyFileGroup): add field to hold comments about groups
632          (g_key_file_load_from_fd): return TRUE on success and
633          FALSE on failure.  Don't close fd's opened by other
634          parent function.  
635          (g_key_file_load_from_file): run FILE_IS_REGULAR test
636          before trying to open file, to save an fd from being
637          leaked (would probably be better to use fstat()). Close
638          fd when done with it. Return TRUE on success and FALSE
639          on failure.
640          (g_key_file_load_from_data): Return TRUE on success and
641          FALSE on failure.
642          (g_key_file_load_from_data_dirs): remove superfluous
643          const modifier.  Return TRUE on success and FALSE on
644          failure.  Stop trying to load files when one succeeds.
645          (g_key_file_parse_key_value_pair): don't validate input
646          for UTF-8 until users uses a getter that does
647          validation.  Don't leak copy of start_group_name.
648          (g_key_file_to_data): serialize new comment field for
649          groups.
650          (g_key_file_get_keys): Remove convenience code to let
651          NULL group mean start group.  Get rid of unneeded NULL
652          check before g_strdup.
653          (g_key_file_get_groups): Reverse groups list before
654          sending to user because it is maintained in backward
655          order internally. 
656          (g_key_file_get_value),
657          (g_key_file_set_value): add g_return checks at top of
658          public functions.
659          (g_key_file_get_string), 
660          (g_key_file_get_string_list): validate key value is UTF-8.
661          (g_key_file_[sg]et_*comment): new functions for
662          setting/getting comments
663          (g_key_file_remove_comment): new function to remove
664          comment block
665          (g_key_file_remove_key_value_pair_node): new function to
666          pull a key-value pair out of the list and free it.
667          (g_key_file_remove_group_node): call
668          g_key_file_remove_key_value_pair_node instead of 
669          freeing the list immediately to get better statistics
670          for approximate_size.
671          (g_key_file_remove_group): use lookup_group_node instead
672          of lookup_group to prevent a g_list_find call.
673          (g_key_file_add_key): report group also when unable to
674          find key.
675          (g_key_file_lookup_group_node): new function to make
676          getting the group node from a group name easier.
677          (g_key_file_lookup_group): use lookup_group_node under
678          the hood.
679          (g_key_file_lookup_key_value_pair_node): new function to
680          make getting the key-value pair from a group and key
681          name eaiser.
682          (g_key_file_parse_comment_as_value): new function to add '#' to the
683          beginning of every line.
684          (g_key_file_parse_value_as_comment): new function that
685          attempts to be the inverse of comment as value.
686
687 2004-10-26  Matthias Clasen  <mclasen@redhat.com>
688
689         * glib/gutils.c: 
690         * glib/gkeyfile.c: Don't include ctype.h needlessly.  (#156424,
691         Morten Welinder)
692
693         * tests/strtod-test.c (test_string): Improve error reporting.
694
695 Mon Oct 25 15:05:18 2004  Manish Singh  <yosh@gimp.org>
696
697         * autogen.sh: rm autom4te.cache, since it might interfere with
698         differing autoconf versions.
699
700         * tests/child-test.c: use GINT_TO_POINTER for g_child_watch_add
701         user data.
702
703         * glib/gfileutils.c: G_IS_DIR_SEPARATOR is defined in gutils.h now,
704         don't redefine it here.
705
706 2004-10-24  Matthias Clasen  <mclasen@redhat.com>
707
708         * glib/gkeyfile.c (g_key_file_remove_group_node): Don't
709         destroy the lookup map if it is NULL.
710
711 2004-10-23  Matthias Clasen  <mclasen@redhat.com>
712
713         * glib/gasyncqueue.c, glib/gatomic.c, glib/gdate.c, 
714         glib/giochannel.c, glib/gmain.c, glib/gspawn.c, 
715         glib/libcharset/localcharset.c: Apply a patch to fix
716         sparse warnings. (#154696, Kjartan Maraas)
717
718         * glib/gnulib/g-gnulib.h: Undef libc functions before defining
719         them, since they may also be macros.  (#155177, Andrea Campi)
720
721         * glib/gkeyfile.h: 
722         * glib/gkeyfile.c: Add a parser for desktop entries and
723         similar files with a .ini-like syntax.  (#139974, Ray Strode)
724
725         * glib/glib.h: Include gkeyfile.h
726
727         * glib/Makefile.am (libglib_2_0_la_SOURCES): Add gkeyfile.c
728         (glibsubinclude_HEADERS): Add gkeyfile.h
729
730         * glib/gutils.c (_g_compute_locale_variants): Make this 
731         non-static and use it in gkeyfile.c
732
733 2004-10-22  Matthias Clasen  <mclasen@redhat.com>
734
735         * tests/uri-test.c (run_uri_list_tests): Add some
736         uri list tests.c.
737
738         * glib/gconvert.h:
739         * glib/gconvert.c (g_uri_list_extract_uris): New function to
740         split a text/uri-list data into individual uris and strip comments.
741
742 2004-10-20  Matthias Clasen  <mclasen@redhat.com>
743
744         * glib/goption.c (get_change): Don't return the wrong 
745         change.  (#155856, Lucas Rocha)
746
747 2004-10-17  Matthias Clasen  <mclasen@redhat.com>
748
749         * glib/gutils.h (G_IS_DIR_SEPARATOR): 
750         * glib/gutils.c: Make public.  (#155589, Tim-Philipp Müller) 
751
752 2004-10-08  Matthias Clasen  <mclasen@redhat.com>
753
754         * glib/gmain.c (g_child_watch_add_full): 
755         * glib/gmain.c (g_child_watch_add): Document that GLib supports only
756         a single callback per pid. (#154828, Gustavo Carneiro)
757
758 2004-10-06  Matthias Clasen  <mclasen@redhat.com>
759
760         * glib/gfileutils.c: Fix some C99isms.  (#154676, Kjartan Maraas)
761
762 2004-10-05  Anders Carlsson  <andersca@gnome.org>
763
764         * glib/goption.c: (g_option_context_parse):
765         Add check for if argc is 0.
766         
767         * tests/option-test.c: (empty_test3), (main):
768         Add test case.
769         
770 2004-10-05  Matthias Clasen  <mclasen@redhat.com>
771
772         * NEWS: Update
773
774 2004-10-04  Matthias Clasen  <mclasen@redhat.com>
775
776         * glib/gmem.c (g_mem_set_vtable): Only set vtable_set if the
777         vtable is set.  (#154352, Philippe Blain)
778
779 2004-10-03  Anders Carlsson  <andersca@gnome.org>
780
781         * glib/goption.c: (parse_arg):
782         Set arg_data on filenames. (Discovered by Mats-Ola Persson).
783         
784         * tests/option-test.c: (arg_test3), (ignore_test3), (main):
785         Add test for filename args.
786         
787 2004-10-01  Tor Lillqvist  <tml@iki.fi>
788
789         * glib/goption.c (g_option_context_parse): Use
790         g_path_get_basename() instead of strrchr(), so that either slash
791         is accepted on Windows.
792
793 2004-09-30  Matthias Clasen  <mclasen@redhat.com>
794
795         * glib/gfileutils.c: Convert filenames to UTF-8 before 
796         putting them in GErrors.  (#154078, Morten Welinder)
797
798 2004-09-29  Matthias Clasen  <mclasen@redhat.com>
799
800         * glib/glib.symbols: Add g_assert_warning.
801
802         * glib/gmessages.h:
803         * glib/gmessages.c (g_assert_warning): Treat g_assert 
804         in the same way as g_return_if_fail and move the string 
805         constants into a helper function, which also takes 
806         care of removing the "IA__" prefix from internal aliases.
807
808         * glib/gmessages.h: Move the declaration of 
809         g_return_if_fail_warning() out of the ifdefs, so that
810         building with G_DISABLE_ASSERT works.
811
812 2004-09-27  Murray Cumming  <murrayc@murrayc.com>
813
814         * glib/goptions.[h|c], glib/glib.symbols: Rename 
815         g_context_option_error_quark() to g_option_error_quark(), because that 
816         is consistent with normal naming conventions, and what bindings expect.
817
818 .2004-09-26  Matthias Clasen  <mclasen@redhat.com>
819
820         Fix #153649, Hidetaka Iwai:
821         
822         * glib/goption.c (parse_long_option): Don't forget to set parsed
823         to TRUE when parsing a long ARG_NONE option. 
824         (free_changes_list): Fix the memory management for string
825         and filename arrays.
826
827 2004-09-22  Tor Lillqvist  <tml@iki.fi>
828
829         * glib/gmessages.c: [Win32] Don't ever open a console
830         window. (Which we used to do if standard output or standard error
831         are invalid, as they are for GUI applications.) These console
832         windows that open up unexpectedly have caused endless amounts of
833         confusion among end-users. (#141102, #151175)
834
835         Don't output the process id on Windows. Only output the program
836         name. If not set with g_set_prgname(), fetch the application
837         executable's name and use that.
838
839 Mon Sep 20 00:35:14 2004  Matthias Clasen  <maclas@gmx.de>
840
841         * glib/gutf8.c (g_utf16_to_utf8): Add a note explaining how to
842         convert UTF-16 byte stream of ambiguous endianness.  (#152954,
843         Linus Walleij)
844
845 Mon Sep 20 00:17:37 2004  Matthias Clasen  <maclas@gmx.de>
846
847         * tests/option-test.c (error_test3_post_parse): 
848         * tests/option-test.c (error_test2_post_parse): 
849         * tests/option-test.c (error_test1_post_parse): Don't call 
850         g_set_error () with a NULL format.  (#153103, Robert Ögren) 
851
852 Mon Sep 20 00:13:48 2004  Matthias Clasen  <maclas@gmx.de>
853
854         Make GOption remove long options completely. (#153113, Robert Ögren)
855
856         * glib/goption.c (parse_long_option): Fix a wrong index.
857
858         * tests/option-test.c (ignore_test3): Test handling of unknown
859         options some more.
860
861 Sun Sep 19 23:56:15 2004  Matthias Clasen  <maclas@gmx.de>
862
863         * glib/goption.c (g_option_context_parse): Call error_func
864         on error, not post_parse_func again.  (#153107, Robert Ögren)
865
866 Sun Sep 19 23:52:35 2004  Matthias Clasen  <maclas@gmx.de>
867
868         * glib/gmessages.c (mklevel_prefix): 
869         * glib/gmessages.c (g_logv): Fix the types of some variables
870         to be GLogLevelFlags instead of guint.  (#153042, Philippe Blain)
871
872 2004-09-18  Matthias Clasen  <mclasen@redhat.com>
873
874         * Version bump
875
876         * === Released 2.5.3 ===
877
878 2004-09-17  Matthias Clasen  <mclasen@redhat.com>
879
880         * NEWS: More updates.
881
882 Thu Sep 16 18:42:46 2004  Manish Singh  <yosh@gimp.org>
883
884         * glib/abicheck.sh: don't hardcode lengths for cut, instead split on
885         the third field.
886
887 Thu Sep 16 18:15:32 2004  Manish Singh  <yosh@gimp.org>
888
889         * glib/gstrfuncs.c (g_strncasecmp): Make it take a guint for number
890         of characters, instead of a gsize. Technically this is incorrect,
891         but this makes it match the prototype, and this is a deprecated
892         function anyway.
893
894 2004-09-16  Matthias Clasen  <mclasen@redhat.com>
895
896         * glib/Makefile.am (EXTRA_DIST): Add abicheck.sh
897
898 Thu Sep 16 02:03:15 2004  Matthias Clasen  <maclas@gmx.de>
899
900         Implement the same PLT reduction technique used in GTK+:
901         
902         * glib/glib.symbols: Master list of symbols
903
904         * glib/makegalias.pl: Perl script which creates galias.h
905
906         * glib/abicheck.sh: Compares actual exports against glib.symbols 
907
908         * glib/glib.def: Removed. This file is now generated from
909         glib.symbols
910         
911         * glib/Makefile.am: Add rules to generate galias.h and glib.def,
912         and add abicheck.sh to TESTS. Don't export _-prefixed symbols.
913         
914         * configure.in: Add --disable-visibility to suppress the 
915         use of ELF visibility attributes.
916
917         * glib/*.c: Include galias.h
918
919 2004-09-15  Tor Lillqvist  <tml@iki.fi>
920
921         * glib/gwin32.c (g_win32_error_message): Convert message to
922         UTF-8. Technically this breaks API, but the actual use cases in
923         gdk/win32 have assumed it is UTF-8 anyway. Fix
924         documentation. (#152618, Kazuki Iwamoto)
925
926         * glib/gwin32.h: Don't define ftruncate as a macro. Was never a
927         good idea, and it clashes with newest mingw headers, which have a
928         ftruncate implementation as an inline function. Thanks to Dominik R.
929
930         * glib/gwin32.c (g_win32_ftruncate): Simplify implementation, just
931         call _chsize() in the C library.
932
933 2004-09-15  Matthias Clasen  <mclasen@redhat.com>
934
935         * NEWS: Update.
936
937 2004-09-09  Matthias Clasen  <mclasen@redhat.com>
938
939         * glib/gmessages.c (g_return_if_fail_warning): Strip the
940         prefix "IA__" from function names, since that is what
941         GTK+ uses for the PLT-reduction aliases. 
942
943 Thu Sep  9 13:52:26 2004  Owen Taylor  <otaylor@redhat.com>
944
945         * glib/gmessages.c (g_return_if_fail_warning): 
946         Include implementation of g_return_if_fail_internal().
947
948 Thu Sep  9 10:37:41 2004  Owen Taylor  <otaylor@redhat.com>
949
950         * glib/gmessages.h (g_return_[val_]if_fail): Use
951         a helper function to reduce code size; omit FILE/LINE
952         when we have __PRETTY_FUNCTION__.
953
954 2004-09-09  Matthias Clasen  <mclasen@redhat.com>
955
956         * glib/gutils.c (g_get_home_dir): Remove a misleading comment.
957
958 Thu Sep  9 00:10:40 2004  Matthias Clasen  <maclas@gmx.de>
959
960         * glib/gstrfuncs.h: 
961         * glib/gstrfuncs.c (g_strv_length): Add a function to 
962         calculate the length of a NULL-terminated string 
963         array.  (#150455, Tim-Philipp Müller)
964
965         * tests/strfunc-test.c (main): Add a test for g_strv_length().
966
967 2004-09-08  Tor Lillqvist  <tml@iki.fi>
968
969         * glib/gutils.c (guess_category_value): On Win32, as last resort
970         call g_win32_getlocale() to get the current thread locale. There
971         usually aren't any POSIXish LANG or LC_* environment variables
972         present on Windows machines.
973
974         * glib/glib.def: Add g_get_language_names.
975
976 2004-09-07  Matthias Clasen  <mclasen@redhat.com>
977
978         * glib/gutils.h: 
979         * glib/gutils.c (g_get_language_names): Add a function to
980         return a list of applicable locale names.  (#95587, 
981         Hidetoshi Tajima)
982         (guess_category_value, compute_locale_variants):
983         (explode_locale, unalias_lang, read_aliases): Helper 
984         functions for g_get_language_names()
985
986         * tests/testglib.c (main): Show the results of 
987         g_get_language_names()
988
989 Sun Sep  5 01:46:11 2004  Matthias Clasen  <maclas@gmx.de>
990
991         * glib/glib.def: 
992         * glib/gmessages.h: 
993         * glib/gmessages.c (g_log_set_default_handler): New
994         function to install an alternate default log 
995         handler.  (#66387, Darin Adler)
996
997 2004-09-03  Tor Lillqvist  <tml@iki.fi>
998
999         * glib/glib.def: Update.
1000
1001 Wed Sep  1 20:22:39 2004  Matthias Clasen  <maclas@gmx.de>
1002
1003         * glib/gdate.h:
1004         * glib/gdate.c (g_date_get_iso8601_week_of_year): Add
1005         a function to calculate the ISO 8601 week number of 
1006         a date.  (#92579, Niklas Lundell)
1007
1008 2004-09-01  Anders Carlsson  <andersca@gnome.org>
1009
1010         * glib/goption.c: (g_option_context_parse):
1011         Set program name before calling the pre-parse hooks.
1012         
1013 2004-09-01  Anders Carlsson  <andersca@gnome.org>
1014
1015         * glib/goption.c: (g_option_context_free), (print_help),
1016         (g_option_context_parse):
1017         Handle option contexts without a main group.
1018         
1019         * tests/option-test.c: (empty_test2), (main):
1020         Add test case for that.
1021         
1022 2004-08-30  Anders Carlsson  <andersca@gnome.org>
1023
1024         * glib/goption.c: (g_option_context_parse):
1025         Set prgname to <unknown> if argc and argv are NULL.
1026         
1027         * tests/option-test.c: (empty_test1), (main):
1028         Add test case for that.
1029         
1030 Sun Aug 29 23:58:38 2004  Matthias Clasen  <maclas@gmx.de>
1031
1032         * glib/ghash.c (g_hash_table_lookup): Point to 
1033         g_hash_table_lookup_extended() for differentiation between
1034         not-found and value-is-NULL.  (#150960, Morten Welinder)
1035
1036 2004-08-27  Matthias Clasen  <mclasen@redhat.com>
1037
1038         Fix #151193, Stepan Kasal:
1039         
1040         * glib/gfileutils.c (g_file_error_from_errno): 
1041         * glib/gfileutils.h (enum GFileError): Add G_FILE_ERROR_NOSYS.
1042
1043 Fri Aug 27 00:45:41 2004  Matthias Clasen  <maclas@gmx.de>
1044
1045         * glib/goption.c (g_option_context_parse): Set the program name
1046         from argv[0], noticed by Masatake YAMATO.
1047
1048 2004-08-26  Tor Lillqvist  <tml@iki.fi>
1049
1050         * tests/testglib.c (main): Test the new XDG basedir functions.
1051
1052 2004-08-25  Tor Lillqvist  <tml@iki.fi>
1053
1054         * glib/gwin32.c (g_win32_get_windows_version): New
1055         function. Returns the Windows version code like GetVersion(),
1056         except that one can pretend to be running on Win9x by setting the
1057         G_WIN32_PRETEND_WIN9X environment variable. This is mainly for
1058         debugging purposed.
1059
1060         * glib/gwin32.h: Declare it. Define macros G_WIN32_WINDOWS_IS_NT_BASED 
1061         and G_WIN32_HAVE_WIDECHAR_API to test Windows features at run-time.
1062
1063 2004-08-25  Matthias Clasen  <mclasen@redhat.com>
1064
1065         * configure.in: Post-release version bump.
1066
1067         * === Released 2.5.2 ===
1068
1069 Wed Aug 25 00:25:08 2004  Matthias Clasen  <maclas@gmx.de>
1070
1071         * NEWS: Update for 2.5.2
1072
1073 2004-08-25  Tor Lillqvist  <tml@iki.fi>
1074
1075         Win32 equivalences of the XDG folders
1076         
1077         * glib/gutils.c (get_special_folder): New function, calls
1078         SHGetSpecialFolderLocation() to get path to places like the My
1079         Documents folder.
1080         (g_get_any_init): Use CSIDL_PROFILE as HOME if not
1081         overridden by env vars.
1082         (g_get_user_data_dir): Use CSIDL_PERSONAL.
1083         (g_get_user_config_dir): Use CSIDL_APPDATA.
1084         (g_get_user_cache_dir): Use CSIDL_INTERNET_CACHE. Debatable...
1085         (g_get_system_data_dirs): Use CSIDL_COMMON_APPDATA and
1086         CSIDL_COMMON_DOCUMENTS.
1087         (g_get_system_config_dirs): Use CSIDL_COMMON_APPDATA.
1088
1089         * configure.in: Add -lole32 to G_LIBS_EXTRA for mingw.
1090
1091         * glib/glib.def: Add the new functions.
1092
1093 Mon Aug 23 16:16:35 2004  Manish Singh  <yosh@gimp.org>
1094
1095         * glib/goption.c (g_option_group_add_entries): remove unused
1096         variable.
1097
1098 Mon Aug 23 01:35:18 2004  Matthias Clasen  <maclas@gmx.de>
1099
1100         * glib/gutils.c (g_get_user_cache_dir): 
1101         * glib/gutils.c (g_get_user_config_dir): 
1102         * glib/gutils.c (g_get_user_data_dir): Don't call g_get_home_dir()
1103         while holding the g_utils_global lock, simply use g_home_dir. 
1104         (#150695, Jody Goldberg)
1105
1106 2004-08-21  Tor Lillqvist  <tml@iki.fi>
1107
1108         * glib/giowin32.c (g_io_win32_finalize): Tell select_thread to
1109         break out of its loop. Prevents a thread leak. (#147392, Peter
1110         Zelezny)
1111
1112         * glib/gunicollate.c (g_utf8_collate_key): Guard against bogus
1113         return value from strxfrm(). For instance Microsoft's strxfrm()
1114         returns INT_MAX on errors. (#141124)
1115
1116 2004-08-19  Tor Lillqvist  <tml@iki.fi>
1117
1118         * glib/gunicollate.c (g_utf8_collate, g_utf8_collate_key): Correct
1119         source and destination charset parameter order in g_convert()
1120         call. (#150394, possibly also #141124)
1121
1122 2004-08-20  Jon K Hellan  <hellan@acm.org>
1123
1124         * glib/goption.h: Remove trailing commas.
1125
1126 2004-08-17  Matthias Clasen  <mclasen@redhat.com>
1127
1128         * configure.in: Check for all four values of the
1129         visibility attribute; gcc 2.96 seems to miss 
1130         "default".  (#150379, Vincent Noel)
1131
1132 2004-08-16  Christian Rose  <menthos@menthos.com>
1133
1134         * configure.in: Added "bs" to ALL_LINGUAS.
1135
1136 2004-08-11  Ray Strode  <rstrode@redhat.com>
1137
1138         * docs/reference/glib/glib-sections.txt: 
1139         * glib/gutils.[ch] (g_get_user_data_dir),
1140         (g_get_user_config_dir), (g_get_user_cache_dir),
1141         (g_get_system_data_dirs), (g_get_system_config_dirs): 
1142         Add new XDG basedir API (bug 139973).
1143
1144 2004-08-10  Matthias Clasen  <mclasen@redhat.com>
1145
1146         * glib/gmacros.h: Remove G_GNUC_INTERNAL from here.
1147         * configure.in: Check whether the visibility attribute
1148         works and define G_HAVE_GNUC_VISIBILITY and 
1149         G_GNUC_INTERNAL in glibconfig.h correspondingly.
1150
1151 Mon Aug  9 17:37:56 2004  Matthias Clasen  <maclas@gmx.de>
1152
1153         * glib/gmacros.h (G_GNUC_INTERNAL): Define empty if gcc is too old.
1154
1155 2004-08-06  Hans Breuer  <hans@breuer.org>
1156
1157         * glib/makefile.msc.in glib/glib.def : updated
1158
1159         * glib/gutils.c : avoid 'inconsitent dll linkage' by not
1160         defining extern char** environ with msvc
1161
1162 2004-08-06  Matthias Clasen  <mclasen@redhat.com>
1163
1164         * m4macros/glib-gettext.m4: Require ngettext.  (#123847,
1165         Danilo Segan)
1166
1167 Thu Aug  5 20:53:00 2004  Ray Strode  <rstrode@redhat.com>
1168
1169         * glib/gutils.h (g_get_codeset): strdup result so caller
1170         doesn't free internally managed memory.
1171
1172 2004-08-04  Tor Lillqvist  <tml@iki.fi>
1173
1174         * glib/glib.def: Add glib_check_version.
1175
1176         * config.h.win32.in: Update to match what configure produces. Add
1177         the G_ATOMIC_*. Define G_ATOMIC_I486 when compiling with gcc. Move
1178         HAVE_INT64_AND_I64 to where the configure script puts it. Add
1179         HAVE_INTTYPES_H_WITH_UINTMAX. Define intmax_t as __int64 for MSVC.
1180
1181 Tue Aug  3 16:19:44 2004  Matthias Clasen  <maclas@gmx.de>
1182
1183         * glib/goption.c: Mark user visible strings for translation.
1184
1185 Tue Aug  3 15:50:55 2004  Matthias Clasen  <maclas@gmx.de>
1186
1187         * glib/goption.[hc]: Pedantically use g types throughout.
1188
1189 Tue Aug  3 14:58:20 2004  Matthias Clasen  <maclas@gmx.de>
1190
1191         * glib/gutils.h: 
1192         * glib/gutils.c (glib_check_version): New function to
1193         check the version of GLib at runtime.  (#149175, Michael Natterer)
1194
1195 2004-08-03  Anders Carlsson  <andersca@gnome.org>
1196
1197         * glib/goption.h:
1198         * glib/gtypes.h:
1199         Move GTranslateFunc to gtypes.h
1200         
1201 2004-08-02  Anders Carlsson  <andersca@gnome.org>
1202
1203         * glib/Makefile.am:
1204         * glib/glib.h:
1205         * glib/goption.c:
1206         * glib/goption.h:
1207         * tests/.cvsignore:
1208         * tests/Makefile.am:
1209         * tests/option-test.c: 
1210         Add GOption.
1211
1212 2004-08-02  Matthias Clasen  <mclasen@redhat.com>
1213
1214         * glib/gmacros.h: Add a G_GNUC_INTERNAL macro to mark function
1215         declarations as internal and avoid PLT indirections for 
1216         them.  (#145465, Arjan van de Ven)
1217
1218         * glib/gunicodeprivate.h: 
1219         * glib/gthreadinit.h: 
1220         * glib/gmessages.h: 
1221         * glib/gdebug.h: 
1222         * glib/gconvert.c: Use G_GNUC_INTERNAL for _g_charset_get_aliases(),
1223         _g_debug_init(), _g_log_fallback_handler(), _g_mem_thread_init(),
1224         _g_messages_thread_init(), _g_convert_thread_init(), 
1225         _g_rand_thread_init(), _g_main_thread_init(), _g_atomic_thread_init(),
1226         _g_mem_thread_private_init(), _g_messages_thread_private_init(),
1227         _g_utf8_normalize_wc() and _g_unichar_combining_class().
1228
1229         * glib/gatomic.c: Include gthreadinit.h here to see the declaration
1230         for _g_atomic_thread_init().
1231
1232 Sun Aug  1 13:19:18 2004  Manish Singh  <yosh@gimp.org>
1233
1234         * tests/uri-test.c: move newline printing from run_from_uri_tests()
1235         to run_roundtrip_tests().
1236
1237 2004-08-01 Matthias Clasen  <mclasen@redhat.com>
1238
1239         * Post-release version bump
1240
1241         * === Released 2.5.1 ===
1242
1243 Sat Jul 31 23:17:05 2004  Matthias Clasen  <maclas@gmx.de>
1244
1245         * NEWS: Updates.
1246
1247 Sat Jul 31 20:33:07 2004  Matthias Clasen  <maclas@gmx.de>
1248
1249         * tests/shell-test.c: Include a test involving consecutive
1250         backslashes followed by a non-escaped doublequote.
1251         
1252         * glib/gshell.c (tokenize_command_line): Count consecutive
1253         backslashes mod 2 to detect escaped doubleqotes.  (#127306)
1254
1255 2004-07-30  Matthias Clasen  <mclasen@redhat.com>
1256
1257         * glib/gconvert.c (g_unescape_uri_string): Don't validate
1258         for UTF-8 here.  (#148420, Robert Ögren)
1259
1260         * tests/uri-test.c (run_roundtrip_tests): Add tests for 
1261         roundtrip compatibility. Going from filename to uri and 
1262         back should always give you the same filename back. 
1263
1264 2004-07-28  Matthias Clasen  <mclasen@redhat.com>
1265
1266         * tests/markups/valid-{9,10,11}.gmarkup: 
1267         * tests/markups/fail-{37,38,39}.gmarkup: Tests for handling
1268         of whitespace inside tags.
1269
1270         * glib/gmarkup.c (enum GMarkupParseState): Add 
1271         STATE_AFTER_ATTRIBUTE_NAME and STATE_AFTER_CLOSE_TAG_NAME.
1272         (g_markup_parse_context_parse): Accept whitespace between
1273         attribute names, '=' and attribute values and between
1274         close tag name and '>'. (#148646, Hiroyuki Ikezoe)
1275
1276 Tue Jul 27 02:01:31 2004  Matthias Clasen  <maclas@gmx.de>
1277
1278         * glib/gstrfuncs.c (g_strsplit_set): s/g_strsplit/g_strsplit_set/
1279         as well.
1280
1281 Sat Jul 24 17:50:07 2004  Soeren Sandmann  <sandmann@daimi.au.dk>
1282
1283         * glib/gstrfuncs.c (g_strsplit_set):
1284         s/g_strtokenize/g_strsplit_set/ in docs.
1285
1286 Fri Jul 23 10:37:50 2004  Matthias Clasen  <maclas@gmx.de>
1287
1288         * tests/type-test.c (main): Actually test G_MAXSIZE with
1289         a gsize variable.
1290
1291 2004-07-21  Matthias Clasen  <mclasen@redhat.com>
1292
1293         Fix #132858, Sven Neumann, patch by James Henstridge:
1294         
1295         * glib-gettextize.in: modify so that mkinstalldirs will 
1296         get installed into auxdir.
1297
1298         * Makefile.am (gettext_SCRIPTS): install mkinstalldirs.
1299
1300 2004-07-21  Matthias Clasen  <mclasen@redhat.com>
1301
1302         Fix #147651, reported by Oliver Guntermann:
1303
1304         * glib/gprintfint.h (_g_vasprintf): Don't wrap vasprintf(),
1305         _g_gnulib_vasprintf() in a macro, since they behave 
1306         differently wrt. to memory allocation.
1307
1308         * glib/gprintf.c (g_vasprintf): Instead, differentiate 
1309         here between the three cases: system vasprintf(), 
1310         _g_gnulib_vasprintf(), no vasprintf().  
1311
1312 2004-07-20  Crispin Flowerday  <gnome@flowerday.cx>
1313
1314         * NEWS: Fix a typo in my name
1315
1316 Tue Jul 20 04:31:40 2004  Soeren Sandmann  <sandmann@daimi.au.dk>
1317
1318         * configure.in: Bump version number
1319
1320 Sun Jul 18 19:40:30 2004  Soeren Sandmann  <sandmann@daimi.au.dk>
1321
1322         * === Released 2.5.0 ===
1323
1324         * Makefile.am (BUILT_EXTRA_DIST): move gtk-doc.make here.
1325
1326 Sun Jul 18 01:40:28 2004  Matthias Clasen  <maclas@gmx.de>
1327
1328         * NEWS: Updates for 2.5.0
1329
1330 Mon Jul 12 00:02:40 2004  Matthias Clasen  <maclas@gmx.de>
1331
1332         * glib/gi18n-lib.h: Remove the ENABLE_NLS check here as well.
1333
1334 2004-07-09  Matthias Clasen  <mclasen@redhat.com>
1335
1336         * glib/gdir.c (g_dir_open): Convert filename to UTF-8 
1337         before using it in the error message.  (#146054, Federico
1338         Mena Quintero)
1339
1340 Thu Jul  8 00:54:32 2004  Matthias Clasen  <maclas@gmx.de>
1341
1342         * glib/gi18n.h: Remove the ENABLE_NLS check, since GLib can't
1343         be built without anyway.  (#135899, Murray Cumming)
1344
1345 Mon Jul  5 18:50:27 2004  Matthias Clasen  <maclas@gmx.de>
1346
1347         * glib/gmessages.h (g_debug): Complete the g_log() 
1348         family.  (#135730, Sven Herzberg)
1349
1350 Mon Jul  5 18:42:30 2004  Matthias Clasen  <maclas@gmx.de>
1351
1352         * glib/gnulib/Makefile.am (INCLUDES): Add top_srcdir to 
1353         make srcdir != . work.  (#145166, Kaz Sasayama)
1354
1355 Sun Jul  4 01:52:18 2004  Matthias Clasen  <maclas@gmx.de>
1356
1357         * configure.in: Use a small test library instead of
1358         libpthread.so for testing RTLD_GLOBAL brokenness.  (#139567,
1359         Julio M. Merino Vidal)
1360         
1361 2004-07-02  Sebastian Wilhelmi  <seppi@seppi.de>
1362
1363         * glib/gatomic.c: Rename __asm to __asm__ and __volatile to
1364         __volatile__ to make the file consistent. Spotted by Benoit
1365         Carpentier <gtkool_2kx@yahoo.fr>.
1366
1367 2004-07-01  John Ehresman  <jpe@wingide.com>
1368
1369         * glib/giowin32.c (g_io_channel_win32_init, g_io_win32_free)
1370         Initialize reset_send & reset_recv fields and don't close
1371         sockets unless they were created.  (#145153)
1372
1373 Fri Jun 11 22:56:46 2004  Matthias Clasen  <maclas@gmx.de>
1374
1375         * glib/gscanner.c (g_scanner_get_token_ll): Ignore a 
1376         missing newline at EOF for single line comments.  
1377         (#83674, Sven Neumann)
1378
1379 Thu Jun 10 23:38:02 2004  Matthias Clasen  <maclas@gmx.de>
1380
1381         * tests/printf-test.c (TEST): Actually set any_failed on 
1382         failure.  (#143552, Philippe Blain)
1383
1384 2004-06-09  Federico Mena Quintero  <federico@ximian.com>
1385
1386         * tests/uri-test.c (to_uri_tests): Fix expected results (ha ha)
1387         for URIs that *should* have been invalid, or viceversa.
1388         (from_uri_tests): Likewise.
1389
1390 2004-06-07  Federico Mena Quintero  <federico@ximian.com>
1391
1392         Fixes #140532.
1393
1394         * glib/gconvert.c (is_asciialphanum): Renamed from
1395         is_escalphanum(); ensures that this is an ASCII character.
1396         (is_asciiescalpha): Renamed from is_escalpha().
1397         (hostname_validate): Use the two functions above.
1398         (g_filename_to_uri): Don't convert the filename to UTF-8.
1399         (g_filename_from_uri): Don't convert the filename from UTF-8.
1400
1401 Mon Jun  7 22:25:24 2004  Matthias Clasen  <maclas@gmx.de>
1402
1403         * tests/run-markup-tests.sh: Default to silence, but support
1404         a -v argument to get the old output back. 
1405
1406 2004-06-06  Tor Lillqvist  <tml@iki.fi>
1407
1408         * glib/gutils.c (g_get_any_init): Check home for being
1409         NULL. (#143812, Ivan Wong)
1410
1411 Sun Jun  6 15:23:00 2004  Pawan Chitrakr  <pawan@nplinu.org>
1412
1413         * configure.in: Added "ne" (Nepali) in ALL_LINGUAS
1414
1415 Fri Jun  4 19:26:47 2004  Manish Singh  <yosh@gimp.org>
1416
1417         * glib/galloca.h: cpp #directives should always have the "#" in the
1418         first column of the the line. Do that for "#pragma alloca". Fixes
1419         bug #143744.
1420
1421 Wed Jun  2 00:57:16 2004  Matthias Clasen  <maclas@gmx.de>
1422
1423         * glib/gtypes.h: Use higher precision for the mathematical
1424         constants.  (#141941, Morten Welinder)
1425
1426 Tue Jun  1 22:01:40 2004  Matthias Clasen  <maclas@gmx.de>
1427
1428         * glib/gmarkup.c (advance_char): Fix an off-by-one error 
1429         in g_markup_parse_context_parse().  (#142794, Morten Welinder)
1430
1431 Sun May 16 23:23:29 2004  Matthias Clasen  <maclas@gmx.de>
1432
1433         Merged from 2.4:
1434         
1435         * glib/gcompletion.c (g_completion_add_items):
1436         (g_completion_remove_items): Remove unnecessary 
1437         checks.  (#142559, Morten Welinder)
1438
1439 2004-05-15  Tor Lillqvist  <tml@iki.fi>
1440
1441         * glib/gutils.c (g_get_any_init): [Win32] Only believe HOME if it
1442         is an absolute path and exists. (#138618)
1443
1444 2004-05-14  Tor Lillqvist  <tml@iki.fi>
1445
1446         * glib/gnulib/vasnprintf.c (vasnprintf): Handle empty digit string
1447         for precision correctly. (#142400)
1448
1449         For backward compatibility with the Trio implementation, make "ll"
1450         format modifer work on Win32, too. Change into "I64" before
1451         passing to the system printf. (#142433)
1452
1453         * tests/printf-test.c (main): Add tests for the above.
1454
1455 2004-05-10  Matthias Clasen  <mclasen@redhat.com>
1456
1457         Merge from 2.4:
1458         
1459         * glib/gmain.c (block_source, unblock_source): Make these 
1460         static.  (#142230, Morten Welinder)
1461
1462 2004-05-10  Tor Lillqvist  <tml@iki.fi>
1463
1464         * glib/giowin32.c (g_win32_print_gioflags): Remove two duplicated
1465         lines. Thanks to Benoît Carpentier.
1466
1467 Sun May  9 02:04:14 2004  Matthias Clasen  <maclas@gmx.de>
1468
1469         Merge from 2.4:
1470         
1471         * glib/guniprop.c (g_utf8_casefold): Avoid an unnecessary
1472         memleak.  (#141998, Nikolai Weibull)
1473
1474 Sat May  8 23:02:26 2004  Matthias Clasen  <maclas@gmx.de>
1475
1476         Merge from 2.4:
1477         
1478         * glib/gutils.h: Remove vestigial g_get_codeset().
1479         * glib/gutils.c (g_get_codeset): Call g_get_charset().
1480         (#137703, Owen Taylor)
1481
1482 2004-05-06  Matthias Clasen  <mclasen@redhat.com>
1483
1484         * configure.in: Bump version number to 2.5.0.
1485
1486 Wed May  5 23:35:44 2004  Matthias Clasen  <maclas@gmx.de>
1487
1488         * glib/gconvert.c (g_filename_from_uri): Quote the file
1489         scheme to mark it as untranslatable. String change.  
1490         (#133144, Danilo Segan)
1491
1492 2004-05-03  Pablo Saratxaga  <pablo@mandrakesoft.com>
1493
1494         * configure.in: Added Walloon (wa) to ALL_LINGUAS
1495
1496 Sun May  2 03:51:59 2004  Manish Singh  <yosh@gimp.org>
1497
1498         * glib/gtypes.h: check for __pentium4__ when deciding whether to
1499         use bswap for GUINT32_SWAP_LE_BE_IA32(). Fixes bug #141620.
1500
1501 2004-05-01  Hans Breuer  <hans@breuer.org>
1502
1503         * glib/gnulib/Makefile.am : added makefile.msc to EXTRA_DIST
1504         fixes #141563, Steve Lhomme
1505
1506 2004-04-30  Matthias Clasen  <mclasen@redhat.com>
1507
1508         * === Released 2.4.1 ===
1509
1510         * configure.in: Version 2.4.1, interface age 1. 
1511
1512         * NEWS: Updates
1513         
1514 2004-04-25  Tor Lillqvist  <tml@iki.fi>
1515
1516         * glib/gwin32.c (g_win32_get_package_installation_subdirectory):
1517         Plug memory leak. (#140770, John Ehresman)
1518
1519 2004-04-23  Matthias Clasen  <mclasen@redhat.com>
1520
1521         * glib/libcharset/localcharset.c (_g_locale_get_charset_aliases): 
1522         Reinstate LIBCHARSET_ALIAS_DIR support which got lost at some
1523         point.  (#139134, Piotr Klaban)
1524
1525         * glib/gconvert.c (open_converter): Don't call g_strerror() here, 
1526         since it can lead to infinite recursion.  (#139133, Piotr Klaban)
1527
1528 2004-04-22  Matthias Clasen  <mclasen@redhat.com>
1529
1530         * tests/testglib.c (main): Trivial warning fix.  (#140345)
1531
1532         * tests/queue-test.c (main): Add some tests for off-by-one errors.
1533
1534         * glib/gqueue.c (g_queue_pop_nth_link): Fix an off-by-one 
1535         error.  (#139703, Philippe Blain)
1536
1537         * tests/testglib.c (main): Add testcases for g_message() involving
1538         non-printable and unsafe characters.
1539
1540         * glib/gmessages.c (escape_string): Don't assume that
1541         string->str remains unchanged over g_string_insert() 
1542         calls.  (#139030, Christophe Saout)
1543
1544         * glib/gstrfuncs.c (g_ascii_strtod): Fix problems when a 
1545         locale-specific decimal separator directly follows a 
1546         number.  (#138424, Nickolay V. Shmyrev)
1547
1548         * tests/strtod-test.c (main): Add some more testcases.
1549
1550         * glib/gmain.c (g_main_context_query): Only set time_is_current to 
1551         FALSE if context->timeout is not zero.  (#137795, Christian Krause)
1552
1553 2004-04-21  Matthias Clasen  <mclasen@redhat.com>
1554
1555         * tests/printf-test.c (main): Comment out a nonessential testcase
1556         which fails on HP-UX.  (#136283, Jonas Jonsson)
1557
1558 2004-04-15  Matthias Clasen  <mclasen@redhat.com>
1559
1560         * tests/patterntest.c (main): Add tests for the empty pattern.
1561
1562         * glib/gpattern.c (g_pattern_spec_new): Don't read and write out 
1563         of bounds when the pattern is empty.  (#140032, Stanislav Brabec,
1564         Stefan Fent)
1565
1566 2004-04-10  Tor Lillqvist  <tml@iki.fi>
1567
1568         * glib/gwin32.c (g_win32_getlocale): Add new language and
1569         sublanguage codes, from GNU gettext. (#137958)
1570         
1571         * glib/giowin32.c
1572         * glib/gmain.c
1573         * glib/gstrfuncs.c
1574         * glib/gthread.c: Decorating variable definitions with
1575         __declspec(dllexport) causes problems on Cygwin build, and isn't
1576         really needed for a native Win32 build with mingw or MSVC, so
1577         remove. (#138402, Roger Leigh)
1578
1579         * glib/libcharset/localcharset.c: Use Win32-specific code also on
1580         Cygwin.
1581         * tests/uri-test.c: Don't assume that local filenames are in UTF-8
1582         on Cygwin, either. (#138412, Roger Leigh)
1583
1584 2004-04-08  Guntupalli Karunakar  <karunakar@freedomink.org>
1585
1586         * configure.in: Added "gu" (Gujarati) to ALL_LINGUAS.
1587
1588 2004-04-03  Tor Lillqvist  <tml@iki.fi>
1589
1590         * configure.in: Remove AC_CYGWIN, obsolete. Don't let pthreads be
1591         found on Cygwin, they don't work. (#138401, Roger Leigh)
1592
1593 2004-03-31  Tor Lillqvist  <tml@iki.fi>
1594
1595         * tests/spawn-test-win32-gui.c: Minor Cygwin fix. (#138405, Roger
1596         Leigh)
1597
1598         * tests/unicode-encoding.c (process): Use UTF-16LE explicitly also
1599         on Cygwin. (#138423, Roger Leigh)
1600
1601 2004-03-30  Adam Weinberger  <adamw@gnome.org>
1602
1603         * configure.in: Added en_CA to ALL_LINGUAS.
1604
1605 2004-03-21  Tor Lillqvist  <tml@iki.fi>
1606
1607         * glib/gutils.c (g_path_get_dirname): Fix Win32 behaviour in some
1608         cases where a drive letter is present. For 'a:' or 'a:foo', return
1609         'a:.'. This is mostly just for consistency with the behaviour
1610         without a drive letter. But very important is to for 'a:\foo' or
1611         'a:\', return 'a:\', and not 'a:'. (Ditto for forward slashes
1612         instead of backslashes.) (#137316)
1613
1614         * tests/dirname-test.c (main): More complete testing on Win32. If
1615         a test fails, include expected and actual result in error message.
1616
1617 Fri Mar 19 15:21:09 2004  Owen Taylor  <otaylor@redhat.com>
1618
1619         * glib/gmain.c: Fix the accidental revert of the
1620         fixes from #112222 that happened when the GChildWatch
1621         code was added. (Caught by Christian Persch)
1622
1623 Fri Mar 19 11:07:06 2004  Owen Taylor  <otaylor@redhat.com>
1624
1625         * tests/atomic-test.c (main): Make computation
1626         of "biggest_pointer" vaguely more portable.
1627         (#137498, Jonas Jonsson)
1628
1629 2004-03-16  Tor Lillqvist  <tml@iki.fi>
1630
1631         * configure.in: Define HAVE_INT64_AND_I64 also in the mingw (gcc
1632         on Win32) case, where the 64-bit type is called long long, but the
1633         system printf/scanf format modifier for 64-bit integers is still I64.
1634
1635 2004-03-16  Gareth Owen  <gowen72@yahoo.com>
1636
1637         * configure.in: Added en_GB to ALL_LINGUAS
1638