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