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