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