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