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