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