Take zerowidth and double-width chars into consideration when computing
[platform/upstream/glib.git] / ChangeLog
1 2007-01-03  Behdad Esfahbod  <behdad@gnome.org>
2
3         * glib/goption.c (_g_unichar_get_width), (_g_utf8_strwidth),
4         (calculate_max_length), (print_entry), (print_help): Take zerowidth
5         and double-width chars into consideration when computing width of a
6         string.  Also fix another bug in width computation.
7
8         * glib/guniprop.c (g_unichar_iszerowidth): Fix typo.  It was not
9         working correctly.
10
11 2007-01-03  Behdad Esfahbod  <behdad@gnome.org>
12
13         * glib/glib.symbols:
14         * glib/gunicode.h:
15         * glib/guniprop.c: Add g_unichar_iszerowidth(). (#347645)
16
17 2007-01-03  Behdad Esfahbod  <behdad@gnome.org>
18
19         * glib/gutils.h: Fix bug in g_bit_nth_lsf (#371631) and use
20         __builtin_clzl for g_bit_storage if available (#371670).
21
22         * tests/Makefile.am:
23         * tests/bit-test.c: New test, to test g_bit_* operations against
24         naive and builtin implementations.
25
26 2007-01-02  Behdad Esfahbod  <behdad@gnome.org>
27
28         * configure.in: Avoid more warnings from running libtool --config.
29         (#391364)
30
31 2007-01-03  Michael Natterer  <mitch@imendio.com>
32
33         * removed all .cvsignore files. SVN doesn't need them.
34
35 2007-01-02  Emmanuele Bassi  <ebassi@gnome.org>
36
37         * glib/gbookmarkfile.c (expand_exec_line): Add support for
38         expanding the desktop entry spec variables %U (list of URIs)
39         and %F (list of filenames), so that using the command line
40         from the Exec and TryExec key of a desktop entry file works
41         as intended.
42
43 2007-01-02  Matthias Clasen  <mclasen@redhat.com>
44
45         * configure.in: Avoid warnings from running libtool --config.
46         (#391364, Loïc Minier)
47
48 2007-01-02  Matthias Clasen  <mclasen@redhat.com>
49
50         * glib/gbookmarkfile.c (g_bookmark_file_get_app_info): 
51         Return an error if the uri is bad. (#391370, Maciej Piechotka)
52
53 2007-01-02  Matthias Clasen  <mclasen@redhat.com>
54
55         * glib/glib.symbols: Guard g_slice_debug_tree_statistics
56         by G_ENABLE_DEBUG.  (#390940, Kazuki Iwamoto)
57
58 2007-01-02  Michael Natterer  <mitch@imendio.com>
59
60         * configure.in
61         * Makefile.am: remove references to build/ until a proper decision
62         has been made what to do with it.
63
64 2007-01-01  Matthias Clasen  <mclasen@redhat.com>
65
66         * glib-gettextize.in: Silence autoconf warnings about
67         datarootdir.  (#391367, Loïc Minier)
68
69 2006-12-31  Matthias Clasen  <mclasen@redhat.com>
70
71         * glib/gslice.c: Fix some C99isms.  (#390913, Kazuki Iwamoto)
72
73 Fri Dec 29 13:28:07 2006  Tim Janik  <timj@imendio.com>
74
75         * glib/gslice.c: turned detection of too late g_thread_init() calls
76         into a warning. this is a temporary work-around for some head-room
77         to fix affected programs, memory corruption still occours regardless.
78
79 2006-12-29  Matthias Clasen  <mclasen@redhat.com>
80
81         * tests/gobject/Makefile.am:
82         * tests/gobject/dynamictype.c: New test for dynamic type 
83         registration macros. 
84
85 Thu Dec 28 21:14:45 2006  Tim Janik  <timj@imendio.com>
86
87         * glib/gslice.c: removed pthread-dependant debugging bits, the code
88         was already converted to GMutex. this obsoletes Tor's recent fixups.
89
90 2006-12-28  Tor Lillqvist  <tml@novell.com>
91
92         * glib/gutils.h (G_WIN32_DLLMAIN_FOR_DLL_NAME)
93         * glib/gutils.c (get_windows_directory_root): : Use only the wide
94         character API here, too.
95
96         * glib/gslice.c: Make it compile on Win32 without pthreads: Use a
97         Win32 critical section instead.
98
99         * glib/gmessages.c (g_logv): On Win32, if we get a fatal error
100         message while being debugged we break into the debugger with
101         G_BREAKPOINT(). Don't call abort() if the user is foolhardy enough
102         to continue after the breakpoint. The user presumably knows what
103         he is doing and deserves what he gets. (#376645, Andreas Köhler)
104
105 Thu Dec 28 12:50:31 2006  Tim Janik  <timj@imendio.com>
106
107         * glib/gslice.h, glib/gslice.c: implemented static debugging
108         hash-tree to validate slice adresses and sizes with G_SLICE=debug-blocks.
109         use abort() to exit in mem_error() to allow catching of these in gdb.
110         abort programs with a descriptive error message if g_thread_init() is
111         called after GSlice was in use. previously this just silently corrupted
112         the magazines.
113
114         * glib/ghash.c (struct _GHashNode): reordered fields to keep 8-byte 
115         pointer alignment on 64bit systems and request smaller slice sizes
116         on 32bit systems.
117
118         * tests/slice-test.c: support '~' option flag to introduce slice 
119         allocation/release corruption with a significant probability. this
120         allowes testing of G_SLICE=debug-blocks.
121
122 2006-12-27  Matthias Clasen  <mclasen@redhat.com>
123
124         * glib/gconvert.[hc]:
125         * glib/gfileutils.c:
126         * glib/giochannel.c:
127         * glib/goption.c:
128         * glib/gspawn.c:
129         * glib/gunicollate.c:
130         * glib/gutils.c:
131         * tests/timeloop-basic.c: 
132         Consistently use gsize rather than size_t.  (#333310,
133         Morten Welinder)
134
135 2006-12-27  Matthias Clasen  <mclasen@redhat.com>
136
137         * configure.in: Use AC_CACHE_CHECK for the nl_langinfo
138         check.  (#304517, Lőrinczy Zsigmond)
139
140 2006-12-27  Tor Lillqvist  <tml@novell.com>
141
142         * glib/gwin32.h
143         * glib/gwin32.c (get_package_directory_from_module)
144         (g_win32_get_package_installation_directory)
145         (g_win32_get_package_installation_subdirectory): Add const to
146         gchar* arguments. (#384523, Yevgen Muntyan)
147         
148 2006-12-27  Ryan Lortie  <desrt@desrt.ca>
149
150         * glib/ghash.c: cache the value of the hash function
151         in the GHashNode.  this speeds up resizing the hash
152         table and it also allows a slight optimisation on
153         lookups.  (#388332)
154
155 2006-12-27  Matthias Clasen  <mclasen@redhat.com>
156
157         * glib/gunicollate.c (g_utf8_collate_key): Don't modify
158         the current locale.  (#389300)
159
160 2006-12-26  Matthias Clasen  <mclasen@redhat.com>
161
162         * glib/gutf8.c: Add hints for locale-dependent interfaces.
163         * glib/gconvert.c: Add hints for locale-dependent interfaces.
164
165         * glib/gconvert.c (g_get_filename_charsets): Improve
166         formatting of docs. 
167
168 2006-12-26  Behdad Esfahbod  <behdad@gnome.org>
169
170         * configure.in: Use libtool to determine shared library suffix.
171         (#357245)
172
173 2006-12-24  Matthias Clasen  <mclasen@redhat.com>
174
175         * tests/run-collate-tests.sh:
176         * tests/unicode-collate.c: Silently skip tests if
177         we can't set LC_COLLATE to en_US.  (#336438)
178
179 2006-12-19  Matthias Clasen  <mclasen@redhat.com>
180
181         * glib/gkeyfile.c (g_key_file_is_key_name): Accept
182         '/', '+' and '.' in key names, since gnome-vfs uses
183         mime types as keys in some cache.
184
185         * tests/keyfile-test.c: Tests for the above.
186
187 2006-12-18  Matthias Clasen  <mclasen@redhat.com>
188
189         * configure.in: Fix the broken poll test.  (#387260,
190         Christian Persch)
191
192         * glib/gmain.c (child_watch_helper_thread): Readd a
193         return which was removed as dead code a while ago.
194         icc may consider it dead, but gcc doesn't like non-void
195         functions without a return...  (#354707)
196
197         * tests/Makefile.am: Try a different fix for bug 346373.
198
199 2006-12-18  Matthias Clasen  <mclasen@redhat.com>
200
201         Fix bug 161288:
202
203         * configure.in: Check for wcslen.
204
205         * glib/gnulib/vasnprintf.c: Handle wcslen missing.
206
207 2006-12-18  Matthias Clasen  <mclasen@redhat.com>
208
209         * glib/gkeyfile.c: Accept '@' in locale names.
210
211         * glib/gkeyfile.c: Tighten up the check for allowed
212         key and group names.  (#343191, Tommi Komulainen)
213
214         * tests/keyfile-test.c: Test handling of key and group names.
215
216         * tests/Makefile.am: Don't use $RANDOM if the shell doesn't
217         have it.  (#346373, Thomas Klausner)
218
219 2006-12-17  Behdad Esfahbod  <behdad@gnome.org>
220
221         * glib/gstring.c: Improve docs about string functions taking a
222         length.  (#378727)
223
224 2006-12-17  Matthias Clasen  <mclasen@redhat.com>
225
226         * glib/gconvert.c:
227         * glib/gutf8.c (_g_charset_get_aliases): Put the G_GNUC_INTERNAL
228         where gcc doesn't complain about it.
229
230         * glib/ghash.c: Make ref_count an int to avoid compiler
231         warnings.
232
233         * configure.in: Use AC_LANG_SOURCE for the clock test.
234         
235         * glib/gthreadpool.h:
236         * glib/gthreadpool.c (g_thread_pool_free): Don't use "wait"
237         as parameter name.  (#379207, Christian Biere)
238
239         * glib/gspawn.c: Refer to g_child_watch_add() in addition
240         to waitpid().
241
242         * glib/gstrfuncs.c (g_strndup, g_strnfill): Move docs
243         inline, and improve wording.  (#372598, Behdad Esfahbod)
244
245         * glib/gspawn.c: Add some pointers to the gdk_spawn_
246         variants.  (#338134, Federico Mena Quintero)
247
248         * configure.in: Make montonic clock test work again. Does
249         AC_COMPILE_IFELSE not get confdefs ? Also, move the clock
250         tests below the thread checks to fix #364663.
251
252         * tests/run-markup-tests.sh: Don't use diff -u  (#380801,
253         Marek Rouchal)
254
255         * glib/gspawn.c: Fix the recent fdwalk()-related changes
256         to not break mapping-test.  (#286838, Marco Barisione)
257
258         * glib/gstring.c (g_string_chunk_new): Don't shadow size.
259         (#386760, Kazuki IWAMOTO)
260
261 2006-12-16  Matthias Clasen  <mclasen@redhat.com>
262
263         * glib/gstring.c: Move more documentation inline.
264
265         * configure.in: Use AC_COMPILE_IFELSE for the monotonic
266         clock test.  (#362918, Han-Wen Nienhuys, Jeremy Lainé)
267
268         * glib/gstring.c: Move documentation inline. 
269
270 2006-12-15  Matthias Clasen  <mclasen@redhat.com>
271
272         * glib/giochannel.h: Make ref_count a gint to avoid
273         compiler warnings.  (#321977, Andrew Paprocki)
274
275         * configure.in: On Solaris, set CFLAGS and LDFLAGS that
276         work both with Sun cc and gcc.  (#315061, Lazlo Peter)
277
278         * glib/gspawn.c: Undefine READ_OK to fix the build on
279         old versions of Darwin.  (#327800)
280
281         * glib/glib.symbols:
282         * glib/gstring.[hc] (g_string_chunk_clear): Add a function
283         for clearing a GStringChunk. (#364608, Matt Barnes)
284
285         * glib/guniprop.c (interval_compare): Avoid a compiler
286         warning.
287
288         * glib/gspawn.c (do_exec): Call set_cloexec() with
289         the right parameters.  (#386252, Guillaume Desmottes)
290
291 2006-12-15  Matthias Clasen  <mclasen@redhat.com>
292
293         Fix #357585, Padraig O'Briain.
294         
295         * configure.in: Check for fdwalk.
296         
297         * glib/gspawn.c (do_exec): Use fdwalk() to close all
298         file descriptors. 
299
300         * glib/gspawn.c (fdwalk): Fallback implementation of
301         fdwalk.
302
303 2006-12-14  Matthias Clasen  <mclasen@redhat.com>
304
305         * glib/gconvert.c (open_converter): Don't use alloca
306         and avoid allocating memory for small keys that are 
307         already cached.  (#172406, Morten Welinder)
308
309         * glib/gmain.c (g_child_watch_add_full): Improve the docs.
310         (#345569, Tim-Philipp Müller)
311
312         * glib/gkeyfile.c (g_key_file_add_group): If the group
313         is already there, make it current.  (#385910, Joe Halliwell)
314
315         * tests/keyfile-test.c: Add a test for duplicate groups/keys.
316
317 2006-12-13  Matthias Clasen  <mclasen@redhat.com>
318
319         * m4macros/glib-gettext.m4: Require AC_CANONICAL_HOST in
320         GLIB_WITH_NLS.  (#385132, Laszlo Peter)
321
322 2006-12-12  Matthias Clasen  <mclasen@redhat.com>
323
324         * configure.in: Add a check for broken poll on Mac OS X.
325
326         * glib/gmain.c: Use poll emulation on OS X.  (#302672, Toby Peterson,
327         patch by Dave Vasilevsky)
328
329 2006-12-11  Matthias Clasen  <mclasen@redhat.com>
330
331         * glib/gatomic.c: Don't use local numeric labels in
332         inline assembler on AIX.  (#316434, Hans Rosenfeld)
333
334         * glib/gunicode.h (g_utf8_next_char): Cast to const char *,
335         not char *.  (#138153, Nikolai Weibull)
336
337 Wed Nov 22 16:09:13 2006  Tim Janik  <timj@gtk.org>
338
339         * glib/gmacros.h: added G_GNUC_MAY_ALIAS, suggested by Mathias
340         Hasselmann in bug #335341, fixes bug #335853.
341
342 2006-11-15  Matthias Clasen  <mclasen@redhat.com>
343
344         * m4macros/glib-gettext.m4: Apply a patch from James 
345         Henstridge for compatibility with automake 2.60 (#343825)
346
347 2006-11-14  Behdad Esfahbod  <behdad@gnome.org>
348
349         * sanity_check: Replace bash-specific == with sh-understood =.
350         Fixes bug #373864.
351
352 2006-11-05  Hans Breuer  <hans@breuer.org>
353
354         * glib/makefile.msc.in : glib/ version not the gobject/ 
355         one I accidentially commited. Fixes bug #371074.
356         
357 2006-11-05  Tor Lillqvist  <tml@novell.com>
358
359         * makefile.mingw
360         * gmodule/makefile.mingw.in
361         * glib/makefile.mingw.in
362         * gobject/makefile.mingw.in
363         * gthread/makefile.mingw.in
364         * tests/makefile.mingw.in: Remove from CVS. Haven't been
365         maintained or distributed for long.
366
367 2006-10-26  Pascal Terjan  <pterjan@linuxfr.org>
368
369         * glib/libcharset/localcharset.c: Fix small leak on failed
370         realloc in _g_locale_get_charset_aliases (#338582)
371
372 2006-10-16  Behdad Esfahbod  <behdad@gnome.org>
373
374         * glib/gnulib/Makefile.am: Add $(GLIB_DEBUG_FLAGS).  (#362543,
375         Peter Kjellerstedt)
376
377 2006-10-15  Sebastian Wilhelmi  <seppi@seppi.de>
378
379         * tests/Makefile.am: Compile errorcheck-mutex-test with thread
380         libraries explicitly. (#74748, Javier Villavicencio)
381
382 2006-10-08  Matthias Clasen  <mclasen@redhat.com>
383
384         Add a way to obtain Unicode script information.  (#348348,
385         Marco Barisione)
386
387         * glib/glib.symbols:
388         * glib/gunicode.h: Add GUnicodeScript enumeration and
389         g_unichar_get_script. 
390         
391         * glib/guniprop.c: Implement g_unichar_get_script.
392
393         * glib/gscripttable.h: Generated private header containing
394         script tables.
395
396         * glib/gen-script-table.pl: Script to generate gscripttable.h.
397
398         * glib/Makefile.am: Update
399
400 2006-10-08  Matthias Clasen  <mclasen@redhat.com>
401
402         * tests/run-markup-tests.sh: Small portability fix.  (#347944,
403         Dan McMahill)
404
405 2006-10-07  Tor Lillqvist  <tml@novell.com>
406
407         * glib/gwin32.c (get_package_directory_from_module)
408         (g_win32_get_package_installation_directory): g_strdup the keys
409         that we are passed before adding them to the hash tables, to guard
410         against the caller freeing them. (#355955, Andreas Köhler)
411
412 2006-10-06  Matthias Clasen  <mclasen@redhat.com> 
413
414         * glib/gtimer.c: Fix a typo.  (#359190)
415
416 2006-10-02  Behdad Esfahbod  <behdad@gnome.org>
417
418         * glib/Makefile.am:
419         * gobject/Makefile.am:
420         Include pltcheck.sh in EXTRA_DIST, and remove redefinition of TESTS.
421         (#358966)
422
423 2006-10-01  Matthias Clasen  <mclasen@redhat.com>
424
425         * glib/gtimer.c (g_usleep): Use nsleep to implement
426         g_usleep on AIX.  (#321974, Andrew Paprocki)
427
428         * configure.in: Check for nsleep
429
430         * glib/gmain.c: Fix typos in doc comments.  
431         (#358421, Tom Tromey)
432
433 2006-09-30  Matthias Clasen  <mclasen@redhat.com>
434
435         * glib/pltcheck.sh: A script to check PLT entries.
436         * glib/Makefile.am (TESTS): Run pltcheck.sh
437
438         * glib/*: Fix includes to correct some issues with
439         PLT entries.  (#354522, Behdad Esfahbod)
440
441 2006-09-17  Hans Breuer  <hans@breuer.org>
442
443         * glib/makefile.msc.in gobject/makefile.msc.in : better filtering
444         of G_GNUC_* stuff when generating .def files. Now also works with
445         newer (less tolerant) linkers, e.g. from vc2500e
446
447 2006-09-10  Matthias Clasen  <mclasen@redhat.com>
448
449         * glib/gbacktrace.c: Assume string.h is available. 
450         (#354523, Behdad Esfahbod)
451
452         * configure.in: Bump version to 2.13.0
453
454         * glib/glib.symbols:
455         * glib/gmain.[hc]: Add functions to create approximate
456         timeouts.  (#353942, Arjan van de Ven)
457
458         * glib/gstdio.c (g_rename): Initialize save_errno.
459         (#355206, Mike Edenfield)
460
461 2006-09-03  Matthias Clasen  <mclasen@redhat.com>
462
463         * glib/gerror.c: Allocate GErrors using the slice allocator.
464         (#354054, Matt Barnes)
465
466 2006-09-02  Matthias Clasen  <mclasen@redhat.com>
467
468         * glib/gtimer.c: Forgotten HAVE_CLOCK_GETTIME.
469
470 2006-09-02  Tor Lillqvist  <tml@novell.com>
471
472         * glib/gutils.c (g_get_any_init_do): Correct C99ism (mixed
473         declarations and code) in Win32 ifdef branch. (#353903, Mike
474         Edenfield)
475
476 2006-09-01  Abel Cheung  <abel@oaka.org>
477
478         * configure.in: Added 'dz' 'hy' to ALL_LINGUAS.
479
480 2006-09-01  Matthias Clasen  <mclasen@redhat.com>
481
482         * configure.in: Check for CLOCK_MONOTONIC.
483
484         * glib/gtimer.c: Only use clock_gettime if we
485         have a monotonic clock.
486
487 2006-08-31  Matthias Clasen  <mclasen@redhat.com>
488
489         * configure.in: Add missing includes to a few test
490         programs.  (#353580, Chris Wilson)
491
492 2006-08-30  Matthias Clasen  <mclasen@redhat.com>
493
494         * glib/gmarkup.c (g_markup_vprintf_escaped): Don't call
495         va_end on caller-provided va_args.  (#353584, Chris Wilson)
496
497 2006-08-29  Tor Lillqvist  <tml@novell.com>
498
499         Remove support for Windows 9x/ME, as will be done also in Pango
500         and GTK+. GTK+ hasn't worked on Win9x since 2.6 or 2.8 anyway, so
501         it's pretty pointless to keep the Win9x code in here either. If
502         somebody is interested, the code can always be found in older GLib
503         versions, and in CVS.
504
505         * glib/gdir.c
506         * glib/gfileutils.c
507         * glib/gspawn-win32-helper.c
508         * glib/gspawn-win32.c
509         * glib/gstdio.c
510         * glib/gutils.c
511         * glib/gwin32.c
512         * glib/gwin32.h: Remove the G_WIN32_IS_NT_BASED() and
513         G_WIN32_HAVE_WIDECHAR_API() tests and their false (Win9x)
514         branches, and any variables or static functions used only by the
515         Win9x branches.
516
517         * glib/gwin32.c (g_win32_windows_version_init): Call g_error() if
518         run on Win9x.
519
520 2006-08-27  Matthias Clasen  <mclasen@redhat.com>
521
522         * configure.in: Fix pthread compiler flag detection.
523
524         * glib/gtimer.c: Use Posix monotonic clocks instead of 
525         gettimeofday when available.  (#336114, William Jon McCann)
526
527 2006-08-26  Matthias Clasen  <mclasen@redhat.com>
528
529         * glib/gutils.h: 
530         * glib/gscanner.c: Fix some typos.  (#351741, Kjartan Maraas)
531
532 2006-08-25  Matthias Clasen  <mclasen@redhat.com>
533
534         * configure.in: Fix the pthread compiler flag detection.
535
536         * glib/gunicode.h: 
537         * glib/gutf8.c (_g_utf8_make_valid): Rename make_valid_utf8
538         from gconvert.c, move it to gutf8.c, and export it privately.
539
540         * glib/gconvert.c (g_filename_display_name): Adjust callers.
541
542         * glib/gkeyfile.c: Use _g_utf8_make_valid() in a number of
543         places to ensure error messages are valid UTF-8.  (#351853,
544         Simon Budig)
545
546 2006-08-22  Matthias Clasen <mclasen@redhat.com>
547
548         * Branch for 2.12
549