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