g_type_default_interface_ref() was not ensuring working g_signal_list_ids.
[platform/upstream/glib.git] / ChangeLog
1 2007-08-14  Cody Russell  <bratsche@gnome.org>
2
3         * gobject/gsignal.c: g_type_default_interface_ref() was not
4         ensuring working g_signal_list_ids.  Added checks for
5         !G_TYPE_IS_INTERFACE (itype).
6         (#465625, by some guy who calls himself Yeti)
7
8 Tue Aug 14 02:06:10 2007  Tim Janik  <timj@imendio.com>
9
10         * glib/gthread.c (g_once_init_enter_impl): prevent race covered
11         by g_once_init_enter(), by checking for previous initializations
12         before entering initialisation branch.
13
14         * tests/onceinit.c: added multi-thread/multi-initializer stress test
15         using unoptimized g_once_init_enter_impl().
16
17 Mon Aug 13 14:30:15 2007  Tim Janik  <timj@imendio.com>
18
19         * tests/onceinit.c (main): fixed array size typo.
20
21 Mon Aug 13 14:21:44 2007  Tim Janik  <timj@imendio.com>
22
23         * tests/onceinit.c: test g_once_init_*() before and after
24         g_thread_init() and test concurrency resolution.
25
26 Mon Aug 13 14:18:22 2007  Tim Janik  <timj@imendio.com>
27
28         * glib/gthread.c (g_thread_create_full): prevent linking a freed
29         GThread structure into global thread list in error cases.
30
31 2007-08-08  Matthias Clasen  <mclasen@redhat.com>
32
33         * glib/gmarkup.c (append_escaped_text): Handle restricted
34         characters by converting them to numeric character 
35         entities.  (#464145, Andreas Monitzer)
36
37         * tests/markup-escape-test.c: Add tests for restricted
38         characters and numeric character entities. 
39
40 2007-08-08  Matthias Clasen  <mclasen@redhat.com>
41
42         * glib/glib.symbols:
43         * glib/Makefile.am:
44         * glib/abicheck.sh: Make it work regardless of --enable-debug
45
46 2007-08-08  Tristan Van Berkom <tvb@gnome.org>
47
48         * docs/reference/gobject/tmpl/gparamspec.sgml: Fixed minor typo in docs.
49
50 2007-08-07  Matthias Clasen  <mclasen@redhat.com>
51
52         * MAINTAINERS: Update for new format regulations
53
54 2007-08-03  Matthias Clasen  <mclasen@redhat.com>
55
56         * configure.in: Bump version
57
58         * === Released 2.14.0 ===
59
60         * NEWS: Updates
61
62         * configure.in: Bump version to 2.14.0
63
64 2007-08-03  Matthias Clasen  <mclasen@redhat.com>
65
66         * glib/gregex.c: Revert the J handling change,
67         since it doesn't work.
68
69 2007-08-03  Matthias Clasen  <mclasen@redhat.com>
70
71         * glib/gregex.c: Fix a C99ism.  (#462549, Kazuki IWAMOTO)
72
73 2007-08-03  Matthias Clasen  <mclasen@redhat.com>
74
75         * glib/gregex.c: Handle J changes in the pattern
76         correctly.  (#444765, Yevgen Muntyan)
77
78 2007-08-03  Pramod Raghavendra  <pramodleo@yahoo.co.uk>
79
80         * configure.in: Added kn to ALL_LINGUAS
81
82 2007-08-01  Tor Lillqvist  <tml@novell.com>
83
84         * glib/update-pcre/notdll.patch: Update so it applies again.
85
86         * glib/pcre/pcre.h: Corresponding change.
87
88         * glib/gutils.c (get_special_folder): Drop leftover use of a
89         union.
90
91         * glibconfig.h.win32.in: Update to match what configure produces.
92
93 2007-07-31  Matthias Clasen  <mclasen@redhat.com>
94
95         * glib/pcre/*: Update the internal PCRE to 7.2
96
97 2007-07-31  Matthias Clasen  <mclasen@redhat.com>
98
99         * glib/pltcheck.sh: Fix some glitches
100
101         * glib/gregex.c: Remove debug spew
102
103 2007-07-21  Matthias Clasen  <mclasen@redhat.com>
104
105         * glib/gunidecomp.c:
106         * glib/gregex.c:
107         * glib/gstring.c: Various doc cleanups.
108
109 2007-07-20  Alexander Larsson  <alexl@redhat.com>
110
111         * configure.in:
112         Add goffset type (64bit file size)
113         Add G_MAXSSIZE and G_MINSSIZE
114
115 2007-07-20  Matthias Clasen  <mclasen@redhat.com>
116
117         * glib/glib.symbols: Fix the build.
118
119 2007-07-19  Behdad Esfahbod  <behdad@gnome.org>
120
121         * glib/glib.symbols:
122         * glib/gunicode.h:
123         * glib/gunicodeprivate.h:
124         * glib/gunidecomp.c (g_unichar_combining_class):
125         * glib/guniprop.c (has_more_above):
126         Make g_unichar_combining_class() public. (#453998)
127
128 Fri Jul 13 01:01:46 2007  Tim Janik  <timj@imendio.com>
129
130         * glib/gthread.[hc]: more atomic ops pointer cast fixes. this time it'll
131         work with atomic op macros *and* atomic op functions.
132
133 Fri Jul 13 00:50:40 2007  Tim Janik  <timj@imendio.com>
134
135         * glib/gthread.[hc]: fixed missing pointer casts when using atomic ops.
136
137 2007-07-12  Matthias Clasen  <mclasen@redhat.com>
138
139         * configure.in: Bump version
140
141         * === Released 2.13.7 ===
142
143         * NEWS: Updates
144
145 Thu Jul 12 17:31:08 2007  Tim Janik  <timj@imendio.com>
146
147         * tests/slice-concurrent.c: beautified output somewhat. fixed long
148         sleeps by reducing sleep accumulating and using randomized re-scheduling
149         (which works on UP and SMP). increased possible blocksizes.
150
151 Thu Jul 12 17:26:05 2007  Tim Janik  <timj@imendio.com>
152
153         * tests/slice-concurrent.c: added GSLice test from Stefan Westerfeld,
154         bug #433314.
155
156 Thu Jul 12 15:46:40 2007  Tim Janik  <timj@imendio.com>
157
158         * glib/gslice.c: migrate per-thread magazine caches from single-thread
159         scenario to first thread using GSlice after g_thread_init(); based on
160         a patch by Tor Lillqvist, fixes #331853.
161         removed warning about g_thread_init() being called after other glib
162         functions (in particular g_slice* calls), because GSlice can cope
163         with this now and the rest of glib is believed to cope as well.
164
165         * tests/slice-threadinit.c: new test program which tests GSlice working
166         across g_thread_init() calls.
167
168 2007-07-10  Matthias Clasen  <mclasen@redhat.com>
169
170         * glib/pltcheck.sh: Add g_once_init_enter to the whitelist of
171         symbols allowed to have a local PLT entry, to fix 'make check'.
172
173 Tue Jul 10 12:24:35 2007  Tim Janik  <timj@imendio.com>
174
175         * glib/gthread.[hc]: implemented g_once_init_enter(),
176         g_once_init_enter_impl() and g_once_init_leave(), based on a patch by
177         Antoine Tremblay, fixes #65041.
178         adapted exported inline function mechanism from gutils.[hc] for inlining
179         g_once_init_enter_impl() in gthread.[hc].
180
181 2007-07-09  Matthias Clasen  <mclasen@redhat.com>
182
183         * NEWS: Updates
184
185 2007-07-09  Loïc Minier  <lool@dooz.org>
186
187         * tests/refcount/closures.c: (main): Output newlines after thousand
188         iterations of the inner-loop of the closures test; this helps having
189         smaller lines and continuously outputting new lines.  (#447048).
190
191 2007-07-09  Ryan Lortie  <desrt@desrt.ca>
192
193         * glib/gfileutils.c (write_to_temp_file): save errno to prevent it
194         being clobbered by call to g_filename_display_name().  Bug #453796.
195
196 2007-07-09  Matthias Clasen  <mclasen@redhat.com>
197
198         * m4macros/glib-gettext.m4: Fix a small problem with
199         msgfmt -c detection.  (#341988, Laszlo Peter)
200
201 2007-07-07  Matthias Clasen  <mclasen@redhat.com>
202
203         * glib/gmarkup.c (g_markup_parse_context_end_parse): Handle
204         all states.  (#454473)
205
206 2007-07-06  Tor Lillqvist  <tml@novell.com>
207
208         * glib/giowin32.c (g_io_win32_check): When WSAEnumNetworkEvents()
209         signals FD_CONNECT that means that the connection attempt
210         finished, either successfully or failed. Test explicitly whether
211         the connnection succeeded and set either G_IO_OUT if it did,
212         G_IO_ERR|G_IO_HUP if it failed.
213
214         Make sure we never set both G_IO_OUT and G_IO_HUP simultaneously
215         because in Unix poll(2) POLLOUT and POLLHUP are mutually
216         exclusive.
217
218         Ignore whether the caller wants to watch G_IO_HUP or not. Always
219         select for FD_CLOSE because Unix poll(2) also ignores whether
220         POLLHUP in set the requested events bitmask or not.
221
222 Fri Jun 29 2007  Matthias Clasen  <mclasen@redhat.com>
223
224         * configure.in: Bump version
225
226         * === Released 2.13.6 ===
227
228         * NEWS: Updates
229
230 Mon Jun 25 16:43:13 2007  Tim Janik  <timj@gtk.org>
231
232         * glib/ghash.c: g_hash_table_find(), g_hash_table_foreach():
233         document performance caveats for linear order searches.
234
235 2007-06-22  Mathias Hasselmann  <mathias.hasselmann@gmx.de>
236
237         * glib/gstring.c: Use memcpy in g_string_append_vprintf (#57693).
238
239 2007-06-18  Mathias Hasselmann  <mathias.hasselmann@gmx.de>
240
241         * glib/gstring.c: Restore old behaviour of 
242         g_string_append_vprintf: g_vasprintf seems to be faster
243         than g_printf_string_upper_bound (#57693).
244
245 2007-06-18  Matthias Clasen  <mclasen@redhat.com>
246
247         * glib/gutils.c (g_get_home_dir): Add some motivation.
248
249 2007-06-18  Matthias Clasen  <mclasen@redhat.com>
250
251         * configure.in: Bump version
252
253         * === Released 2.13.5 ===
254
255         * NEWS: Updates
256
257 2007-06-18  Emmanuele Bassi  <ebassi@gnome.org>
258
259         * glib/gmain.h:
260         * glib/gmain.c:
261         * glib/glib.symbols: Add g_timeout_add_seconds_full() variant
262         to g_timeout_add_seconds(), accepting a destroy notification
263         function and a priority. (#448819)
264
265 2007-06-17  Matthias Clasen  <mclasen@redhat.com>
266
267         * glib/gutils (g_get_current_dir): Prevent segfaults on
268         long paths.  (#447935, Robby Griffin)
269
270 2007-06-17  Behdad Esfahbod  <behdad@gnome.org>
271
272         * glib/gdataset.c (g_quark_from_string),
273         (g_quark_from_static_string): Accept NULL and return GQuark
274         value of zero. (#446859)
275
276 2007-06-16  Mathias Hasselmann  <mathias.hasselmann@gmx.de>
277
278         * glib/gstring.c: Correctly use g_printf_string_upper_bound
279         in g_string_append_vprintf. Fixes #447933.
280
281 2007-06-15  Sebastian Wilhelmi  <wilhelmi@google.com>
282
283         * docs/reference/glib/tmpl/threads.sgml: Extended the comments on
284         those functions, that are NOOPs, before g_thread_init() has been
285         called. (#447583)
286
287         * glib/gthread.c (g_static_mutex_free): Clarified comment to
288         remind myself, that calling g_static_mutex_free() before
289         g_thread_init() is safe.
290
291 2007-06-15  Cody Russell  <bratsche@gnome.org>
292
293         * docs/reference/gobject/tmpl/gboxed.sgml:
294         * docs/reference/gobject/gobject-sections.txt:
295         * glib/gregex.c:
296         * gobject/gboxed.[ch]:
297         * gobject/gobject.symbols: Added GRegex boxed type.
298         (#445065, Carlos Garnacho)
299
300 2007-06-15  Sebastian Wilhelmi  <wilhelmi@google.com>
301
302         * glib/gregex.c: Replaced & by &amp; in <programlisting> to make
303         gtk-doc happy.
304
305 2007-06-14  Ryan Lortie  <desrt@desrt.ca>
306
307         * docs/reference/glib/glib-sections.txt:
308         * glib/glib/symbols:
309         * glib/gstring.[ch] (g_string_printf_internal): Improve
310         performance by removing the use of an intermediate g_malloc'd
311         buffer.  Rename to g_string_append_vprintf, document, and expose
312         along with g_string_vprintf as new public API (#57693).
313
314 2007-06-15  Mathias Hasselmann  <mathias.hasselmann@gmx.de>
315
316         * build, tests/string-test.c, glib/glib.symbols, 
317         glib/gstring.c, glib/gstring.h: Introduce g_string_overwrite(_len)?
318         for overwriting parts of strings (#368686, Samuel Cormier-Iijima)
319
320 2007-06-14  Cody Russell  <bratsche@gnome.org>
321
322         * gobject/gtype.c (g_type_class_add_private): Check for 0-sized
323         private data. (#443869)
324
325 2007-06-14  Matthias Clasen  <mclasen@redhat.com>
326         
327         * glib/gmain.c (g_timeout_add_seconds): Fix doc typos.  (#447534,
328         Vincent Untz)
329
330 2007-06-13  Behdad Esfahbod  <behdad@gnome.org>
331
332         * glib/pltcheck.sh: Whitelist g_atomic_{int,pointer}_[gs]et() as
333         we don't alias them intentionally. (#354522)
334
335 2007-06-13  Sven Neumann  <sven@gimp.org>
336
337         * glib/gslice.[ch] added g_slice_copy() and g_slice_dup() (#442029).
338
339         * glib/glib.symbols: updated.
340
341 2007-06-12  Behdad Esfahbod  <behdad@gnome.org>
342
343         * glib/gunicode.h: Add more G_GNUC_CONST and G_GNUC_PURE.
344
345 2007-06-11  Emmanuele Bassi  <ebassi@gnome.org>
346
347         * glib/gutils.c (maybe_expire_user_special_dirs),
348         (g_get_user_special_dir): Remove the cache expiration logic: it
349         makes g_get_user_special_dir() not thread-safe. Document the fact
350         that on some platform the value might be changed by the user and
351         that GLib won't be able to reflect the change.
352
353 2007-06-11  Tor Lillqvist  <tml@novell.com>
354
355         * glib/gwin32.c (g_win32_get_package_installation_directory)
356         (g_win32_get_package_installation_subdirectory): Update doc
357         comments. Mention that it is not recommeded to use the Registry
358         features.
359
360 2007-06-06  Tor Lillqvist  <tml@novell.com>
361
362         * glib/gutils.c: Add definitions for more CSIDL_* constants in
363         case missing from headers. Use CSIDL_PERSONAL instead of
364         CSIDL_MYDOCUMENTS as CSIDL_MYDOCUMENTS seems to be a new thing
365         that doesn't work in XP SP2 even.
366
367 2007-06-06  Matthias Clasen  <mclasen@redhat.com>
368
369         * glib/gutils.c (g_get_user_special_dir): Fall back to
370         $HOME/Desktop for the DESKTOP directory, like 
371         xdg_user_dir_lookup() does.
372
373 2007-06-05  Matthias Clasen  <mclasen@redhat.com>
374
375         * configure.in: Bump version
376
377         * === Released 2.13.4 ===
378
379         * NEWS: Updates
380
381 2007-06-05  Matthias Clasen  <mclasen@redhat.com>
382
383         * glib/gkeyfile.c (g_key_file_is_key_name):
384         (g_key_file_is_group_name): Don't assume the string is
385         valid UTF-8, since it may be user data.  (#444161, Ben Combee)
386
387 2007-06-05  Behdad Esfahbod  <behdad@gnome.org>
388
389         * glib/gutf8.c: Add not to g_utf8_get_char_validated() about
390         nul-terminated strings.
391
392 2007-06-05  Matthias Clasen  <mclasen@redhat.com>
393
394         * glib/gutils.c (g_get_user_special_dir): Don't deadlock
395         when running with threads.  (#444121, Christian Persch)
396
397 2007-06-05  Vincent Untz  <vuntz@gnome.org>
398
399         * glib/goption.c: (g_option_context_get_help): don't replace the usage
400         line with the description for optional parameters, but append the
401         description. (#444130)
402
403 2007-06-04  Matthias Clasen  <mclasen@redhat.com>
404
405         * configure.in: Bump version
406         
407         * === Released 2.13.3 ===
408
409         * NEWS: Updates
410
411 2007-06-04  Matthias Clasen  <mclasen@redhat.com>
412         
413         Add support for a number of special directories, as 
414         defined by the xdg-user-dirs specification.  (#432651,
415         Bastien Nocera, Emmanuele Bassi, Michael Natterer)
416
417         * glib/glib.symbols:
418         * glib/gutils.[hc]: Add the GUserDirectory enum and
419         g_get_user_special_dir(), with implementations based
420         on the xdg-user-dirs spec and on native interfaces
421         for Win32 and Carbon.
422         
423         * configure.in: Add Carbon checks.
424
425         * tests/tetsglib.c: Test g_get_user_special_dir().
426         
427 2007-06-03  Yevgen Muntyan  <muntyan@tamu.edu>
428
429         * glib/gregex.c: fixed g_regex_fetch_named* for cases when (?J)
430         is used inside a pattern (#442265, comment #12).
431         * tests/regex-test.c: Test it.
432
433 2007-06-03  Matthias Clasen <mclasen@redhat.com>
434
435         * NEWS: Updates
436
437 2007-06-03  Yevgen Muntyan  <muntyan@tamu.edu>
438
439         Some API additions and changes (#442265).
440
441         * glib/gregex.c:
442         * glib/gregex.h: new functions: g_regex_ref(), g_regex_unref() which
443         replaces g_regex_free(); g_match_info_get_regex(), g_match_info_get_string();
444         g_regex_check_replacement().
445         Made g_match_info_expand_references() accept NULL; changed GRegexEvalCallback
446         to take only arguments which are likely to be actualy used.
447
448         * docs/reference/glib/glib-sections.txt:
449         * glib/glib.symbols: Added new functions.
450
451         * tests/regex-test.c: Test them.
452
453         * docs/reference/glib/tmpl/gregex.sgml: Updated GRegexEvalCallback docs.
454
455 2007-05-31  Matthias Clasen <mclasen@redhat.com>
456
457         * README.win32: Fix a typo.  (#423708, Olivier Delhomme)
458
459 2007-05-30  Dan Winship  <danw@novell.com>
460
461         * glib/gkeyfile.h: add defines for desktop file handling. #339225,
462         original patch from Vincent Untz.
463
464 2007-05-29  Cody Russell  <bratsche@gnome.org>
465
466         * configure.in: Fix a sed script that doesn't correctly detect
467         i586-mingw32-gcc-3.4 compiler, and was causing -Wno-pointer-sign
468         errors when building with that compiler. (#440896, Yevgen Muntyan)
469
470 2007-05-29  Marco Barisione <marco@barisione.org>
471
472         * glib/gregex.c: Fix g_regex_fetch_named() and
473         g_regex_fetch_named_pos() when G_REGEX_DUPNAMES is used  (#434358,
474         Yevgen Muntyan and #419376, Marco Barisione, patch by Yevgen Muntyan)
475
476 2007-05-25  Behdad Esfahbod  <behdad@gnome.org>
477
478         * glib/guniprop.c (g_unichar_iswide), (g_unichar_iswide_cjk):
479         Update to Markus Kuhn's updated wcwidth for Unicode 5.0.
480
481 2007-05-22  Matthias Clasen  <mclasen@redhat.com>
482
483         * configure.in: Bump version
484
485         * === Released 2.13.2 ===
486
487         * README.in:
488         * NEWS: Updates
489
490 2007-05-18  Matthias Clasen  <mclasen@redhat.com>
491
492         * configure.in: Try again to move the compiler-dependency
493         of G_GNUC_INTERNAL to runtime.
494
495 2007-05-18  Matthias Clasen  <mclasen@redhat.com>
496
497         * configure.in: Don't let PERL_PATH be ''.  (#356769, Joseph Sacco)
498
499 2007-05-17  Michael Natterer  <mitch@imendio.com>
500
501         * configure.in: hotfix: revert last change to fix the build on OS X.
502
503 2007-05-17  Matthias Clasen  <mclasen@redhat.com>
504
505         * glib/goption.c (g_option_context_set_translate_func): Fix
506         a doc typo.  (#439232, Vincent Untz)
507
508 2007-05-17  Matthias Clasen  <mclasen@redhat.com>
509
510         * configure.in: Move the compiler-dependency in the G_GNUC_INTERNAL
511         definition from configure-time to runtime (of the compiler).
512         (#438869, Damien Carbery)
513
514         * glib/gdebug.h:
515         * glib/gmessages.h:
516         * glib/gunicodeprivate.h:
517         * glib/gthreadprivate.h: Move G_GNUC_INTERNAL before function
518         declarations to fix compilation with sun studio.  (#438873,
519         Damien Carbery)
520
521 2007-05-14  Matthias Clasen  <mclasen@redhat.com>
522
523         * glib/gslice.h:
524         * glib/gslice.c:
525         * glib/glib.symbols: Make g_slice_debug_tree_statistics() 
526         debug-only functionality again.
527
528 2007-05-14  Christian Persch  <chpe@gnome.org>
529
530         * docs/reference/glib/tmpl/string_utils.sgml: Improve g_strerror and
531         g_strsignal docs. Bug #438293.
532
533 2007-05-13  Tor Lillqvist  <tml@novell.com>
534
535         * glib/gwin32.h: Drop the pipe() macro. Defining macros outside of
536         its namespace that look like POSIX functions is not GLib's
537         business in my opinion. This means pipe()-using code that has
538         relied on this definition will need changing to call _pipe() on
539         Windows, and make the decision itself on what size pipe buffer to
540         use, and whether to use text or binary mode, and whether the pipe
541         handles should be inheritable or not.
542
543         * glib/gspawn-win32.c (make_pipe): Use _pipe() instead of pipe().
544
545 2007-05-11  Matthias Clasen  <mclasen@redhat.com>
546
547         * glib/goption.c: Allow G_OPTION_ARG_CALLBACK for 
548         G_OPTION_REMAINING.  (#437297, Dave Benson)
549
550         * tests/option-test.c: Add a test for this.
551
552 2007-05-04  Dan Winship  <danw@novell.com>
553
554         * glib/gkeyfile.c (g_key_file_get_boolean)
555         (g_key_file_get_boolean_list, g_key_file_get_integer)
556         (g_key_file_get_integer_list, g_key_file_get_double)
557         (g_key_file_get_double_list): Document the error return values
558         rather than calling them undefined. #435885.
559
560 2007-05-03  Behdad Esfahbod  <behdad@gnome.org>
561
562         * glib/glib.symbols:
563         * glib/gunicode.h:
564         * glib/guniprop.c (g_unichar_ismark):
565         Add g_unichar_ismark(). Patch from Yevgen Muntyan. Fixes #339991.
566
567 2007-05-03  Matthias Clasen <mclasen@redhat.com>
568
569         * configure.in: Bump version
570
571         * === Released 2.13.1 ===
572
573 2007-05-02  Matthias Clasen <mclasen@redhat.com>
574
575         * tests/threadpool-test.c:  Stop unused threads before
576         the last test, to make the test terminate reliably.
577
578         * NEWS: Updates
579
580 2007-05-02  Marco Barisione <marco@barisione.org>
581
582         * glib/gregex.c: Made more clear that the string passed to the match
583         functions cannot be freed before using g_match_info_fetch() and
584         similar functions, and fixed a typo.
585
586 2007-04-30  Matthias Clasen  <mclasen@redhat.com>
587
588         * glib/glib.symbols:
589         * glib/gregex.[hc]: Add g_regex_get_max_backref() and
590         g_regex_get_capture_count().  (#419371, Marco Barisione)
591         
592 2007-04-30  Matthias Clasen  <mclasen@redhat.com>
593
594         * glib/glib.symbols:
595         * glib/gregex.[hc]: Split GRegex into GRegex and GMatchInfo.
596         (#419368, Marco Barisione)
597
598         * tests/regex-test.c: Adapt.
599
600 2007-04-30  Chris Wilson  <chris@chris-wilson.co.uk>
601
602         * glib/gbookmarkfile.c (g_bookmark_file_get_app_info):
603         Include the gshell.h header file (to define g_shell_[un]quote)
604         and correct the order of the arguments to g_propagate_error(), as
605         spotted by gcc.
606
607 2007-04-29  Emmanuele Bassi  <ebassi@gnome.org>
608
609         * glib/gbookmarkfile.c:
610         (g_bookmark_file_set_app_info): Quote the passed command line...
611         
612         (g_bookmark_file_get_app_info): ... and unquote it when giving it
613         back. (#432274)
614
615 2007-04-27  Matthias Clasen <mclasen@redhat.com>
616
617         * glib/gstrfuncs.c: small coding style cleanups.
618
619 2007-04-27  Chris Wilson  <chris@chris-wilson.co.uk>
620
621         * glib/gregex.h: Remove trailing comma at end of enumerator list.
622
623 2007-04-27  Tor Lillqvist  <tml@novell.com>
624
625         * glib/gstdio.c (g_mkdir): Document that the mode argument is
626         ignored on Windows
627         (g_stat): Document that st_mode is mostly useless on Windows.
628
629 2007-04-25  Paolo Borelli  <pborelli@katamail.com>
630
631         * glib/gstrfuncs.c (g_strsplit): small cleanup. (#433387)
632
633 2007-04-24  Matthias Clasen  <mclasen@redhat.com>
634
635         * glib/glib.symbols:
636         * glib/goption.h:
637         * glib/goption.c (g_option_context_get_help): New function to
638         get the formatted help string.  (#336089, Dom Lachowicz)
639
640 2007-04-24  Michael Natterer  <mitch@imendio.com>
641
642         * tests/gobject/paramspec-test.c: test all GParamSpecString
643         validations with static and allocated strings.
644
645 2007-04-19  William Jon McCann  <mccann@jhu.edu>
646
647         * glib/gkeyfile.[ch]: (find_file_in_data_dirs),
648         (g_key_file_load_from_dirs), (g_key_file_load_from_data_dirs):
649         Add g_key_file_load_from_dirs for looking through a search
650         path for a key-file. (#355334)
651
652 2007-04-15  Tor Lillqvist  <tml@novell.com>
653
654         * build: Include the build module using the svn:externals
655         mechanism.
656
657         * Makefile.am
658         * configure: Add the references to build back.
659
660 2007-04-11  Matthias Clasen  <mclasen@redhat.com>
661
662         * glib/gspawn.c (g_spawn_async): Fix a doc typo.  (#427285, 
663         Jochen Baier)
664
665 2007-04-11  Emmanuele Bassi  <ebassi@gnome.org>
666
667         * glib/ghash.[ch]: Add g_hash_table_get_keys() and
668         g_hash_table_get_values(), API to retrieve the keys
669         and values inside an hash table in list form. (#413133)
670
671         * glib/glib.symbols: Update symbols.
672
673         * tests/hash-test.c: Exercise newly added functions.
674
675 2007-04-11  Matthias Clasen  <mclasen@redhat.com>
676
677         * configure.in: Use CFLAGS/LDFLAGS in addition to 
678         PCRE_CFLAGS/PCRE_LIBS when checking system PCRE.  (#421607, 
679         Paul Jarc)
680
681 2007-03-27  Emmanuele Bassi  <ebassi@gnome.org>
682
683         * glib/gdate.h: Remove old comment and forward declaration of
684         struct tm: gdate.h includes time.h now.
685
686 2007-03-23  Matthias Clasen  <mclasen@redhat.com> 
687
688         * tests/gobject/Makefile.am: Handle $RANDOM missing.  (#356843,
689         Paul Jarc)
690
691 2007-03-22  Matthias Clasen  <mclasen@redhat.com> 
692
693         * glib/guniprop.c: Fix corner-cases of upper/lowercase conversion.
694         (#418217, Denis Jacquerye)
695
696 2007-03-22  Chris Wilson  <chris@chris-wilson.co.uk>
697
698         * glib/gkeyfile.c: Track whether the last key=value pair in a group
699         is a blank line and during to_data() only insert a new blank line
700         betweens group in its absence. This allows the beautification of the
701         GKeyFile and prevents newlines being inserted indefinitely. (#420686)
702
703         * tests/keyfile-test.c (test_reload_idempotency): Test that after a 
704         single beautification pass, g_key_file_to_data() does not alter its
705         input data.
706
707 2007-03-21  Matthias Clasen  <mclasen@redhat.com>
708
709         * glib/pcre/Makefile.am: Make builddir != srcdir work.  (#419900)
710
711 2007-03-19  Paolo Borelli  <pborelli@katamail.com>
712
713         * glib/gutf8.c (fast_validate_len): remove unneeded checks.
714
715 2007-03-18  Matthias Clasen  <mclasen@redhat.com>
716
717         * glib/gregex.c: Cosmetic fixes
718
719 2007-03-17  Marco Barisione <marco@barisione.org>
720
721         * glib/update-pcre/table-reduction.patch:
722         * glib/update-pcre/make_utt.py:
723         * glib/update-pcre/utt.patch: Add forgotten files
724
725         * glib/update-pcre/update.sh: Call python directly instead of relying
726         on shebang. Also copy the changes from glib/pcre/makefile.msc to this
727         file
728
729 2007-03-17  Hans Breuer  <hans@breuer.org>
730
731         * glib/makefile.msc.in glib/pcre/makefile.msc 
732           glib/update-pcre/update.sh : define PCRE_STATIC to reflect the 
733         inclusion of pcre as LIB, not stand-alone DLL. Also set NEWLINE=-1
734         to match any newline by default, use of ../../build/win32/make.msc
735
736         * glib/gregex.h : minimal includes of <glib/*.H> instead of <glib.h>
737
738         * glib/gnulib/makefile.msc : make use of ../../build/win32/make.msc
739
740         * tests/regex-test.c(verbose): don't pass a string containing '%' 
741         as first parameter to g_print ()
742         (test_match) : for the unexpected case output pattern and string
743         escaped
744
745         * tests/child-test.c tests/slice-color.c : fix c99ism
746         * tests/slice-test.c : fix c99ism and gccism
747         * tests/mapping-test.c tests/base-64-tests.c : don't 
748         #include <unistd.h> unconditionally
749         * tests/option-test.c : use G_GINT64_CONSTANT() instead of direct LL
750
751         * tests/makefile.msc.in : more tests build
752
753 2007-03-17  Matthias Clasen  <mclasen@redhat.com>
754
755         * glib/gsequence.[hc]:
756         * glib/glib.symbols:
757         * tests/sequence-test.c: Move the consistency
758         checks to the test.
759
760 2007-03-16  Matthias Clasen  <mclasen@redhat.com>
761
762         * configure.in: Bump version
763
764         * === Released 2.13.0 ===
765
766         * NEWS: Updates
767
768 2007-03-16  Matthias Clasen  <mclasen@redhat.com>
769         
770         * glib/glib.symbols:
771         * glib/gsequence.h: Add the test function to the header,
772         since it is exported.
773
774         * glib/gbase64.c (g_base64_decode): Warn if the input
775         is too short.  (#418862, Halton Huo)
776
777 Fri Mar 16 11:24:51 2007  Tim Janik  <timj@imendio.com>
778
779         * glib/gscanner.[hc]: reverted premature commit which broke
780         GScanner ABI and API, #415323.
781
782 2007-03-16  Chris Wilson  <chris@chris-wilson.co.uk>
783
784         * glib/gkeyfile.c: Convert to GSlice and check for redundant
785         clears. (#418637)
786
787 2007-03-15  Matthias Clasen  <mclasen@redhat.com>
788
789         * glib/gscanner.[hc]: Revert recent changes that break
790         existing users of GScanner.
791
792 2007-03-15  Matthias Clasen  <mclasen@redhat.com>
793
794         * glib/gscanner.c (g_scanner_get_token_ll): Fix a typo
795         in the last commit.  (#415323, Richard Hult)
796
797 2007-03-15  Tor Lillqvist  <tml@novell.com>
798
799         * glib/gnulib/Makefile.am (INCLUDES): Add -I$(top_srcdir)/glib so
800         that gregex.h finds <glib.h>.
801
802         * glib/update-pcre/Makefille.am-1: Add -DGLIB_COMPILATION so that
803         we don't think g_ascii_table is dllimport.
804
805         * glib/pcre/Makefile.am: Corresponding change.
806
807         * glib/update-pcre/notdll.patch: New file. Drop
808         dllimport/dllexport magic for the pcre symbols.
809
810         * glib/update-pcre/Makefile.am: Dist it.
811
812         * glib/update-pcre/update.sh: Apply notdll.patch.
813
814         * glib/pcre/pcre.h: Corresponding change.
815
816 2007-03-15  Tor Lillqvist  <tml@novell.com>
817
818         * glib/gtypes.h: Add comment to avoid misleading people with the
819         large number of digits in G_PI etc. (#404338)
820
821 2007-03-15  Tor Lillqvist  <tml@novell.com>
822
823         * config.h.win32.in: Update to match what configure produces.
824
825 2007-03-15  Marco Barisione <marco@barisione.org>
826
827         Add GRegex for regular expression matching.  (#50075)
828
829         * configure.in: Handle GRegex compilation.
830
831         * glib/gregex.c:
832         * glib/gregex.h: Code for GRegex.
833
834         * glib/Makefile.am:
835         * glib/makefile.msc.in: Updated makefiles.
836
837         * glib/pcre/*: Internal copy of PCRE.
838
839         * glib/update-pcre/*: Stuff to automatically update the internal PCRE
840         to a newer version.
841
842         * tests/regex-test.c:
843         * tests/Makefile.am:
844         * tests/makefile.msc.in: Add tests for GRegex.
845
846 2007-03-15  Chris Wilson  <chris@chris-wilson.co.uk>
847
848         * glib/gmain.c (g_main_dispatch): Replace a
849         g_slist_prepend/g_slist_remove pair with an on-stack link
850         and open coding. (#416094)
851
852 2007-03-15  Matthias Clasen  <mclasen@redhat.com>
853
854         Fix two glitches in the Unicode case conversion
855         functions (#418217,  Denis Jacquerye)
856
857         * glib/guniprop.c (g_unichar_toupper): Handle zero entries
858         in special_case_table correctly.
859         (g_unichar_totitle): Fall back to g_unichar_toupper.
860
861 2007-03-15  Matthias Clasen  <mclasen@redhat.com>
862
863         * glib/gscanner.[hc]: Some optimizations, use a lookup
864         table for character classes, pre-allocate GStrings with
865         reasonable sizes.  (#415323, Charlie Brej)
866
867 2007-03-14  Matthias Clasen  <mclasen@redhat.com>
868
869         * glib/gkeyfile.c (g_key_file_get_double): Fix a 
870         small typo.  (#417847, Bobby Jack)
871
872 2007-03-08  Matthias Clasen  <mclasen@redhat.com>
873
874         * glib/gstrfuncs.c (g_strtoll): Return negative values.
875         (#416062)
876
877         * tests/strtoll-test.c: Add more testcases.
878
879 2007-03-06  Matthias Clasen  <mclasen@redhat.com>
880
881         * glib/gstring.c (g_str_equal): Clarify docs.  (#364026, 
882         Bastian Nocera)
883
884 2007-03-06  Matthew Barnes  <mbarnes@redhat.com>
885
886         * glib/gqueue.h:
887         * glib/gqueue.c: Add G_QUEUE_INIT, g_queue_init(), and
888         g_queue_clear() to better support statically allocated
889         queues.  (#413244)
890
891 2007-03-06  Matthias Clasen  <mclasen@redhat.com>
892
893         * glib/gkeyfile.c (g_key_file_parse_value_as_boolean):
894         Remove a NULL check that didn't do any good.  (#360904,
895         Paolo Borelli)
896
897 2007-03-06  Matthias Clasen  <mclasen@redhat.com>
898
899         * glib/gmarkup.c (g_markup_parse_context_parse): Report
900         more accurate position for invalid UTF-8.  (#350802,
901         Simon Budig)
902
903 2007-03-06  Matthias Clasen  <mclasen@redhat.com>
904
905         * glib/gbase64.c: Add NULL checks to the base64 
906         functions that take pointers.  (#399611, Martyn Russell)
907
908 2007-03-06  Matthias Clasen  <mclasen@redhat.com>
909
910         Work with Solaris gettext (#341988, Laszlo Peter)
911
912         * m4macros/glib-gettext.m4: Make GLIB_WITH_NLS define
913         MSGFMT_OPTS if msgfmt supports -c.
914
915         * po/Makefile.in.in: Use MSGFMT_OPTS when calling
916         msgfmt.
917
918 2007-03-06  Matthias Clasen  <mclasen@redhat.com>
919
920         * tests/Makefile.am: Apply a patch by Loïc Minier
921         to fix building with -Wl,-z,defs.  (#149144)
922
923 2007-03-03  Thierry Randrianiriana  <randrianiriana@gmail.com>
924
925         * po/mg.po: Added Malagasy translation.
926         * configure.in: Added Malagasy 'mg' to ALL_LINGUAS
927
928 2007-03-01  Ihar Hrachyshka <iharh@gnome.org>
929         * configure.in: Added be@latin to ALL_LINGUAS.
930
931 2007-02-17  Tor Lillqvist  <tml@novell.com>
932
933         * glib/gdate.c (win32_strftime_helper): New Win32-only
934         function. Use the wide character Win32 API to do the work of
935         strftime(): GetThreadLocale(), GetLocaleInfoW(), GetDateFormatW()
936         and GetTimeFormatW().
937         (g_date_strftime): On Windows use win32_strftime_helper()
938         instead of strftime() to avoid codepage issues with strftime().
939         Unfortunately using wcsftime() would not help either. (#404832)
940
941 2007-02-16  Soren Sandmann <sandmann@redhat.com>
942
943         * tests/sequence-test.c: For move, test moving between two
944         sequences. Add test for swap.
945
946         * glib/gsequence.c: Replace splay tree with a treap.
947         (check_node): Add checks for the treap invariants.
948
949 2007-02-10  Hans Breuer  <hans@breuer.org>
950
951         * glib/makefile.msc.in : added gsequence.obj
952
953 Fri Feb  9 17:46:18 2007  Søren Sandmann  <sandmann@redhat.com>
954
955         * glib/gsequence.c (g_sequence_get_end_iter): Remove assertion.
956         * glib/gsequence.c (is_end): Return TRUE if the iter doesn't have
957         a parent.
958         * glib/gsequence.c: Fix grammar of comment.
959         * glib/gsequence.c (node_update_fields): Use a temporary variable
960         for the n_nodes.
961
962 2007-02-07  Soren Sandmann <sandmann@daimi.au.dk>
963
964         * tests/sequence-test.c (compare_items): Force an arbitrary order
965         on otherwise identical items.
966
967         * glib/gsequence.c: Add comment discussing splay trees vs. other trees.
968         * glib/gsequence.c (is_end): Add fast path for the common case
969         when the node is not actually the end node.
970
971 2007-02-05  Soren Sandmann <sandmann@daimi.au.dk>
972
973         * glib/gsequence.c (g_sequence_sort_iter): Don't prohibit access
974         until after the g_sequence_move_range() call.  Bug 404759,
975         Christian Persch.
976
977        * tests/sequence-test.c: Formatting fix.
978
979 2007-02-03  Soren Sandmann <sandmann@daimi.au.dk>
980
981         * glib/gsequence.c (struct _GSequence): Add a new 'real_sequence'
982         field.
983         (g_sequence_new): Initialize real_sequence to the sequence
984         (g_sequence_sort_iter): Set real_sequence of the temporary
985         sequence to the real sequence.
986         (g_sequence_sort_changed_iter): Same
987         (g_sequence_insert_sorted_iter): Same
988         (g_sequence_search_iter): Same
989         (g_sequence_iter_get_sequence): Return real_sequence
990
991         * tests/sequence-test.c (compare_iters): Insert assertions that
992         the iters point to the sequence being manipulated.
993
994 2007-02-03  Soren Sandmann <sandmann@daimi.au.dk>
995
996         * glib/gsequence.[ch]: New files implementing GSequence, a list
997         implemented using a binary tree.
998         * glib/glib.h, glib/glib.symbols: Update for GSequence.
999         * docs/reference: Add documentation for GSequence
1000         * tests: Add sequence-test.c, a thorough test of all of
1001         the GSequence API.
1002
1003 2007-01-30  Matthias Clasen <mclasen@redhat.com>
1004
1005         * glib/glib.symbols:
1006         * glib/gslice.h:
1007         * glib/gslice.c: Don't make ABI depend on G_ENABLE_DEBUG,
1008         just add an empty g_slice_debug_tree_statistics () implementation
1009         in the !G_ENABLE_DEBUG case.
1010
1011 2007-01-26  Matthias Clasen <mclasen@redhat.com>
1012
1013         * configure.in: Define G_GNUC_INTERNAL for Sun Studio
1014         as __hidden.  (#342981, Brian Cameron)
1015
1016         * glib/gconvert.c:
1017         * glib/gutf8.c: Move G_GNUC_INTERNAL uses to the right
1018         spot.
1019
1020 2007-01-26  Matthias Clasen <mclasen@redhat.com>
1021
1022         * gmem.c:
1023         * gslice.c:
1024         * gmessages.c:
1025         * gutils.c: Make some structs which are used only once
1026         non-static.
1027
1028 2007-01-24  Benjamin Otte <otte@gnome.org>
1029
1030         * glib/gprintf.c (g_sprintf): Clarify the documentation
1031         regarding overflows (wording by Jan Schmidt)
1032
1033 2007-01-23  Roozbeh Pournader  <roozbeh@farsiweb.info>
1034
1035         * README: Remove mention of no-longer-existing PATCH
1036         keyword in bugzilla. (#396899)
1037
1038 2007-01-23  Matthias Clasen  <mclasen@redhat.com>
1039
1040         * glib/gutf8.c (g_utf8_get_char_validated): Clarify
1041         the behaviour is max_len is zero.  (#400044,
1042         Benjamin Dauvergne)
1043
1044 2007-01-23  Matthias Clasen  <mclasen@redhat.com>
1045
1046         * glib/goption.c (print_help): Use bitwise &
1047         when operating on flags.  (#399971, Jon Oberheide)
1048
1049 2007-01-19  Matthias Clasen  <mclasen@redhat.com>
1050
1051         Some file list updates (#398069, Owen Taylor)
1052
1053         * docs/Changes-2.0.txt
1054         * docs/reference/README.cvs-commits
1055         * glib.spec.in: Remove obsolete files
1056
1057         * tests/Makefile.am:
1058         * glib/libcharset/Makefile.am:
1059         * gobject/Makefile.am:
1060         * Makefile.am: Add some missing files to EXTRA_DIST
1061
1062         * tests/timeloop-basic.c: Make it build
1063         * HACKING: Small updates
1064
1065 2007-01-18  Matthias Clasen  <mclasen@redhat.com>
1066
1067         * glib/gdate.c (g_date_set_time): Fix a typo.  (#398203,
1068         Owen Taylor)
1069
1070 2007-01-17  Tor Lillqvist  <tml@novell.com>
1071
1072         * config.h.win32.in
1073         * glib/galloca.h
1074         * glib/gbacktrace.h
1075         * glib/gwin32.c
1076         * glibconfig.h.win32.in
1077         * README.win32: More minor tweaks for Digital Mars
1078         compiler. (#346808, Serhat Sevki Dincer)
1079
1080 2007-01-17  Tor Lillqvist  <tml@novell.com>
1081
1082         * glib-zip.in: DLLs are always installed in "bin" with current
1083         libtool, drop unnecessary logic to check where they are. Include
1084         also the COPYING file.
1085
1086 2007-01-17  Tor Lillqvist  <tml@novell.com>
1087
1088         * glib/galloca.h: Use <malloc.h> also with Digital Mars compiler
1089         on Win32. (#346808, Serhat Sevki Dincer)
1090
1091 2007-01-16  Matthias Clasen  <mclasen@redhat.com>
1092
1093         * glib/gthread.h:
1094         * glib/gthread.c:
1095         * glib/glib.symbols: Revert an accidental ABI break by
1096         moving gettime out of the GThreadFunctions struct and making
1097         it a separate variable.  (#397139, Joe Marcus Clarke)
1098
1099         * gthread/*.c: Adapt.
1100
1101 2007-01-16  Tor Lillqvist  <tml@novell.com>
1102
1103         * glib/gthread.c (gettime): GetSystemTimeAsFileTime() returns 100s
1104         of nanoseconds since 1601, so offset to Unix epoch (1970) and
1105         multiply by 100 to get nanoseconds which is what we want.
1106
1107 2007-01-15  Tor Lillqvist  <tml@novell.com>
1108
1109         * glib/gmain.h (struct _GPollFD): Fix mistake in my last commit.
1110
1111 2005-01-15  Matthias Clasen  <mclasen@redhat.com>
1112
1113         * glib/giochannel.c:
1114         * glib/gbookmarkfile.c: Remove redundant NULL-checks.
1115         (#369668, Morten Welinder)
1116
1117 2005-01-15  Matthias Clasen  <mclasen@redhat.com>
1118
1119         * glib/gthread.c:
1120         * gthread/gthread-posix.c: Correct the gettime calculations
1121         once more.  (#395203, Chris Wilson)
1122
1123 2007-01-15  Tor Lillqvist  <tml@novell.com>
1124
1125         * glib/gmain.h (struct _GPollFD): Prepare for potential Win64
1126         build: Use gint64 for the fd field on Win64, as we want to be able
1127         to store a HANDLE in it. (#395422) (Other changes will surely also
1128         be necessary when building on Win64, at least in giowin32.c.)
1129
1130 2007-01-15  Tor Lillqvist  <tml@novell.com>
1131
1132         * glib/gwin32.c (g_win32_getlocale): Simplify greatly. Instead of
1133         hardcoding a large switch statement, just ask Windows for the
1134         ISO639 and ISO3166 codes. Tack on @Latn or @Cyrl for those
1135         languages which can alternatively be written in Latin or
1136         Cyrillic. Fixes #395419.
1137
1138 2007-01-12  Matthias Clasen  <mclasen@redhat.com>
1139
1140         * glib/gkeyfile.c: Rework the handling of invalid
1141         keys/groups again. We are back to being liberal about
1142         what we accept, and only reject things that would lead
1143         to non-rereadable keyfiles.
1144
1145         * tests/keyfile-test.c: Adapt tests.
1146
1147 2007-01-12  Matthias Clasen  <mclasen@redhat.com>
1148
1149         * glib/gutils.c (g_get_home_dir): Clarify docs.  (#394687,
1150         Marc Brockschmidt)
1151
1152 2007-01-12  Matthias Clasen  <mclasen@redhat.com>
1153
1154         * glib/gthread.c: Include windows.h and fix
1155         include order. (#394258, Kazuki Iwamoto)
1156
1157 2007-01-12  Matthias Clasen  <mclasen@redhat.com>
1158
1159         * configure.in: Make G_GNUC_INTERNAL a no-op for
1160         gcc 2.95.    (#329031, David Schleef, Marc Brockschmidt)
1161
1162 2007-01-12  Matthias Clasen  <mclasen@redhat.com>
1163
1164         * gthread/gthread-posix.c:
1165         * glib/gtimer.c:
1166         * glib/gthread.c: Fix errors in the recently moved
1167         time calculations.  (#395203, Chris Wilson)
1168
1169 2007-01-10  Matthias Clasen  <mclasen@redhat.com>
1170
1171         * configure.in: Actually link gthread against librt.
1172         (#394641, Marco Pesenti Gritti)
1173
1174 2007-01-10  Matthias Clasen  <mclasen@redhat.com>
1175
1176         * glib/gkeyfile.c (g_key_file_is_key_name): Grr, allow '*' in keys,
1177         too.  (#394262)
1178
1179 2007-01-09  Behdad Esfahbod  <behdad@gnome.org>
1180
1181         * glib/gutils.h: Use a more optimized g_bit_storage() when gcc is
1182         available.  (#371670, Daniel Elstner)
1183
1184 2007-01-08  Matthias Clasen  <mclasen@redhat.com>
1185
1186         * gthread/gthread-posix.c (g_thread_impl_init): Don't
1187         use _SC_MONOTONIC_CLOCK unless USE_CLOCK_GETTIME is
1188         defined.  (#394150)
1189
1190 2007-01-07  Matthias Clasen  <mclasen@redhat.com>
1191
1192         Don't link glib against libpthread.  (#393812)
1193
1194         * configure.in: Link gthread against librt, not glib itself.
1195
1196         * glib/gthread.h:
1197         * glib/gthread.c: Add a new thread function, gettime.
1198
1199         * glib/gtimer.c: Use gettime instead of directly working with
1200         the various system interfaces.
1201
1202         * gthread/gthread-impl.c:
1203         * gthread/gthread-posix.c:
1204         * gthread/gthread-win32.c: Implement gettime.
1205
1206 2007-01-07  Matthias Clasen  <mclasen@redhat.com>
1207
1208         * m4macros/glib-2.0.m4: Use PKG_PROG_PKG_CONFIG.  (#392636,
1209         Yevgen Muntyan)
1210
1211 2007-01-07  Tor Lillqvist  <tml@novell.com>
1212
1213         * glib/giowin32.c: Handle GIOChannels for file descriptors
1214         connected to the console separately. This would typically be the
1215         fd 0, 1, or 2 (if not redirected) in a console application. For
1216         such fds we don't need a separate thread, as console HANDLEs are
1217         waitable objects. (#359202, Michiel de Hoon)
1218
1219 2007-01-04  Behdad Esfahbod  <behdad@gnome.org>
1220
1221         * tests/bit-test.c (builtin_bit_nth_lsf1), (builtin_bit_nth_lsf2),
1222         (builtin_bit_nth_msf): Fix tests on x86_64.
1223
1224 2007-01-03  Behdad Esfahbod  <behdad@gnome.org>
1225
1226         * glib/goption.c (_g_unichar_get_width), (_g_utf8_strwidth),
1227         (calculate_max_length), (print_entry), (print_help): Take zerowidth
1228         and double-width chars into consideration when computing width of a
1229         string.  Also fix another bug in width computation. (#346955)
1230
1231         * glib/guniprop.c (g_unichar_iszerowidth): Fix typo.  It was not
1232         working correctly.
1233
1234 2007-01-03  Behdad Esfahbod  <behdad@gnome.org>
1235
1236         * glib/glib.symbols:
1237         * glib/gunicode.h:
1238         * glib/guniprop.c: Add g_unichar_iszerowidth(). (#347645)
1239
1240 2007-01-03  Behdad Esfahbod  <behdad@gnome.org>
1241
1242         * glib/gutils.h: Fix bug in g_bit_nth_lsf (#371631) and use
1243         __builtin_clzl for g_bit_storage if available (#371670).
1244
1245         * tests/Makefile.am:
1246         * tests/bit-test.c: New test, to test g_bit_* operations against
1247         naive and builtin implementations.
1248
1249 2007-01-02  Behdad Esfahbod  <behdad@gnome.org>
1250
1251         * configure.in: Avoid more warnings from running libtool --config.
1252         (#391364)
1253
1254 2007-01-03  Michael Natterer  <mitch@imendio.com>
1255
1256         * removed all .cvsignore files. SVN doesn't need them.
1257
1258 2007-01-02  Emmanuele Bassi  <ebassi@gnome.org>
1259
1260         * glib/gbookmarkfile.c (expand_exec_line): Add support for
1261         expanding the desktop entry spec variables %U (list of URIs)
1262         and %F (list of filenames), so that using the command line
1263         from the Exec and TryExec key of a desktop entry file works
1264         as intended.
1265
1266 2007-01-02  Matthias Clasen  <mclasen@redhat.com>
1267
1268         * configure.in: Avoid warnings from running libtool --config.
1269         (#391364, Loïc Minier)
1270
1271 2007-01-02  Matthias Clasen  <mclasen@redhat.com>
1272
1273         * glib/gbookmarkfile.c (g_bookmark_file_get_app_info):
1274         Return an error if the uri is bad. (#391370, Maciej Piechotka)
1275
1276 2007-01-02  Matthias Clasen  <mclasen@redhat.com>
1277
1278         * glib/glib.symbols: Guard g_slice_debug_tree_statistics
1279         by G_ENABLE_DEBUG.  (#390940, Kazuki Iwamoto)
1280
1281 2007-01-02  Michael Natterer  <mitch@imendio.com>
1282
1283         * configure.in
1284         * Makefile.am: remove references to build/ until a proper decision
1285         has been made what to do with it.
1286
1287 2007-01-01  Matthias Clasen  <mclasen@redhat.com>
1288
1289         * glib-gettextize.in: Silence autoconf warnings about
1290         datarootdir.  (#391367, Loïc Minier)
1291
1292 2006-12-31  Matthias Clasen  <mclasen@redhat.com>
1293
1294         * glib/gslice.c: Fix some C99isms.  (#390913, Kazuki Iwamoto)
1295
1296 Fri Dec 29 13:28:07 2006  Tim Janik  <timj@imendio.com>
1297
1298         * glib/gslice.c: turned detection of too late g_thread_init() calls
1299         into a warning. this is a temporary work-around for some head-room
1300         to fix affected programs, memory corruption still occours regardless.
1301
1302 2006-12-29  Matthias Clasen  <mclasen@redhat.com>
1303
1304         * tests/gobject/Makefile.am:
1305         * tests/gobject/dynamictype.c: New test for dynamic type
1306         registration macros.
1307
1308 Thu Dec 28 21:14:45 2006  Tim Janik  <timj@imendio.com>
1309
1310         * glib/gslice.c: removed pthread-dependant debugging bits, the code
1311         was already converted to GMutex. this obsoletes Tor's recent fixups.
1312
1313 2006-12-28  Tor Lillqvist  <tml@novell.com>
1314
1315         * glib/gutils.h (G_WIN32_DLLMAIN_FOR_DLL_NAME)
1316         * glib/gutils.c (get_windows_directory_root): : Use only the wide
1317         character API here, too.
1318
1319         * glib/gslice.c: Make it compile on Win32 without pthreads: Use a
1320         Win32 critical section instead.
1321
1322         * glib/gmessages.c (g_logv): On Win32, if we get a fatal error
1323         message while being debugged we break into the debugger with
1324         G_BREAKPOINT(). Don't call abort() if the user is foolhardy enough
1325         to continue after the breakpoint. The user presumably knows what
1326         he is doing and deserves what he gets. (#376645, Andreas Köhler)
1327
1328 Thu Dec 28 12:50:31 2006  Tim Janik  <timj@imendio.com>
1329
1330         * glib/gslice.h, glib/gslice.c: implemented static debugging
1331         hash-tree to validate slice adresses and sizes with G_SLICE=debug-blocks.
1332         use abort() to exit in mem_error() to allow catching of these in gdb.
1333         abort programs with a descriptive error message if g_thread_init() is
1334         called after GSlice was in use. previously this just silently corrupted
1335         the magazines.
1336
1337         * glib/ghash.c (struct _GHashNode): reordered fields to keep 8-byte
1338         pointer alignment on 64bit systems and request smaller slice sizes
1339         on 32bit systems.
1340
1341         * tests/slice-test.c: support '~' option flag to introduce slice
1342         allocation/release corruption with a significant probability. this
1343         allowes testing of G_SLICE=debug-blocks.
1344
1345 2006-12-27  Matthias Clasen  <mclasen@redhat.com>
1346
1347         * glib/gconvert.[hc]:
1348         * glib/gfileutils.c:
1349         * glib/giochannel.c:
1350         * glib/goption.c:
1351         * glib/gspawn.c:
1352         * glib/gunicollate.c:
1353         * glib/gutils.c:
1354         * tests/timeloop-basic.c:
1355         Consistently use gsize rather than size_t.  (#333310,
1356         Morten Welinder)
1357
1358 2006-12-27  Matthias Clasen  <mclasen@redhat.com>
1359
1360         * configure.in: Use AC_CACHE_CHECK for the nl_langinfo
1361         check.  (#304517, Lőrinczy Zsigmond)
1362
1363 2006-12-27  Tor Lillqvist  <tml@novell.com>
1364
1365         * glib/gwin32.h
1366         * glib/gwin32.c (get_package_directory_from_module)
1367         (g_win32_get_package_installation_directory)
1368         (g_win32_get_package_installation_subdirectory): Add const to
1369         gchar* arguments. (#384523, Yevgen Muntyan)
1370
1371 2006-12-27  Ryan Lortie  <desrt@desrt.ca>
1372
1373         * glib/ghash.c: cache the value of the hash function
1374         in the GHashNode.  this speeds up resizing the hash
1375         table and it also allows a slight optimisation on
1376         lookups.  (#388332)
1377
1378 2006-12-27  Matthias Clasen  <mclasen@redhat.com>
1379
1380         * glib/gunicollate.c (g_utf8_collate_key): Don't modify
1381         the current locale.  (#389300)
1382
1383 2006-12-26  Matthias Clasen  <mclasen@redhat.com>
1384
1385         * glib/gutf8.c: Add hints for locale-dependent interfaces.
1386         * glib/gconvert.c: Add hints for locale-dependent interfaces.
1387
1388         * glib/gconvert.c (g_get_filename_charsets): Improve
1389         formatting of docs.
1390
1391 2006-12-26  Behdad Esfahbod  <behdad@gnome.org>
1392
1393         * configure.in: Use libtool to determine shared library suffix.
1394         (#357245)
1395
1396 2006-12-24  Matthias Clasen  <mclasen@redhat.com>
1397
1398         * tests/run-collate-tests.sh:
1399         * tests/unicode-collate.c: Silently skip tests if
1400         we can't set LC_COLLATE to en_US.  (#336438)
1401
1402 2006-12-19  Matthias Clasen  <mclasen@redhat.com>
1403
1404         * glib/gkeyfile.c (g_key_file_is_key_name): Accept
1405         '/', '+' and '.' in key names, since gnome-vfs uses
1406         mime types as keys in some cache.
1407
1408         * tests/keyfile-test.c: Tests for the above.
1409
1410 2006-12-18  Matthias Clasen  <mclasen@redhat.com>
1411
1412         * configure.in: Fix the broken poll test.  (#387260,
1413         Christian Persch)
1414
1415         * glib/gmain.c (child_watch_helper_thread): Readd a
1416         return which was removed as dead code a while ago.
1417         icc may consider it dead, but gcc doesn't like non-void
1418         functions without a return...  (#354707)
1419
1420         * tests/Makefile.am: Try a different fix for bug 346373.
1421
1422 2006-12-18  Matthias Clasen  <mclasen@redhat.com>
1423
1424         Fix bug 161288:
1425
1426         * configure.in: Check for wcslen.
1427
1428         * glib/gnulib/vasnprintf.c: Handle wcslen missing.
1429
1430 2006-12-18  Matthias Clasen  <mclasen@redhat.com>
1431
1432         * glib/gkeyfile.c: Accept '@' in locale names.
1433
1434         * glib/gkeyfile.c: Tighten up the check for allowed
1435         key and group names.  (#343191, Tommi Komulainen)
1436
1437         * tests/keyfile-test.c: Test handling of key and group names.
1438
1439         * tests/Makefile.am: Don't use $RANDOM if the shell doesn't
1440         have it.  (#346373, Thomas Klausner)
1441
1442 2006-12-17  Behdad Esfahbod  <behdad@gnome.org>
1443
1444         * glib/gstring.c: Improve docs about string functions taking a
1445         length.  (#378727)
1446
1447 2006-12-17  Matthias Clasen  <mclasen@redhat.com>
1448
1449         * glib/gconvert.c:
1450         * glib/gutf8.c (_g_charset_get_aliases): Put the G_GNUC_INTERNAL
1451         where gcc doesn't complain about it.
1452
1453         * glib/ghash.c: Make ref_count an int to avoid compiler
1454         warnings.
1455
1456         * configure.in: Use AC_LANG_SOURCE for the clock test.
1457
1458         * glib/gthreadpool.h:
1459         * glib/gthreadpool.c (g_thread_pool_free): Don't use "wait"
1460         as parameter name.  (#379207, Christian Biere)
1461
1462         * glib/gspawn.c: Refer to g_child_watch_add() in addition
1463         to waitpid().
1464
1465         * glib/gstrfuncs.c (g_strndup, g_strnfill): Move docs
1466         inline, and improve wording.  (#372598, Behdad Esfahbod)
1467
1468         * glib/gspawn.c: Add some pointers to the gdk_spawn_
1469         variants.  (#338134, Federico Mena Quintero)
1470
1471         * configure.in: Make montonic clock test work again. Does
1472         AC_COMPILE_IFELSE not get confdefs ? Also, move the clock
1473         tests below the thread checks to fix #364663.
1474
1475         * tests/run-markup-tests.sh: Don't use diff -u  (#380801,
1476         Marek Rouchal)
1477
1478         * glib/gspawn.c: Fix the recent fdwalk()-related changes
1479         to not break mapping-test.  (#286838, Marco Barisione)
1480
1481         * glib/gstring.c (g_string_chunk_new): Don't shadow size.
1482         (#386760, Kazuki IWAMOTO)
1483
1484 2006-12-16  Matthias Clasen  <mclasen@redhat.com>
1485
1486         * glib/gstring.c: Move more documentation inline.
1487
1488         * configure.in: Use AC_COMPILE_IFELSE for the monotonic
1489         clock test.  (#362918, Han-Wen Nienhuys, Jeremy Lainé)
1490
1491         * glib/gstring.c: Move documentation inline.
1492
1493 2006-12-15  Matthias Clasen  <mclasen@redhat.com>
1494
1495         * glib/giochannel.h: Make ref_count a gint to avoid
1496         compiler warnings.  (#321977, Andrew Paprocki)
1497
1498         * configure.in: On Solaris, set CFLAGS and LDFLAGS that
1499         work both with Sun cc and gcc.  (#315061, Lazlo Peter)
1500
1501         * glib/gspawn.c: Undefine READ_OK to fix the build on
1502         old versions of Darwin.  (#327800)
1503
1504         * glib/glib.symbols:
1505         * glib/gstring.[hc] (g_string_chunk_clear): Add a function
1506         for clearing a GStringChunk. (#364608, Matt Barnes)
1507
1508         * glib/guniprop.c (interval_compare): Avoid a compiler
1509         warning.
1510
1511         * glib/gspawn.c (do_exec): Call set_cloexec() with
1512         the right parameters.  (#386252, Guillaume Desmottes)
1513
1514 2006-12-15  Matthias Clasen  <mclasen@redhat.com>
1515
1516         Fix #357585, Padraig O'Briain.
1517
1518         * configure.in: Check for fdwalk.
1519
1520         * glib/gspawn.c (do_exec): Use fdwalk() to close all
1521         file descriptors.
1522
1523         * glib/gspawn.c (fdwalk): Fallback implementation of
1524         fdwalk.
1525
1526 2006-12-14  Matthias Clasen  <mclasen@redhat.com>
1527
1528         * glib/gconvert.c (open_converter): Don't use alloca
1529         and avoid allocating memory for small keys that are
1530         already cached.  (#172406, Morten Welinder)
1531
1532         * glib/gmain.c (g_child_watch_add_full): Improve the docs.
1533         (#345569, Tim-Philipp Müller)
1534
1535         * glib/gkeyfile.c (g_key_file_add_group): If the group
1536         is already there, make it current.  (#385910, Joe Halliwell)
1537
1538         * tests/keyfile-test.c: Add a test for duplicate groups/keys.
1539
1540 2006-12-13  Matthias Clasen  <mclasen@redhat.com>
1541
1542         * m4macros/glib-gettext.m4: Require AC_CANONICAL_HOST in
1543         GLIB_WITH_NLS.  (#385132, Laszlo Peter)
1544
1545 2006-12-12  Matthias Clasen  <mclasen@redhat.com>
1546
1547         * configure.in: Add a check for broken poll on Mac OS X.
1548
1549         * glib/gmain.c: Use poll emulation on OS X.  (#302672, Toby Peterson,
1550         patch by Dave Vasilevsky)
1551
1552 2006-12-11  Matthias Clasen  <mclasen@redhat.com>
1553
1554         * glib/gatomic.c: Don't use local numeric labels in
1555         inline assembler on AIX.  (#316434, Hans Rosenfeld)
1556
1557         * glib/gunicode.h (g_utf8_next_char): Cast to const char *,
1558         not char *.  (#138153, Nikolai Weibull)
1559
1560 Wed Nov 22 16:09:13 2006  Tim Janik  <timj@gtk.org>
1561
1562         * glib/gmacros.h: added G_GNUC_MAY_ALIAS, suggested by Mathias
1563         Hasselmann in bug #335341, fixes bug #335853.
1564
1565 2006-11-15  Matthias Clasen  <mclasen@redhat.com>
1566
1567         * m4macros/glib-gettext.m4: Apply a patch from James
1568         Henstridge for compatibility with automake 2.60 (#343825)
1569
1570 2006-11-14  Behdad Esfahbod  <behdad@gnome.org>
1571
1572         * sanity_check: Replace bash-specific == with sh-understood =.
1573         Fixes bug #373864.
1574
1575 2006-11-05  Hans Breuer  <hans@breuer.org>
1576
1577         * glib/makefile.msc.in : glib/ version not the gobject/
1578         one I accidentially commited. Fixes bug #371074.
1579
1580 2006-11-05  Tor Lillqvist  <tml@novell.com>
1581
1582         * makefile.mingw
1583         * gmodule/makefile.mingw.in
1584         * glib/makefile.mingw.in
1585         * gobject/makefile.mingw.in
1586         * gthread/makefile.mingw.in
1587         * tests/makefile.mingw.in: Remove from CVS. Haven't been
1588         maintained or distributed for long.
1589
1590 2006-10-26  Pascal Terjan  <pterjan@linuxfr.org>
1591
1592         * glib/libcharset/localcharset.c: Fix small leak on failed
1593         realloc in _g_locale_get_charset_aliases (#338582)
1594
1595 2006-10-16  Behdad Esfahbod  <behdad@gnome.org>
1596
1597         * glib/gnulib/Makefile.am: Add $(GLIB_DEBUG_FLAGS).  (#362543,
1598         Peter Kjellerstedt)
1599
1600 2006-10-15  Sebastian Wilhelmi  <seppi@seppi.de>
1601
1602         * tests/Makefile.am: Compile errorcheck-mutex-test with thread
1603         libraries explicitly. (#74748, Javier Villavicencio)
1604
1605 2006-10-08  Matthias Clasen  <mclasen@redhat.com>
1606
1607         Add a way to obtain Unicode script information.  (#348348,
1608         Marco Barisione)
1609
1610         * glib/glib.symbols:
1611         * glib/gunicode.h: Add GUnicodeScript enumeration and
1612         g_unichar_get_script.
1613
1614         * glib/guniprop.c: Implement g_unichar_get_script.
1615
1616         * glib/gscripttable.h: Generated private header containing
1617         script tables.
1618
1619         * glib/gen-script-table.pl: Script to generate gscripttable.h.
1620
1621         * glib/Makefile.am: Update
1622
1623 2006-10-08  Matthias Clasen  <mclasen@redhat.com>
1624
1625         * tests/run-markup-tests.sh: Small portability fix.  (#347944,
1626         Dan McMahill)
1627
1628 2006-10-07  Tor Lillqvist  <tml@novell.com>
1629
1630         * glib/gwin32.c (get_package_directory_from_module)
1631         (g_win32_get_package_installation_directory): g_strdup the keys
1632         that we are passed before adding them to the hash tables, to guard
1633         against the caller freeing them. (#355955, Andreas Köhler)
1634
1635 2006-10-06  Matthias Clasen  <mclasen@redhat.com>
1636
1637         * glib/gtimer.c: Fix a typo.  (#359190)
1638
1639 2006-10-02  Behdad Esfahbod  <behdad@gnome.org>
1640
1641         * glib/Makefile.am:
1642         * gobject/Makefile.am:
1643         Include pltcheck.sh in EXTRA_DIST, and remove redefinition of TESTS.
1644         (#358966)
1645
1646 2006-10-01  Matthias Clasen  <mclasen@redhat.com>
1647
1648         * glib/gtimer.c (g_usleep): Use nsleep to implement
1649         g_usleep on AIX.  (#321974, Andrew Paprocki)
1650
1651         * configure.in: Check for nsleep
1652
1653         * glib/gmain.c: Fix typos in doc comments.
1654         (#358421, Tom Tromey)
1655
1656 2006-09-30  Matthias Clasen  <mclasen@redhat.com>
1657
1658         * glib/pltcheck.sh: A script to check PLT entries.
1659         * glib/Makefile.am (TESTS): Run pltcheck.sh
1660
1661         * glib/*: Fix includes to correct some issues with
1662         PLT entries.  (#354522, Behdad Esfahbod)
1663
1664 2006-09-17  Hans Breuer  <hans@breuer.org>
1665
1666         * glib/makefile.msc.in gobject/makefile.msc.in : better filtering
1667         of G_GNUC_* stuff when generating .def files. Now also works with
1668         newer (less tolerant) linkers, e.g. from vc2500e
1669
1670 2006-09-10  Matthias Clasen  <mclasen@redhat.com>
1671
1672         * glib/gbacktrace.c: Assume string.h is available.
1673         (#354523, Behdad Esfahbod)
1674
1675         * configure.in: Bump version to 2.13.0
1676
1677         * glib/glib.symbols:
1678         * glib/gmain.[hc]: Add functions to create approximate
1679         timeouts.  (#353942, Arjan van de Ven)
1680
1681         * glib/gstdio.c (g_rename): Initialize save_errno.
1682         (#355206, Mike Edenfield)
1683
1684 2006-09-03  Matthias Clasen  <mclasen@redhat.com>
1685
1686         * glib/gerror.c: Allocate GErrors using the slice allocator.
1687         (#354054, Matt Barnes)
1688
1689 2006-09-02  Matthias Clasen  <mclasen@redhat.com>
1690
1691         * glib/gtimer.c: Forgotten HAVE_CLOCK_GETTIME.
1692
1693 2006-09-02  Tor Lillqvist  <tml@novell.com>
1694
1695         * glib/gutils.c (g_get_any_init_do): Correct C99ism (mixed
1696         declarations and code) in Win32 ifdef branch. (#353903, Mike
1697         Edenfield)
1698
1699 2006-09-01  Abel Cheung  <abel@oaka.org>
1700
1701         * configure.in: Added 'dz' 'hy' to ALL_LINGUAS.
1702
1703 2006-09-01  Matthias Clasen  <mclasen@redhat.com>
1704
1705         * configure.in: Check for CLOCK_MONOTONIC.
1706
1707         * glib/gtimer.c: Only use clock_gettime if we
1708         have a monotonic clock.
1709
1710 2006-08-31  Matthias Clasen  <mclasen@redhat.com>
1711
1712         * configure.in: Add missing includes to a few test
1713         programs.  (#353580, Chris Wilson)
1714
1715 2006-08-30  Matthias Clasen  <mclasen@redhat.com>
1716
1717         * glib/gmarkup.c (g_markup_vprintf_escaped): Don't call
1718         va_end on caller-provided va_args.  (#353584, Chris Wilson)
1719
1720 2006-08-29  Tor Lillqvist  <tml@novell.com>
1721
1722         Remove support for Windows 9x/ME, as will be done also in Pango
1723         and GTK+. GTK+ hasn't worked on Win9x since 2.6 or 2.8 anyway, so
1724         it's pretty pointless to keep the Win9x code in here either. If
1725         somebody is interested, the code can always be found in older GLib
1726         versions, and in CVS.
1727
1728         * glib/gdir.c
1729         * glib/gfileutils.c
1730         * glib/gspawn-win32-helper.c
1731         * glib/gspawn-win32.c
1732         * glib/gstdio.c
1733         * glib/gutils.c
1734         * glib/gwin32.c
1735         * glib/gwin32.h: Remove the G_WIN32_IS_NT_BASED() and
1736         G_WIN32_HAVE_WIDECHAR_API() tests and their false (Win9x)
1737         branches, and any variables or static functions used only by the
1738         Win9x branches.
1739
1740         * glib/gwin32.c (g_win32_windows_version_init): Call g_error() if
1741         run on Win9x.
1742
1743 2006-08-27  Matthias Clasen  <mclasen@redhat.com>
1744
1745         * configure.in: Fix pthread compiler flag detection.
1746
1747         * glib/gtimer.c: Use Posix monotonic clocks instead of
1748         gettimeofday when available.  (#336114, William Jon McCann)
1749
1750 2006-08-26  Matthias Clasen  <mclasen@redhat.com>
1751
1752         * glib/gutils.h:
1753         * glib/gscanner.c: Fix some typos.  (#351741, Kjartan Maraas)
1754
1755 2006-08-25  Matthias Clasen  <mclasen@redhat.com>
1756
1757         * configure.in: Fix the pthread compiler flag detection.
1758
1759         * glib/gunicode.h:
1760         * glib/gutf8.c (_g_utf8_make_valid): Rename make_valid_utf8
1761         from gconvert.c, move it to gutf8.c, and export it privately.
1762
1763         * glib/gconvert.c (g_filename_display_name): Adjust callers.
1764
1765         * glib/gkeyfile.c: Use _g_utf8_make_valid() in a number of
1766         places to ensure error messages are valid UTF-8.  (#351853,
1767         Simon Budig)
1768
1769 2006-08-22  Matthias Clasen <mclasen@redhat.com>
1770
1771         * Branch for 2.12