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