Path to this page:
Subject: CVS commit: pkgsrc/devel/py-cffi
From: Adam Ciarcinski
Date: 2017-09-30 15:09:47
Message id: 20170930130948.0CDBFFBC7@cvs.NetBSD.org
Log Message:
py-cffi: update to 1.11.0
v1.11
Support the modern standard types char16_t and char32_t. These work like \
wchar_t: they represent one unicode character, or when used as charN_t * or \
charN_t[] they represent a unicode string. The difference with wchar_t is that \
they have a known, fixed size. They should work at all places that used to work \
with wchar_t (please report an issue if I missed something). Note that with \
set_source(), you need to make sure that these types are actually defined by the \
C source you provide (if used in cdef()).
Support the C99 types float _Complex and double _Complex. Note that libffi \
doesn’t support them, which means that in the ABI mode you still cannot call C \
functions that take complex numbers directly as arguments or return type.
Fixed a rare race condition when creating multiple FFI instances from multiple \
threads. (Note that you aren’t meant to create many FFI instances: in inline \
mode, you should write ffi = cffi.FFI() at module level just after import cffi; \
and in out-of-line mode you don’t instantiate FFI explicitly at all.)
Windows: using callbacks can be messy because the CFFI internal error messages \
show up to stderr—but stderr goes nowhere in many applications. This makes it \
particularly hard to get started with the embedding mode. (Once you get started, \
you can at least use @ffi.def_extern(onerror=...) and send the error logs where \
it makes sense for your application, or record them in log files, and so on.) So \
what is new in CFFI is that now, on Windows CFFI will try to open a non-modal \
MessageBox (in addition to sending raw messages to stderr). The MessageBox is \
only visible if the process stays alive: typically, console applications that \
crash close immediately, but that is also the situation where stderr should be \
visible anyway.
Progress on support for callbacks in NetBSD.
Functions returning booleans would in some case still return 0 or 1 instead of \
False or True. Fixed.
ffi.gc() now takes an optional third parameter, which gives an estimate of the \
size (in bytes) of the object. So far, this is only used by PyPy, to make the \
next GC occur more quickly (issue 320). In the future, this might have an effect \
on CPython too (provided the CPython issue 31105 is addressed).
Add a note to the documentation: the ABI mode gives function objects that are \
slower to call than the API mode does. For some reason it is often thought to be \
faster. It is not!
Files: