A quote from Cython documentation:
"The other direction, i.e. automatic encoding to C strings, is only supported
for the ASCII codec (and the “default encoding”, which is runtime specific
and may or may not be ASCII). This is because CPython handles the memory
management in this case by keeping an encoded copy of the string alive
together with the original unicode string. Otherwise, there would be no way
to limit the lifetime of the encoded string in any sensible way, thus
rendering any attempt to extract a C string pointer from it a dangerous
endeavour."
Cython plays it safe and we can't live with ASCII-only; reverting to
our earlier "hacks" for string conversion.
This reverts commit b547ff2aa2.
Conflicts:
efl/elementary/entry.pyx
efl/elementary/object.pyx
* implemented a test for smart obj
* remove comments from factories methods
* install the metaclass also for the Clipped one
Smart object implementation is still broken :(
Every object segfault on delete, the reason is
the eo del callback called BEFORE the smart
delete function. need to investigate better.
Image.image_data_memoryview_get was disabled.
This method can be added back once we figure out how to do conditional
compilation using Python version.
Using an evas.Image instance as a memoryview object should do the same
thing as the disabled method.
Elm was lgpl3, COPYING was lgpl3, docs say lgpl3. So fix everything to be v3.
Also fix the COPING for Lesser: we must include gpl (in COPYING) AND lgpl (in COPYING.LESSER).
With "except *" a call is made to PyErr_Occurred on each call of a
function.
Adding a return value where possible and using an appropriate exception
value calls PyErr_Occurred only when that value is returned, ie.
an exception has been raised.
cdef void example_func() except *: <- PyErr_Occurred called on each call
cdef int example_func() except 0: <- PyErr_Occurred called only when
an exception has been raised (the function thus returns 0)
Calling str() uses __repr__ when __str__ is not found.
__repr__ should return a string with angle brackets when the object
cannot be reconstructed with exec(repr(obj)).