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