1 2007-06-05 Vincent Untz <vuntz@gnome.org>
3 * glib/goption.c: (g_option_context_get_help): don't replace the usage
4 line with the description for optional parameters, but append the
7 2007-06-04 Matthias Clasen <mclasen@redhat.com>
9 * configure.in: Bump version
11 * === Released 2.13.3 ===
15 2007-06-04 Matthias Clasen <mclasen@redhat.com>
17 Add support for a number of special directories, as
18 defined by the xdg-user-dirs specification. (#432651,
19 Bastien Nocera, Emmanuele Bassi, Michael Natterer)
22 * glib/gutils.[hc]: Add the GUserDirectory enum and
23 g_get_user_special_dir(), with implementations based
24 on the xdg-user-dirs spec and on native interfaces
27 * configure.in: Add Carbon checks.
29 * tests/tetsglib.c: Test g_get_user_special_dir().
31 2007-06-03 Yevgen Muntyan <muntyan@tamu.edu>
33 * glib/gregex.c: fixed g_regex_fetch_named* for cases when (?J)
34 is used inside a pattern (#442265, comment #12).
35 * tests/regex-test.c: Test it.
37 2007-06-03 Matthias Clasen <mclasen@redhat.com>
41 2007-06-03 Yevgen Muntyan <muntyan@tamu.edu>
43 Some API additions and changes (#442265).
46 * glib/gregex.h: new functions: g_regex_ref(), g_regex_unref() which
47 replaces g_regex_free(); g_match_info_get_regex(), g_match_info_get_string();
48 g_regex_check_replacement().
49 Made g_match_info_expand_references() accept NULL; changed GRegexEvalCallback
50 to take only arguments which are likely to be actualy used.
52 * docs/reference/glib/glib-sections.txt:
53 * glib/glib.symbols: Added new functions.
55 * tests/regex-test.c: Test them.
57 * docs/reference/glib/tmpl/gregex.sgml: Updated GRegexEvalCallback docs.
59 2007-05-31 Matthias Clasen <mclasen@redhat.com>
61 * README.win32: Fix a typo. (#423708, Olivier Delhomme)
63 2007-05-30 Dan Winship <danw@novell.com>
65 * glib/gkeyfile.h: add defines for desktop file handling. #339225,
66 original patch from Vincent Untz.
68 2007-05-29 Cody Russell <bratsche@gnome.org>
70 * configure.in: Fix a sed script that doesn't correctly detect
71 i586-mingw32-gcc-3.4 compiler, and was causing -Wno-pointer-sign
72 errors when building with that compiler. (#440896, Yevgen Muntyan)
74 2007-05-29 Marco Barisione <marco@barisione.org>
76 * glib/gregex.c: Fix g_regex_fetch_named() and
77 g_regex_fetch_named_pos() when G_REGEX_DUPNAMES is used (#434358,
78 Yevgen Muntyan and #419376, Marco Barisione, patch by Yevgen Muntyan)
80 2007-05-25 Behdad Esfahbod <behdad@gnome.org>
82 * glib/guniprop.c (g_unichar_iswide), (g_unichar_iswide_cjk):
83 Update to Markus Kuhn's updated wcwidth for Unicode 5.0.
85 2007-05-22 Matthias Clasen <mclasen@redhat.com>
87 * configure.in: Bump version
89 * === Released 2.13.2 ===
94 2007-05-18 Matthias Clasen <mclasen@redhat.com>
96 * configure.in: Try again to move the compiler-dependency
97 of G_GNUC_INTERNAL to runtime.
99 2007-05-18 Matthias Clasen <mclasen@redhat.com>
101 * configure.in: Don't let PERL_PATH be ''. (#356769, Joseph Sacco)
103 2007-05-17 Michael Natterer <mitch@imendio.com>
105 * configure.in: hotfix: revert last change to fix the build on OS X.
107 2007-05-17 Matthias Clasen <mclasen@redhat.com>
109 * glib/goption.c (g_option_context_set_translate_func): Fix
110 a doc typo. (#439232, Vincent Untz)
112 2007-05-17 Matthias Clasen <mclasen@redhat.com>
114 * configure.in: Move the compiler-dependency in the G_GNUC_INTERNAL
115 definition from configure-time to runtime (of the compiler).
116 (#438869, Damien Carbery)
120 * glib/gunicodeprivate.h:
121 * glib/gthreadprivate.h: Move G_GNUC_INTERNAL before function
122 declarations to fix compilation with sun studio. (#438873,
125 2007-05-14 Matthias Clasen <mclasen@redhat.com>
129 * glib/glib.symbols: Make g_slice_debug_tree_statistics()
130 debug-only functionality again.
132 2007-05-14 Christian Persch <chpe@gnome.org>
134 * docs/reference/glib/tmpl/string_utils.sgml: Improve g_strerror and
135 g_strsignal docs. Bug #438293.
137 2007-05-13 Tor Lillqvist <tml@novell.com>
139 * glib/gwin32.h: Drop the pipe() macro. Defining macros outside of
140 its namespace that look like POSIX functions is not GLib's
141 business in my opinion. This means pipe()-using code that has
142 relied on this definition will need changing to call _pipe() on
143 Windows, and make the decision itself on what size pipe buffer to
144 use, and whether to use text or binary mode, and whether the pipe
145 handles should be inheritable or not.
147 * glib/gspawn-win32.c (make_pipe): Use _pipe() instead of pipe().
149 2007-05-11 Matthias Clasen <mclasen@redhat.com>
151 * glib/goption.c: Allow G_OPTION_ARG_CALLBACK for
152 G_OPTION_REMAINING. (#437297, Dave Benson)
154 * tests/option-test.c: Add a test for this.
156 2007-05-04 Dan Winship <danw@novell.com>
158 * glib/gkeyfile.c (g_key_file_get_boolean)
159 (g_key_file_get_boolean_list, g_key_file_get_integer)
160 (g_key_file_get_integer_list, g_key_file_get_double)
161 (g_key_file_get_double_list): Document the error return values
162 rather than calling them undefined. #435885.
164 2007-05-03 Behdad Esfahbod <behdad@gnome.org>
168 * glib/guniprop.c (g_unichar_ismark):
169 Add g_unichar_ismark(). Patch from Yevgen Muntyan. Fixes #339991.
171 2007-05-03 Matthias Clasen <mclasen@redhat.com>
173 * configure.in: Bump version
175 * === Released 2.13.1 ===
177 2007-05-02 Matthias Clasen <mclasen@redhat.com>
179 * tests/threadpool-test.c: Stop unused threads before
180 the last test, to make the test terminate reliably.
184 2007-05-02 Marco Barisione <marco@barisione.org>
186 * glib/gregex.c: Made more clear that the string passed to the match
187 functions cannot be freed before using g_match_info_fetch() and
188 similar functions, and fixed a typo.
190 2007-04-30 Matthias Clasen <mclasen@redhat.com>
193 * glib/gregex.[hc]: Add g_regex_get_max_backref() and
194 g_regex_get_capture_count(). (#419371, Marco Barisione)
196 2007-04-30 Matthias Clasen <mclasen@redhat.com>
199 * glib/gregex.[hc]: Split GRegex into GRegex and GMatchInfo.
200 (#419368, Marco Barisione)
202 * tests/regex-test.c: Adapt.
204 2007-04-30 Chris Wilson <chris@chris-wilson.co.uk>
206 * glib/gbookmarkfile.c (g_bookmark_file_get_app_info):
207 Include the gshell.h header file (to define g_shell_[un]quote)
208 and correct the order of the arguments to g_propagate_error(), as
211 2007-04-29 Emmanuele Bassi <ebassi@gnome.org>
213 * glib/gbookmarkfile.c:
214 (g_bookmark_file_set_app_info): Quote the passed command line...
216 (g_bookmark_file_get_app_info): ... and unquote it when giving it
219 2007-04-27 Matthias Clasen <mclasen@redhat.com>
221 * glib/gstrfuncs.c: small coding style cleanups.
223 2007-04-27 Chris Wilson <chris@chris-wilson.co.uk>
225 * glib/gregex.h: Remove trailing comma at end of enumerator list.
227 2007-04-27 Tor Lillqvist <tml@novell.com>
229 * glib/gstdio.c (g_mkdir): Document that the mode argument is
231 (g_stat): Document that st_mode is mostly useless on Windows.
233 2007-04-25 Paolo Borelli <pborelli@katamail.com>
235 * glib/gstrfuncs.c (g_strsplit): small cleanup. (#433387)
237 2007-04-24 Matthias Clasen <mclasen@redhat.com>
241 * glib/goption.c (g_option_context_get_help): New function to
242 get the formatted help string. (#336089, Dom Lachowicz)
244 2007-04-24 Michael Natterer <mitch@imendio.com>
246 * tests/gobject/paramspec-test.c: test all GParamSpecString
247 validations with static and allocated strings.
249 2007-04-19 William Jon McCann <mccann@jhu.edu>
251 * glib/gkeyfile.[ch]: (find_file_in_data_dirs),
252 (g_key_file_load_from_dirs), (g_key_file_load_from_data_dirs):
253 Add g_key_file_load_from_dirs for looking through a search
254 path for a key-file. (#355334)
256 2007-04-15 Tor Lillqvist <tml@novell.com>
258 * build: Include the build module using the svn:externals
262 * configure: Add the references to build back.
264 2007-04-11 Matthias Clasen <mclasen@redhat.com>
266 * glib/gspawn.c (g_spawn_async): Fix a doc typo. (#427285,
269 2007-04-11 Emmanuele Bassi <ebassi@gnome.org>
271 * glib/ghash.[ch]: Add g_hash_table_get_keys() and
272 g_hash_table_get_values(), API to retrieve the keys
273 and values inside an hash table in list form. (#413133)
275 * glib/glib.symbols: Update symbols.
277 * tests/hash-test.c: Exercise newly added functions.
279 2007-04-11 Matthias Clasen <mclasen@redhat.com>
281 * configure.in: Use CFLAGS/LDFLAGS in addition to
282 PCRE_CFLAGS/PCRE_LIBS when checking system PCRE. (#421607,
285 2007-03-27 Emmanuele Bassi <ebassi@gnome.org>
287 * glib/gdate.h: Remove old comment and forward declaration of
288 struct tm: gdate.h includes time.h now.
290 2007-03-23 Matthias Clasen <mclasen@redhat.com>
292 * tests/gobject/Makefile.am: Handle $RANDOM missing. (#356843,
295 2007-03-22 Matthias Clasen <mclasen@redhat.com>
297 * glib/guniprop.c: Fix corner-cases of upper/lowercase conversion.
298 (#418217, Denis Jacquerye)
300 2007-03-22 Chris Wilson <chris@chris-wilson.co.uk>
302 * glib/gkeyfile.c: Track whether the last key=value pair in a group
303 is a blank line and during to_data() only insert a new blank line
304 betweens group in its absence. This allows the beautification of the
305 GKeyFile and prevents newlines being inserted indefinitely. (#420686)
307 * tests/keyfile-test.c (test_reload_idempotency): Test that after a
308 single beautification pass, g_key_file_to_data() does not alter its
311 2007-03-21 Matthias Clasen <mclasen@redhat.com>
313 * glib/pcre/Makefile.am: Make builddir != srcdir work. (#419900)
315 2007-03-19 Paolo Borelli <pborelli@katamail.com>
317 * glib/gutf8.c (fast_validate_len): remove unneeded checks.
319 2007-03-18 Matthias Clasen <mclasen@redhat.com>
321 * glib/gregex.c: Cosmetic fixes
323 2007-03-17 Marco Barisione <marco@barisione.org>
325 * glib/update-pcre/table-reduction.patch:
326 * glib/update-pcre/make_utt.py:
327 * glib/update-pcre/utt.patch: Add forgotten files
329 * glib/update-pcre/update.sh: Call python directly instead of relying
330 on shebang. Also copy the changes from glib/pcre/makefile.msc to this
333 2007-03-17 Hans Breuer <hans@breuer.org>
335 * glib/makefile.msc.in glib/pcre/makefile.msc
336 glib/update-pcre/update.sh : define PCRE_STATIC to reflect the
337 inclusion of pcre as LIB, not stand-alone DLL. Also set NEWLINE=-1
338 to match any newline by default, use of ../../build/win32/make.msc
340 * glib/gregex.h : minimal includes of <glib/*.H> instead of <glib.h>
342 * glib/gnulib/makefile.msc : make use of ../../build/win32/make.msc
344 * tests/regex-test.c(verbose): don't pass a string containing '%'
345 as first parameter to g_print ()
346 (test_match) : for the unexpected case output pattern and string
349 * tests/child-test.c tests/slice-color.c : fix c99ism
350 * tests/slice-test.c : fix c99ism and gccism
351 * tests/mapping-test.c tests/base-64-tests.c : don't
352 #include <unistd.h> unconditionally
353 * tests/option-test.c : use G_GINT64_CONSTANT() instead of direct LL
355 * tests/makefile.msc.in : more tests build
357 2007-03-17 Matthias Clasen <mclasen@redhat.com>
359 * glib/gsequence.[hc]:
361 * tests/sequence-test.c: Move the consistency
364 2007-03-16 Matthias Clasen <mclasen@redhat.com>
366 * configure.in: Bump version
368 * === Released 2.13.0 ===
372 2007-03-16 Matthias Clasen <mclasen@redhat.com>
375 * glib/gsequence.h: Add the test function to the header,
376 since it is exported.
378 * glib/gbase64.c (g_base64_decode): Warn if the input
379 is too short. (#418862, Halton Huo)
381 Fri Mar 16 11:24:51 2007 Tim Janik <timj@imendio.com>
383 * glib/gscanner.[hc]: reverted premature commit which broke
384 GScanner ABI and API, #415323.
386 2007-03-16 Chris Wilson <chris@chris-wilson.co.uk>
388 * glib/gkeyfile.c: Convert to GSlice and check for redundant
391 2007-03-15 Matthias Clasen <mclasen@redhat.com>
393 * glib/gscanner.[hc]: Revert recent changes that break
394 existing users of GScanner.
396 2007-03-15 Matthias Clasen <mclasen@redhat.com>
398 * glib/gscanner.c (g_scanner_get_token_ll): Fix a typo
399 in the last commit. (#415323, Richard Hult)
401 2007-03-15 Tor Lillqvist <tml@novell.com>
403 * glib/gnulib/Makefile.am (INCLUDES): Add -I$(top_srcdir)/glib so
404 that gregex.h finds <glib.h>.
406 * glib/update-pcre/Makefille.am-1: Add -DGLIB_COMPILATION so that
407 we don't think g_ascii_table is dllimport.
409 * glib/pcre/Makefile.am: Corresponding change.
411 * glib/update-pcre/notdll.patch: New file. Drop
412 dllimport/dllexport magic for the pcre symbols.
414 * glib/update-pcre/Makefile.am: Dist it.
416 * glib/update-pcre/update.sh: Apply notdll.patch.
418 * glib/pcre/pcre.h: Corresponding change.
420 2007-03-15 Tor Lillqvist <tml@novell.com>
422 * glib/gtypes.h: Add comment to avoid misleading people with the
423 large number of digits in G_PI etc. (#404338)
425 2007-03-15 Tor Lillqvist <tml@novell.com>
427 * config.h.win32.in: Update to match what configure produces.
429 2007-03-15 Marco Barisione <marco@barisione.org>
431 Add GRegex for regular expression matching. (#50075)
433 * configure.in: Handle GRegex compilation.
436 * glib/gregex.h: Code for GRegex.
439 * glib/makefile.msc.in: Updated makefiles.
441 * glib/pcre/*: Internal copy of PCRE.
443 * glib/update-pcre/*: Stuff to automatically update the internal PCRE
446 * tests/regex-test.c:
448 * tests/makefile.msc.in: Add tests for GRegex.
450 2007-03-15 Chris Wilson <chris@chris-wilson.co.uk>
452 * glib/gmain.c (g_main_dispatch): Replace a
453 g_slist_prepend/g_slist_remove pair with an on-stack link
454 and open coding. (#416094)
456 2007-03-15 Matthias Clasen <mclasen@redhat.com>
458 Fix two glitches in the Unicode case conversion
459 functions (#418217, Denis Jacquerye)
461 * glib/guniprop.c (g_unichar_toupper): Handle zero entries
462 in special_case_table correctly.
463 (g_unichar_totitle): Fall back to g_unichar_toupper.
465 2007-03-15 Matthias Clasen <mclasen@redhat.com>
467 * glib/gscanner.[hc]: Some optimizations, use a lookup
468 table for character classes, pre-allocate GStrings with
469 reasonable sizes. (#415323, Charlie Brej)
471 2007-03-14 Matthias Clasen <mclasen@redhat.com>
473 * glib/gkeyfile.c (g_key_file_get_double): Fix a
474 small typo. (#417847, Bobby Jack)
476 2007-03-08 Matthias Clasen <mclasen@redhat.com>
478 * glib/gstrfuncs.c (g_strtoll): Return negative values.
481 * tests/strtoll-test.c: Add more testcases.
483 2007-03-06 Matthias Clasen <mclasen@redhat.com>
485 * glib/gstring.c (g_str_equal): Clarify docs. (#364026,
488 2007-03-06 Matthew Barnes <mbarnes@redhat.com>
491 * glib/gqueue.c: Add G_QUEUE_INIT, g_queue_init(), and
492 g_queue_clear() to better support statically allocated
495 2007-03-06 Matthias Clasen <mclasen@redhat.com>
497 * glib/gkeyfile.c (g_key_file_parse_value_as_boolean):
498 Remove a NULL check that didn't do any good. (#360904,
501 2007-03-06 Matthias Clasen <mclasen@redhat.com>
503 * glib/gmarkup.c (g_markup_parse_context_parse): Report
504 more accurate position for invalid UTF-8. (#350802,
507 2007-03-06 Matthias Clasen <mclasen@redhat.com>
509 * glib/gbase64.c: Add NULL checks to the base64
510 functions that take pointers. (#399611, Martyn Russell)
512 2007-03-06 Matthias Clasen <mclasen@redhat.com>
514 Work with Solaris gettext (#341988, Laszlo Peter)
516 * m4macros/glib-gettext.m4: Make GLIB_WITH_NLS define
517 MSGFMT_OPTS if msgfmt supports -c.
519 * po/Makefile.in.in: Use MSGFMT_OPTS when calling
522 2007-03-06 Matthias Clasen <mclasen@redhat.com>
524 * tests/Makefile.am: Apply a patch by Loïc Minier
525 to fix building with -Wl,-z,defs. (#149144)
527 2007-03-03 Thierry Randrianiriana <randrianiriana@gmail.com>
529 * po/mg.po: Added Malagasy translation.
530 * configure.in: Added Malagasy 'mg' to ALL_LINGUAS
532 2007-03-01 Ihar Hrachyshka <iharh@gnome.org>
533 * configure.in: Added be@latin to ALL_LINGUAS.
535 2007-02-17 Tor Lillqvist <tml@novell.com>
537 * glib/gdate.c (win32_strftime_helper): New Win32-only
538 function. Use the wide character Win32 API to do the work of
539 strftime(): GetThreadLocale(), GetLocaleInfoW(), GetDateFormatW()
540 and GetTimeFormatW().
541 (g_date_strftime): On Windows use win32_strftime_helper()
542 instead of strftime() to avoid codepage issues with strftime().
543 Unfortunately using wcsftime() would not help either. (#404832)
545 2007-02-16 Soren Sandmann <sandmann@redhat.com>
547 * tests/sequence-test.c: For move, test moving between two
548 sequences. Add test for swap.
550 * glib/gsequence.c: Replace splay tree with a treap.
551 (check_node): Add checks for the treap invariants.
553 2007-02-10 Hans Breuer <hans@breuer.org>
555 * glib/makefile.msc.in : added gsequence.obj
557 Fri Feb 9 17:46:18 2007 Søren Sandmann <sandmann@redhat.com>
559 * glib/gsequence.c (g_sequence_get_end_iter): Remove assertion.
560 * glib/gsequence.c (is_end): Return TRUE if the iter doesn't have
562 * glib/gsequence.c: Fix grammar of comment.
563 * glib/gsequence.c (node_update_fields): Use a temporary variable
566 2007-02-07 Soren Sandmann <sandmann@daimi.au.dk>
568 * tests/sequence-test.c (compare_items): Force an arbitrary order
569 on otherwise identical items.
571 * glib/gsequence.c: Add comment discussing splay trees vs. other trees.
572 * glib/gsequence.c (is_end): Add fast path for the common case
573 when the node is not actually the end node.
575 2007-02-05 Soren Sandmann <sandmann@daimi.au.dk>
577 * glib/gsequence.c (g_sequence_sort_iter): Don't prohibit access
578 until after the g_sequence_move_range() call. Bug 404759,
581 * tests/sequence-test.c: Formatting fix.
583 2007-02-03 Soren Sandmann <sandmann@daimi.au.dk>
585 * glib/gsequence.c (struct _GSequence): Add a new 'real_sequence'
587 (g_sequence_new): Initialize real_sequence to the sequence
588 (g_sequence_sort_iter): Set real_sequence of the temporary
589 sequence to the real sequence.
590 (g_sequence_sort_changed_iter): Same
591 (g_sequence_insert_sorted_iter): Same
592 (g_sequence_search_iter): Same
593 (g_sequence_iter_get_sequence): Return real_sequence
595 * tests/sequence-test.c (compare_iters): Insert assertions that
596 the iters point to the sequence being manipulated.
598 2007-02-03 Soren Sandmann <sandmann@daimi.au.dk>
600 * glib/gsequence.[ch]: New files implementing GSequence, a list
601 implemented using a binary tree.
602 * glib/glib.h, glib/glib.symbols: Update for GSequence.
603 * docs/reference: Add documentation for GSequence
604 * tests: Add sequence-test.c, a thorough test of all of
607 2007-01-30 Matthias Clasen <mclasen@redhat.com>
611 * glib/gslice.c: Don't make ABI depend on G_ENABLE_DEBUG,
612 just add an empty g_slice_debug_tree_statistics () implementation
613 in the !G_ENABLE_DEBUG case.
615 2007-01-26 Matthias Clasen <mclasen@redhat.com>
617 * configure.in: Define G_GNUC_INTERNAL for Sun Studio
618 as __hidden. (#342981, Brian Cameron)
621 * glib/gutf8.c: Move G_GNUC_INTERNAL uses to the right
624 2007-01-26 Matthias Clasen <mclasen@redhat.com>
629 * gutils.c: Make some structs which are used only once
632 2007-01-24 Benjamin Otte <otte@gnome.org>
634 * glib/gprintf.c (g_sprintf): Clarify the documentation
635 regarding overflows (wording by Jan Schmidt)
637 2007-01-23 Roozbeh Pournader <roozbeh@farsiweb.info>
639 * README: Remove mention of no-longer-existing PATCH
640 keyword in bugzilla. (#396899)
642 2007-01-23 Matthias Clasen <mclasen@redhat.com>
644 * glib/gutf8.c (g_utf8_get_char_validated): Clarify
645 the behaviour is max_len is zero. (#400044,
648 2007-01-23 Matthias Clasen <mclasen@redhat.com>
650 * glib/goption.c (print_help): Use bitwise &
651 when operating on flags. (#399971, Jon Oberheide)
653 2007-01-19 Matthias Clasen <mclasen@redhat.com>
655 Some file list updates (#398069, Owen Taylor)
657 * docs/Changes-2.0.txt
658 * docs/reference/README.cvs-commits
659 * glib.spec.in: Remove obsolete files
662 * glib/libcharset/Makefile.am:
663 * gobject/Makefile.am:
664 * Makefile.am: Add some missing files to EXTRA_DIST
666 * tests/timeloop-basic.c: Make it build
667 * HACKING: Small updates
669 2007-01-18 Matthias Clasen <mclasen@redhat.com>
671 * glib/gdate.c (g_date_set_time): Fix a typo. (#398203,
674 2007-01-17 Tor Lillqvist <tml@novell.com>
680 * glibconfig.h.win32.in
681 * README.win32: More minor tweaks for Digital Mars
682 compiler. (#346808, Serhat Sevki Dincer)
684 2007-01-17 Tor Lillqvist <tml@novell.com>
686 * glib-zip.in: DLLs are always installed in "bin" with current
687 libtool, drop unnecessary logic to check where they are. Include
688 also the COPYING file.
690 2007-01-17 Tor Lillqvist <tml@novell.com>
692 * glib/galloca.h: Use <malloc.h> also with Digital Mars compiler
693 on Win32. (#346808, Serhat Sevki Dincer)
695 2007-01-16 Matthias Clasen <mclasen@redhat.com>
699 * glib/glib.symbols: Revert an accidental ABI break by
700 moving gettime out of the GThreadFunctions struct and making
701 it a separate variable. (#397139, Joe Marcus Clarke)
703 * gthread/*.c: Adapt.
705 2007-01-16 Tor Lillqvist <tml@novell.com>
707 * glib/gthread.c (gettime): GetSystemTimeAsFileTime() returns 100s
708 of nanoseconds since 1601, so offset to Unix epoch (1970) and
709 multiply by 100 to get nanoseconds which is what we want.
711 2007-01-15 Tor Lillqvist <tml@novell.com>
713 * glib/gmain.h (struct _GPollFD): Fix mistake in my last commit.
715 2005-01-15 Matthias Clasen <mclasen@redhat.com>
718 * glib/gbookmarkfile.c: Remove redundant NULL-checks.
719 (#369668, Morten Welinder)
721 2005-01-15 Matthias Clasen <mclasen@redhat.com>
724 * gthread/gthread-posix.c: Correct the gettime calculations
725 once more. (#395203, Chris Wilson)
727 2007-01-15 Tor Lillqvist <tml@novell.com>
729 * glib/gmain.h (struct _GPollFD): Prepare for potential Win64
730 build: Use gint64 for the fd field on Win64, as we want to be able
731 to store a HANDLE in it. (#395422) (Other changes will surely also
732 be necessary when building on Win64, at least in giowin32.c.)
734 2007-01-15 Tor Lillqvist <tml@novell.com>
736 * glib/gwin32.c (g_win32_getlocale): Simplify greatly. Instead of
737 hardcoding a large switch statement, just ask Windows for the
738 ISO639 and ISO3166 codes. Tack on @Latn or @Cyrl for those
739 languages which can alternatively be written in Latin or
740 Cyrillic. Fixes #395419.
742 2007-01-12 Matthias Clasen <mclasen@redhat.com>
744 * glib/gkeyfile.c: Rework the handling of invalid
745 keys/groups again. We are back to being liberal about
746 what we accept, and only reject things that would lead
747 to non-rereadable keyfiles.
749 * tests/keyfile-test.c: Adapt tests.
751 2007-01-12 Matthias Clasen <mclasen@redhat.com>
753 * glib/gutils.c (g_get_home_dir): Clarify docs. (#394687,
756 2007-01-12 Matthias Clasen <mclasen@redhat.com>
758 * glib/gthread.c: Include windows.h and fix
759 include order. (#394258, Kazuki Iwamoto)
761 2007-01-12 Matthias Clasen <mclasen@redhat.com>
763 * configure.in: Make G_GNUC_INTERNAL a no-op for
764 gcc 2.95. (#329031, David Schleef, Marc Brockschmidt)
766 2007-01-12 Matthias Clasen <mclasen@redhat.com>
768 * gthread/gthread-posix.c:
770 * glib/gthread.c: Fix errors in the recently moved
771 time calculations. (#395203, Chris Wilson)
773 2007-01-10 Matthias Clasen <mclasen@redhat.com>
775 * configure.in: Actually link gthread against librt.
776 (#394641, Marco Pesenti Gritti)
778 2007-01-10 Matthias Clasen <mclasen@redhat.com>
780 * glib/gkeyfile.c (g_key_file_is_key_name): Grr, allow '*' in keys,
783 2007-01-09 Behdad Esfahbod <behdad@gnome.org>
785 * glib/gutils.h: Use a more optimized g_bit_storage() when gcc is
786 available. (#371670, Daniel Elstner)
788 2007-01-08 Matthias Clasen <mclasen@redhat.com>
790 * gthread/gthread-posix.c (g_thread_impl_init): Don't
791 use _SC_MONOTONIC_CLOCK unless USE_CLOCK_GETTIME is
794 2007-01-07 Matthias Clasen <mclasen@redhat.com>
796 Don't link glib against libpthread. (#393812)
798 * configure.in: Link gthread against librt, not glib itself.
801 * glib/gthread.c: Add a new thread function, gettime.
803 * glib/gtimer.c: Use gettime instead of directly working with
804 the various system interfaces.
806 * gthread/gthread-impl.c:
807 * gthread/gthread-posix.c:
808 * gthread/gthread-win32.c: Implement gettime.
810 2007-01-07 Matthias Clasen <mclasen@redhat.com>
812 * m4macros/glib-2.0.m4: Use PKG_PROG_PKG_CONFIG. (#392636,
815 2007-01-07 Tor Lillqvist <tml@novell.com>
817 * glib/giowin32.c: Handle GIOChannels for file descriptors
818 connected to the console separately. This would typically be the
819 fd 0, 1, or 2 (if not redirected) in a console application. For
820 such fds we don't need a separate thread, as console HANDLEs are
821 waitable objects. (#359202, Michiel de Hoon)
823 2007-01-04 Behdad Esfahbod <behdad@gnome.org>
825 * tests/bit-test.c (builtin_bit_nth_lsf1), (builtin_bit_nth_lsf2),
826 (builtin_bit_nth_msf): Fix tests on x86_64.
828 2007-01-03 Behdad Esfahbod <behdad@gnome.org>
830 * glib/goption.c (_g_unichar_get_width), (_g_utf8_strwidth),
831 (calculate_max_length), (print_entry), (print_help): Take zerowidth
832 and double-width chars into consideration when computing width of a
833 string. Also fix another bug in width computation. (#346955)
835 * glib/guniprop.c (g_unichar_iszerowidth): Fix typo. It was not
838 2007-01-03 Behdad Esfahbod <behdad@gnome.org>
842 * glib/guniprop.c: Add g_unichar_iszerowidth(). (#347645)
844 2007-01-03 Behdad Esfahbod <behdad@gnome.org>
846 * glib/gutils.h: Fix bug in g_bit_nth_lsf (#371631) and use
847 __builtin_clzl for g_bit_storage if available (#371670).
850 * tests/bit-test.c: New test, to test g_bit_* operations against
851 naive and builtin implementations.
853 2007-01-02 Behdad Esfahbod <behdad@gnome.org>
855 * configure.in: Avoid more warnings from running libtool --config.
858 2007-01-03 Michael Natterer <mitch@imendio.com>
860 * removed all .cvsignore files. SVN doesn't need them.
862 2007-01-02 Emmanuele Bassi <ebassi@gnome.org>
864 * glib/gbookmarkfile.c (expand_exec_line): Add support for
865 expanding the desktop entry spec variables %U (list of URIs)
866 and %F (list of filenames), so that using the command line
867 from the Exec and TryExec key of a desktop entry file works
870 2007-01-02 Matthias Clasen <mclasen@redhat.com>
872 * configure.in: Avoid warnings from running libtool --config.
873 (#391364, Loïc Minier)
875 2007-01-02 Matthias Clasen <mclasen@redhat.com>
877 * glib/gbookmarkfile.c (g_bookmark_file_get_app_info):
878 Return an error if the uri is bad. (#391370, Maciej Piechotka)
880 2007-01-02 Matthias Clasen <mclasen@redhat.com>
882 * glib/glib.symbols: Guard g_slice_debug_tree_statistics
883 by G_ENABLE_DEBUG. (#390940, Kazuki Iwamoto)
885 2007-01-02 Michael Natterer <mitch@imendio.com>
888 * Makefile.am: remove references to build/ until a proper decision
889 has been made what to do with it.
891 2007-01-01 Matthias Clasen <mclasen@redhat.com>
893 * glib-gettextize.in: Silence autoconf warnings about
894 datarootdir. (#391367, Loïc Minier)
896 2006-12-31 Matthias Clasen <mclasen@redhat.com>
898 * glib/gslice.c: Fix some C99isms. (#390913, Kazuki Iwamoto)
900 Fri Dec 29 13:28:07 2006 Tim Janik <timj@imendio.com>
902 * glib/gslice.c: turned detection of too late g_thread_init() calls
903 into a warning. this is a temporary work-around for some head-room
904 to fix affected programs, memory corruption still occours regardless.
906 2006-12-29 Matthias Clasen <mclasen@redhat.com>
908 * tests/gobject/Makefile.am:
909 * tests/gobject/dynamictype.c: New test for dynamic type
912 Thu Dec 28 21:14:45 2006 Tim Janik <timj@imendio.com>
914 * glib/gslice.c: removed pthread-dependant debugging bits, the code
915 was already converted to GMutex. this obsoletes Tor's recent fixups.
917 2006-12-28 Tor Lillqvist <tml@novell.com>
919 * glib/gutils.h (G_WIN32_DLLMAIN_FOR_DLL_NAME)
920 * glib/gutils.c (get_windows_directory_root): : Use only the wide
921 character API here, too.
923 * glib/gslice.c: Make it compile on Win32 without pthreads: Use a
924 Win32 critical section instead.
926 * glib/gmessages.c (g_logv): On Win32, if we get a fatal error
927 message while being debugged we break into the debugger with
928 G_BREAKPOINT(). Don't call abort() if the user is foolhardy enough
929 to continue after the breakpoint. The user presumably knows what
930 he is doing and deserves what he gets. (#376645, Andreas Köhler)
932 Thu Dec 28 12:50:31 2006 Tim Janik <timj@imendio.com>
934 * glib/gslice.h, glib/gslice.c: implemented static debugging
935 hash-tree to validate slice adresses and sizes with G_SLICE=debug-blocks.
936 use abort() to exit in mem_error() to allow catching of these in gdb.
937 abort programs with a descriptive error message if g_thread_init() is
938 called after GSlice was in use. previously this just silently corrupted
941 * glib/ghash.c (struct _GHashNode): reordered fields to keep 8-byte
942 pointer alignment on 64bit systems and request smaller slice sizes
945 * tests/slice-test.c: support '~' option flag to introduce slice
946 allocation/release corruption with a significant probability. this
947 allowes testing of G_SLICE=debug-blocks.
949 2006-12-27 Matthias Clasen <mclasen@redhat.com>
951 * glib/gconvert.[hc]:
956 * glib/gunicollate.c:
958 * tests/timeloop-basic.c:
959 Consistently use gsize rather than size_t. (#333310,
962 2006-12-27 Matthias Clasen <mclasen@redhat.com>
964 * configure.in: Use AC_CACHE_CHECK for the nl_langinfo
965 check. (#304517, Lőrinczy Zsigmond)
967 2006-12-27 Tor Lillqvist <tml@novell.com>
970 * glib/gwin32.c (get_package_directory_from_module)
971 (g_win32_get_package_installation_directory)
972 (g_win32_get_package_installation_subdirectory): Add const to
973 gchar* arguments. (#384523, Yevgen Muntyan)
975 2006-12-27 Ryan Lortie <desrt@desrt.ca>
977 * glib/ghash.c: cache the value of the hash function
978 in the GHashNode. this speeds up resizing the hash
979 table and it also allows a slight optimisation on
982 2006-12-27 Matthias Clasen <mclasen@redhat.com>
984 * glib/gunicollate.c (g_utf8_collate_key): Don't modify
985 the current locale. (#389300)
987 2006-12-26 Matthias Clasen <mclasen@redhat.com>
989 * glib/gutf8.c: Add hints for locale-dependent interfaces.
990 * glib/gconvert.c: Add hints for locale-dependent interfaces.
992 * glib/gconvert.c (g_get_filename_charsets): Improve
995 2006-12-26 Behdad Esfahbod <behdad@gnome.org>
997 * configure.in: Use libtool to determine shared library suffix.
1000 2006-12-24 Matthias Clasen <mclasen@redhat.com>
1002 * tests/run-collate-tests.sh:
1003 * tests/unicode-collate.c: Silently skip tests if
1004 we can't set LC_COLLATE to en_US. (#336438)
1006 2006-12-19 Matthias Clasen <mclasen@redhat.com>
1008 * glib/gkeyfile.c (g_key_file_is_key_name): Accept
1009 '/', '+' and '.' in key names, since gnome-vfs uses
1010 mime types as keys in some cache.
1012 * tests/keyfile-test.c: Tests for the above.
1014 2006-12-18 Matthias Clasen <mclasen@redhat.com>
1016 * configure.in: Fix the broken poll test. (#387260,
1019 * glib/gmain.c (child_watch_helper_thread): Readd a
1020 return which was removed as dead code a while ago.
1021 icc may consider it dead, but gcc doesn't like non-void
1022 functions without a return... (#354707)
1024 * tests/Makefile.am: Try a different fix for bug 346373.
1026 2006-12-18 Matthias Clasen <mclasen@redhat.com>
1030 * configure.in: Check for wcslen.
1032 * glib/gnulib/vasnprintf.c: Handle wcslen missing.
1034 2006-12-18 Matthias Clasen <mclasen@redhat.com>
1036 * glib/gkeyfile.c: Accept '@' in locale names.
1038 * glib/gkeyfile.c: Tighten up the check for allowed
1039 key and group names. (#343191, Tommi Komulainen)
1041 * tests/keyfile-test.c: Test handling of key and group names.
1043 * tests/Makefile.am: Don't use $RANDOM if the shell doesn't
1044 have it. (#346373, Thomas Klausner)
1046 2006-12-17 Behdad Esfahbod <behdad@gnome.org>
1048 * glib/gstring.c: Improve docs about string functions taking a
1051 2006-12-17 Matthias Clasen <mclasen@redhat.com>
1054 * glib/gutf8.c (_g_charset_get_aliases): Put the G_GNUC_INTERNAL
1055 where gcc doesn't complain about it.
1057 * glib/ghash.c: Make ref_count an int to avoid compiler
1060 * configure.in: Use AC_LANG_SOURCE for the clock test.
1062 * glib/gthreadpool.h:
1063 * glib/gthreadpool.c (g_thread_pool_free): Don't use "wait"
1064 as parameter name. (#379207, Christian Biere)
1066 * glib/gspawn.c: Refer to g_child_watch_add() in addition
1069 * glib/gstrfuncs.c (g_strndup, g_strnfill): Move docs
1070 inline, and improve wording. (#372598, Behdad Esfahbod)
1072 * glib/gspawn.c: Add some pointers to the gdk_spawn_
1073 variants. (#338134, Federico Mena Quintero)
1075 * configure.in: Make montonic clock test work again. Does
1076 AC_COMPILE_IFELSE not get confdefs ? Also, move the clock
1077 tests below the thread checks to fix #364663.
1079 * tests/run-markup-tests.sh: Don't use diff -u (#380801,
1082 * glib/gspawn.c: Fix the recent fdwalk()-related changes
1083 to not break mapping-test. (#286838, Marco Barisione)
1085 * glib/gstring.c (g_string_chunk_new): Don't shadow size.
1086 (#386760, Kazuki IWAMOTO)
1088 2006-12-16 Matthias Clasen <mclasen@redhat.com>
1090 * glib/gstring.c: Move more documentation inline.
1092 * configure.in: Use AC_COMPILE_IFELSE for the monotonic
1093 clock test. (#362918, Han-Wen Nienhuys, Jeremy Lainé)
1095 * glib/gstring.c: Move documentation inline.
1097 2006-12-15 Matthias Clasen <mclasen@redhat.com>
1099 * glib/giochannel.h: Make ref_count a gint to avoid
1100 compiler warnings. (#321977, Andrew Paprocki)
1102 * configure.in: On Solaris, set CFLAGS and LDFLAGS that
1103 work both with Sun cc and gcc. (#315061, Lazlo Peter)
1105 * glib/gspawn.c: Undefine READ_OK to fix the build on
1106 old versions of Darwin. (#327800)
1108 * glib/glib.symbols:
1109 * glib/gstring.[hc] (g_string_chunk_clear): Add a function
1110 for clearing a GStringChunk. (#364608, Matt Barnes)
1112 * glib/guniprop.c (interval_compare): Avoid a compiler
1115 * glib/gspawn.c (do_exec): Call set_cloexec() with
1116 the right parameters. (#386252, Guillaume Desmottes)
1118 2006-12-15 Matthias Clasen <mclasen@redhat.com>
1120 Fix #357585, Padraig O'Briain.
1122 * configure.in: Check for fdwalk.
1124 * glib/gspawn.c (do_exec): Use fdwalk() to close all
1127 * glib/gspawn.c (fdwalk): Fallback implementation of
1130 2006-12-14 Matthias Clasen <mclasen@redhat.com>
1132 * glib/gconvert.c (open_converter): Don't use alloca
1133 and avoid allocating memory for small keys that are
1134 already cached. (#172406, Morten Welinder)
1136 * glib/gmain.c (g_child_watch_add_full): Improve the docs.
1137 (#345569, Tim-Philipp Müller)
1139 * glib/gkeyfile.c (g_key_file_add_group): If the group
1140 is already there, make it current. (#385910, Joe Halliwell)
1142 * tests/keyfile-test.c: Add a test for duplicate groups/keys.
1144 2006-12-13 Matthias Clasen <mclasen@redhat.com>
1146 * m4macros/glib-gettext.m4: Require AC_CANONICAL_HOST in
1147 GLIB_WITH_NLS. (#385132, Laszlo Peter)
1149 2006-12-12 Matthias Clasen <mclasen@redhat.com>
1151 * configure.in: Add a check for broken poll on Mac OS X.
1153 * glib/gmain.c: Use poll emulation on OS X. (#302672, Toby Peterson,
1154 patch by Dave Vasilevsky)
1156 2006-12-11 Matthias Clasen <mclasen@redhat.com>
1158 * glib/gatomic.c: Don't use local numeric labels in
1159 inline assembler on AIX. (#316434, Hans Rosenfeld)
1161 * glib/gunicode.h (g_utf8_next_char): Cast to const char *,
1162 not char *. (#138153, Nikolai Weibull)
1164 Wed Nov 22 16:09:13 2006 Tim Janik <timj@gtk.org>
1166 * glib/gmacros.h: added G_GNUC_MAY_ALIAS, suggested by Mathias
1167 Hasselmann in bug #335341, fixes bug #335853.
1169 2006-11-15 Matthias Clasen <mclasen@redhat.com>
1171 * m4macros/glib-gettext.m4: Apply a patch from James
1172 Henstridge for compatibility with automake 2.60 (#343825)
1174 2006-11-14 Behdad Esfahbod <behdad@gnome.org>
1176 * sanity_check: Replace bash-specific == with sh-understood =.
1179 2006-11-05 Hans Breuer <hans@breuer.org>
1181 * glib/makefile.msc.in : glib/ version not the gobject/
1182 one I accidentially commited. Fixes bug #371074.
1184 2006-11-05 Tor Lillqvist <tml@novell.com>
1187 * gmodule/makefile.mingw.in
1188 * glib/makefile.mingw.in
1189 * gobject/makefile.mingw.in
1190 * gthread/makefile.mingw.in
1191 * tests/makefile.mingw.in: Remove from CVS. Haven't been
1192 maintained or distributed for long.
1194 2006-10-26 Pascal Terjan <pterjan@linuxfr.org>
1196 * glib/libcharset/localcharset.c: Fix small leak on failed
1197 realloc in _g_locale_get_charset_aliases (#338582)
1199 2006-10-16 Behdad Esfahbod <behdad@gnome.org>
1201 * glib/gnulib/Makefile.am: Add $(GLIB_DEBUG_FLAGS). (#362543,
1204 2006-10-15 Sebastian Wilhelmi <seppi@seppi.de>
1206 * tests/Makefile.am: Compile errorcheck-mutex-test with thread
1207 libraries explicitly. (#74748, Javier Villavicencio)
1209 2006-10-08 Matthias Clasen <mclasen@redhat.com>
1211 Add a way to obtain Unicode script information. (#348348,
1214 * glib/glib.symbols:
1215 * glib/gunicode.h: Add GUnicodeScript enumeration and
1216 g_unichar_get_script.
1218 * glib/guniprop.c: Implement g_unichar_get_script.
1220 * glib/gscripttable.h: Generated private header containing
1223 * glib/gen-script-table.pl: Script to generate gscripttable.h.
1225 * glib/Makefile.am: Update
1227 2006-10-08 Matthias Clasen <mclasen@redhat.com>
1229 * tests/run-markup-tests.sh: Small portability fix. (#347944,
1232 2006-10-07 Tor Lillqvist <tml@novell.com>
1234 * glib/gwin32.c (get_package_directory_from_module)
1235 (g_win32_get_package_installation_directory): g_strdup the keys
1236 that we are passed before adding them to the hash tables, to guard
1237 against the caller freeing them. (#355955, Andreas Köhler)
1239 2006-10-06 Matthias Clasen <mclasen@redhat.com>
1241 * glib/gtimer.c: Fix a typo. (#359190)
1243 2006-10-02 Behdad Esfahbod <behdad@gnome.org>
1246 * gobject/Makefile.am:
1247 Include pltcheck.sh in EXTRA_DIST, and remove redefinition of TESTS.
1250 2006-10-01 Matthias Clasen <mclasen@redhat.com>
1252 * glib/gtimer.c (g_usleep): Use nsleep to implement
1253 g_usleep on AIX. (#321974, Andrew Paprocki)
1255 * configure.in: Check for nsleep
1257 * glib/gmain.c: Fix typos in doc comments.
1258 (#358421, Tom Tromey)
1260 2006-09-30 Matthias Clasen <mclasen@redhat.com>
1262 * glib/pltcheck.sh: A script to check PLT entries.
1263 * glib/Makefile.am (TESTS): Run pltcheck.sh
1265 * glib/*: Fix includes to correct some issues with
1266 PLT entries. (#354522, Behdad Esfahbod)
1268 2006-09-17 Hans Breuer <hans@breuer.org>
1270 * glib/makefile.msc.in gobject/makefile.msc.in : better filtering
1271 of G_GNUC_* stuff when generating .def files. Now also works with
1272 newer (less tolerant) linkers, e.g. from vc2500e
1274 2006-09-10 Matthias Clasen <mclasen@redhat.com>
1276 * glib/gbacktrace.c: Assume string.h is available.
1277 (#354523, Behdad Esfahbod)
1279 * configure.in: Bump version to 2.13.0
1281 * glib/glib.symbols:
1282 * glib/gmain.[hc]: Add functions to create approximate
1283 timeouts. (#353942, Arjan van de Ven)
1285 * glib/gstdio.c (g_rename): Initialize save_errno.
1286 (#355206, Mike Edenfield)
1288 2006-09-03 Matthias Clasen <mclasen@redhat.com>
1290 * glib/gerror.c: Allocate GErrors using the slice allocator.
1291 (#354054, Matt Barnes)
1293 2006-09-02 Matthias Clasen <mclasen@redhat.com>
1295 * glib/gtimer.c: Forgotten HAVE_CLOCK_GETTIME.
1297 2006-09-02 Tor Lillqvist <tml@novell.com>
1299 * glib/gutils.c (g_get_any_init_do): Correct C99ism (mixed
1300 declarations and code) in Win32 ifdef branch. (#353903, Mike
1303 2006-09-01 Abel Cheung <abel@oaka.org>
1305 * configure.in: Added 'dz' 'hy' to ALL_LINGUAS.
1307 2006-09-01 Matthias Clasen <mclasen@redhat.com>
1309 * configure.in: Check for CLOCK_MONOTONIC.
1311 * glib/gtimer.c: Only use clock_gettime if we
1312 have a monotonic clock.
1314 2006-08-31 Matthias Clasen <mclasen@redhat.com>
1316 * configure.in: Add missing includes to a few test
1317 programs. (#353580, Chris Wilson)
1319 2006-08-30 Matthias Clasen <mclasen@redhat.com>
1321 * glib/gmarkup.c (g_markup_vprintf_escaped): Don't call
1322 va_end on caller-provided va_args. (#353584, Chris Wilson)
1324 2006-08-29 Tor Lillqvist <tml@novell.com>
1326 Remove support for Windows 9x/ME, as will be done also in Pango
1327 and GTK+. GTK+ hasn't worked on Win9x since 2.6 or 2.8 anyway, so
1328 it's pretty pointless to keep the Win9x code in here either. If
1329 somebody is interested, the code can always be found in older GLib
1330 versions, and in CVS.
1334 * glib/gspawn-win32-helper.c
1335 * glib/gspawn-win32.c
1339 * glib/gwin32.h: Remove the G_WIN32_IS_NT_BASED() and
1340 G_WIN32_HAVE_WIDECHAR_API() tests and their false (Win9x)
1341 branches, and any variables or static functions used only by the
1344 * glib/gwin32.c (g_win32_windows_version_init): Call g_error() if
1347 2006-08-27 Matthias Clasen <mclasen@redhat.com>
1349 * configure.in: Fix pthread compiler flag detection.
1351 * glib/gtimer.c: Use Posix monotonic clocks instead of
1352 gettimeofday when available. (#336114, William Jon McCann)
1354 2006-08-26 Matthias Clasen <mclasen@redhat.com>
1357 * glib/gscanner.c: Fix some typos. (#351741, Kjartan Maraas)
1359 2006-08-25 Matthias Clasen <mclasen@redhat.com>
1361 * configure.in: Fix the pthread compiler flag detection.
1364 * glib/gutf8.c (_g_utf8_make_valid): Rename make_valid_utf8
1365 from gconvert.c, move it to gutf8.c, and export it privately.
1367 * glib/gconvert.c (g_filename_display_name): Adjust callers.
1369 * glib/gkeyfile.c: Use _g_utf8_make_valid() in a number of
1370 places to ensure error messages are valid UTF-8. (#351853,
1373 2006-08-22 Matthias Clasen <mclasen@redhat.com>