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