GVariant: Raise proper TypeError on invalid tuple input

https://bugzilla.gnome.org/show_bug.cgi?id=678317

Signed-off-by: Martin Pitt <martinpitt@gnome.org>
Revert "Do not bind gobject_get_data() and gobject_set_data()"

We should have some deprecation period for this, so bring back these two
methods and add deprecation warnings.

This reverts commit 24cc09a7105299805fcc5bc151f53ac69958d728.

https://bugzilla.gnome.org/show_bug.cgi?id=641944
Fix crash in GLib.find_program_in_path()

We need to handle a NULL return value properly.

https://bugzilla.gnome.org/show_bug.cgi?id=678119
PEP8: Consistent comparisons against True, False, and None

Spotted by current pep8 checker.
PEP8: Fix continuation lines

Spotted by current pep8 checker.
PEP8: Use isinstance() instead of direct type comparisons

Spotted by current pep8 checker.
PEP8: Fix indentation

Spotted by current pep8 checker.
Ignore E123 in pep8 tests

This is "closing bracket does not match indentation of opening bracket's line",
but it really looks better to have the closing bracket on the indentation level
of the opening bracket instead of the indentation level of the line that
contains the opening bracket.
Escape identifiers which are Python keywords

Add a trailing underscore to identifiers which are Python keywords.

We use a per-major-version static identifier list derived from keyword.kwlist
instead of calling out to Python's keyword.iskeyword(). This is much faster,
and also allows us to tweak the result. For example, Python 3 dropped "print"
as a keyword, but we still want to escape that to avoid breaking the API
between different Python versions.

Error out when building with a major Python version not covered yet, so that we
do not forget to update the list in the future.

https://bugzilla.gnome.org/show_bug.cgi?id=676746
Do not change constructor-only "type" Window property

When reading a Gtk.Window subclass from a GtkBuilder object, the object's
properties are already set at __init__ time. Do not try to set it again, to
avoid a warning.

https://bugzilla.gnome.org/show_bug.cgi?id=678510
Do not do any python calls when GObjects are destroyed after the python interpreter has been finalized

This happens when pygobject_data_free () function is called after the python
interpreter shuts down, we can't do python calls after that.

Benzea did the findings because of a bug in Sugar, and commented in this
SugarLabs ticket: http://bugs.sugarlabs.org/ticket/3670

https://bugzilla.gnome.org/show_bug.cgi?id=678046

Signed-off-by: Benjamin Berg <benzea@sugarlabs.org>
Signed-off-by: Martin Pitt <martinpitt@gnome.org>
Remove obsolete ChangeLog and release-tag make targets
Bring back ChangeLog make target

This is being used by "make dist".
release 3.3.3
configure.ac: Post-release version bump to 3.3.4
Do not escape enum and flag names that are Python keywords

These are translated to upper case, and thus can never be keywords. This broke
existing API such as Gtk.ShadowType.IN.
release 3.3.3.1
configure.ac: Post-release bump to 3.3.4.
Remove "label" property from Gtk.MenuItem if it is not set

The Gtk.MenuItem will not render as a separator if the "label" or
"user-underline" properties have been accessed. The constructor
for Gtk.MenuItem override should not pass the "label" property
as an argument if it is None since that will still result in an
empty label widget which breaks Gtk.SeparatorMenuItem.

https://bugzilla.gnome.org/show_bug.cgi?id=670575

Signed-off-by: Martin Pitt <martinpitt@gnome.org>
m4/python.m4: Update Python version list

Thanks to Dieter Verfaillie for pointing  this out.