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