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