…e files (so \n does not become \r\n)
* this is a prep for the invoke-rewrite branch * when marshalling foreign structs we may not have the type info but we will always have the interface info to pass * this simplifies the code because we were simply converting the type info back to an interface info anyway so there is less refcounting to keep track of * also fixes a bug where we were leaking PyNone ref counts
When using a separate build tree, the compiled GSettings schema will be in the build tree, but as the test scripts are only in the source tree they won't find the compiled schema. Pass the build dir as environment variable and prefer it over test_overrides.py's directory.
* before we were able to marshal python callables into methods that took GClosures but we had no way to take a GClosure returned from one method and pass it to another - this enables that usecase https://bugzilla.gnome.org/show_bug.cgi?id=644757
Don't just ignore the type argument, actually pass it on. Thanks to Tualatrix Chou for spotting this!
Calling methods on DBusProxy objects usually requires specifying the signature as first argument. However, if the D-BUS method does not take any arguments, specifying the empty '()' signature does not give any additional information, so allow the caller to just call the proxy method without any arguments. Also ensure that passing a non-string signature raises a comprehensible exception, instead of crashing deep in the GVariant leaf constructor. https://bugzilla.gnome.org/show_bug.cgi?id=644260
Since this helper was storing plain references in a long-lived dict, the refcount for the instances would never drop to zero, and so they would never get finalized. https://bugzilla.gnome.org/show_bug.cgi?id=644039
* This worked in Python2 because bytes and strings are equivilant and the macro PYGLIB_PyString_FromStringAndSize evaluated to a PyString * In Python 3 PYGLIB_PyString_FromStringAndSize evaluates to a PyUnicode * PYGLIB_PyBytes_FromStringAndSize evaluates to a PyString in Python 2 and a PyBytes object in Python 3
* python < 2.6 does not allow sending in keyword litterals after sending in *args. You can only send in **kwds.