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