Remove a duplicate _LDADD
[platform/upstream/glib.git] / ChangeLog.pre-2-12
1 2005-12-01 Matthias Clasen <mclasen@redhat.com>
2
3         * tests/Makefile.am: Remove duplicate variable.
4
5 Thu Dec  1 17:32:46 2005  Tim Janik  <timj@imendio.com>
6
7         * glib/gslice.[hc]: new slice allocator implementation.
8
9         * tests/slice-test.c: added random slice allocation test.
10
11         * glib/gthread.[hc]: removed newly added private thread mem API.
12
13         * glib/gthreadinit.h:
14         * glib/gmessages.c:
15         * glib/gthread.c:
16         * glib/gmem.c: divided glib threading initialisation into three phases,
17         initialisation where private keys and messaging are not available (only
18         needed by gmem.c), initialisation without messaging but private keys
19         available (gslice.c, gmessage.c), and full fledged initialisers that
20         server the rest of glib. initialisation functions got renamed to reflect
21         the limitations of their corresponding phases.
22
23         * glib/gmem.c: removed memchunk code, defer allocations to 
24         g_slice_* instead.
25
26         * glib/gmem.[hc]: removed g_slice_* skeletons.
27
28         * glib/glib.symbols: added g_slice_* symbols.
29
30         * configure.in: check for availability of posix_memalign(3), memalign(3)
31         and valloc(3). 
32
33         * glib/Makefile.am: added gslice.[hc].
34
35 2005-12-01  Tor Lillqvist  <tml@novell.com>
36
37         * glib/gstdio.c (g_stat): In the Win32 implementation, strip
38         trailing slash(es) for non-root folders. stat() fails if non-root
39         folders are specified with trailing slashes. It's too much hassle
40         to demand that callers strip such slashes themselves, especially
41         as it is easy to get it wrong and strip the slash of a root
42         folder.
43         (g_rename): On NT-based Windows, use MoveFileEx() with
44         MOVEFILE_REPLACE_EXISTING to better match Unix behaviour.
45
46 2005-11-28  Matthias Clasen  <mclasen@redhat.com>
47
48         Fix G_STMT_START / G_STMT_END on Solaris.  (#321972,
49         Andrew Paprocki)
50         
51         * configure.in: Check whether do { } while (0) works.
52
53         * glib/gmacros.h: Use do { } while (0) for G_STMT_START / 
54         G_STMT_END if it works.
55         
56 2005-11-28  Matthias Clasen  <mclasen@redhat.com>
57
58         * glib/gthread.c (g_static_rw_lock_wait, g_static_rw_lock_signal): 
59         * glib/gnode.c (g_node_depth_traverse_level): 
60         * glib/gmem.c (g_allocator_new): 
61         * glib/ghash.c (g_hash_table_unref, g_hash_table_destroy) 
62         (g_hash_table_foreach_remove_or_steal): Silence compiler
63         warnings.
64
65 2005-11-27  Matthias Clasen  <mclasen@redhat.com>
66
67         * glib/gunicollate.c (g_utf8_collate_key_for_filename): 
68         Don't read beyond len.  (#322520, Christian Persch)
69
70 Wed Nov 23 17:34:01 2005  Tim Janik  <timj@imendio.com>
71
72         * glib/gdataset.c: access datalist flags via atomic pointer access
73         functions, instead of acquiring the dataset lock. this is faster and
74         also matches the atomic pointer readouts in gdatalistprivate.h and
75         direct pointer modifications required by gobject.c.
76
77 Wed Nov 23 13:35:31 2005  Tim Janik  <timj@gtk.org>
78
79         * glib/gdataset.c: streamlined initialization code somewhat,
80         removed GData node cache.
81
82 2005-11-22  Matthias Clasen  <mclasen@redhat.com>
83
84         * glib/ghash.c (g_hash_table_ref): 
85         (g_hash_table_unref): Mark these as new API.
86
87         Avoid double locking in g_intern_string (#322133,
88         Benedikt Meurer)
89
90         * glib/gdataset.c (g_quark_from_string_internal): New 
91         internal function which factors out common parts of 
92         g_quark_from[_static]_string.
93         (g_quark_from_string, g_quark_from_static_string):
94         Use g_quark_from_string_internal.
95         (g_intern_string, g_intern_static_string): Use
96         g_quark_from_string_internal, and only take the
97         lock once.
98         (g_quark_new): Don't store the strings shifted by -1
99         in the g_quarks array.
100         (g_quark_to_string): Adapt to the previous change.
101
102 Tue Nov 22 14:04:26 2005  Tim Janik  <timj@imendio.com>
103
104         * glib/ghash.h: 
105         * glib/ghash.c: 
106         g_hash_table_new_full(): create hash tables with a ref count of 1.
107         g_hash_table_ref(): atomically ref_count+=1
108         g_hash_table_unref(): atomically ref_count-=1, destroys hash table
109         when refcount reaches 0.
110         g_hash_table_destroy(): just destroy keys and values, unref by 1.
111         g_hash_table_insert(): 
112         g_hash_table_replace(): assert ref_count>0.
113
114         * glib/gatomic.h: 
115         * glib/gatomic.c: added 'volatile' qualifier to all atomic pointer and
116         integer pointers.
117
118 2005-11-20  Behdad Esfahbod  <behdad@gnome.org>
119
120         * glib/guniprop.c (g_unichar_get_mirror_char): Remove unused
121         variables. (#321984, Andrew Paprocki)
122
123 2005-11-18  Matthias Clasen  <mclasen@redhat.com>
124
125         * configure.in: Bump version
126
127 2005-11-17  Matthias Clasen  <mclasen@redhat.com>
128
129         * === Released 2.9.0 ===
130
131         * glib/glib.symbols: Updates
132
133         * glib/gutf8.c (g_utf8_offset_to_pointer): Add some performance
134         hints to the docs. (Paolo Borelli)
135         
136         * NEWS: Updates
137
138         * glib/gthread.c (g_thread_foreach): Mark as new api.
139
140         * README.in: Updates.
141
142         * glib/glib.symbols: 
143         * glib/gdate.h: 
144         * glib/gdate.c (g_date_set_time_t): 
145         (g_date_set_time_val): Add functions to set a date from
146         a time_t and from a GTimeVal.
147         (g_date_set_time): Deprecate.  (#314067, Roger Leigh)
148         
149         * tests/Makefile.am:
150         * tests/utf8-pointer.c: Unit tests for g_utf8_pointer_to_offset
151         and g_utf8_offset_to_pointer.
152
153         * glib/gutf8.c (g_utf8_pointer_to_offset) 
154         (g_utf8_offset_to_pointer): Handle negative offsets, and use
155         "stutter stepping" for going backwards. (#320638, Larry
156         Ewing)
157
158         * glib/gbacktrace.c:
159         * glib/gdate.c:
160         * glib/gthread.c: const correctness fixes, found
161         by Arjan van de Ven and gcc.
162         
163 2005-11-16  Behdad Esfahbod  <behdad@gnome.org>
164
165         * docs/reference/glib/tmpl/unicode.sgml: Correct typo on mentioning
166         @G_UNICODE_BREAK_UNKNOWN that should be #G_UNICODE_BREAK_UNKNOWN.
167
168 2005-11-09  Behdad Esfahbod  <behdad@gnome.org>
169
170         * glib/guniprop.c: Use bit hacks instead when checking a general
171         category value against multiple values.
172
173         * glib/gutf8.c: Change ISO10646 to Unicode in docs.
174
175 2005-11-10  Simos Xenitellis  <simos@gnome.org>
176
177         * configure.in: Added tt (Tatar) to ALL_LINGUAS.
178
179 2005-11-05  Tor Lillqvist  <tml@novell.com>
180
181         * glib/giowin32.c (g_io_win32_set_flags): Don't call g_warning().
182         (#320688) Instead set error and return failure.
183
184 2005-11-07  Matthias Clasen  <mclasen@redhat.com>
185
186         * glib/gmain.c (g_main_dispatch): Don't call cb_funcs->unref
187         while holding the context lock.  (#320886, Andy Wingo)
188
189 2005-11-07  Billy Biggs <vektor@dumbterm.net>
190
191         * tests/refcount/Makefile.am: Add a missing reference to libglib
192         in the LDADD for this test.
193
194 2005-11-07  Matthias Clasen  <mclasen@redhat.com>
195
196         * glib/gmem.c (g_allocator_new): We need to set n_preallocs to a
197         nonzero value, otherwise GTK+ 2.8 breaks when compiled against
198         GLib 2.9.  (#320755, Luca Ferretti)
199
200 2005-11-04  Matthias Clasen  <mclasen@redhat.com>
201
202         * glib/Makefile.am: Apply a patch from Behdad Esfahbod to 
203         use a faster lookup table for g_unichar_get_mirror_char().
204         * glib/gmirroringtable.h: The new table.
205         * glib/gunichartables.h: Remove bidi_mirroring_table.
206         * glib/gen-unicode-tables.pl: Don't generate the mirroring
207         table.
208         * glib/glib-mirroring-tab/*: Sources for the program
209         which generated gmirroringtable.h.
210
211         * glib/glist.c: Avoid some code duplication.
212
213         * glib/gscanner.h: Include gdataset.h.  (#320322)
214
215         * glib/gdebug.h: add new GDebugFlag for fatal_criticals
216         * glib/gmessages.c: (_g_debug_init): handle G_DEBUG=fatal_criticals,
217         to help find critical warnings in applications.  (#320017,
218         Vincent Untz)
219
220 2005-11-02  Tor Lillqvist  <tml@novell.com>
221
222         * glib/glib.symbols: Remove large amount of trailing whitespace
223         from one line. Remove #ifdef G_UNDEFINED from around
224         g_hash_table_new and g_hash_table_new_full symbols, what was the
225         purpose of that? Add the g_slice functions.
226
227 Tue Nov  1 16:24:20 2005  Tim Janik  <timj@imendio.com>
228
229         * glib/gmem.[hc]: prepared deprecation of GMemChunk and GAllocator.
230         added g_slice_*() API to allocate and cache small bits of memory.
231         an actuall allocator implementation for g_slice_*() is still pending.
232
233         * glib/gthread.[hc]: changes from a patch by Matthias Clasen.
234         changed GRealThread list to use in-structure *next; fields instead
235         of GSList, in order for thread iteration to not depenend on g_slice_*()
236         indirectly.
237         _g_thread_mem_private_get():
238         _g_thread_mem_private_set(): added accessors for private memory,
239         needed because the ordinary GPrivate implementation relies on GArray
240         and GSList and therefore indirectly on working g_slice_*() allocations.
241
242         * glib/gthread.[hc]:
243         g_thread_foreach(): new public API function to loop over all existing threads.
244
245         * glib/gdataset.c:
246         * glib/gstring.c:
247         * glib/gcache.c:
248         * glib/garray.c: 
249         * glib/gqueue.c:
250         * glib/gslist.c:
251         * glib/glist.c:
252         * glib/ghash.c:
253         * glib/gtree.c:
254         * glib/ghook.c:
255         * glib/gmain.c:
256         * glib/gnode.c:
257         removed GAllocator and free list usages and accompanying locks.
258         use g_slice_*() API to allocate and cache small bits of memory.
259
260         * glib/ghook.h: removed GMemChunk field from public API.
261
262         * glib/gslist.h:
263         * glib/glist.h: deprecate allocator API, provide _free1() for consistency.
264
265         * glib/gnode.h: deprecate allocator API.
266
267         * glib/gmain.c: reordered GPollRec fields so g_slice_free_chain() can
268         be used for poll rec lists.
269
270         * glib/grel.c: removed mem chunk usage, and allocated tuples via g_slice_*().
271         g_relation_destroy(): free all tuples from the all_tuples hash table,
272         this effectively maintains the life time track keeping of tuples.
273         g_relation_delete_tuple(): free tuples which are removed from the
274         all_tuples hash table. this fixes a temporary leak that was present
275         in the memchunk code until the destruction of the relation.
276
277 2005-10-29  Matthias Clasen  <mclasen@redhat.com>
278
279         * tests/convert-test.c: Add some tests for conversions between
280         UTF-8, UCS-4 and UTF-16.
281
282         * glib/gutf8.c (g_utf8_to_ucs4, g_utf8_to_utf16): Fix handling
283         of len == -1, noticed by Morten Welinder.
284
285 2005-10-27  Erdal Ronahi  <erdal.ronahi@gmail.com>
286
287         * configure.in: Added ku (Kurdish) to ALL_LINGUAS
288
289 2005-10-26  Matthias Clasen  <mclasen@redhat.com>
290
291         * glib/gutf8.c (g_ucs4_to_utf8): Don't set items_read twice
292         in the error case, and add some documentation.  (#319806, Morten
293         Welinder)
294
295 2005-10-19  Manish Singh  <yosh@gimp.org>
296
297         * configure.in: Use AC_CHECK_FUNCS for _NSGetEnviron, to get the
298         config.h symbol automatically. Fixes bug #313731.
299
300 2005-10-19  Tor Lillqvist  <tml@novell.com>
301
302         * glib/gwin32.c (g_win32_get_package_installation_directory):
303         Return a g_strdup()ed copy of the value stored in the hash table,
304         so that it can be g_free()d without leaving a dangling pointer in
305         the hash table. (#319232)
306
307 2005-10-06  Matthias Clasen  <mclasen@redhat.com>
308
309         * glib/gunicollate.c (g_utf8_collate_key_for_filename): Handle
310         all-zero sequences correctly.  (#317930, Sebastien Bacher)
311
312 2005-10-05  Matthias Clasen  <mclasen@redhat.com>
313
314         * glib/gmarkup.c (g_markup_escape_text): Doc addition
315
316         * Makefile.am: Add Collation tests.
317
318         * tests/collate/*: Inputs and expected outputs for collation tests.
319
320         * tests/run-collate-tests.sh: Script to run collation tests.
321
322         * tests/unicode-collate.c (main): Rework slightly to make
323         it usable in unit tests. Also test g_utf8_collate_key_for_filename().
324
325 2005-10-01  Behdad Esfahbod  <behdad@gnome.org>
326
327         * docs/reference/glib/tmpl/unicode.sgml:
328         * glib/gen-unicode-tables.pl:
329         * glib/gunibreak.h:
330         * glib/gunichartables.h:
331         * glib/gunicode.h:
332         * tests/casefold.txt:
333         * tests/casemap.txt: Updated to Unicode 4.1.  There are five new
334         GUnicodeBreakType types.  That may break some applications, like
335         Pango <= 1.10.
336
337 2005-09-26  Matthias Clasen  <mclasen@redhat.com>
338
339         * glib/gstrfuncs.c (g_ascii_strtoull): Add details to the 
340         docs.  (#314393, Matthew F. Barnes)
341
342         * glib/glib.symbols:
343         * glib/gprintf.h: Remove g_snprintf() and g_vsnprintf(), since
344         they are already declared in glib.h. This doesn't break documented
345         use of gprintf.h, but should probably be pointed out in the 
346         release notes for 2.10. (#314232, Behdad Esfahbod)
347
348 Tue Sep 20 13:16:04 2005  Tim Janik  <timj@imendio.com>
349
350         * glib/gpattern.c (g_pattern_ph_match): applied significant recursion
351         complexity optimization, based on a patch from Matthias Clasen.
352
353         * tests/patterntest.c: more tests, mostly from matthias.
354
355 2005-09-20  Matthias Clasen  <mclasen@redhat.com>
356
357         * glib/gqueue.c (g_queue_insert_sorted): Correct the docs.
358         (#316703, Mark Drago)
359
360 Mon Sep 19 17:23:23 2005  Tim Janik  <timj@imendio.com>
361
362         * glib/gpattern.c: applied a patch from matthias which checks on the
363         upper bound of GPatternSpec length to optimize matches.
364         cosmetic fixups.
365
366         * tests/patterntest.c: added more match cases.
367
368 2005-09-16  Tor Lillqvist  <tml@novell.com>
369
370         * glib/gstrfuncs.c (g_ascii_strcasecmp, g_ascii_strncasecmp): Add
371         warning to doc comment that these functions should not be used on
372         encodings like CP932.
373
374 2005-09-14  Matthias Clasen  <mclasen@redhat.com>
375
376         * tests/keyfile-test.c: Add a test for grup names of length 1.
377
378         * glib/gkeyfile.c (g_key_file_line_is_group): Accept group names
379         of length 1.  (#316309)
380         
381 2005-09-12  Matthias Clasen  <mclasen@redhat.com>
382
383         * glib/gmarkup.c (g_markup_escape_text): Clarify docs.
384
385 2005-09-11  Sebastian Wilhelmi  <seppi@seppi.de>
386
387         * tests/refcount/Makefile.am (INCLUDES): Link the the refcount
388         tests to the system thread library $(G_THREAD_LIBS). Fixes #313744
389         and #314217.
390
391 2005-09-11  Kjartan Maraas  <kmaraas@gnome.org>
392
393         * glib/gmain.c: (g_child_watch_prepare), (g_child_watch_check),
394         (child_watch_helper_thread): Remove some dead code. Closes
395         bug #315278.
396
397 2005-09-07  Tor Lillqvist  <tml@novell.com>
398
399         * glib/Makefile.am: Create also a console version of the
400         gspawn-win32-helper program, gspawn-win32-helper-console.exe.
401         It's otherwise identical to gspawn-win32-helper.exe, except marked
402         as a console application (linked without the -mwindows option).
403         
404         * glib/gspawn-win32.c (do_spawn_directly, do_spawn_with_pipes):
405         Drop the dont_wait parameter. Its truth value correlated 100% with
406         the NULLness of the exit_status parameter anyway, so it's enough
407         to check whether exit_status is NULL. Invert the sense of the
408         dont_return_handle parameter and rename it to do_return_handle, to
409         make the code easier to read by avoiding double negations.
410
411         (g_spawn_sync_utf8, g_spawn_async_with_pipes_utf8): Modify calls
412         to do_spawn_with_pipes() accordingly.
413
414         (do_spawn_with_pipes): If we have a console, use the console
415         version of the helper program, otherwise use the GUI one. This
416         avoids extra console windows opening up in some situations. (In
417         case a console application uses the GUI gspawn-win32-helper.exe to
418         spawn another console application we would get a separate console
419         for the spawned console application).
420
421         * glib-zip.in: Distribute also gspawn-win32-helper-console.exe.
422
423 2005-09-05  Matthias Clasen  <mclasen@redhat.com>
424
425         * glib/gmappedfile.c (g_mapped_file_new): Report an error
426         if the file is too large.  (#315275, Kjartan Maraas)
427
428         * glib/gkeyfile.c (g_key_file_load_from_fd): The return value
429         of read() is signed.  (#315273, Kjartan Maraas)
430         
431 2005-08-31  Tor Lillqvist  <tml@novell.com>
432
433         * glib/gutils.h: Wrapping atexit() is a bad idea on Windows, where
434         the EXE and each DLL have their own atexit function chains.
435
436         #define g_atexit as atexit instead. This means it has a
437         better chance of doing what the caller wants. For instance,
438         gtkhtml calls g_atexit() registering a function in gtkhtml
439         itself. This caused a crash when g_atexit() was implemented as a
440         function in the GLib DLL. The gtkhtml DLL was already unloaded by
441         the time the GLib DLL got unloaded.
442
443         * glib/gutils.c: #undef the #define mentioned above, to also get a
444         real g_atexit() into the DLL for backward compatibility. Document
445         the Windows behaviour of g_atexit(), and document the varying ways
446         atexit() can behave in the context of dynamically loaded modules
447         on Unix.
448
449 2005-08-31  Matthias Clasen  <mclasen@redhat.com>
450
451         * glib/glib.symbols: 
452         * glib/gquark.h: 
453         * glib/gdataset.c: Add string interning functions.
454
455 2005-08-28  Matthias Clasen  <mclasen@redhat.com>
456
457         * glib/giochannel.c: Unify some near-duplicate strings. (#314654,
458         Clytie Siddall)
459         
460 2005-08-26  Matthias Clasen  <mclasen@redhat.com>
461
462         * configure.in: Bump version to 2.9.0
463
464 2005-08-25  Tor Lillqvist  <tml@novell.com>
465
466         Make also the g_spawn*() functions take parameters in the GLib
467         file name encoding, i.e. UTF-8, on Windows. Has no impact on Unix
468         API or ABI. Like the other GLib API that was earlier changed to
469         use UTF-8 on Windows, the names of the functions that take UTF-8
470         have _utf8 suffixes added by using preprocessor macros in the
471         header file. The old names are kept for functions with the old
472         behaviour, taking parameters in the system codepage, for DLL ABI
473         stability.
474         
475         * glib/gspawn.h: On Win32 add the suffix _utf8 to the names of the
476         g_spawn*() functions.
477         
478         * glib/gspawn-win32.c: Use wide-char API on NT-based
479         Windows. Convert parameters from UTF-8 to wide chars (NT) or
480         system codepage (Win9x) and call the C library _wspawn*() or
481         spawn*() functions respectvely. Add DLL ABI stability versions
482         that take parameters in the system codepage.
483
484         * glib/gspawn-win32-helper.c: On NT-based Windows use the
485         wide-char versions of argv and envp, and use wide-char API to
486         change directory and spawn the program to run. Remove the verbose
487         debugging output, it was too complex to modify for the wide-char
488         features. (Just add temporary debugging printouts if needed, no
489         need to have them permanently in the source.)
490
491         * glib/gspawn.c: Corresponding documentation updates.
492
493         * glib/glib.symbols: Corresponding changes: Mark the ABI stability
494         symbols as PRIVATE, add the new _utf8-suffixed ones.
495
496 2005-08-24  Stepan Kasal  <kasal@ucw.cz>
497
498         * glib/gtypes.h (G_MININT64): Cast the constant to gint64; it is
499         guint64 otherwise and that can produce warnings about comparison
500         between signed and unsigned.
501
502 2005-08-23  Matthias Clasen  <mclasen@redhat.com>
503
504         * glib/gutils.c: Fix the crt_externs.h include.
505
506 2005-08-23  Stepan Kasal  <kasal@ucw.cz>
507
508         * NEWS: Fix spelling of my first name.
509
510 2005-08-23  Matthias Clasen  <mclasen@redhat.com>
511
512         * Bump version
513
514         * === Released 2.8.1 ===
515
516         * NEWS: Updates
517
518 2005-08-20  Hans Breuer  <hans@breuer.org>
519
520         * glib/makefile.msc.in : link with ws2_32.lib
521
522 2005-08-18  Tor Lillqvist  <tml@novell.com>
523
524         * configure.in: Check for <sys/wait.h>
525
526         * glib/gbacktrace.c: Include <sys/wait.h> on if HAVE_SYS_WAIT_H.
527
528 2005-08-18  Ross Burton  <ross@burtonini.com>
529
530         * glib/gstring.c:
531         Optimise single-character insertions.
532         
533         * glib/gutf8.c:
534         Note copied code.
535         
536         * tests/string-test.c:
537         Add tests for new optimisation, and fix a leak.
538
539 2005-08-17  Matthias Clasen  <mclasen@redhat.com>
540
541         * configure.in: Check for crt_externs.h and _NSGetEnviron.
542
543         * glib/gutils.c: On Darwin, include crt-externs.h and
544         define environ using _NSGetEnviron().  (#313731)
545
546 2005-08-16  Stepan Kasal  <kasal@ucw.cz>
547
548         * glib/gutils.c (g_get_any_init): Move the body of the big if...
549         (g_get_any_init_do): ... to this new function.
550         (g_get_any_init): Declare as inline.
551         (g_get_any_init_locked): New inline function, does the locking.
552         Make use of these two throughout the code.
553
554 2005-08-15  Matthias Clasen  <mclasen@redhat.com>
555
556         * glib/gbacktrace.c (g_on_error_stack_trace): Wait for
557         the child process and then simply return. This makes 
558         The "S" option work as documented in g_on_error_query().
559         (#313125, Matthew F. Barnes)
560
561         * glib/gunicode.h: Update the link to Unicode category
562         values.  (#313369, Behnam Esfahbod)
563
564         * glib/gqueue.c (g_queue_find_custom): Clarify docs
565         a little.  (#311727, Tristan van Berkom)
566
567         * glib/abicheck.sh, gobject/abicheck.sh: Make the 
568         check work on ia64 too, where some symbols ended up 
569         in yet another section.
570