Commit Graph

1151 Commits

Author SHA1 Message Date
Christian Hergert
3272267b99 macros: add G_GNUC_CHECK_VERSION() for compiler checks.
https://bugzilla.gnome.org/show_bug.cgi?id=728099
2015-12-16 07:47:53 -05:00
Xavier Claessens
6f1b574cea Doc: Fix missing glibconfig.h when builddir!=srcdir
Currently the doc is incomplete when builddir!=srcdir
(e.g. debian package) because glibconfig.h is generared from
configure.ac and is thus missing from srcdir. This leads to
missing doc for symbols like G_GINT64_FORMAT.

https://bugzilla.gnome.org/show_bug.cgi?id=734469
2015-11-02 10:02:43 -05:00
Xavier Claessens
2331437df3 Doc: fix some gtk-doc warnings
https://bugzilla.gnome.org/show_bug.cgi?id=755364
2015-10-30 10:30:55 -04:00
Allison Ryan Lortie
d0219f2597 GLib: add bounds-checked unsigned int arithmetic
Add some helpers for builds-checked unsigned integer arithmetic to GLib.
These will be based on compiler intrinsics where they are available,
falling back to standard manual checks otherwise.

The fallback case needs to be implemented as a function (which we do
inline) because we cannot rely on statement expressions.  We also
implement the intrinsics case as an inline in order to avoid people
accidentally writing non-portable code which depends on static
evaluation of the builtin.

For now there is only support for addition and multiplication for guint,
guint64 and gsize.  It may make sense to add support for subtraction or
for the signed equivalents of those types in the future if we find a use
for that.

https://bugzilla.gnome.org/show_bug.cgi?id=503096
2015-10-30 11:58:49 +01:00
Rico Tzschichholz
0d4f6afcdf docs: Add index for 2.48 api 2015-10-25 19:42:18 +01:00
Nicolas Dufresne
b36b4941a6 glib: Add 2.48 availibity macros
https://bugzilla.gnome.org/show_bug.cgi?id=755766
2015-09-29 08:26:13 -04:00
Xavier Claessens
b81f3ced71 Move GStrv typedef to glib.h instead of gobject.h
GStrv was historically only needed for the boxed G_TYPE_STRV,
but it is now useful for g_auto(GStrv) as well. This is not
an ABI change.

https://bugzilla.gnome.org/show_bug.cgi?id=755355
2015-09-22 11:18:30 -04:00
Matthias Clasen
2bc094264b Documentation fixups
Various parameter fixups and symbol list additions.
2015-09-21 06:44:58 -04:00
Rico Tzschichholz
925dca1746 docs: Add index for 2.46 api 2015-09-08 14:14:13 +02:00
Dan Winship
9f2e3f6b72 gtestutils: add g_assert_cmpmem()
Add a test macro to compare two buffers (which are not already known
to be the same length) for equality.

https://bugzilla.gnome.org/show_bug.cgi?id=754283
2015-08-31 13:59:48 -04:00
Philip Withnall
8c858a018d gvariant: Clarify that nullable strings should use maybe types
Otherwise people might try to encode a NULL string as "NULL". I’m not
even kidding.

https://bugzilla.gnome.org/show_bug.cgi?id=741779
2015-08-19 11:36:43 +01:00
Matthias Clasen
9486f697bb GThreadPool: Add some queue manipulation api
GTask has a need for an api that boosts an unprocessed
item to the front of the queue, so add one.

https://bugzilla.gnome.org/show_bug.cgi?id=751160
2015-06-29 08:20:26 -07:00
Matthias Clasen
b662c6f09f GAsyncQueue: Add some useful api
The underlying queue supports removing and pushing items to
the front, and these operations can sometimes be useful.

https://bugzilla.gnome.org/show_bug.cgi?id=751160
2015-06-29 08:20:26 -07:00
Matthias Clasen
2471d9cf86 Add g_log_set_handler_full
This is a bindable version of g_log_set_handler that takes
a destroy notify for the user_data.

https://bugzilla.gnome.org/show_bug.cgi?id=740516
2015-06-10 22:03:19 -04:00
Dan Winship
15c5e643c6 gversionmacros: add 2.46 version macros 2015-03-21 09:50:29 -04:00
Ryan Lortie
6fffce2588 docs: clean up a few glib issues
Fix a few typical problems, and also stop wrapping the inline definition
of g_steal_pointer in parens, since it is not necessary and it confuses
gtk-doc.
2015-03-12 17:24:05 -04:00
Xavier Claessens
497b294510 Doc: Fix missing API from GOptionGroup boxing 2015-03-12 16:09:14 -04:00
Xavier Claessens
1404d3e128 Add GMutexLocker
https://bugzilla.gnome.org/show_bug.cgi?id=744012
2015-02-06 12:11:18 +01:00
Ryan Lortie
2596919c58 macros: add support for GNUC cleanup __attribute__
Add g_auto() and g_autoptr() as helpers for declaring variables with
automatic cleanup.

Add some macros to help types define cleanup functions for themselves.

Going forward it will be an expectation that people use this macro when
creating a new type, even if they do not intend to use the auto-cleanup
functionality for themselves.

These new macros only work on GCC and clang, which is why we resisted
adding them for so long.  There exist many people who are only
interested in writing programs for these compilers, however, and a
similar API in libgsystem has proven to be extremely popular, so let's
expose this functionality to an even wider audience.

We ignore deprecation warnings when emitting the free functions, which
seems suspicious.  The reason that we do this is not because we want to
call deprecated functions, but just the opposite: sometimes the free
function will be an _unref() function that is only AVAILABLE_IN newer
versions, and these warnings are also implemented as deprecation
warnings.

https://bugzilla.gnome.org/show_bug.cgi?id=743640
2015-01-30 16:49:53 +01:00
Chun-wei Fan
e07cc89dee glib-sections.txt: Add g_win32_check_windows_version()
https://bugzilla.gnome.org/show_bug.cgi?id=741895
2015-01-27 12:17:25 +08:00
Xavier Claessens
1a2a689dea Doc: glib: Fix all undocumented/unused/undeclared symbols
There is one issue left in gscanner.h due to a bug #741305 in gtk-doc.

https://bugzilla.gnome.org/show_bug.cgi?id=740814
2014-12-12 11:01:37 -05:00
Rico Tzschichholz
d0d5ea71bb docs: Add index for 2.44 api 2014-12-01 14:17:26 +01:00
Xavier Claessens
71944b1bfd gstrfuncs: Add g_strv_contains()
Includes unit tests.

https://bugzilla.gnome.org/show_bug.cgi?id=685880
2014-11-25 12:51:36 +00:00
Ryan Lortie
682bca0950 Add version macros for 2.44 2014-09-29 11:40:10 -04:00
Sébastien Wilmet
dfaaf37338 Update URLs library.gnome.org -> developer.gnome.org 2014-09-18 20:32:43 +02:00
Matthias Clasen
aef0e4b7f3 Fix docs to talk about --enable-coverage
The configure options to turn on coverage testing got renamed
at some point, but the docs were not updated. Fix that.

https://bugzilla.gnome.org//show_bug.cgi?id=735915
2014-09-07 22:50:36 -04:00
Rico Tzschichholz
4c8480e6fa docs: Add index for 2.42 api 2014-08-17 22:54:22 +02:00
Philip Withnall
fd9120dc50 gvariant: Clarify type and format strings in the docs
'@' and '&' are only used in format strings as prefixes to type
strings and not to full format strings.

https://bugzilla.gnome.org/show_bug.cgi?id=729269
2014-05-28 10:59:38 +01:00
Ryan Lortie
61a9142cd0 Revert "gvariant: Fix confusion between type and format strings in the docs"
This reverts commit fca1b83be7.

The original documentation was correct.

https://bugzilla.gnome.org/show_bug.cgi?id=729269
2014-05-26 17:34:54 +02:00
Sébastien Wilmet
430e6fd6ad doc: various improvements
- GSubprocessLauncher exists since 2.40, not 2.36
- more logical order for g_markup functions
- fix short description of GMarkup
- GMarkupParser: specify that some parameters are NULL-terminated.
- g_string_new (NULL); is possible.
- other trivial fixes.

https://bugzilla.gnome.org/show_bug.cgi?id=728983
2014-05-09 18:47:42 +02:00
Philip Withnall
361a6eb856 docs: Fix some minor typos in the GVariant documentation
https://bugzilla.gnome.org/show_bug.cgi?id=729269
2014-05-01 15:34:30 +02:00
Philip Withnall
fca1b83be7 gvariant: Fix confusion between type and format strings in the docs
‘@’ and ‘&’ are only used in format strings, not type strings.

https://bugzilla.gnome.org/show_bug.cgi?id=729269
2014-04-30 16:38:43 +02:00
Dan Winship
31694f9ccb Bump version to 2.41.0, add GLIB_VERSION_2_42, etc 2014-03-29 12:54:29 -04:00
Ryan Lortie
941b8979d0 Add locale-sensitive ASCII transliteration API
Add a new function, g_str_to_ascii() that does locale-dependent ASCII
transliteration of UTF-8 strings.

This function works off of an internal database.  We get the data out of
the localedata shipped with glibc, which seems to be just about the best
source of locale-sensitive transliteration information available
anywhere.

We include a update script with this commit that's not used by anything
at all -- it will just sit in git.  It is intended to be run manually
from time to time.

https://bugzilla.gnome.org/show_bug.cgi?id=710142
2014-02-20 18:27:24 -05:00
Matthias Clasen
35066ed6c6 Docs: Drop entities, switch away from sgml mode
Since all element markup is now gone from the doc comments,
we can turn off the gtk-doc sgml mode, which means that from
now on, docbook markup is no longer allowed in doc comments.

To make this possible, we have to replace all remaining
entities in doc comments by their replacement text, & -> &
and so on.
2014-02-09 02:07:26 -05:00
Philip Withnall
2b8edf234c gvariant: Document the need to cast varargs when constructing GVariants
Slightly expand on the documentation about casting varargs when
constructing GVariants, and link to it from all the functions where it’s
a necessary consideration.

Add an example of passing flags to a ‘t’ type variable (guint64).
Assuming the flags enum does not have many members, the flag variable
will be 32 bits wide, and needs an explicit cast to be passed into
g_variant_new() as a 64-bit value.

https://bugzilla.gnome.org/show_bug.cgi?id=712837
2014-02-05 09:40:49 +00:00
Ryan Lortie
14e62d1fa2 add GVariantDict
...the long-requested mutable dictionary helper for GVariant.

https://bugzilla.gnome.org/show_bug.cgi?id=625408
2014-02-04 11:56:06 +00:00
Matthias Clasen
0bfb09daf1 Fix up missing symbols in glib-sections.txt 2014-02-01 20:40:41 -05:00
Emmanuele Bassi
460e3e9d01 docs: Add missing GTest functions
The GTest message API is missing from the reference.
2014-01-20 20:03:40 +00:00
Matthias Clasen
647412603a More GTree and GNode formatting and documentation fixes
Among other things, add images for tree traversal types,
taken from Wikimedia Commons.
2014-01-19 23:49:12 -05:00
Matthias Clasen
5459d148d1 Move GTraverseType to gnode docs 2014-01-19 22:23:51 -05:00
Ryan Lortie
673ee54cdd win32: add g_win32_get_command_line()
This returns the command line in GLib filename encoding format (ie:
UTF-8) for use with g_option_context_parse_strv().

This will allow parsing of Unicode commandline arguments on Windows,
even if the characters in those arguments fall outside of the range of
the system codepage.

https://bugzilla.gnome.org/show_bug.cgi?id=722025
2014-01-17 20:04:44 -05:00
Ryan Lortie
f062fae4d6 GOptionContext: add memory-friendly parse mode
Add g_option_context_parse_strv() that obeys the normal memory conventions for
dealing with a strv instead of assuming that we're dealing with the 'argv'
parameter to main().

This will help for using GOptionContext with GApplication.

https://bugzilla.gnome.org/show_bug.cgi?id=721947
2014-01-10 12:32:35 -05:00
Yosef Or Boczko
52cefa239d Fix doc build 2014-01-02 01:40:26 +02:00
Matthias Clasen
58cdf0b474 Drop memory-related trap variables
These are just more lo-tech conditional breakpoint wannabes.
Debuggers can be trusted to support conditional breakpoints
nowadays.
2014-01-01 17:59:22 -05:00
Ryan Lortie
56fb675d86 GVariant: add way to print context of parse errors
This was a feature intended from the very beginning that somehow never
got written.  It's a way to replace these sort of error messages out of
the GVariant parser:

  1-2,10-15:unable to find a common type

with something in the style of the Vala compiler:

  unable to find a common type:
    [1, 2, 3, 'str']
     ^        ^^^^^

https://bugzilla.gnome.org/show_bug.cgi?id=715028
2013-12-22 11:41:19 -05:00
Ryan Lortie
3f41e49285 Use POSIX-specified <poll.h> over <sys/poll.h>
POSIX specifies that <poll.h> is the correct header to include for
poll(), so let's do that instead.

https://bugzilla.gnome.org/show_bug.cgi?id=141251
2013-12-22 11:33:07 -05:00
Murray Cumming
eeac91f866 GVariant: Add g_variant_parse_error_quark()
Most GErrors, such as GSomethingError, have a function to get
their quark that looks like g_something_error_quark(),
so bindings (such as gtkmm) would expect GVariantParseError
to have g_variant_parse_error_quark(). Instead this had
g_variant_parser_get_error_quark().
This deprecates the old function and adds the correct one,
making life easier for gtkmm (and maybe others).

https://bugzilla.gnome.org/show_bug.cgi?id=708212
2013-12-22 11:27:16 -05:00
Matthias Clasen
12fbc5ec4a Add g_ptr_array_insert to the docs 2013-12-14 23:45:36 -05:00
Dan Winship
97fac93670 gtestutils: add g_assert_nonnull() to go with g_assert_null()
https://bugzilla.gnome.org/show_bug.cgi?id=711800
2013-11-24 14:59:51 -05:00