Implement #491549: On Windows, always use the native API for character set
[platform/upstream/glib.git] / ChangeLog
1 2007-11-26  Tor Lillqvist  <tml@novell.com>
2
3         Implement #491549: On Windows, always use the native API for
4         character set conversions instead of GNU libiconv. Almost all
5         codesets supported by GNU libiconv exist as Windows codepages.
6         One missing feature is the "C99" and "JAVA" pseudo codesets, but I
7         doubt that is worth worrying about.
8         
9         * glib/win_iconv.c: New file. iconv() implementation for
10         Windows. Placed in the public domain by Yukihiro Nakadaira
11         <yukihiro.nakadaira@gmail.com>. From
12         http://yukihiro.nakadaira.googlepages.com/win_iconv.zip, his
13         2007-11-17 version.
14
15         * glib/gconvert.c: Include win_iconv.c on Windows.
16
17         * configure.in: Bypass iconv checks on Windows. 
18
19 2007-11-25  Tor Lillqvist  <tml@novell.com>
20
21         * glib/gtestutils.c: Add conditionals for non-Unix. Just g_error()
22         unless G_OS_UNIX for now.
23
24 2007-11-25  Matthias Clasen  <mclasen@redhat.com>
25
26         * configure.in: Require gtk-doc 1.8.
27
28         * glib/gasyncqueue.c:
29         * glib/gdate.c:
30         * glib/gfileutils.c:
31         * glib/gmain.c:
32         * glib/gmarkup.c:
33         * glib/gregex.c:
34         * glib/gtestutils.c:
35         * glib/gutils.c: Use gtk-doc abbreviations for 
36         examples in doc comments.
37
38 2007-11-24  Matthias Clasen  <mclasen@redhat.com>
39
40         * */Makefile.am: Replace INCLUDES by AM_CPPFLAGS, other
41         cleanups.
42
43 2007-11-24  Matthias Clasen  <mclasen@redhat.com>
44
45         * tests/base64-test.c: Fix a memory overrun.
46
47 2007-11-24  Matthias Clasen  <mclasen@redhat.com>
48
49         * glib/gutils.c: Remove leftover ENABLE_NLS #ifdefs.
50
51 2007-11-23  Matthias Clasen  <mclasen@redhat.com>
52
53         * glib/gbase64.c (g_base64_encode): Don't refuse to encode
54         a single byte.  (Milan Crha)
55
56         * tests/base64-test.c: Test encoding short strings.
57
58 2007-11-23  Matthias Clasen  <mclasen@redhat.com>
59
60         * glib/gi18n-lib.h: 
61         * glib/gi18n.h: Define a two-argument macro C_() for marking
62         translatable strings with context and implement C_() and Q_()
63         using g_dpgettext().  (#142676, Morten Welinder)
64
65         * glib/glib.symbols:
66         * glib/gstrfuncs.[hc]: Implement g_dpgettext().
67
68 2007-11-23  Matthias Clasen  <mclasen@redhat.com>
69
70         * glib/goption.c: Use g_print to print out --help text in 
71         locale encoding.  (#469551, Takao Fujiwara)
72
73 2007-11-22  Matthias Clasen  <mclasen@redhat.com>
74
75         * glib/gkeyfile.c: Set length out param in list-returning functions
76         to 0 when returning NULL.  (#498728, Christian Persch)
77
78 2007-11-21 21:06:47  Tim Janik  <timj@imendio.com>
79
80         * Makefile.decl: initialize automake variables EXTRA_DIST and
81         TEST_PROGS for unconditional appending via += in other makefiles.
82         define recursive test targets: test, test-report, perf-report,
83         full-report, as described here:
84       http://mail.gnome.org/archives/gtk-devel-list/2007-November/msg00000.html
85
86         * Makefile.am:
87         * build/win32/vs8/Makefile.am, build/win32/dirent/Makefile.am:
88         * build/win32/Makefile.am, build/Makefile.am:
89         * docs/Makefile.am, docs/reference/Makefile.am:
90         * docs/reference/glib/Makefile.am, docs/reference/gobject/Makefile.am:
91         * gmodule/Makefile.am, tests/Makefile.am:
92         * tests/refcount/Makefile.am, tests/gobject/Makefile.am:
93         * glib/update-pcre/Makefile.am, glib/libcharset/Makefile.am:
94         * glib/tests/Makefile.am, glib/pcre/Makefile.am:
95         * glib/gnulib/Makefile.am, gobject/Makefile.am, m4macros/Makefile.am:
96         * gthread/Makefile.am, glib/Makefile.am:
97         include $(top_srcdir)/Makefile.decl, adapted EXTRA_DIST assignments.
98
99         * glib/tests/Makefile.am: removed example testing rules.
100
101         * glib/tests/testing.c: conditionalized performance and slow tests.
102
103         * glib/gtestutils.h:
104         * glib/gtestutils.c: work around g_test_config_vars not changing its
105         exported value after value assignments, aparently due to symbol aliases.
106
107         * glib/gtester.c: fixed off-by-one error which produced junk in logs.
108
109         * configure.in: check for python >= 2.4 and provide $PYTHON for scripts.
110
111 Tue Nov 20 15:59:55 2007 +0100 Tim Janik
112
113         Renamed gtestframework to gtestutils.
114
115         * glib/glib.h:
116         * glib/Makefile.am: added gtestutils.h to public includes.
117
118         * glib/gtestutils.c: include gtestutils.h.
119
120         * glib/gtestutils.h:
121         * glib/glib.symbols:
122         * glib/tests/testing.c: renamed gtestframework to gtestutils.
123
124         * glib/gtestframework.h: renamed to gtestutils.h.
125
126         * glib/gtestframework.c: renamed to gtestutils.c.
127
128 Tue Nov 20 15:29:34 2007 +0100 Tim Janik
129
130         glib/gtestframework.c: g_test_init(): make warnings and criticals fatal for all test programs.
131
132 Wed Nov 14 20:35:05 2007 +0100 Tim Janik
133
134         gtestframework.c: added test API documentation by Sven Herzberg and Tim Janik.
135
136 Wed Nov 14 19:10:28 2007 +0100 Tim Janik
137
138         gtestframework.[hc]: implemented g_test_queue_destroy() and g_test_queue_unref().
139
140 Fri Nov 9 12:28:52 2007 +0100 Tim Janik
141
142         Added g_test_bug() and related API.
143
144         * gtester.c: handle G_TEST_LOG_MESSAGE and test test message API.
145
146         * gtestframework.h, gtestframework.c: added test message API and convenience
147         API to send test messages about bug URLs.
148
149 Fri Nov 9 11:35:11 2007 +0100 Tim Janik
150
151         Added API to access test framework configuration.
152
153         * gtestframework.h, gtestframework.c: export testing configuration to test
154         programs with g_test_quick(), g_test_perf(), g_test_verbose(), g_test_quiet().
155
156 Thu Nov 8 17:55:09 2007 +0100 Tim Janik
157
158         gtester: implemented logic to handle failing tests, self tests, and validate XML reports.
159
160         * gtester.c: terminate when tests failed. keep XML valid when test cases fail.
161         restart test binaries when tests fail, resuming after the last processed test.
162         support --gtester-selftest to run gtester itself as test program.
163         support --test-arg=<arg> to pass args along to test programs. added
164         main_selftest() which does a simplistic fixture test. fail if exit
165         code of test programs is not 0.
166
167         * gtestframework.h: added G_TEST_LOG_SKIP_CASE test log message type.
168
169         * gtestframework.c: support --GTestSkipCount=<n> to skip a number of tests.
170
171         * tests/Makefile.am: added test-report: for demonstration purposes.
172         added gtester-xmllint-check: and hooked it up into check:, this rule calls
173         gtester as test program, running it's selftest, and then uses xmllint to
174         validate the generate XML test log file.
175
176 Thu Nov 8 14:51:37 2007 +0100 Tim Janik
177
178         gtester: implemented XML logging.
179
180         * glib/gtester.c: log test messages to XML output file. beautified normal test
181         result output.
182
183         * glib/gtestframework.c: fixed GTimer leak.
184
185         * glib/tests/Makefile.am: start gtester with --verbose.
186
187 Thu Nov 8 12:33:31 2007 +0100 Tim Janik
188
189         tests/Makefile.am: execute test programs with gtester, add test: to check:
190
191 Thu Nov 8 12:18:51 2007 +0100 Tim Janik
192
193         Fixed PLT symbol exports for gtestframework.h.
194
195         * glib/glib.symbols: added all exported gtestframework.h symbols.
196
197         * glib/gtestframework.c: include galias.h, galiasdef.c, define __G_TESTFRAMEWORK_C__.
198
199 Thu Nov 8 11:31:12 2007 +0100 Tim Janik
200
201         glib/gtester.c: fixed debugging flag.
202
203 Wed Nov 7 17:56:26 2007 +0100 Tim Janik
204
205         fixed bogus unistd.h include.
206
207 Wed Nov 7 17:53:30 2007 +0100 Tim Janik
208
209         Implemented test log IPC.
210
211         * gtester.c: read and decode log messages from test binary child processes.
212         fixed GIOChannel and child watch handling to process all messages and avoid
213         hangs. pass --verbose and --quiet on to children, default to --quiet.
214
215         * gtestframework.h: export g_test_log_type_name().
216
217         * gtestframework.c: send test log to --GTestLogFD=<fd> if given, removed
218         bogus -o-option.
219
220 Tue Nov 6 20:07:44 2007 +0100 Tim Janik
221
222         gtester.c: support test case listing through gtester.
223
224 Tue Nov 6 20:01:06 2007 +0100 Tim Janik
225
226         gtestframework.c: fixed testpath matches for automatic root suite.
227
228 Tue Nov 6 19:50:33 2007 +0100 Tim Janik
229
230         gtester.c: adapted to become a rudimentary test binary launcher.
231
232         * gtester.c: increased read buffer size to match common unix pipe buffer size.
233         added argument parsing and usage. changed io handling to capture and replicate
234         stdout. fixed io handlers to be cleaned up when the child process exits (catch
235         G_IO_ERR | G_IO_HUP). we now use pending/iteration instead of a main loop
236         structure, to keep running until the child process exits and all io has been
237         processed. launch the test binaries given on the command line. don't quit when
238         a child couldn't be launched but --keep-going was specified.
239
240 Tue Nov 6 17:11:37 2007 +0100 Tim Janik
241
242         Integrated gtester program into build process.
243
244         * Makefile.am: build and install gtester binary.
245
246         * gtester.c: fixed up coding style and removed hard wired test coded.
247
248 Tue Nov 6 16:12:32 2007 +0100 Sven Herzberg
249
250         glib/gtester.c:Small -Wall fix
251
252 Tue Nov 6 16:05:06 2007 +0100 Sven Herzberg
253
254         glib/gtester.c:Implemented nonblocking reading properly now
255
256 Mon Nov 5 13:53:23 2007 +0100 Sven Herzberg
257
258         glib/gtester.c:Quit the application when the output is parsed completely, not just the process finished
259
260 Mon Nov 5 12:00:16 2007 +0100 Sven Herzberg
261
262         glib/gtester.c:Read the output of the child process
263
264 Mon Nov 5 11:50:59 2007 +0100 Sven Herzberg
265
266         glib/gtester.c:Use g_spawn_async_with_pipes()
267
268 Mon Nov 5 11:50:08 2007 +0100 Sven Herzberg
269
270         glib/gtester.c:Spawn a process async and quit gtester after the child process exited
271
272 Mon Nov 5 11:30:45 2007 +0100 Sven Herzberg
273
274         glib/gtester.c:Added a first revision of gtester
275
276 Tue Nov 6 16:47:06 2007 +0100 Tim Janik
277
278         Implemented test log serialization.
279
280         * glib/gtestframework.h: added g_test_log*() API.
281
282         * glib/gtestframework.c: implement test log serialization.
283
284 Tue Nov 6 14:24:54 2007 +0100 Tim Janik
285
286         Implemented test logging basics.
287
288         * glib/gtestframework.c: added --debug-log and --verbose, implemented
289         test information logging.
290
291         * testing.c: test g_test_maximized_result() and g_test_minimized_result().
292
293 Tue Nov 6 11:52:14 2007 +0100 Tim Janik
294
295         Implemented g_test_timer*().
296
297         * gtestframework.c: implemented g_test_timer*().
298
299         * tests/testing.c: added a g_test_timer*() test.
300
301 Mon Nov 5 18:28:24 2007 +0100 Tim Janik
302
303         Implemented support for testpaths.
304
305         * gtestframework.c: implemented g_test_add_vtable() and g_test_add_func().
306
307         * tests/testing.c: use g_test_add() and g_test_add_func() to majorly simplify main().
308
309 Mon Nov 5 15:56:42 2007 +0100 Tim Janik
310
311         testing.c: added tests for the g_test_rand*() API.
312
313 Mon Nov 5 15:55:38 2007 +0100 Tim Janik
314
315         Implemented g_test_rand*().
316
317         * gtestframework.h: fixed g_assert_cmp*() to evaluate arguments only once.
318         added g_assert_cmpuint(). completed g_test_rand*() to cover bits, ints,
319         doubles and ranges.
320
321         * gtestframework.c: fixed "--seed" option and implemented g_test_rand*().
322
323 Mon Nov 5 15:51:43 2007 +0100 Tim Janik
324
325         testing.c: added tests for g_assert_cmphex() and forked test traps.
326
327 Mon Nov 5 15:10:18 2007 +0100 Tim Janik
328
329         Implemented g_test_trap_fork() API.
330
331         * gtestframework.h: added g_assert_cmphex(). reworked g_test_trap*() API.
332
333         * gtestframework.c: implemented g_test_trap_fork() API.
334
335 Thu Nov 1 15:05:07 2007 +0100 Tim Janik
336
337         * glib/gtestframework.c:
338
339         that match a given test path.
340         (g_test_run_suite): run suite only if it matches the existing test paths.
341
342         * glib/tests/testing.c: minor rename.
343
344 Thu Nov 1 13:45:55 2007 +0100 Tim Janik
345
346         GTest framework started.
347
348         * glib/gtestframework.h: testing framework API as proposed on gtk-devel-list.
349         includes elaborate assertions, performance report functions, test traps,
350         test timer, test random numbers, teardoiwn garbage collection functions
351         and general test case / test suite management APIs.
352
353         * glib/gtestframework.c: first test framework implementation. already covers
354         some test suite management APIs and assertion message implementations.
355
356         * glib/tests/testing.c: test program for the testing framework.
357
358         * glib/tests/Makefile.am: complie testing.c as test. run all tests as part of
359         make test:.
360
361 Wed Oct 31 15:42:48 2007 +0100 Tim Janik
362
363         glib/Makefile.am: build tests/ subdir after building libglib.
364
365 Tue Oct 30 16:17:32 2007 +0100 Tim Janik
366
367         Fixed up internal 'g_test*' names.
368
369         * refcount/signals.c:
370         * refcount/objects.c:
371         * refcount/objects2.c:
372         * refcount/closures.c:
373         * refcount/properties.c:
374         * refcount/properties2.c: changed namespace prefix from g_test_* to my_test_*
375         to not clash with newly introduced g_test* API in glib.
376
377 Tue Oct 30 14:41:26 2007 +0100 Tim Janik
378
379         Added gtestframework.[hc] and glib/tests/.
380
381 2007-11-20  Sven Neumann  <sven@gimp.org>
382
383         * glib/gerror.c (g_error_add_prefix): use g_strconcat() instead of
384         g_strjoin() to concatenate two strings.
385
386 2007-11-19  Marco Barisione  <marco@barisione.org>
387
388         * glib/gregex.c: When the compilation of a pattern fails in the error
389         message use the character offset and not the byte offset.
390
391         * glib/gregex.c: Pass an unsigned long instead of an int to
392         pcre_fullinfo() to avoid problems on 64-bit systems (#498113, Kouhei
393         Sutou)
394
395 2007-11-19 10:30:33  Tim Janik  <timj@imendio.com>
396
397         * configure.in: updated version number to 2.15.0 for development.
398
399 2007-11-18  Matthias Clasen  <mclasen@redhat.com>
400
401         * glib/gbase64.c: Documentation improvements.  (#496518,
402         Stefan Schulze Frielinghaus)
403
404 2007-11-18  Matthias Clasen  <mclasen@redhat.com>
405
406         * configure.in: Check whether assembler supports numerical local
407         labels.  
408
409         * glib/gatomic.c: Fix powerpc implementation of atomic ops for 
410         platforms where the assembler doesn't support numerical local
411         labels.  (#445362)
412
413 2007-11-15  Ryan Lortie  <desrt@desrt.ca>
414
415         * docs/reference/glib/tmpl/markup.sgml:
416         * glib/gmarkup.h:
417         * glib/gmarkup.c: new flag G_MARKUP_PREFIX_ERROR_POSITION to cause the
418         parser to prepend location information (ie: "Error on line %d, char
419         %d:") to errors generated by the GMarkupParser callbacks.
420
421         Closes #496046.
422
423 2007-11-15  Ryan Lortie  <desrt@desrt.ca>
424
425         * docs/reference/glib/glib-sections.txt:
426         * glib/glib.symbols:
427         * glib/gerror.h:
428         * glib/gerror.c: new functions g_prefix_error and
429         g_propagate_prefixed_error.
430
431 2007-11-13  Cody Russell  <bratsche@gnome.org>
432
433         * docs/reference/gobject/gobject-docs.sgml:
434         * docs/reference/gobject/tut_gsignal.xml:
435         * docs/reference/gobject/tut_gtype.xml:
436         * docs/reference/gobject/tut_intro.xml:
437         * docs/reference/gobject/tut_tools.xml:
438         * docs/reference/gobject/tut_howto.xml:
439         * docs/reference/gobject/tut_gobject.xml: Documentation fixes.
440         Recommend macro type names such as NAUTILUS_TYPE_WINDOW (not
441         NAUTILUS_WINDOW_TYPE).  Fixed text which erroneously stated that 
442         superclass initializers don't run when an object is 
443         instantiated.  Fixed numerous spelling mistakes.  Minor grammar 
444         edits. (#490637, Adam Dingle)
445
446 2007-11-09  Matthias Clasen <mclasen@redhat.com>
447
448         * glib/gkeyfile.c: Coding style cleanups and doc 
449         improvements.  (#491979, #491982, Areg Beketovski)
450
451 2007-11-09  Matthias Clasen <mclasen@redhat.com>
452
453         * glib/giochannel.c: Coding style cleanups and doc 
454         improvements.  (#491975, Areg Beketovski)
455
456 2007-11-09  Matthias Clasen <mclasen@redhat.com>
457
458         * glib/gmain.c (g_main_context_iteration): Improve the
459         docs.  (#491974, Areg Beketovski)
460
461 2007-11-09  Matthias Clasen <mclasen@redhat.com>
462
463         * glib/gdate.c: Coding style fixes.
464
465 2007-11-09  Matthias Clasen <mclasen@redhat.com>
466
467         * configure.in: Add AM_PROG_CC_C_O.
468
469         * Makefile.am: Remove the install-exec-local hook and use
470         configexecincludedir_DATA instead, in an attempt to avoid
471         automake 1.9 <> 1.10 incompatibilities.
472
473         * glib/Makefile.am: Rename MIRRORING_TAB_SOURCES, since
474         automake 1.10 complains.
475
476 2007-11-09  Matthias Clasen <mclasen@redhat.com>
477
478         * glib/gspawn.c (g_spawn_sync): Improve the docs.  (#491968,
479         Areg Beketovski)
480
481 2007-11-08  Matthias Clasen <mclasen@redhat.com>
482
483         * glib/gmain.c (g_main_context_release): 
484         (g_main_context_acquire):
485         (g_main_context_new): Fix the doc wording.  (#491957, 
486         #491965, #491966, Areg Beketovski)
487
488 2007-11-08  Matthias Clasen <mclasen@redhat.com>
489
490         * glib/gutils.c (g_set_application_name): Add a missing
491         since tag.  (#464259, Mark Doliner)
492
493 2007-11-08  Matthias Clasen <mclasen@redhat.com>
494
495         * glib/goption.c (g_option_context_new): Improve the docs.
496         (#436293, Vincent Untz)
497
498 2007-11-08  Matthias Clasen <mclasen@redhat.com>
499
500         * glib/gmain.c (g_main_loop_quit): Expand the docs 
501         a bit.  (#317775, Søren Sandmann)
502
503 2007-11-08  Matthias Clasen <mclasen@redhat.com>
504         
505         * autogen.sh: Accept automake 1.10, too
506
507         * mkinstalldirs: Temporarily add this script, to fix building
508         from svn.
509
510         * Makefile.am: Use MKDIRS_P instead of mkinstalldirs, add
511         ChangeLog.pre-2-14 and mkinstalldirs to EXTRA_DIST.
512
513 2007-11-08  Matthias Clasen <mclasen@redhat.com>
514
515         * glib/gmarkup.h: Include gslist.h. Pointed out by Michael Natterer.
516
517 2007-11-08  Matthias Clasen <mclasen@redhat.com>
518
519         * glib/gconvert.c (g_convert_with_iconv): Try harder to reset
520         shift state with AIX iconv().  (#467537)
521
522 2007-11-08  Matthias Clasen <mclasen@redhat.com>
523
524         * configure.in:
525         * m4macros/glib-2.0.m4: Require pkg-config 0.16 in configure
526         and in AM_PATH_GLIB_2_0 to be consistent with the use of
527         PKG_PROG_PKG_CONFIG which was introduced in 0.16.  (#418778,
528         Loïc Minier)
529
530 2007-11-08  Matthias Clasen <mclasen@redhat.com>
531
532         * glib/gstrfuncs.c (g_parse_long_long): Don't leave
533         out parameters uninitialized.  (#490061, Benjamin Otte)
534
535 2007-11-07  Matthias Clasen <mclasen@redhat.com>
536
537         * glib/gmain.c (g_main_context_unref): Don't leak the
538         condvar.  (#479724, Areg Beketovski)
539
540 2007-11-07  Matthias Clasen <mclasen@redhat.com>
541
542         * glib/glib.symbols:
543         * glib/gmarkup.[hc] (g_markup_parse_context_get_element_stack): 
544         New function, to get the stack of open elements.  (#452887,
545         Ryan Lortie)
546
547 2007-11-07  Matthias Clasen <mclasen@redhat.com>
548
549         * glib/gkeyfile.[hc]: Make some functions that take
550         a GError return boolean instead of void.  (#375651, Matt Barnes)
551
552 2007-11-07  Matthias Clasen <mclasen@redhat.com>
553         
554         * autogen.sh: Use automake 1.9
555
556         * acinclude.m4:
557         * configure.in: Move some inter-*.m4 includes from
558         configure.in to acinclude.m4 to avoid warnings when
559         using automake 1.9.  (#449937)
560
561 2007-11-07  Matthias Clasen <mclasen@redhat.com>
562
563         === Branch for 2.14 ===