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