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