1234 Commits

Author SHA1 Message Date
Ryan Lortie
afd1e36970 Change GLib size units policy
This commit changes GLib size units policy.  We now prefer SI units and
allow for use of proper IEC units where desired.

g_format_size_for_display() which incorrectly mixed IEC units with SI
suffixes is left unmodified, but has been deprecated.

g_format_size() has been introduced which uses SI units and suffixes.

g_format_size_full() has also been added which takes a flags argument to
allow for use of IEC units (with correct suffixes).  It also allows for
a "long format" output which includes the total number of bytes.  For
example: "238.5 MB (238,472,938 bytes)".
2011-07-20 20:06:35 +02:00
Ryan Lortie
19878998bc GVariant: better support for object path arrays
Add G_VARIANT_TYPE_OBJECT_PATH_ARRAY along with accessor functions
g_variant_new_objv, g_variant_get_objv and g_variant_dup_objv.  Also add
support for '^ao' and '^a&o' format strings for g_variant_new() and
g_variant_get().

https://bugzilla.gnome.org/show_bug.cgi?id=654955
2011-07-20 16:27:30 +02:00
Matthias Clasen
4c64e75ec5 Drop the warnings.sgml template 2011-07-19 20:40:28 -04:00
Matthias Clasen
c9379bcfe1 Move GError docs inline and ditch template 2011-07-18 23:58:32 -04:00
Matthias Clasen
09e2d2a61c Move Unicode docs inline, ditch template 2011-07-18 23:23:17 -04:00
Matthias Clasen
2358616d6a Remove queue.sgml 2011-07-18 23:00:09 -04:00
Behdad Esfahbod
0584fe33de Bug 654651 - Better g_unicode_canonical_decomposition()
Add g_unichar_fully_decompose().
Deprecate g_unicode_canonical_decomposition().
2011-07-18 18:12:35 -04:00
Matthias Clasen
adc325fac0 Move version docs inline 2011-07-17 23:50:31 -04:00
Matthias Clasen
761a1841ee Bug 654195 - Add g_unichar_compose() and g_unichar_decompose() 2011-07-14 16:55:34 -04:00
Ryan Lortie
58c247e51b GVariant: add g_variant_take_ref()
This function implements the following logic:

  if (g_variant_is_floating (value))
    g_variant_ref_sink (value);

which is used for consuming the return value of callbacks that may or
may not return floating references.

This patch also replaces a few instances of the above code with the new
function (GSettings, GDBus) and lifts a long-standing restriction on the
use of floating values as the return value for signal handlers by
improving g_value_take_variant().

https://bugzilla.gnome.org/show_bug.cgi?id=627974
2011-07-12 19:44:21 +02:00
Paolo Bonzini
5eee90fbbc add g_regex_escape_nul
The function can be used to let regex compile non-NUL-terminated
strings without redesigning the way the pattern is stored in GRegex
objects and retrieved with g_regex_get_pattern.

https://bugzilla.gnome.org/show_bug.cgi?id=615895
2011-07-11 00:02:22 -04:00
Matthias Clasen
653c2f701a Fix gtk-doc cross-linking among glib/gobject/gio
Patch by Daniel Macks, bug 644687.
2011-07-10 23:55:52 -04:00
Javier Jardón
6079443b48 docs: G_GNUC_DEPRECATED_FOR was added in Glib 2.26 2011-07-08 16:16:27 +01:00
Javier Jardón
c2dc66ccf2 Move documentation to inline comments: spawn 2011-07-06 22:13:05 +01:00
Javier Jardón
0e27a71899 Move documentation to inline comments: conversions 2011-07-06 21:49:55 +01:00
Matthias Clasen
9eb65dd3ed Unicode: add a g_utf8_substring convenience api
This function is useful in the GTK+ accessibility implementations,
and seems like a nice thing to have around in general.
2011-06-23 21:31:40 -04:00
Christian Persch
00afe3fed3 Make GMatchInfo refcounted 2011-06-24 01:03:46 +02:00
Patrick Welche
3393711f42 build: fix gtk-doc when srcdir != builddir
https://bugzilla.gnome.org/show_bug.cgi?id=653250
2011-06-23 12:52:13 -04:00
Sebastian Dröge
1e58d11a44 Fix typo in GTime docs
deprected -> deprecated
2011-06-23 09:34:59 +02:00
Philip Van Hoof
f6ed357101 Add iter_replace API to GHashTableIter
https://bugzilla.gnome.org/show_bug.cgi?id=652822
2011-06-20 23:05:59 -04:00
Matthias Clasen
a0361ec049 Fix doc generation
It helps to use the same file name on both ends...
2011-06-13 23:20:32 -04:00
Ryan Lortie
caa8d2ae18 Document the deprecatation of G_CONST_RETURN
...but don't actually deprecate it yet.
2011-06-09 11:42:35 -04:00
Matthias Clasen
b04f6dbca0 Move gmain docs inline 2011-06-08 23:48:55 -04:00
Matthias Clasen
7648415a50 Move gutils docs inline 2011-06-08 23:44:39 -04:00
Matthias Clasen
e89f183cf6 Remove unused template 2011-06-08 23:29:21 -04:00
Colin Walters
ab0e9dbfa7 Generate $module-public-headers.txt file, feed it to gtk-doc
Rather than having the gtk-doc build machinery have a list of header
files to exclude, change the GLib build to dump a list of public
header files generated from the maintained Makefile.am files for
each of glib/, gobject/, gio/.

Also, for glib, always install glib-unix.h, even on non-Unix
platforms, for the same reason we install gwin32.h even on Unix.

https://bugzilla.gnome.org/show_bug.cgi?id=651745
2011-06-07 14:18:36 -04:00
Colin Walters
a6f09e104c GBuffer: Suffix header with private.h
This makes it clearer it's not public API yet.

https://bugzilla.gnome.org/show_bug.cgi?id=651745
2011-06-06 09:58:21 -04:00
Matthias Clasen
75f7eef9cd Fix doc typos
Now with fewer broken links...
2011-06-04 14:43:52 -04:00
Matthias Clasen
4cd0b86103 Add pointer bitlocks to the docs 2011-06-03 20:54:32 -04:00
Matthias Clasen
807d41b89b Documentation fixups 2011-05-29 00:05:07 -04:00
Matthias Clasen
d35e83d337 Documentation tweaks
Add Since tags, etc.
2011-05-28 21:12:52 -04:00
Ryan Lortie
8382135265 glib: Rewrite gatomic.[ch]
- remove all inline assembly versions

 - implement the atomic operations using either GCC intrinsics, the
   Windows interlocked API or a mutex-based fallback

 - drop gatomic-gcc.c since these are now defined in the header file.
   Adjust Makefile.am accordingly.

 - expand the set of operations: support 'get', 'set', 'compare and
   exchange', 'add', 'or', and 'xor' for both integers and pointers

 - deprecate g_atomic_int_exchange_and_add since g_atomic_int_add (as
   with all the new arithmetic operations) now returns the prior value

 - unify the use of macros: all functions are now wrapped in macros that
   perform the proper casts and checks

 - remove G_GNUC_MAY_ALIAS use; it was never required for the integer
   operations (since casting between pointers that only vary in
   signedness of the target is explicitly permitted) and we avoid the
   need for the pointer operations by using simple 'void *' instead of
   'gpointer *' (which caused the 'type-punned pointer' warning)

 - provide function implementations of g_atomic_int_inc and
   g_atomic_int_dec_and_test: these were strictly macros before

 - improve the documentation to make it very clear exactly which types
   of pointers these operations may be used with

 - remove a few uses of the now-deprecated g_atomic_int_exchange_and_add

 - drop initialisation of gatomic from gthread (by using a GStaticMutex
   instead of a GMutex)

 - update glib.symbols and documentation sections files

Closes #650823 and #650935
2011-05-28 16:10:44 -04:00
Ryan Lortie
c00ef0a17a Add G_STATIC_ASSERT_EXPR macro
https://bugzilla.gnome.org/show_bug.cgi?id=626549
2011-05-27 22:36:16 -04:00
Colin Walters
9966fe4493 g_key_file_has_key_full: New function to fix g_key_file_has_key()'s GError semantics
See https://bugzilla.gnome.org/show_bug.cgi?id=649657 for discussion
of why it's bad for bindings for gerror return values to both signal
errors and carry meaning.

https://bugzilla.gnome.org/show_bug.cgi?id=650345
2011-05-18 11:53:21 -04:00
Colin Walters
542215b78a Rename g_unix_pipe_flags to g_unix_open_pipe
From IRC discussion, people liked this name more.

https://bugzilla.gnome.org/show_bug.cgi?id=649322
2011-05-03 23:34:17 -04:00
Colin Walters
549d895fa4 glib-unix: New API to watch some Unix signals
This new API allows watching a few select Unix signals;
looking through the list on my system, I didn't see anything
else that I think it'd reasonable to watch.

We build on the previous patch to make the child watch helper thread
that existed on Unix handle these signals in the threaded case.
In the non-threaded case, they're just global variables.

https://bugzilla.gnome.org/show_bug.cgi?id=644941
2011-04-27 16:01:39 -04:00
Colin Walters
0ff211f520 glib-unix: New Unix-specific API
GLib historically has been designed to be "mostly" portable; there
are some functions only available on Unix like g_io_channel_unix_new(),
but these are typically paired with obvious counterparts for Win32.

However, as GLib is used not only by portable software, but components
targeting Unix (or even just Linux), there are a few cases where it
would be very convenient if GLib shipped built-in functionality.

This initial patch is a basic wrapper around pipe2(), including
fallbacks for older kernels.  This pairs well with the
existing g_spawn_*() API and its child_setup functionality.

However, in the future, I want to add a signal() wrapper here,
complete with proxying the signal to a mainloop.  I have initial code
for this, but doing it sanely (including factoring out gmain.c's
private worker thread), is a complex task, and I don't want to block
on that.

See also gwin32.h for Win32 specific functionality.

https://bugzilla.gnome.org/show_bug.cgi?id=644941
2011-04-27 13:29:38 -04:00
Maciej Piechotka
70a1981532 Allow caching have_qsort_r which re-enables cross-compiling
https://bugzilla.gnome.org/show_bug.cgi?id=646309
2011-04-26 23:41:51 -04:00
Benjamin Otte
d5dc79c0b0 API: testutils: Add g_test_fail()
This allows tests to fail in a nonfatal way and the test runner can
continue if invoked with -k.

https://bugzilla.gnome.org/show_bug.cgi?id=647826
2011-04-18 14:52:29 +02:00
Matthias Clasen
c36aa59bf0 Fix duplicate private subsection
gtk-doc doesn't understand duplicate Private subsections in
the obvious way, it seems.
2011-04-11 13:21:12 -04:00
Matthias Clasen
9d048615da Add 2.30 index to GLib docs 2011-04-11 12:53:25 -04:00
Ryan Lortie
de3a3b181a g_time_zone_new_local: cache the result
Add a function to drop the cache.
2011-03-31 12:47:02 +05:30
Emmanuele Bassi
0c1acc7e74 Revert "Deprecate G_CONST_RETURN"
This reverts commit a7fc7909dad9b88e8b2d1c6cde801e8888bdfc36.

The deprecations was not discussed except on Bugzilla:

https://bugzilla.gnome.org/show_bug.cgi?id=644611
2011-03-15 09:02:08 +00:00
Ryan Lortie
a7fc7909da Deprecate G_CONST_RETURN 2011-03-15 01:32:22 -04:00
Ryan Lortie
d2a2fe96a3 GVariant docs cleanups
Fix some gtk-doc warnings
2011-03-04 00:57:51 -05:00
Ryan Lortie
be04e514c0 GVariant: add G_VARIANT_TYPE_VARDICT for a{sv} 2011-03-04 00:45:14 -05:00
Matthias Clasen
deab106457 Docs: Mention gettext setup requirements in i18n section 2011-02-12 12:45:25 -05:00
Will Thompson
dfeb02ee86 GVariant: titlecase ‘Unicode’ in text format docs 2011-02-11 19:10:18 +00:00
Will Thompson
c3fe071813 GVariant: Correct uint32/64 thinko in text format docs 2011-02-11 19:07:45 +00:00
Ryan Lortie
ea4e3ea1cb GVariant: doc the format of g_variant_parse/print 2011-02-11 13:53:10 -05:00