We need to set n_preallocs to a nonzero value, otherwise GTK+ 2.8 breaks
[platform/upstream/glib.git] / ChangeLog.pre-2-10
1 2005-11-07  Matthias Clasen  <mclasen@redhat.com>
2
3         * glib/gmem.c (g_allocator_new): We need to set n_preallocs to a
4         nonzero value, otherwise GTK+ 2.8 breaks when compiled against
5         GLib 2.9.  (#320755, Luca Ferretti)
6
7 2005-11-04  Matthias Clasen  <mclasen@redhat.com>
8
9         * glib/Makefile.am: Apply a patch from Behdad Esfahbod to 
10         use a faster lookup table for g_unichar_get_mirror_char().
11         * glib/gmirroringtable.h: The new table.
12         * glib/gunichartables.h: Remove bidi_mirroring_table.
13         * glib/gen-unicode-tables.pl: Don't generate the mirroring
14         table.
15         * glib/glib-mirroring-tab/*: Sources for the program
16         which generated gmirroringtable.h.
17
18         * glib/glist.c: Avoid some code duplication.
19
20         * glib/gscanner.h: Include gdataset.h.  (#320322)
21
22         * glib/gdebug.h: add new GDebugFlag for fatal_criticals
23         * glib/gmessages.c: (_g_debug_init): handle G_DEBUG=fatal_criticals,
24         to help find critical warnings in applications.  (#320017,
25         Vincent Untz)
26
27 2005-11-02  Tor Lillqvist  <tml@novell.com>
28
29         * glib/glib.symbols: Remove large amount of trailing whitespace
30         from one line. Remove #ifdef G_UNDEFINED from around
31         g_hash_table_new and g_hash_table_new_full symbols, what was the
32         purpose of that? Add the g_slice functions.
33
34 Tue Nov  1 16:24:20 2005  Tim Janik  <timj@imendio.com>
35
36         * glib/gmem.[hc]: prepared deprecation of GMemChunk and GAllocator.
37         added g_slice_*() API to allocate and cache small bits of memory.
38         an actuall allocator implementation for g_slice_*() is still pending.
39
40         * glib/gthread.[hc]: changes from a patch by Matthias Clasen.
41         changed GRealThread list to use in-structure *next; fields instead
42         of GSList, in order for thread iteration to not depenend on g_slice_*()
43         indirectly.
44         _g_thread_mem_private_get():
45         _g_thread_mem_private_set(): added accessors for private memory,
46         needed because the ordinary GPrivate implementation relies on GArray
47         and GSList and therefore indirectly on working g_slice_*() allocations.
48
49         * glib/gthread.[hc]:
50         g_thread_foreach(): new public API function to loop over all existing threads.
51
52         * glib/gdataset.c:
53         * glib/gstring.c:
54         * glib/gcache.c:
55         * glib/garray.c: 
56         * glib/gqueue.c:
57         * glib/gslist.c:
58         * glib/glist.c:
59         * glib/ghash.c:
60         * glib/gtree.c:
61         * glib/ghook.c:
62         * glib/gmain.c:
63         * glib/gnode.c:
64         removed GAllocator and free list usages and accompanying locks.
65         use g_slice_*() API to allocate and cache small bits of memory.
66
67         * glib/ghook.h: removed GMemChunk field from public API.
68
69         * glib/gslist.h:
70         * glib/glist.h: deprecate allocator API, provide _free1() for consistency.
71
72         * glib/gnode.h: deprecate allocator API.
73
74         * glib/gmain.c: reordered GPollRec fields so g_slice_free_chain() can
75         be used for poll rec lists.
76
77         * glib/grel.c: removed mem chunk usage, and allocated tuples via g_slice_*().
78         g_relation_destroy(): free all tuples from the all_tuples hash table,
79         this effectively maintains the life time track keeping of tuples.
80         g_relation_delete_tuple(): free tuples which are removed from the
81         all_tuples hash table. this fixes a temporary leak that was present
82         in the memchunk code until the destruction of the relation.
83
84 2005-10-29  Matthias Clasen  <mclasen@redhat.com>
85
86         * tests/convert-test.c: Add some tests for conversions between
87         UTF-8, UCS-4 and UTF-16.
88
89         * glib/gutf8.c (g_utf8_to_ucs4, g_utf8_to_utf16): Fix handling
90         of len == -1, noticed by Morten Welinder.
91
92 2005-10-27  Erdal Ronahi  <erdal.ronahi@gmail.com>
93
94         * configure.in: Added ku (Kurdish) to ALL_LINGUAS
95
96 2005-10-26  Matthias Clasen  <mclasen@redhat.com>
97
98         * glib/gutf8.c (g_ucs4_to_utf8): Don't set items_read twice
99         in the error case, and add some documentation.  (#319806, Morten
100         Welinder)
101
102 2005-10-19  Manish Singh  <yosh@gimp.org>
103
104         * configure.in: Use AC_CHECK_FUNCS for _NSGetEnviron, to get the
105         config.h symbol automatically. Fixes bug #313731.
106
107 2005-10-19  Tor Lillqvist  <tml@novell.com>
108
109         * glib/gwin32.c (g_win32_get_package_installation_directory):
110         Return a g_strdup()ed copy of the value stored in the hash table,
111         so that it can be g_free()d without leaving a dangling pointer in
112         the hash table. (#319232)
113
114 2005-10-06  Matthias Clasen  <mclasen@redhat.com>
115
116         * glib/gunicollate.c (g_utf8_collate_key_for_filename): Handle
117         all-zero sequences correctly.  (#317930, Sebastien Bacher)
118
119 2005-10-05  Matthias Clasen  <mclasen@redhat.com>
120
121         * glib/gmarkup.c (g_markup_escape_text): Doc addition
122
123         * Makefile.am: Add Collation tests.
124
125         * tests/collate/*: Inputs and expected outputs for collation tests.
126
127         * tests/run-collate-tests.sh: Script to run collation tests.
128
129         * tests/unicode-collate.c (main): Rework slightly to make
130         it usable in unit tests. Also test g_utf8_collate_key_for_filename().
131
132 2005-10-01  Behdad Esfahbod  <behdad@gnome.org>
133
134         * docs/reference/glib/tmpl/unicode.sgml:
135         * glib/gen-unicode-tables.pl:
136         * glib/gunibreak.h:
137         * glib/gunichartables.h:
138         * glib/gunicode.h:
139         * tests/casefold.txt:
140         * tests/casemap.txt: Updated to Unicode 4.1.  There are five new
141         GUnicodeBreakType types.  That may break some applications, like
142         Pango <= 1.10.
143
144 2005-09-26  Matthias Clasen  <mclasen@redhat.com>
145
146         * glib/gstrfuncs.c (g_ascii_strtoull): Add details to the 
147         docs.  (#314393, Matthew F. Barnes)
148
149         * glib/glib.symbols:
150         * glib/gprintf.h: Remove g_snprintf() and g_vsnprintf(), since
151         they are already declared in glib.h. This doesn't break documented
152         use of gprintf.h, but should probably be pointed out in the 
153         release notes for 2.10. (#314232, Behdad Esfahbod)
154
155 Tue Sep 20 13:16:04 2005  Tim Janik  <timj@imendio.com>
156
157         * glib/gpattern.c (g_pattern_ph_match): applied significant recursion
158         complexity optimization, based on a patch from Matthias Clasen.
159
160         * tests/patterntest.c: more tests, mostly from matthias.
161
162 2005-09-20  Matthias Clasen  <mclasen@redhat.com>
163
164         * glib/gqueue.c (g_queue_insert_sorted): Correct the docs.
165         (#316703, Mark Drago)
166
167 Mon Sep 19 17:23:23 2005  Tim Janik  <timj@imendio.com>
168
169         * glib/gpattern.c: applied a patch from matthias which checks on the
170         upper bound of GPatternSpec length to optimize matches.
171         cosmetic fixups.
172
173         * tests/patterntest.c: added more match cases.
174
175 2005-09-16  Tor Lillqvist  <tml@novell.com>
176
177         * glib/gstrfuncs.c (g_ascii_strcasecmp, g_ascii_strncasecmp): Add
178         warning to doc comment that these functions should not be used on
179         encodings like CP932.
180
181 2005-09-14  Matthias Clasen  <mclasen@redhat.com>
182
183         * tests/keyfile-test.c: Add a test for grup names of length 1.
184
185         * glib/gkeyfile.c (g_key_file_line_is_group): Accept group names
186         of length 1.  (#316309)
187         
188 2005-09-12  Matthias Clasen  <mclasen@redhat.com>
189
190         * glib/gmarkup.c (g_markup_escape_text): Clarify docs.
191
192 2005-09-11  Sebastian Wilhelmi  <seppi@seppi.de>
193
194         * tests/refcount/Makefile.am (INCLUDES): Link the the refcount
195         tests to the system thread library $(G_THREAD_LIBS). Fixes #313744
196         and #314217.
197
198 2005-09-11  Kjartan Maraas  <kmaraas@gnome.org>
199
200         * glib/gmain.c: (g_child_watch_prepare), (g_child_watch_check),
201         (child_watch_helper_thread): Remove some dead code. Closes
202         bug #315278.
203
204 2005-09-07  Tor Lillqvist  <tml@novell.com>
205
206         * glib/Makefile.am: Create also a console version of the
207         gspawn-win32-helper program, gspawn-win32-helper-console.exe.
208         It's otherwise identical to gspawn-win32-helper.exe, except marked
209         as a console application (linked without the -mwindows option).
210         
211         * glib/gspawn-win32.c (do_spawn_directly, do_spawn_with_pipes):
212         Drop the dont_wait parameter. Its truth value correlated 100% with
213         the NULLness of the exit_status parameter anyway, so it's enough
214         to check whether exit_status is NULL. Invert the sense of the
215         dont_return_handle parameter and rename it to do_return_handle, to
216         make the code easier to read by avoiding double negations.
217
218         (g_spawn_sync_utf8, g_spawn_async_with_pipes_utf8): Modify calls
219         to do_spawn_with_pipes() accordingly.
220
221         (do_spawn_with_pipes): If we have a console, use the console
222         version of the helper program, otherwise use the GUI one. This
223         avoids extra console windows opening up in some situations. (In
224         case a console application uses the GUI gspawn-win32-helper.exe to
225         spawn another console application we would get a separate console
226         for the spawned console application).
227
228         * glib-zip.in: Distribute also gspawn-win32-helper-console.exe.
229
230 2005-09-05  Matthias Clasen  <mclasen@redhat.com>
231
232         * glib/gmappedfile.c (g_mapped_file_new): Report an error
233         if the file is too large.  (#315275, Kjartan Maraas)
234
235         * glib/gkeyfile.c (g_key_file_load_from_fd): The return value
236         of read() is signed.  (#315273, Kjartan Maraas)
237         
238 2005-08-31  Tor Lillqvist  <tml@novell.com>
239
240         * glib/gutils.h: Wrapping atexit() is a bad idea on Windows, where
241         the EXE and each DLL have their own atexit function chains.
242
243         #define g_atexit as atexit instead. This means it has a
244         better chance of doing what the caller wants. For instance,
245         gtkhtml calls g_atexit() registering a function in gtkhtml
246         itself. This caused a crash when g_atexit() was implemented as a
247         function in the GLib DLL. The gtkhtml DLL was already unloaded by
248         the time the GLib DLL got unloaded.
249
250         * glib/gutils.c: #undef the #define mentioned above, to also get a
251         real g_atexit() into the DLL for backward compatibility. Document
252         the Windows behaviour of g_atexit(), and document the varying ways
253         atexit() can behave in the context of dynamically loaded modules
254         on Unix.
255
256 2005-08-31  Matthias Clasen  <mclasen@redhat.com>
257
258         * glib/glib.symbols: 
259         * glib/gquark.h: 
260         * glib/gdataset.c: Add string interning functions.
261
262 2005-08-28  Matthias Clasen  <mclasen@redhat.com>
263
264         * glib/giochannel.c: Unify some near-duplicate strings. (#314654,
265         Clytie Siddall)
266         
267 2005-08-26  Matthias Clasen  <mclasen@redhat.com>
268
269         * configure.in: Bump version to 2.9.0
270
271 2005-08-25  Tor Lillqvist  <tml@novell.com>
272
273         Make also the g_spawn*() functions take parameters in the GLib
274         file name encoding, i.e. UTF-8, on Windows. Has no impact on Unix
275         API or ABI. Like the other GLib API that was earlier changed to
276         use UTF-8 on Windows, the names of the functions that take UTF-8
277         have _utf8 suffixes added by using preprocessor macros in the
278         header file. The old names are kept for functions with the old
279         behaviour, taking parameters in the system codepage, for DLL ABI
280         stability.
281         
282         * glib/gspawn.h: On Win32 add the suffix _utf8 to the names of the
283         g_spawn*() functions.
284         
285         * glib/gspawn-win32.c: Use wide-char API on NT-based
286         Windows. Convert parameters from UTF-8 to wide chars (NT) or
287         system codepage (Win9x) and call the C library _wspawn*() or
288         spawn*() functions respectvely. Add DLL ABI stability versions
289         that take parameters in the system codepage.
290
291         * glib/gspawn-win32-helper.c: On NT-based Windows use the
292         wide-char versions of argv and envp, and use wide-char API to
293         change directory and spawn the program to run. Remove the verbose
294         debugging output, it was too complex to modify for the wide-char
295         features. (Just add temporary debugging printouts if needed, no
296         need to have them permanently in the source.)
297
298         * glib/gspawn.c: Corresponding documentation updates.
299
300         * glib/glib.symbols: Corresponding changes: Mark the ABI stability
301         symbols as PRIVATE, add the new _utf8-suffixed ones.
302
303 2005-08-24  Stepan Kasal  <kasal@ucw.cz>
304
305         * glib/gtypes.h (G_MININT64): Cast the constant to gint64; it is
306         guint64 otherwise and that can produce warnings about comparison
307         between signed and unsigned.
308
309 2005-08-23  Matthias Clasen  <mclasen@redhat.com>
310
311         * glib/gutils.c: Fix the crt_externs.h include.
312
313 2005-08-23  Stepan Kasal  <kasal@ucw.cz>
314
315         * NEWS: Fix spelling of my first name.
316
317 2005-08-23  Matthias Clasen  <mclasen@redhat.com>
318
319         * Bump version
320
321         * === Released 2.8.1 ===
322
323         * NEWS: Updates
324
325 2005-08-20  Hans Breuer  <hans@breuer.org>
326
327         * glib/makefile.msc.in : link with ws2_32.lib
328
329 2005-08-18  Tor Lillqvist  <tml@novell.com>
330
331         * configure.in: Check for <sys/wait.h>
332
333         * glib/gbacktrace.c: Include <sys/wait.h> on if HAVE_SYS_WAIT_H.
334
335 2005-08-18  Ross Burton  <ross@burtonini.com>
336
337         * glib/gstring.c:
338         Optimise single-character insertions.
339         
340         * glib/gutf8.c:
341         Note copied code.
342         
343         * tests/string-test.c:
344         Add tests for new optimisation, and fix a leak.
345
346 2005-08-17  Matthias Clasen  <mclasen@redhat.com>
347
348         * configure.in: Check for crt_externs.h and _NSGetEnviron.
349
350         * glib/gutils.c: On Darwin, include crt-externs.h and
351         define environ using _NSGetEnviron().  (#313731)
352
353 2005-08-16  Stepan Kasal  <kasal@ucw.cz>
354
355         * glib/gutils.c (g_get_any_init): Move the body of the big if...
356         (g_get_any_init_do): ... to this new function.
357         (g_get_any_init): Declare as inline.
358         (g_get_any_init_locked): New inline function, does the locking.
359         Make use of these two throughout the code.
360
361 2005-08-15  Matthias Clasen  <mclasen@redhat.com>
362
363         * glib/gbacktrace.c (g_on_error_stack_trace): Wait for
364         the child process and then simply return. This makes 
365         The "S" option work as documented in g_on_error_query().
366         (#313125, Matthew F. Barnes)
367
368         * glib/gunicode.h: Update the link to Unicode category
369         values.  (#313369, Behnam Esfahbod)
370
371         * glib/gqueue.c (g_queue_find_custom): Clarify docs
372         a little.  (#311727, Tristan van Berkom)
373
374         * glib/abicheck.sh, gobject/abicheck.sh: Make the 
375         check work on ia64 too, where some symbols ended up 
376         in yet another section.
377