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