0960c7a5a1
0.9.6.4 ------- Enhancements: - Functions declared with_gil and external functions declared nogil are now allowed to have Python arguments and return types. 0.9.6.3 ------- Enhancements: - C API now only uses a single name in the module namespace instead of one for each exported C function. [Stefan Behnel] - Multiple declarations with the same visibility and api options can now be grouped into a 'cdef' block. - The 'api' keyword can now be used on extension types to cause generation of an api.h file when there are no exported C functions. - Added a getattr3() builtin for the three-argument form of getattr. 0.9.6 ----- New Features: - Top-level C functions defined in one module can now be used in another via cimport, and a C API can be produced to allow them to be used from C code without linking to the extension module. See "Interfacing with External C Code" and "Sharing Declarations between Pyrex Modules" in the Language Overview. [Stefan Behnel] - Facilities added for releasing the GIL around a section of code and acquiring it on entry to a C function. See "Acquiring and Releasing the GIL under "Interfacing with External C Code" in the Language Overview. [Ulisses Furquim, Stefan Behnel] - Some conditional compilation facilities have been added. See "Conditional Compilation" under "Language Basics" in the Language Overview. [Sam Rushing] Language Changes: - The __new__ special method of extension types is being renamed to "__cinit__". For now, you will get a warning whenever you declare a __new__ method for an extension type, and it will automatically be renamed to __cinit__ for you. In the next release, the warning will become an error and no renaming will occur. In some later release, the __new__ method may be re-introduced with different semantics. It is recommended that you begin updating your sources now to use __cinit__. - A 'raise' statement with no arguments (i.e. to re-raise the last exception caught) is now required to be lexically within the 'except' clause which caught the exception. This change was necessary to efficiently support preserving the exception if an intervening call raises and catches a different exception. - The following new reserved words have been added: with, DEF, IF, ELIF, ELSE Enhancements: - Calls to many of the builtin functions are now compiled as direct calls to Python/C API routines. - A C type explicitly declared as 'signed' is represented as such in the generated code, to acommodate platforms where 'char' is unsigned by default. [Francesc Altet] - Python function can now have an argument of type "unsigned char". [Alexander Belchenko] - A new Pyrex.Distutils implementation has been added, which exports an Extension type supporting the following options: pyrex_include_dirs - list of dirs to search for Pyrex header files pyrex_create_listing_file - bool - write errs to listing file pyrex_cplus - bool - generate C++ code pyrex_c_in_temp - bool - put generated C files in temp dir pyrex_gen_pxi - bool - generate .pxi file for public declarations [Contributed by Billie G. Allie] - Assert statements can be compiled out by arranging for PYREX_WITHOUT_ASSERTIONS to be #defined at C compilation time. [Contributed by Stefan Behnel] - Support for __index__ slot added to extension types. [William Stein] - Exception types now properly checked according to pre or post 2.5 rules as appropriate. - Py_ssize_t support added. [Stefan Behnel] - Windows __stdcall and __decl qualifiers now supported. [Suggested by Eric Devolder] - Keyword-only argument support added. [Suggested by Stefan Behnel] - An 'include' statement can now appear anywhere that another kind of statement or declaration can appear, instead of being restricted to the top level. [Caio Marcelo] - Unnecessary PyErr_Occurred() call to check result of PyString_AsString() no longer made. - Complicated C types are displayed more readably in error messages. Modifications: - A Python function argument declared as "char" or "unsigned char" now expects a Python integer rather than a string of length 1, for consistency with the way automatic conversions are done elsewhere. - Support for string and tuple exceptions dropped. 0.9.5.1 ------- Modifications: - NULL in Pyrex source now translated into NULL instead of 0 in C code, to allow for the possibility of calling something not defined with a prototype in an external header. [Adapted Cat] 0.9.5 ----- Enhancements: - Exception return values may now be specified by arbitrary constant expressions of appropriate type, not just literals. [Stefan Behnel] - Redundant type check now omitted when passing a literal None to a function expecting an extension type. [Patch by Sam Rushing] - New-style classes now allowed as exceptions for compatibility with Python 2.5 (inheritance from BaseException not currently checked). [Stefan Behnel] - Sequence unpacking is now done using the iterator protocol instead of indexing. - Allocation of an empty tuple is avoided when making a Python call with no arguments. [Stefan Behnel] - Most warnings about unused variables and labels have been eliminated. - Support for running the test suite on Linux added but not yet fully tested. [Based in part on patch by Eric Wald]. - Makefile included for compiling the patched Carbon File module used by the MacOSX test code. Modifications: - Type rules for enums tightened for compatibility with C++. - Direct assignment from float to int disallowed to prevent C++ compilation warnings. - Hex literals left as hex in C code to avoid warnings from the C compiler about decimal constants becoming unsigned. |
||
---|---|---|
.. | ||
DESCR | ||
distinfo | ||
Makefile | ||
PLIST |