[autogen.sh] Support NOCONFIGURE (from gnome-common)
[platform/upstream/glib.git] / ChangeLog.pre-2-16
1 2008-03-12  Sebastian Dröge  <slomo@circular-chaos.org>
2
3         Bug 316221 - G_LOCK warns about breaking strict-aliasing rules
4
5         * configure.in:
6         * glib/gthread.h: Prevent the compiler from warning about breaking
7         strict-aliasing rules when using gcc 4.3 and G_LOCK on C sources.
8
9 2008-03-12  Tor Lillqvist  <tml@novell.com>
10
11         Bug 520914 - win_iconv doesn't support UCS-2
12         
13         * glib/win_iconv.c: Make UCS-2 just an alias for
14         UTF-16. Technically this is wrong of course, but shouldn't matter
15         an awful lot in practice.
16
17 2008-03-11  Murray Cumming  <murrayc@murrayc.com>
18
19         Bug 521591 – g_markup_parse_context_parse() creates GError message that 
20         is invalid UTF8.
21
22         * glib/gmarkup.c (set_error): Make sure that the GError::message is 
23         valid UTF-8 even if it is complaining about invalid UTF-8 in the 
24         markup text, using _g_utf8_make_valid().
25
26 2008-03-10  Matthias Clasen  <mclasen@redhat.com>
27         
28         * === Released 2.16.1 ===
29
30         * configure.in: Bump version
31
32         * NEWS: Updates
33
34         * glib/pcre/*: Update the internal copy of PCRE to 7.6, this time
35         for real.
36
37 2008-03-10  Matthias Clasen  <mclasen@redhat.com>
38
39         * === Released 2.16.0 ===
40
41         * NEWS: Updates
42
43         * configure.in: Bump version to 2.16.0
44
45 2008-03-10  Matthias Clasen  <mclasen@redhat.com>
46
47         * glib/gslist.c: Fix a doc typo
48
49 2008-03-10  Matthias Clasen  <mclasen@redhat.com>
50
51         * glib/giochannel.c (g_io_channle_set_encoding): Fix confusing
52         error message.  (#521028, Peter Kjellerstedt)
53
54 2008-03-10  Matthias Clasen  <mclasen@redhat.com>
55
56         * tests/testglib.c: Still set the udddocs and uddpubshare 
57         variables for the verbose case.
58
59 2008-03-07  Alexander Larsson  <alexl@redhat.com>
60
61         * configure.in:
62         Look for struct statfs.f_fstypename
63
64 2008-03-07  Tor Lillqvist  <tml@novell.com>
65
66         * README.win32: Updates.
67
68 2008-03-05  Tor Lillqvist  <tml@novell.com>
69
70         * glib/glib.symbols: Remove g_uri_get_scheme.
71
72 2008-03-04  Alexander Larsson  <alexl@redhat.com>
73
74         * glib/gurifuncs.c:
75         Remove deprecated symbols we kept for one release.
76
77 2008-03-03  Matthias Clasen  <mclasen@redhat.com>
78
79         * glib/gutils.h: Add a version of G_INLINE_FUNC for
80         __GNUC__ && __GNUC_STDC_INLINE__, patch by Jakub Jelinek
81
82 2008-03-03  Tor Lillqvist  <tml@novell.com>
83
84         * glib/gspawn-win32.c (read_helper_report): Must set the GError
85         also in the unexpected EOF case.
86         (do_spawn_with_pipes): Must protect also new_argv[0].
87
88 2008-03-01  Benjamin Otte  <otte@gnome.org>
89
90         * glib/glist.c:
91         fix last commit.
92
93 2008-02-29  Matthias Clasen  <mclasen@redhat.com>
94
95         * glib/gslist.c: 
96         * glib/glist.c: Move docs inline, and improve the 
97         g_[s]list_delete_link docs.  (#519352, Owen Taylor)
98
99 2008-02-29  Tor Lillqvist  <tml@novell.com>
100
101         * glib/win_iconv.c (name_to_codepage): Add some GNU libiconv
102         compatibility: Recognize "" and "char" as aliases for the current
103         locale's charset. (We use the system ANSI codepage as returned by
104         GetACP().) Recognize "wchar_t" as an alias for UTF-16LE.
105
106 2008-02-27  Matthew Barnes  <mbarnes@redhat.com>
107
108         * glib/gchecksum.[ch] (g_checksum_update),
109         (g_compute_checksum_for_string): Make 'length' parameter
110         signed to accomodate passing negative lengths. (#510855)
111
112 2008-02-26  Tor Lillqvist  <tml@novell.com>
113
114         * glib/gmain.c (g_poll): Further patch by Vlad Grecescu: Drop the
115         code path that called WaitMessage(), as WaitMessage() doesn't
116         offer any chance for APCs to run. Instead just use the code path
117         with MsgWaitForMultipleObjectsEx() even for the
118         wait-only-for-messages case. (#517484)
119
120 2008-02-25  Matthias Clasen  <mclasen@redhat.com>
121
122         * configure.in: Bump version
123
124         * === Released 2.15.6 ===
125
126         * NEWS: Updates
127
128 2008-02-25  Matthias Clasen  <mclasen@redhat.com>
129
130         * glib/gtestfuncs.c: Add Since: markers to docs.  (#518556, 
131         Jerry Yu)
132
133 2008-02-25  Alexander Larsson  <alexl@redhat.com>
134
135         * glib/glib.symbols:
136         * glib/gurifuncs.[ch]:
137         Rename g_uri_get_scheme to g_uri_parse_scheme.
138         Keep g_uri_get_scheme() symbol for this
139         unstable release to avoid breaking to many apps.
140
141 2008-02-24  Tor Lillqvist  <tml@novell.com>
142
143         * glib/gutils.c (_glib_get_installation_directory): New internal function.
144
145         * glib/gspawn-win32.c: When spawning the helper process, use an
146         explicit full path. (#518292)
147
148         * glib/gspawn-win32.c
149         * glib/gspawn-win32-helper.c: Fix race condition when using the
150         helper process. This seems to fix #510664.
151
152         When the helper process writes the handle of the actual started
153         user process to the parent process, it must be duplicated in the
154         parent process with DuplicateHandle() so that it is a valid handle
155         in that process. However, if the helper process has happened to
156         exit before the DuplicateHandle() call, the duplication will
157         fail. Thus we must synchronise the helper process's exit. Use
158         another pipe for this.
159
160         Take care not to inherit the writing end of this pipe to the
161         helper process. Also, in the helper process, take care not to
162         inherit either of the pipes used for communication with the parent
163         process to the started user process.
164
165 2008-02-24  Tor Lillqvist  <tml@novell.com>
166
167         * glib/gmain.c (g_poll) [Win32]: Use alertable wait functions so
168         that I/O completion routines or user-mode Asynchronous Procedure
169         Calls can be run. (#517484, Vlad Grecescu)
170
171 2008-02-24  Tor Lillqvist  <tml@novell.com>
172
173         * glib/gwin32.c
174         (g_win32_get_package_installation_directory_of_module): New
175         function. Supersedes g_win32_get_package_installation_directory()
176         and g_win32_get_package_installation_directory().
177
178         It makes more sense to have the function for this functionality
179         take a HMODULE as parameter instead of DLL name. The typical use
180         scenario has been to have a DllMain() function that retrieves the
181         full pathname for the DLL in question, and saves just the basename
182         of that. Then later code passes that saved dll basename to
183         g_win32_get_package_installation_directory(), which retrieves the
184         corresponding DLL handle, and then retrieves its full
185         pathname. (Which DLlMain() already had.) It is less convoluted to
186         have a DllMain() that just saves the DLL handle, and then when
187         needed call this function to get the corresponding installation
188         folder.
189
190         (get_package_directory_from_module): Use
191         g_win32_get_package_installation_directory_of_module().
192
193         (g_win32_get_package_installation_directory)
194         (g_win32_get_package_installation_subdirectory): Mention these
195         functions will be deprecated and recommend using
196         g_win32_get_package_installation_directory_of_module() instead.
197         
198         * glib/gwin32.h: Declare
199         g_win32_get_package_installation_directory_of_module().
200
201         * glib/glib.symbols: Add it.
202
203         * glib/gutils.h: Mention G_WIN32_DLLMAIN_FOR_DLL_NAME() will be
204         deprecated in the future.
205
206         * glib/gutils.c: Drop use of G_WIN32_DLLMAIN_FOR_DLL_NAME(). Use a
207         minimal DllMain() instead that just saves the DLL handle.
208         (g_win32_get_system_data_dirs_for_module, _glib_get_locale_dir)
209         (get_module_share_dir): Use
210         g_win32_get_package_installation_directory_of_module().
211
212 2008-02-23  Matthias Clasen  <mclasen@redhat.com> 
213
214         * NEWS: Updates
215
216 2008-02-23  Matthias Clasen  <mclasen@redhat.com> 
217
218         * glib/gkeyfile.c (g_key_file_get_string_list): Return
219         NULL when the key is not found.  (#513171, Дилян Палаузов)
220
221 2008-02-23  Matthias Clasen  <mclasen@redhat.com>
222
223         * tests/testglib.c: Don't test user directories for being
224         non-null.  (#517084, Yevgen Muntyan)
225
226 2008-02-22  Matthias Clasen  <mclasen@redhat.com>
227
228         * glib/gasyncqueue.c:
229         * glib/gtestutils.c: Documentation fixes
230
231 2008-02-21  Tor Lillqvist  <tml@novell.com>
232         
233         * glib/gutf8.c (g_get_charset)
234         * glib/gconvert.c (g_locale_from_utf8): Clarify character set
235         issues on Windows.
236
237 2008-02-20  Tor Lillqvist  <tml@novell.com>
238
239         * glib/gtestutils.c (g_test_trap_fork) [Win32]: Change the
240         g_error() to g_message() to avoid stopping on warnings. At least
241         now testglib runs to completion and the old tests in it get
242         exercised even if the newfangled ones don't.
243         (g_test_trap_assertions) [Win32]: Bypass on Windows.
244
245 2008-02-17  Marco Barisione  <marco@barisione.org>
246
247         * glib/gregex.c: (translate_compile_error), (g_regex_new): Avoid some
248         useless casts from const gchar * to gchar *.  (#516597, patch by
249         Yevgen Muntyan)
250
251 2008-02-17  Marco Barisione  <marco@barisione.org>
252
253         * glib/gregex.c: (match_info_new), (g_match_info_next): Don't return
254         duplicate matches when matching empty strings.  (#515944)
255         * tests/regex-test.c: Add tests.
256
257 2008-02-17  Hans Breuer  <hans@breuer.org>
258
259         * glib/gutils.c : define CSIDL_MYPICTURES if not available
260         * gthread/gthread-win32.c : use G_STRFUNC instead of compiler 
261         specific __FUNCTION__
262
263 2008-02-13  Tor Lillqvist  <tml@novell.com>
264
265         * glib/gwin32.c: Doc change: Deprecate passing anything but NULL
266         for the "package" parameter to
267         g_win32_get_package_installation_directory() and
268         g_win32_get_package_installation_subdirectory().
269
270 2008-02-11  Matthias Clasen <mclasen@redhat.com>
271
272         * configure.in: Bump version
273
274         * === Released 2.15.5 ===
275
276         * NEWS: Updates
277
278 2008-02-11  Matthias Clasen <mclasen@redhat.com>
279
280         * glib/gtestutils.h: Make the g_test_add macro work with 
281         gcc 4.3
282
283         * tests/gobject/paramspec-test.c: Adapt to recent changes in 
284         GParamGType initialization.
285
286 2008-02-10  Matthias Clasen <mclasen@redhat.com>
287
288         * glib/gtestutils.c: Fix a typo in the docs.
289
290 2008-02-09  Matthias Clasen <mclasen@redhat.com>
291
292         * configure.in: Check for getmntent_r.
293
294 2008-02-09  Matthias Clasen <mclasen@redhat.com>
295
296         * Makefile.decl: /bin/ksh can't handle a for-loop with no 
297         arguments, so add a "." for when $(SUBDIRS) is empty.
298
299         * glib/tests/option-context.c:
300         * glib/tests/testing.c:
301         * gthread/gthread-posix.c:
302         * tets/testingbase64.c:
303         * glib/gtester.c: 
304         * glib/gsequence.c: Portability fixes.  (#515154)
305
306 2008-02-07  Tor Lillqvist  <tml@novell.com>
307
308         * configure.in: Unfortunately the mingw implementations of
309         C99-style snprintf and vsnprintf don't seem to be quite good
310         enough, at least not in mingw-runtime-3.14. I don't know exactly
311         what the problem is, but it is related to floating point
312         formatting and decimal point vs. comma, and the symptoms show up
313         in some dialogs in GIMP, presumably also elsewhere. The simple
314         tests in AC_FUNC_VSNPRINTF_C99 and AC_FUNC_SNPRINTF_C99 aren't
315         rigorous enough to notice, though. So preset
316         ac_cv_func_vsnprintf_c99 and ac_cv_func_snprintf_c99 to "no".
317
318 2008-02-07 12:58:54  Tim Janik  <timj@imendio.com>
319
320         * Makefile.am: fixed build order to build gobject after gmodule gthread
321         so gobject tests can be threaded.
322
323 2008-02-07  Ryan Lortie  <desrt@desrt.ca>
324
325         * glib/gmessages.h (g_error): add for(;;); after the g_log call so
326         that GCC stops issuing false warnings about reachability  Bug #514920
327
328 2008-02-06  Matthias Clasen  <mclasen@redhat.com>
329
330         * glib/pcre/*: Update the internal copy of PCRE to 7.6
331
332 2008-02-06  Behdad Esfahbod  <behdad@gnome.org>
333
334         * glib/pltcheck.sh: Skip g_bit_*().  Inline functions may end up with
335         a local plt if the compiler doesn't support what we want.  Bug #514702
336
337 2008-02-06  Murray Cumming  <murrayc@murrayc.com>
338
339         * glib/gconvert.c:
340         * glib/pcre/pcre_internal.h: Fixed some minor typos in documentation.
341
342 2008-02-06  Christian Persch  <chpe@gnome.org>
343
344         * gio/gdesktopappinfo.c: (ensure_dir):
345         * gio/glocalfile.c: (g_local_file_query_filesystem_info),
346         (g_local_file_read), (g_local_file_delete), (g_local_file_trash),
347         (g_local_file_move):
348         * gio/glocalfileinfo.c: (set_xattr), (_g_local_file_info_get),
349         (_g_local_file_info_get_from_fd), (set_unix_mode),
350         (set_unix_uid_gid), (set_symlink), (set_mtime_atime):
351         * gio/glocalfileinputstream.c: (g_local_file_input_stream_read),
352         (g_local_file_input_stream_skip),
353         (g_local_file_input_stream_close),
354         (g_local_file_input_stream_seek):
355         * gio/glocalfileoutputstream.c: (g_local_file_output_stream_write),
356         (g_local_file_output_stream_close),
357         (g_local_file_output_stream_seek),
358         (g_local_file_output_stream_truncate), (copy_file_data),
359         (handle_overwrite_open):
360         * gio/gunixinputstream.c: (g_unix_input_stream_read),
361         (g_unix_input_stream_close), (read_async_cb), (close_async_cb):
362         * gio/gunixoutputstream.c: (g_unix_output_stream_write),
363         (g_unix_output_stream_close), (write_async_cb), (close_async_cb): Save
364         errno before calling other funcs that potentially alter it. Bug
365         #514766.
366
367 2008-02-05 18:42:42  Tim Janik  <timj@imendio.com>
368
369         * configure.in: generate gobject/tests/Makefile.
370
371 2008-02-05  Tor Lillqvist  <tml@novell.com>
372
373         * glib-zip.in: Include the gio import library and gio-2.0.pc in
374         the developer zipfile.
375
376 2008-02-02  Jonathon Jongsma  <jjongsma@gnome.org>
377
378         * gio/gbufferedoutputstream.c:
379         * gio/gbufferedoutputstream.h: modify the new_sized() constructor to take a
380         gsize param instead of guint to match the GBufferedInputStream constructor.
381
382 2008-02-03  Hans Breuer  <hans@breuer.org>
383
384         * **/makefile.msc.in : update
385
386 2008-02-03  Sebastian Dröge  <slomo@circular-chaos.org>
387
388         * configure.in: Check for gmtime_r. Missing part of bug #511807.
389
390 2008-02-01  Yannig Marchegay  <yannig@marchegay.org>
391
392         * configure.in: Add oc since oc.po is back.
393
394 2008-01-31  Michael Natterer  <mitch@imendio.com>
395
396         * glib/gmem.c: use %G_GSIZE_FORMAT instead of %lu since sizes have
397         changed from gulong to gsize in this file.
398
399 2008-01-30  Johan Dahlin  <johan@gnome.org>
400
401         * configure.in: Remove oc since oc.po is gone.
402
403 2008-01-30  Wouter Bolsterlee  <wbolster@svn.gnome.org>
404
405         * glib/gchecksum.c:
406         * glib/gtestutils.c:
407         * glib/gutils.c:
408
409         Fixed gtk-doc warnings by updating the documentation of
410         various functions.
411
412 2008-01-29 14:58:31  Tim Janik  <timj@imendio.com>
413
414         * glib/gmem.[hc]: changed size argument type from gulong to gsize as
415         discussed on gtk-devel-list:
416           http://mail.gnome.org/archives/gtk-devel-list/2007-March/msg00062.html
417         this should be ABI compatible on all platforms except win64 for which
418         no ABI binding port exists yet.
419
420 2008-01-29  Sebastian Wilhelmi  <wilhelmi@google.com>
421
422         * tests/threadpool-test.c (test_thread_pools): Grab
423         thread_counter_pools LOCK when increasing
424         leftover_task_counter. Fixes race in test. (#512624, Simon Murray)
425
426 2008-01-28  Matthias Clasen  <mclasen@redhat.com>
427
428         * configure.in: Bump version
429
430 2008-01-28  Matthias Clasen  <mclasen@redhat.com>
431
432         * === Released 2.15.4 ===
433
434         * NEWS: Updates
435
436 2008-01-28  Matthias Clasen  <mclasen@redhat.com>
437
438         * configure.in: Check for gmtime_r.  
439         * glib/gtimer.c: Use gmtime_r when available.  (#511807,
440         Sebastian Dröge)
441
442 2008-01-27  Matthias Clasen  <mclasen@redhat.com>
443
444         * glib/gnode.[hc]: Move docs inline.  (#316260, Philippe Blain)
445
446 2008-01-27  Matthias Clasen  <mclasen@redhat.com>
447
448         * glib/gutf8.c (g_utf8_strreverse): Document limitations
449         of this function.  (#487909, Peter Moulder)
450
451 2008-01-27  Matthias Clasen  <mclasen@redhat.com>
452
453         * glib/goption.c (group_list_has_visible_entries):
454         Removed unused variable is_main_group.  (#512381,
455         Wouter Bolsterlee)
456
457 2008-01-27  Matthias Clasen  <mclasen@redhat.com>
458
459         * glib/gmacros.h: Deprecate G_GNUC_(PRETTY)_FUNCTION. Bug #409360.
460
461 2008-01-27  Matthias Clasen  <mclasen@redhat.com>
462
463         * m4macros/glib-gettext.m4: Remove AC_CANONICAL_HOST from
464         GLIB_WITH_NLS again.  (#385132)
465
466 2008-01-27  Matthias Clasen  <mclasen@redhat.com>
467
468         * configure.in: Fix the pcre Unicode test to work with
469         LDFLAGS=-Wl,--as-needed.  (#484261, Mark Lee)
470
471 2008-01-27  Murray Cumming  <murrayc@murrayc.com>
472
473         * gio/gfile.c: (g_file_replace_contents),
474         (g_file_replace_contents_finish): Document that the new_etags output 
475         gchar* should be freed.
476
477 2008-01-25  Loïc Minier  <lool@dooz.org>
478
479         * glib/goption.c: (group_has_visible_entries),
480         (group_list_has_visible_entires), (g_option_context_get_help): Pass
481         context down the implementation to check for the main_group.
482         Bug #510292.
483         * glib/tests/option-context.c:
484         Don't set G_OPTION_FLAG_IN_MAIN in main_entries
485         (group_captions): only create group when actually adding it to the
486         context; add an exit(0) to make sure the test succeeds.
487
488 2008-01-23  Jens Granseuer  <jensgr@gmx.net>
489
490         * glib/gtestutils.c: (g_test_trap_fork):
491         * glib/tests/testing.c: (test_assertions): Only declare variables at
492         the beginning of a code block. Bug #511654.
493
494 2008-01-21  Matthias Clasen  <mclasen@redhat.com>
495
496         * configure.in: Bump version
497
498         * === Released 2.15.3 ===
499
500 2008-01-21  Tor Lillqvist  <tml@novell.com>
501
502         * glib-zip.in: Add the gio DLL to the runtime zipfile.
503
504 2008-01-21  Matthias Clasen  <mclasen@redhat.com>
505
506         * === Released 2.15.3 ===
507
508         * NEWS: Updates
509
510 2008-01-20  Murray Cumming  <murrayc@murrayc.com>
511
512         * glib/gchecksum.c: (g_checksum_update): Accept -1 for the data 
513         length if the data is a null-terminated string. Bug #510855.
514
515 2008-01-21  Alexander Larsson  <alexl@redhat.com>
516
517         * configure.in:
518         Only check for sys/inotify.h (see gio/ChangeLog) 
519
520 2008-01-18 16:51:23  Tim Janik  <timj@imendio.com>
521
522         * glib/gutils.h: don't define __GNUC_PREREQ which is not in the glib
523         namespace. for gcc, define G_INLINE_FUNC to "static inline" as with
524         all other C compilers, because newer GCC versions incompatibly
525         changed "extern inline" semantics.
526
527 2008-01-18  Murray Cumming  <murrayc@murrayc.com>
528
529         * glib/gfileutils.c:
530         * glib/gsequence.c:
531         * glib/gstring.c: Fixed some minor typos in the documentation.
532
533 2008-01-16  Dan Winship  <danw@gnome.org>
534
535         * glib/gchecksum.c (md5_sum_update): Fix another bug (which
536         doesn't affect the results, but may cause it to read bad memory).
537
538 2008-01-15  Alexander Larsson  <alexl@redhat.com>
539
540         * glib/gurifuncs.c:
541         Clarify docs for g_uri_unescape_string() (#508773)
542
543 2008-01-14  Dan Winship  <danw@gnome.org>
544
545         * m4macros/glib-2.0.m4: Support gio in AM_PATH_GLIB_2_0 (#509465)
546
547 2008-01-15  Dan Winship  <danw@gnome.org>
548
549         * glib/gchecksum.c (md5_sum_update): fix this; the previous code
550         gave the wrong md5sum when called in certain ways with buffers
551         larger than 64 bytes.
552         (g_checksum_update): remove the unnecessary "length > 1"
553         restriction
554
555         * tests/checksum-test.c: Rewrite this to be much more exhaustive
556         (and in particular to test the md5_sum_update bugfix).
557
558 2008-01-14  Matthias Clasen  <mclasen@redhat.com>
559
560         * configure.in: Bump version
561
562         * === Released 2.15.2 ===
563
564         * NEWS: Updates
565
566 2008-01-14  Alexander Larsson  <alexl@redhat.com>
567
568         * glib/gurifuncs.c:
569         Clarify docs for g_uri_escape_string (#508773)
570
571 2008-01-12  Andre Klapper  <a9016009@gmx.de>
572
573         * configure.in: ALL_LINGUAS: remove line breaks from previous 
574         commit to get damned-lies stats correct again. Add Sinhala (si).
575
576 2008-01-11  Matthias Clasen  <mclasen@redhat.com>
577
578         * glib/gtestutils.c: Fix a docs typo
579
580 2008-01-11 12:55:19  Tim Janik  <timj@imendio.com>
581
582         * tests/testingbase64.c: added g_base64_encode()/g_base64_decode()
583         test case by Asbjoern Pettersen. fixed up coding style.
584
585 2008-01-11 09:00:28  Tim Janik  <timj@imendio.com>
586
587         * glib/Makefile.am (install-exec-hook): use mv/sed/rm on a temporary
588         file instead of "sed -i" which is not portable enough.
589
590 2008-01-08  Alexander Larsson  <alexl@redhat.com>
591
592         * tests/cxx-test.C:
593         Add gio/gio.h include to check for c++ problems.
594
595 2008-01-07  Matthias Clasen  <mclasen@redhat.com>
596
597         * configure.in: Bump version
598
599         * === Released 2.15.1 ===
600
601 2008-01-07  Alexander Larsson  <alexl@redhat.com>
602
603         * configure.in:
604         Add gio/test/Makefile to AC_CONFIG_FILES
605
606 2008-01-07  Matthias Clasen  <mclasen@redhat.com>
607
608         * NEWS: Updates
609
610 2008-01-06  Matthias Clasen  <mclasen@redhat.com>
611
612         * glib/gregex.c: Add a translator comment (#503051, 
613         Pedro de Medeiros)
614
615 2008-01-06  Matthias Clasen  <mclasen@redhat.com>
616
617         * glib/gutils.h: Cope with gcc 4.3 changed 'extern inline'
618         semantics.  (#315437, patch by Loïc Minier)
619
620 2008-01-06  Matthias Clasen  <mclasen@redhat.com>
621
622         * glib/gspawn.c (fdwalk): Don't set open_max to
623         RLIM_INFINITY.  (#495589, Tommi Komulainen)
624
625 2008-01-06  Matthias Clasen  <mclasen@redhat.com>
626
627         * README.in, INSTALL.in: Document new dependencies.
628
629 2008-01-06  Matthias Clasen  <mclasen@redhat.com>
630
631         * gio-2.0.pc.in, gio-2.0-uninstalled.pc.in: Require glib-2.0
632         (#507628)
633
634 2008-01-04  Mathias Hasselmann  <mathias@openismus.com>
635
636         Resolve 64 bit-shift bug in g_markup_collect_attributes.
637         Spotted by Lieven van der Heide.
638
639         * glib/gmarkup.c: Use G_GUINT64_CONSTANT in bit-shift.
640
641 2008-01-02  Alvaro Lopez Ortega  <alvaro@sun.com>
642
643         * gio/gunixmount.c (g_unix_mount_unmount, g_unix_mount_eject):
644         These void functions were trying to return a value. It was causing
645         the compilation to fail.
646
647 2008-01-02  Alvaro Lopez Ortega  <alvaro@sun.com>
648
649         * glib/ghash.c (g_hash_table_replace, g_hash_table_insert): These
650         functions prototype defines its output as void, and therefore they
651         should not return any value. This patch fixes a compilation error:
652         the "return" clauses were incompatible with the functions prototype.
653
654 2007-12-31  Matthias Clasen  <mclasen@redhat.com>
655
656         * glib/gslice.c: Remove C99 comments
657
658 2007-12-24  Matthias Clasen  <mclasen@redhat.com>
659
660         * glib/gtestutils.h:
661         * glib/glib.symbols: Mark assertion functions as G_GNUC_NORETURN.
662         (#506461, Sebastian Dröge)
663
664 2007-12-24  Matthias Clasen  <mclasen@redhat.com>
665
666         * glib/gtestutils.c: Include sys/time.h.  (#505258)
667
668 2007-12-22  Mathias Hasselmann  <mathias@openismus.com>
669
670         Do not show empty groups in --help output. Initial patch from Yevgen
671         Muntyan. (#504142)
672
673         * glib/goption.c: Do not show empty groups in --help output.
674         * glib/tests/Makefile.am: Add option-context.c
675         * glib/tests/option-context.c: Test skipping of empty groups.
676
677 2007-12-22  Matthias Clasen  <mclasen@redhat.com>
678
679         * glib/gkeyfile.c: Remove wrong documentation about start group
680         handling.  (#476856, Areg Beketovski)
681
682 2007-12-21 18:02:30  Tim Janik  <timj@imendio.com>
683
684         * glib/Makefile.am: use "sed -i.bak <CMD> <FILE> && rm -f <FILE>.bak"
685         syntax for install-exec-hook, which seems to be the only "sed -i"
686         variant that is portable across linux and MacOS.
687
688 2007-12-21  Matthias Clasen  <mclasne@redhat.com>
689
690         * glib/gtestutils.h: Bring up to GLib coding standards: remove
691         C99 comments, trailing commas in enumerations and extra ; after
692         G_BEGIN/END_DECLS. Among other things, this makes xulrunner build
693         against GLib 2.15.
694
695         * glib/gtester.c: More of the same
696
697 2007-12-09  Hans Breuer  <hans@breuer.org>
698
699         * tests/gio-ls.c : adapt to recent api changes
700         * tests/testglib.c : variable declaration at the beginning of a block
701         
702         (Lieven van der Heide, #503602)
703         * win32-fixup.pl : process *.rc.in as well; substitute 
704         LT_CURRENT_MINUS_AGE
705         * glib/makefile.msc.in : alphabetic sorting of OBJECTS
706
707 2007-12-20  Matthias Clasen  <mclasen@redhat.com>
708
709         * configure.in: Bump version
710
711         * === Released 2.15.0 ===
712
713         * NEWS: Updates
714
715         * glib/Makefile.am: Fix make dist
716
717 2007-12-20 16:34:04  Tim Janik  <timj@imendio.com>
718
719         * glib/gtester-report: commented class definitions. moved HTML character
720         escaping out of javascript. fixed string->bool conversions. added performance
721         results to test case "Details" window.
722
723 2007-12-20  Matthias Clasen  <mclasen@redhat.com>
724
725         * glib/gchecksum.[hc] (g_checksum_new): Return NULL when 
726         the checksum_type is unknown.  (#501853)
727
728 2007-12-20  Christian Persch  <chpe@gnome.org>
729
730         * glib/gchecksum.c (g_checksum_new): Use g_slice_new0, to fix
731         "conditional jump or move depends on uninitialised value(s)" error
732         from valgrind. Bug #504527.
733
734 2007-12-20 15:17:04  Tim Janik  <timj@imendio.com>
735
736         * Makefile.decl: generate HTML reports for test-report perf-report full-report.
737
738 2007-12-20 15:03:51  Tim Janik  <timj@imendio.com>
739
740         * glib/gtester-report: new python script that generates an HTML
741         unit test report from the XML files generated by gtester.
742
743         * glib/Makefile.am: install gtester-report in $bindir and configure
744         it upon installation (version number and python shebang).
745
746 2007-12-19  Matthias Clasen  <mclasen@redhat.com>
747
748         * glib/glib.symbols: Add g_async_queue_new_full
749
750 2007-12-19 20:30:18  Tim Janik  <timj@imendio.com>
751
752         * glib/gtestutils.c: capture g_log() messages and send to gtester.
753         also, send assertion messages to gtester.
754
755         * glib/gtester.c: add error messages to output log file.
756         force child poll loop to abort if waitpid() signaled child exit,
757         eventhough the child's report file descriptor wasn't closed.
758
759 2007-12-19  Christian Persch  <chpe@gnome.org>
760
761         * glib/gchecksum.c: (g_checksum_type_get_length),
762         (g_checksum_get_digest):
763         * glib/gchecksum.h:
764         * glib/glib.symbols:
765         * tests/checksum-test.c: (test_checksum): Add
766         g_checksum_type_get_length, and change g_checksum_get_digest to use a
767         provided buffer instead of returning allocated memory. Bug #501853.
768
769 2007-12-19  Emmanuele Bassi  <ebassi@gnome.org>
770
771         * glib/gtimer.c (g_time_val_from_iso8601): Fix the date validation
772         check. (#503029)
773
774         * tests/testglib.c (various_string_tests): Add an invalid date
775         for testing the above fix.
776
777 2007-12-19  Alexander Larsson  <alexl@redhat.com>
778
779         * glib/gfileutils.[ch]:
780         * glib/glib.symbols:
781         Rename g_format_file_size_for_display to g_format_size_for_display.
782
783 2007-12-18  Tim-Philipp Müller  <tim at centricular dot net>
784
785         * docs/reference/glib/glib-sections.txt:
786         * glib/gasyncqueue.c: (g_async_queue_new), (g_async_queue_new_full),
787           (g_async_queue_unref):
788         * glib/gasyncqueue.h: add g_async_queue_new_full() which takes a
789           GDestroyNotify function to free any remaining queue items when the
790           queue is destroyed after the final atomic unref (#367550).
791
792 2007-12-18 13:45:23  Tim Janik  <timj@imendio.com>
793
794         * glib/gtestutils.[hc]: added g_test_trap_assert_stdout_unmatched() and
795         g_test_trap_assert_stderr_unmatched(), based on a suggestion by Mathias
796         Hasselmann. reworked g_test_trap_assertions() to use flags to encode
797         assertion semantics, fixes #504227.
798
799 2007-12-16  Mathias Hasselmann  <mathias@openismus.com>
800
801         * glib/gutils.c:
802         Allow NULL strings in g_parse_debug_string. (#503862, Matthew Barnes)
803
804 2007-12-14  Matthias Clasen  <mclasen@redhat.com>
805
806         * glib/glib.symbols:
807         * glib/ghash.[hc]: Add hash table iterators.  (#500507,
808         Jean-Yves Lefort)
809
810         * tests/hash-test.c: Test iterators. 
811
812 2007-12-13  Mathias Hasselmann  <mathias@openismus.com>
813
814         Give exmples in error message unsupported case-changing escape
815         sequences. (503222)
816
817         * glib/gregex.c: Add examples to error message for PCRE-ERR37.
818
819 2007-12-13  Bastien Nocera  <hadess@hadess.net>
820
821         * glib/gtimer.c: (g_time_val_from_iso8601):
822         Don't try to parse dates that start with anything but a
823         digit, a plus or a minus sign, as those can't be valid
824         ISO8601 dates (Closes: #503029)
825
826 2007-12-13  Matthias Clasen  <mclasen@redhat.com>
827
828         * glib/gkeyfile.c (g_key_file_clear): Free group_hash.
829         (#503420, Christian Persch)
830
831 2007-12-12 16:06:11  Tim Janik  <timj@imendio.com>
832
833         * tests/testglib.c: split up tests and reworked code to use
834         the new test framework.
835
836         * tests/Makefile.am: added testglib to TEST_PROGS.
837
838 2007-12-11 Rahul Bhalerao <b.rahul.pm@gmail.com>
839
840         * configure.in: Added entry for Marathi Translations
841
842 2007-12-10  Matthias Clasen  <mclasen@redhat.com>
843
844         * glib/glib.h: Include gurifuncs.h
845
846 2007-12-10  Benjamin Otte  <otte@gnome.org>
847
848         * glib/garray.h: use an intermediate cast to void * in g_array_index()
849         to not trigger cast alignment warnings, fixes #502927.
850
851 2007-12-10 15:08:59  Tim Janik  <timj@imendio.com>
852
853         * let g_warn_if_fail replace g_assert as discussed here:
854           http://mail.gnome.org/archives/gtk-devel-list/2007-October/msg00089.html
855
856         * fix bug #502498: Test framework assertion failures should follow
857         gcc error format.
858
859         * gmessages.h, gmessages.c: deprecated g_assert_warning() which is
860         unused now. removed g_assert*() definitions whcih are provided by 
861         gtestutils.h now. added g_warn_if_reached() and g_warn_if_fail()  
862         which are recommended as g_assert/g_assert_not_reached replacements
863         for non-test programs.
864         added g_warn_message() to implement g_warn_*() macros.
865         use emacs-next-error friendly formatting for file:line: for warnings.
866
867         * gtestutils.h, gtestutils.c: use emacs-next-error friendly formatting.
868         implement g_assert_not_reached() with g_assertion_message() and
869         g_assert() in terms of g_assertion_message_expr() so we'll be able to
870         provide assertion messages in test logs.
871
872         * gkeyfile.c, gbookmarkfile.c: changed g_assert*() to g_warn_if_fail()
873         or g_return_if_fail() where suitable.
874
875         * gio/: changed g_assert to g_warn_if_fail.
876
877 2007-12-10 13:02:08  Tim Janik  <timj@imendio.com>
878
879         * glib/gtestutils.c (g_assertion_message_cmpnum): applied patch by Tommi
880         Komulainen to fix int64 printouts, fixes #502511.
881
882 2007-12-10  Matthias Clasen  <mclasen@redhat.com>
883
884         * glib/gstrfuncs.h:
885         * glib/gstrfuncs.c (g_dpgettext): Change prototype to take 
886         msgctxtid + offset instead of two strings, to avoid duplication
887         of string constants if the compiler/linker don't perform constant
888         suffix merging.  (#502590, Christian Persch)
889
890         * glib/gi18n.h:
891         * glib/gi18n-lib.h: Adapt the definitions of C_() and Q_().
892
893 2007-12-09  Hans Breuer  <hans@breuer.org>
894
895         * tests/gio-ls.c : (new file) a test program emulating some of 'ls'
896         * tests/makefile.msc.in : build it (currently on win32)
897
898         * **/makefile.msc glib/makefile.msc.in : removed -GD to compile
899         with msvc9 (vs2008) with less complains
900         
901         * glibconfig.h.win32.in : #define G_HAVE_ISO_VARARGS 1 for
902         msv8 (vs2005) and above
903         
904         * glib/gfileutils.c : s/stricmp/_stricmp/
905         * msvc_recommended_pragmas.h : work around Microsoft's premature 
906         attempt to deprecate the C-Library
907
908         * tests/makefile.msc.in : added checksum-test
909
910 2007-12-08  Christian Persch  <chpe@gnome.org>
911
912         * gio/glocalfileinfo.c: (get_thumbnail_attributes): Add forgotten
913         #ifdef G_OS_WIN32 to fix the build on linux.
914
915 2007-12-08  Hans Breuer  <hans@breuer.org>
916
917         * glib/makefile.msc.in : build gchecksum.obj
918
919 2007-12-06  Mathias Hasselmann  <mathias@openismus.com>
920
921         * glib/ghash.c: Call destroy notify when destroying
922         the hash table in g_hash_table_unref.
923
924 2007-12-06 13:29:00  Tim Janik  <timj@imendio.com>
925
926         * glib/gtester.c (child_report_cb): detect non-blocking fd EOF
927         by read()==0 following poll(), needed on MacOS.
928
929 2007-12-06  Mathias Hasselmann  <mathias@openismus.com>
930
931         * glib/gunidecomp.c: Mention g_utf8_normalize()
932         returns NULL on invalid string. (#501997)
933
934 2007-12-06  Mathias Hasselmann  <mathias@openismus.com>
935
936         * glib/gerror.c: Improve wording for g_propagate_error docs.
937
938 2007-12-06 09:27:42  Tim Janik  <timj@imendio.com>
939
940         * tests/scannerapi.c: added new scanner test from #501654, by
941         Patrick Hulin with various modifications.
942         reworked coding style, adapted to new testing framework, fixed
943         token parser test and use a forked sub process to test
944         g_scanner_error() output messages.
945
946 2007-12-05 17:58:18  Tim Janik  <timj@imendio.com>
947
948         * glib/gtester.c: added -m=thorough support to gtester.
949
950 2007-12-05 17:21:05  Tim Janik  <timj@imendio.com>
951
952         * glib/glib/gtestutils.c: print out random seed for verbose tests,
953         also adapted test result reporting slightly in verbose mode to allow
954         custom debugging output. support "thorough" as test mode alis for "slow".
955
956         * glib/glib/gtestutils.h: added g_test_thorough().
957
958         * glib/glib/gtester.c: print out the last random seed when tests fail.
959         added result attribute to test case status logging to easily spot
960         failing tests in log files. disabled debugging output when skipping tests.
961
962 2007-12-05 11:43:22  Tim Janik  <timj@imendio.com>
963
964         * glib/gtestutils.[hc]: added g_test_add_data_func() to pass data
965         into tests. allow data arguments for fixture tests.
966
967         * glib/gtestutils.c: fixed fatal log flag setup, so tests really abort
968         upon criticals/warnings/errors.
969
970         * glib/tests/testing.c: test test_data arguments.
971
972         * glib/gtester.c: some prototype fixups.
973
974 2007-12-05  Tor Lillqvist  <tml@novell.com>
975
976         * glib/win_iconv.c: Add "shift-jis" as an alternative spelling of
977         "shift_jis".
978
979 2007-12-05  Ryan Lortie  <desrt@desrt.ca>
980
981         * autogen.sh: for the benefit of git users, checkout build/ if it is
982         missing
983         * .gitignore: but after that, ignore it.
984
985 2007-12-05  Ryan Lortie  <desrt@desrt.ca>
986
987         * glib/ghash.c: ungtk-docify some comments for internal functions
988
989 2007-12-04  Emmanuele Bassi  <ebassi@gnome.org>
990
991         * gio/glocalfileinfo.c: Replace the copy-and-paste MD5 digest
992         generation with GChecksum.
993
994 2007-12-04  Emmanuele Bassi  <ebassi@gnome.org>
995
996         * glib/gchecksum.[ch]: Add GChecksum, a generic wrapper around
997         various hashing algorithms. At the moment, the MD5, SHA-1 and
998         SHA-256 algorithms are supported. (#443648)
999
1000         * glib/glib.h:
1001         * glib/Makefile.am:
1002         * glib/glib.symbols: Build glue for GChecksum
1003
1004         * tests/Makefile.am
1005         * tests/checksum-test.c: Add test suite for GChecksum.
1006
1007 2007-12-03  Ryan Lortie  <desrt@desrt.ca>
1008
1009         * glib/ghash.c: no code changes; add comments to document the internal
1010         functions.
1011
1012 2007-12-03  Ryan Lortie  <desrt@desrt.ca>
1013
1014         * glib/ghash.c: no code changes; reorder functions to remove the need
1015         for forward declarations.
1016
1017 2007-12-03  Ryan Lortie  <desrt@desrt.ca>
1018
1019         * glib/ghash.c (g_hash_table_lookup_node,
1020         g_hash_table_lookup_extended, g_hash_table_insert_internal,
1021         g_hash_node_new): improve clarity in some functions
1022
1023 2007-12-03  Ryan Lortie  <desrt@desrt.ca>
1024
1025         * glib/ghash.c: rename 'node' to 'node_ptr' where appropriate
1026
1027 2007-12-03  Ryan Lortie  <desrt@desrt.ca>
1028
1029         * glib/ghash.c: convert G_HASH_TABLE_RESIZE() macro to inline function
1030
1031 2007-12-03  Ryan Lortie  <desrt@desrt.ca>
1032
1033         * glib/glib.symbols (glib_gettext): remove stray (duplicate) entry
1034         from file to fix the build
1035
1036 2007-12-03  Behdad Esfahbod  <behdad@gnome.org>
1037
1038         * glib/gnulib/Makefile.am: Fix EXTRA_DIST automake warnings. (#501107)
1039
1040 2007-12-03  Hans Breuer  <hans@breuer.org>
1041
1042         * glib/glib.symbols : added glib_gettext (in use by gio)
1043         * makefile.msc : also try building gio
1044         
1045         * glib/gmarkup.c : use G_GUINT64_CONSTANT() to avoid 
1046         'bad suffix on number'
1047         * glib/gtestutils.c : declare cariable at the beginning of the block,
1048         include <io.h> for G_OS_WIN32
1049         * makefile.msc.in : add gurifuncs and gtestutils
1050
1051 2007-12-03  Ryan Lortie  <desrt@desrt.ca>
1052
1053         * glib/ghash.c: create a common function for the many places where all
1054         nodes in the table are removed (remove_all, steal_all, destroy, unref,
1055         etc...)
1056
1057 2007-12-03  Ryan Lortie  <desrt@desrt.ca>
1058
1059         * tests/hash-test.c (second_hash_test): fix memory leak, add a few
1060         extra sanity tests.
1061
1062 2007-12-03  Matthias Clasen  <mclasen@redhat.com>
1063         
1064         * glib/gkeyfile.c: Don't call g_get_language_names() per-key.
1065         (#500638, Michael Meeks)
1066
1067 2007-12-03  Marco Barisione <marco@barisione.org>
1068
1069         * glib/gregex.c:
1070         * glib/gregex.h: Add new error codes for when compilation fails and
1071         make compilation error translatable. (#482313, Morten Welinder)
1072
1073 2007-12-03  Matthias Clasen  <mclasen@redhat.com>
1074
1075         * glib/gkeyfile.c: Add a hash table to speed up group lookups,
1076         which GKeyFile does quite a lot.  
1077
1078 2007-12-03  Alexander Larsson  <alexl@redhat.com>
1079
1080         * configure.in:
1081         Add xattr checks for OSX style API (#500506)
1082
1083 2007-12-03  Ryan Lortie  <desrt@desrt.ca>
1084
1085         * glib/ghash.c: merge more common code into functions.  Vastly
1086         simplify loop logic in g_hash_table_foreach_remove_or_steal().
1087
1088 2007-12-01  Behdad Esfahbod  <behdad@gnome.org>
1089
1090         * Makefile.am: Don't descend into build/. (#500875)
1091
1092 2007-11-28  Matthias Clasen  <mclasen@redhat.com>
1093
1094         * glib/gmarkup.h:
1095         * glib/gmarkup.c: 
1096         * glib/gerror.c: Add Since: tags to new API, other doc improvements.
1097
1098 2007-11-28  Matthias Clasen  <mclasen@redhat.com>
1099
1100         * glib/gurifuncs.c: Some doc cleanups
1101
1102 2007-11-28  Matthias Clasen  <mclasen@redhat.com>
1103
1104         * glib/gtestutils.c: Fix up some doc comments, avoid C99 comments
1105
1106         * glib/gconvert.c: De-doc-commentify static functions to
1107         shut up gtk-doc.
1108
1109         * glib/gutils.c: Fix the glib_gettext doc comment.
1110
1111 2007-11-28  Tor Lillqvist  <tml@novell.com>
1112
1113         * config.h.win32.in: Update to match what configure produces.
1114
1115 2007-11-28  Alexander Larsson  <alexl@redhat.com>
1116
1117         * glib/gstring.c (g_string_append_uri_escaped):
1118         Move this function before g_string_append_c so that
1119         we avoid the plt call due to the undefinf of g_string_append_c
1120
1121 2007-11-28  Emmanuele Bassi  <ebassi@gnome.org>
1122
1123         * gio/Makefile.am: Remove makegioalias.pl from the marshal files
1124         and avoid it being cleaned up when running make clean.
1125
1126 2007-11-28  Alexander Larsson  <alexl@redhat.com>
1127
1128         * glib/glib.symbols:
1129         Add in the new symbols
1130         
1131         * glib/gurifuncs.c:
1132         Use the aliases framework
1133         
1134         * glib/glibintl.h:
1135         * glib/gutils.c:
1136         Make the alias stuff work now that glib_gettext
1137         is exported to libgio. 
1138
1139 2007-11-27  Ryan Lortie  <desrt@desrt.ca>
1140
1141         * glib/ghash.c (g_hash_table_insert, g_hash_table_replace,
1142         g_hash_table_insert_internal): insert/replace were identical except
1143         for a single line.  Replace both with a common function.
1144
1145 2007-11-27  Alexander Larsson  <alexl@redhat.com>
1146
1147         * gio/Makefile.am:
1148         * gio/gurifuncs.[ch]:
1149         * glib/Makefile.am:
1150         * glib/gstring.[ch]:
1151         * glib/gurifuncs.[ch]:
1152         Moved gurifuncs from gio to glib
1153
1154 2007-11-27  Alexander Larsson  <alexl@redhat.com>
1155
1156         * gio/gfileinfo.[ch]:
1157         * glib/gfileutils.[ch]:
1158         Move g_format_file_size_for_display from gio to glib
1159
1160 2007-11-27  Alexander Larsson  <alexl@redhat.com>
1161
1162         * configure.in:
1163         Allow configuration of gio-module-dir
1164         
1165         * gio-2.0.pc.in:
1166         Export giomodules location as giomodule variable
1167
1168 2007-11-26  Matthias Clasen  <mclasen@redhat.com>
1169
1170         * tests/markup-collect.c: Add some tests for invalid booleans
1171
1172 2007-11-26  Ryan Lortie  <desrt@desrt.ca>
1173  
1174         Add new function g_markup_collect_attributes (bug #496847).
1175  
1176         * glib/glib.symbols: add g_markup_collect_attributes
1177  
1178         * docs/reference/glib/glib-sections.txt: 
1179         * glib/gmarkup.h:
1180         * glib/gmarkup.c: add g_markup_collect_attributes and new enumerated
1181         type GMarkupCollectType.  Add new error code
1182         G_MARKUP_ERROR_MISSING_ATTRIBUTE that is thrown by the attribute
1183         collector.
1184
1185 2007-11-27  Tor Lillqvist  <tml@novell.com>
1186
1187         * glib/win_iconv.c: Some improvements, being upstreamed.
1188         (must_use_null_useddefaultchar): New function, checks for those
1189         codepages for which one must pass a NULL lpUsedDefaultChar pointer
1190         to WideCharToMultiByte().
1191         (kernel_wctomb): Use it.
1192         (kernel_wctomb): Return with E2BIG immediately if bufsize is zero.
1193
1194 2007-11-27  Tor Lillqvist  <tml@novell.com>
1195
1196         * glib/gutils.c (_glib_get_locale_dir) [Win32]: Use either
1197         lib/locale or share/locale depending on which one is in
1198         GLIB_LOCALE_DIR. When the configury recognizes GNU gettext (based
1199         on the _nl_msg_cat_cntr variable, eek), share/locale gets used.
1200
1201         * glib-zip.in: Likewise, look for message catalogs either in
1202         lib/locale or share/locale.
1203
1204 2007-11-26  Matthias Clasen  <mclasen@redhat.com>
1205
1206         * gio/gfileattribute.c: Fix up a doc comment.
1207
1208 2007-11-26  Alexander Larsson  <alexl@redhat.com>
1209
1210         * Makefile.am:
1211         * configure.in:
1212         * gio-2.0-uninstalled.pc.in:
1213         * gio-2.0.pc.in: 
1214         * gio-unix-2.0-uninstalled.pc.in:
1215         * gio-unix-2.0.pc.in:
1216         * gio/
1217         * docs/reference/gio
1218         Merged gio-standalone into glib.
1219         
1220         * glib/glibintl.h:
1221         * glib/gutils.c:
1222         Export glib_gettext so that gio can use it
1223         Add P_ (using same domain for now)
1224         Add I_ as g_intern_static_string
1225
1226 2007-11-26  Tor Lillqvist  <tml@novell.com>
1227
1228         * glib/win_iconv.c: ISO8859-1 is CP28591, not CP1252.
1229
1230 2007-11-26  Tor Lillqvist  <tml@novell.com>
1231
1232         Implement #491549: On Windows, always use the native API for
1233         character set conversions instead of GNU libiconv. Almost all
1234         codesets supported by GNU libiconv exist as Windows codepages.
1235         One missing feature is the "C99" and "JAVA" pseudo codesets, but I
1236         doubt that is worth worrying about.
1237         
1238         * glib/win_iconv.c: New file. iconv() implementation for
1239         Windows. Placed in the public domain by Yukihiro Nakadaira
1240         <yukihiro.nakadaira@gmail.com>. From
1241         http://yukihiro.nakadaira.googlepages.com/win_iconv.zip, his
1242         2007-11-17 version.
1243
1244         * glib/gconvert.c: Include win_iconv.c on Windows.
1245
1246         * glib/Makefile.am: Add win_iconv.c to EXTRA_DIST.
1247         
1248         * configure.in: Bypass iconv checks on Windows. 
1249
1250 2007-11-25  Tor Lillqvist  <tml@novell.com>
1251
1252         * glib/gtestutils.c: Add conditionals for non-Unix. Just g_error()
1253         unless G_OS_UNIX for now.
1254
1255 2007-11-25  Matthias Clasen  <mclasen@redhat.com>
1256
1257         * configure.in: Require gtk-doc 1.8.
1258
1259         * glib/gasyncqueue.c:
1260         * glib/gdate.c:
1261         * glib/gfileutils.c:
1262         * glib/gmain.c:
1263         * glib/gmarkup.c:
1264         * glib/gregex.c:
1265         * glib/gtestutils.c:
1266         * glib/gutils.c: Use gtk-doc abbreviations for 
1267         examples in doc comments.
1268
1269 2007-11-24  Matthias Clasen  <mclasen@redhat.com>
1270
1271         * */Makefile.am: Replace INCLUDES by AM_CPPFLAGS, other
1272         cleanups.
1273
1274 2007-11-24  Matthias Clasen  <mclasen@redhat.com>
1275
1276         * tests/base64-test.c: Fix a memory overrun.
1277
1278 2007-11-24  Matthias Clasen  <mclasen@redhat.com>
1279
1280         * glib/gutils.c: Remove leftover ENABLE_NLS #ifdefs.
1281
1282 2007-11-23  Matthias Clasen  <mclasen@redhat.com>
1283
1284         * glib/gbase64.c (g_base64_encode): Don't refuse to encode
1285         a single byte.  (Milan Crha)
1286
1287         * tests/base64-test.c: Test encoding short strings.
1288
1289 2007-11-23  Matthias Clasen  <mclasen@redhat.com>
1290
1291         * glib/gi18n-lib.h: 
1292         * glib/gi18n.h: Define a two-argument macro C_() for marking
1293         translatable strings with context and implement C_() and Q_()
1294         using g_dpgettext().  (#142676, Morten Welinder)
1295
1296         * glib/glib.symbols:
1297         * glib/gstrfuncs.[hc]: Implement g_dpgettext().
1298
1299 2007-11-23  Matthias Clasen  <mclasen@redhat.com>
1300
1301         * glib/goption.c: Use g_print to print out --help text in 
1302         locale encoding.  (#469551, Takao Fujiwara)
1303
1304 2007-11-22  Matthias Clasen  <mclasen@redhat.com>
1305
1306         * glib/gkeyfile.c: Set length out param in list-returning functions
1307         to 0 when returning NULL.  (#498728, Christian Persch)
1308
1309 2007-11-21 21:06:47  Tim Janik  <timj@imendio.com>
1310
1311         * Makefile.decl: initialize automake variables EXTRA_DIST and
1312         TEST_PROGS for unconditional appending via += in other makefiles.
1313         define recursive test targets: test, test-report, perf-report,
1314         full-report, as described here:
1315         http://mail.gnome.org/archives/gtk-devel-list/2007-November/msg00000.html
1316
1317         * Makefile.am:
1318         * build/win32/vs8/Makefile.am, build/win32/dirent/Makefile.am:
1319         * build/win32/Makefile.am, build/Makefile.am:
1320         * docs/Makefile.am, docs/reference/Makefile.am:
1321         * docs/reference/glib/Makefile.am, docs/reference/gobject/Makefile.am:
1322         * gmodule/Makefile.am, tests/Makefile.am:
1323         * tests/refcount/Makefile.am, tests/gobject/Makefile.am:
1324         * glib/update-pcre/Makefile.am, glib/libcharset/Makefile.am:
1325         * glib/tests/Makefile.am, glib/pcre/Makefile.am:
1326         * glib/gnulib/Makefile.am, gobject/Makefile.am, m4macros/Makefile.am:
1327         * gthread/Makefile.am, glib/Makefile.am:
1328         include $(top_srcdir)/Makefile.decl, adapted EXTRA_DIST assignments.
1329
1330         * glib/tests/Makefile.am: removed example testing rules.
1331
1332         * glib/tests/testing.c: conditionalized performance and slow tests.
1333
1334         * glib/gtestutils.h:
1335         * glib/gtestutils.c: work around g_test_config_vars not changing its
1336         exported value after value assignments, aparently due to symbol aliases.
1337
1338         * glib/gtester.c: fixed off-by-one error which produced junk in logs.
1339
1340         * configure.in: check for python >= 2.4 and provide $PYTHON for scripts.
1341
1342 Tue Nov 20 15:59:55 2007 +0100 Tim Janik
1343
1344         Renamed gtestframework to gtestutils.
1345
1346         * glib/glib.h:
1347         * glib/Makefile.am: added gtestutils.h to public includes.
1348
1349         * glib/gtestutils.c: include gtestutils.h.
1350
1351         * glib/gtestutils.h:
1352         * glib/glib.symbols:
1353         * glib/tests/testing.c: renamed gtestframework to gtestutils.
1354
1355         * glib/gtestframework.h: renamed to gtestutils.h.
1356
1357         * glib/gtestframework.c: renamed to gtestutils.c.
1358
1359 Tue Nov 20 15:29:34 2007 +0100 Tim Janik
1360
1361         glib/gtestframework.c: g_test_init(): make warnings and criticals fatal for all test programs.
1362
1363 Wed Nov 14 20:35:05 2007 +0100 Tim Janik
1364
1365         gtestframework.c: added test API documentation by Sven Herzberg and Tim Janik.
1366
1367 Wed Nov 14 19:10:28 2007 +0100 Tim Janik
1368
1369         gtestframework.[hc]: implemented g_test_queue_destroy() and g_test_queue_unref().
1370
1371 Fri Nov 9 12:28:52 2007 +0100 Tim Janik
1372
1373         Added g_test_bug() and related API.
1374
1375         * gtester.c: handle G_TEST_LOG_MESSAGE and test test message API.
1376
1377         * gtestframework.h, gtestframework.c: added test message API and convenience
1378         API to send test messages about bug URLs.
1379
1380 Fri Nov 9 11:35:11 2007 +0100 Tim Janik
1381
1382         Added API to access test framework configuration.
1383
1384         * gtestframework.h, gtestframework.c: export testing configuration to test
1385         programs with g_test_quick(), g_test_perf(), g_test_verbose(), g_test_quiet().
1386
1387 Thu Nov 8 17:55:09 2007 +0100 Tim Janik
1388
1389         gtester: implemented logic to handle failing tests, self tests, and validate XML reports.
1390
1391         * gtester.c: terminate when tests failed. keep XML valid when test cases fail.
1392         restart test binaries when tests fail, resuming after the last processed test.
1393         support --gtester-selftest to run gtester itself as test program.
1394         support --test-arg=<arg> to pass args along to test programs. added
1395         main_selftest() which does a simplistic fixture test. fail if exit
1396         code of test programs is not 0.
1397
1398         * gtestframework.h: added G_TEST_LOG_SKIP_CASE test log message type.
1399
1400         * gtestframework.c: support --GTestSkipCount=<n> to skip a number of tests.
1401
1402         * tests/Makefile.am: added test-report: for demonstration purposes.
1403         added gtester-xmllint-check: and hooked it up into check:, this rule calls
1404         gtester as test program, running it's selftest, and then uses xmllint to
1405         validate the generate XML test log file.
1406
1407 Thu Nov 8 14:51:37 2007 +0100 Tim Janik
1408
1409         gtester: implemented XML logging.
1410
1411         * glib/gtester.c: log test messages to XML output file. beautified normal test
1412         result output.
1413
1414         * glib/gtestframework.c: fixed GTimer leak.
1415
1416         * glib/tests/Makefile.am: start gtester with --verbose.
1417
1418 Thu Nov 8 12:33:31 2007 +0100 Tim Janik
1419
1420         tests/Makefile.am: execute test programs with gtester, add test: to check:
1421
1422 Thu Nov 8 12:18:51 2007 +0100 Tim Janik
1423
1424         Fixed PLT symbol exports for gtestframework.h.
1425
1426         * glib/glib.symbols: added all exported gtestframework.h symbols.
1427
1428         * glib/gtestframework.c: include galias.h, galiasdef.c, define __G_TESTFRAMEWORK_C__.
1429
1430 Thu Nov 8 11:31:12 2007 +0100 Tim Janik
1431
1432         glib/gtester.c: fixed debugging flag.
1433
1434 Wed Nov 7 17:56:26 2007 +0100 Tim Janik
1435
1436         fixed bogus unistd.h include.
1437
1438 Wed Nov 7 17:53:30 2007 +0100 Tim Janik
1439
1440         Implemented test log IPC.
1441
1442         * gtester.c: read and decode log messages from test binary child processes.
1443         fixed GIOChannel and child watch handling to process all messages and avoid
1444         hangs. pass --verbose and --quiet on to children, default to --quiet.
1445
1446         * gtestframework.h: export g_test_log_type_name().
1447
1448         * gtestframework.c: send test log to --GTestLogFD=<fd> if given, removed
1449         bogus -o-option.
1450
1451 Tue Nov 6 20:07:44 2007 +0100 Tim Janik
1452
1453         gtester.c: support test case listing through gtester.
1454
1455 Tue Nov 6 20:01:06 2007 +0100 Tim Janik
1456
1457         gtestframework.c: fixed testpath matches for automatic root suite.
1458
1459 Tue Nov 6 19:50:33 2007 +0100 Tim Janik
1460
1461         gtester.c: adapted to become a rudimentary test binary launcher.
1462
1463         * gtester.c: increased read buffer size to match common unix pipe buffer size.
1464         added argument parsing and usage. changed io handling to capture and replicate
1465         stdout. fixed io handlers to be cleaned up when the child process exits (catch
1466         G_IO_ERR | G_IO_HUP). we now use pending/iteration instead of a main loop
1467         structure, to keep running until the child process exits and all io has been
1468         processed. launch the test binaries given on the command line. don't quit when
1469         a child couldn't be launched but --keep-going was specified.
1470
1471 Tue Nov 6 17:11:37 2007 +0100 Tim Janik
1472
1473         Integrated gtester program into build process.
1474
1475         * Makefile.am: build and install gtester binary.
1476
1477         * gtester.c: fixed up coding style and removed hard wired test coded.
1478
1479 Tue Nov 6 16:12:32 2007 +0100 Sven Herzberg
1480
1481         glib/gtester.c:Small -Wall fix
1482
1483 Tue Nov 6 16:05:06 2007 +0100 Sven Herzberg
1484
1485         glib/gtester.c:Implemented nonblocking reading properly now
1486
1487 Mon Nov 5 13:53:23 2007 +0100 Sven Herzberg
1488
1489         glib/gtester.c:Quit the application when the output is parsed completely, not just the process finished
1490
1491 Mon Nov 5 12:00:16 2007 +0100 Sven Herzberg
1492
1493         glib/gtester.c:Read the output of the child process
1494
1495 Mon Nov 5 11:50:59 2007 +0100 Sven Herzberg
1496
1497         glib/gtester.c:Use g_spawn_async_with_pipes()
1498
1499 Mon Nov 5 11:50:08 2007 +0100 Sven Herzberg
1500
1501         glib/gtester.c:Spawn a process async and quit gtester after the child process exited
1502
1503 Mon Nov 5 11:30:45 2007 +0100 Sven Herzberg
1504
1505         glib/gtester.c:Added a first revision of gtester
1506
1507 Tue Nov 6 16:47:06 2007 +0100 Tim Janik
1508
1509         Implemented test log serialization.
1510
1511         * glib/gtestframework.h: added g_test_log*() API.
1512
1513         * glib/gtestframework.c: implement test log serialization.
1514
1515 Tue Nov 6 14:24:54 2007 +0100 Tim Janik
1516
1517         Implemented test logging basics.
1518
1519         * glib/gtestframework.c: added --debug-log and --verbose, implemented
1520         test information logging.
1521
1522         * testing.c: test g_test_maximized_result() and g_test_minimized_result().
1523
1524 Tue Nov 6 11:52:14 2007 +0100 Tim Janik
1525
1526         Implemented g_test_timer*().
1527
1528         * gtestframework.c: implemented g_test_timer*().
1529
1530         * tests/testing.c: added a g_test_timer*() test.
1531
1532 Mon Nov 5 18:28:24 2007 +0100 Tim Janik
1533
1534         Implemented support for testpaths.
1535
1536         * gtestframework.c: implemented g_test_add_vtable() and g_test_add_func().
1537
1538         * tests/testing.c: use g_test_add() and g_test_add_func() to majorly simplify main().
1539
1540 Mon Nov 5 15:56:42 2007 +0100 Tim Janik
1541
1542         testing.c: added tests for the g_test_rand*() API.
1543
1544 Mon Nov 5 15:55:38 2007 +0100 Tim Janik
1545
1546         Implemented g_test_rand*().
1547
1548         * gtestframework.h: fixed g_assert_cmp*() to evaluate arguments only once.
1549         added g_assert_cmpuint(). completed g_test_rand*() to cover bits, ints,
1550         doubles and ranges.
1551
1552         * gtestframework.c: fixed "--seed" option and implemented g_test_rand*().
1553
1554 Mon Nov 5 15:51:43 2007 +0100 Tim Janik
1555
1556         testing.c: added tests for g_assert_cmphex() and forked test traps.
1557
1558 Mon Nov 5 15:10:18 2007 +0100 Tim Janik
1559
1560         Implemented g_test_trap_fork() API.
1561
1562         * gtestframework.h: added g_assert_cmphex(). reworked g_test_trap*() API.
1563
1564         * gtestframework.c: implemented g_test_trap_fork() API.
1565
1566 Thu Nov 1 15:05:07 2007 +0100 Tim Janik
1567
1568         * glib/gtestframework.c:
1569
1570         that match a given test path.
1571         (g_test_run_suite): run suite only if it matches the existing test paths.
1572
1573         * glib/tests/testing.c: minor rename.
1574
1575 Thu Nov 1 13:45:55 2007 +0100 Tim Janik
1576
1577         GTest framework started.
1578
1579         * glib/gtestframework.h: testing framework API as proposed on gtk-devel-list.
1580         includes elaborate assertions, performance report functions, test traps,
1581         test timer, test random numbers, teardoiwn garbage collection functions
1582         and general test case / test suite management APIs.
1583
1584         * glib/gtestframework.c: first test framework implementation. already covers
1585         some test suite management APIs and assertion message implementations.
1586
1587         * glib/tests/testing.c: test program for the testing framework.
1588
1589         * glib/tests/Makefile.am: complie testing.c as test. run all tests as part of
1590         make test:.
1591
1592 Wed Oct 31 15:42:48 2007 +0100 Tim Janik
1593
1594         glib/Makefile.am: build tests/ subdir after building libglib.
1595
1596 Tue Oct 30 16:17:32 2007 +0100 Tim Janik
1597
1598         Fixed up internal 'g_test*' names.
1599
1600         * refcount/signals.c:
1601         * refcount/objects.c:
1602         * refcount/objects2.c:
1603         * refcount/closures.c:
1604         * refcount/properties.c:
1605         * refcount/properties2.c: changed namespace prefix from g_test_* to my_test_*
1606         to not clash with newly introduced g_test* API in glib.
1607
1608 Tue Oct 30 14:41:26 2007 +0100 Tim Janik
1609
1610         Added gtestframework.[hc] and glib/tests/.
1611
1612 2007-11-20  Sven Neumann  <sven@gimp.org>
1613
1614         * glib/gerror.c (g_error_add_prefix): use g_strconcat() instead of
1615         g_strjoin() to concatenate two strings.
1616
1617 2007-11-19  Marco Barisione  <marco@barisione.org>
1618
1619         * glib/gregex.c: When the compilation of a pattern fails in the error
1620         message use the character offset and not the byte offset.
1621
1622         * glib/gregex.c: Pass an unsigned long instead of an int to
1623         pcre_fullinfo() to avoid problems on 64-bit systems (#498113, Kouhei
1624         Sutou)
1625
1626 2007-11-19 10:30:33  Tim Janik  <timj@imendio.com>
1627
1628         * configure.in: updated version number to 2.15.0 for development.
1629
1630 2007-11-18  Matthias Clasen  <mclasen@redhat.com>
1631
1632         * glib/gbase64.c: Documentation improvements.  (#496518,
1633         Stefan Schulze Frielinghaus)
1634
1635 2007-11-18  Matthias Clasen  <mclasen@redhat.com>
1636
1637         * configure.in: Check whether assembler supports numerical local
1638         labels.  
1639
1640         * glib/gatomic.c: Fix powerpc implementation of atomic ops for 
1641         platforms where the assembler doesn't support numerical local
1642         labels.  (#445362)
1643
1644 2007-11-15  Ryan Lortie  <desrt@desrt.ca>
1645
1646         * docs/reference/glib/tmpl/markup.sgml:
1647         * glib/gmarkup.h:
1648         * glib/gmarkup.c: new flag G_MARKUP_PREFIX_ERROR_POSITION to cause the
1649         parser to prepend location information (ie: "Error on line %d, char
1650         %d:") to errors generated by the GMarkupParser callbacks.
1651
1652         Closes #496046.
1653
1654 2007-11-15  Ryan Lortie  <desrt@desrt.ca>
1655
1656         * docs/reference/glib/glib-sections.txt:
1657         * glib/glib.symbols:
1658         * glib/gerror.h:
1659         * glib/gerror.c: new functions g_prefix_error and
1660         g_propagate_prefixed_error.
1661
1662 2007-11-13  Cody Russell  <bratsche@gnome.org>
1663
1664         * docs/reference/gobject/gobject-docs.sgml:
1665         * docs/reference/gobject/tut_gsignal.xml:
1666         * docs/reference/gobject/tut_gtype.xml:
1667         * docs/reference/gobject/tut_intro.xml:
1668         * docs/reference/gobject/tut_tools.xml:
1669         * docs/reference/gobject/tut_howto.xml:
1670         * docs/reference/gobject/tut_gobject.xml: Documentation fixes.
1671         Recommend macro type names such as NAUTILUS_TYPE_WINDOW (not
1672         NAUTILUS_WINDOW_TYPE).  Fixed text which erroneously stated that 
1673         superclass initializers don't run when an object is 
1674         instantiated.  Fixed numerous spelling mistakes.  Minor grammar 
1675         edits. (#490637, Adam Dingle)
1676
1677 2007-11-09  Matthias Clasen <mclasen@redhat.com>
1678
1679         * glib/gkeyfile.c: Coding style cleanups and doc 
1680         improvements.  (#491979, #491982, Areg Beketovski)
1681
1682 2007-11-09  Matthias Clasen <mclasen@redhat.com>
1683
1684         * glib/giochannel.c: Coding style cleanups and doc 
1685         improvements.  (#491975, Areg Beketovski)
1686
1687 2007-11-09  Matthias Clasen <mclasen@redhat.com>
1688
1689         * glib/gmain.c (g_main_context_iteration): Improve the
1690         docs.  (#491974, Areg Beketovski)
1691
1692 2007-11-09  Matthias Clasen <mclasen@redhat.com>
1693
1694         * glib/gdate.c: Coding style fixes.
1695
1696 2007-11-09  Matthias Clasen <mclasen@redhat.com>
1697
1698         * configure.in: Add AM_PROG_CC_C_O.
1699
1700         * Makefile.am: Remove the install-exec-local hook and use
1701         configexecincludedir_DATA instead, in an attempt to avoid
1702         automake 1.9 <> 1.10 incompatibilities.
1703
1704         * glib/Makefile.am: Rename MIRRORING_TAB_SOURCES, since
1705         automake 1.10 complains.
1706
1707 2007-11-09  Matthias Clasen <mclasen@redhat.com>
1708
1709         * glib/gspawn.c (g_spawn_sync): Improve the docs.  (#491968,
1710         Areg Beketovski)
1711
1712 2007-11-08  Matthias Clasen <mclasen@redhat.com>
1713
1714         * glib/gmain.c (g_main_context_release): 
1715         (g_main_context_acquire):
1716         (g_main_context_new): Fix the doc wording.  (#491957, 
1717         #491965, #491966, Areg Beketovski)
1718
1719 2007-11-08  Matthias Clasen <mclasen@redhat.com>
1720
1721         * glib/gutils.c (g_set_application_name): Add a missing
1722         since tag.  (#464259, Mark Doliner)
1723
1724 2007-11-08  Matthias Clasen <mclasen@redhat.com>
1725
1726         * glib/goption.c (g_option_context_new): Improve the docs.
1727         (#436293, Vincent Untz)
1728
1729 2007-11-08  Matthias Clasen <mclasen@redhat.com>
1730
1731         * glib/gmain.c (g_main_loop_quit): Expand the docs 
1732         a bit.  (#317775, Søren Sandmann)
1733
1734 2007-11-08  Matthias Clasen <mclasen@redhat.com>
1735         
1736         * autogen.sh: Accept automake 1.10, too
1737
1738         * mkinstalldirs: Temporarily add this script, to fix building
1739         from svn.
1740
1741         * Makefile.am: Use MKDIRS_P instead of mkinstalldirs, add
1742         ChangeLog.pre-2-14 and mkinstalldirs to EXTRA_DIST.
1743
1744 2007-11-08  Matthias Clasen <mclasen@redhat.com>
1745
1746         * glib/gmarkup.h: Include gslist.h. Pointed out by Michael Natterer.
1747
1748 2007-11-08  Matthias Clasen <mclasen@redhat.com>
1749
1750         * glib/gconvert.c (g_convert_with_iconv): Try harder to reset
1751         shift state with AIX iconv().  (#467537)
1752
1753 2007-11-08  Matthias Clasen <mclasen@redhat.com>
1754
1755         * configure.in:
1756         * m4macros/glib-2.0.m4: Require pkg-config 0.16 in configure
1757         and in AM_PATH_GLIB_2_0 to be consistent with the use of
1758         PKG_PROG_PKG_CONFIG which was introduced in 0.16.  (#418778,
1759         Loïc Minier)
1760
1761 2007-11-08  Matthias Clasen <mclasen@redhat.com>
1762
1763         * glib/gstrfuncs.c (g_parse_long_long): Don't leave
1764         out parameters uninitialized.  (#490061, Benjamin Otte)
1765
1766 2007-11-07  Matthias Clasen <mclasen@redhat.com>
1767
1768         * glib/gmain.c (g_main_context_unref): Don't leak the
1769         condvar.  (#479724, Areg Beketovski)
1770
1771 2007-11-07  Matthias Clasen <mclasen@redhat.com>
1772
1773         * glib/glib.symbols:
1774         * glib/gmarkup.[hc] (g_markup_parse_context_get_element_stack): 
1775         New function, to get the stack of open elements.  (#452887,
1776         Ryan Lortie)
1777
1778 2007-11-07  Matthias Clasen <mclasen@redhat.com>
1779
1780         * glib/gkeyfile.[hc]: Make some functions that take
1781         a GError return boolean instead of void.  (#375651, Matt Barnes)
1782
1783 2007-11-07  Matthias Clasen <mclasen@redhat.com>
1784         
1785         * autogen.sh: Use automake 1.9
1786
1787         * acinclude.m4:
1788         * configure.in: Move some inter-*.m4 includes from
1789         configure.in to acinclude.m4 to avoid warnings when
1790         using automake 1.9.  (#449937)
1791
1792 2007-11-07  Matthias Clasen <mclasen@redhat.com>
1793
1794         === Branch for 2.14 ===