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