pkgsrc-Changes-HG archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
[pkgsrc/trunk]: pkgsrc/devel/py-cython Why did I commit that, I wonder.
details: https://anonhg.NetBSD.org/pkgsrc/rev/b3d975d9336f
branches: trunk
changeset: 639526:b3d975d9336f
user: wiz <wiz%pkgsrc.org@localhost>
date: Mon Sep 15 06:47:10 2014 +0000
description:
Why did I commit that, I wonder.
diffstat:
devel/py-cython/log | 141 ----------------------------------------------------
1 files changed, 0 insertions(+), 141 deletions(-)
diffs (145 lines):
diff -r 6a3e7d2188d8 -r b3d975d9336f devel/py-cython/log
--- a/devel/py-cython/log Mon Sep 15 06:26:33 2014 +0000
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,141 +0,0 @@
-0.21 (2014-09-10)
-=================
-
-Features added
---------------
-
-* C (cdef) functions allow inner Python functions.
-
-* Enums can now be declared as cpdef to export their values to
- the module's Python namespace. Cpdef enums in pxd files export
- their values to their own module, iff it exists.
-
-* Allow @staticmethod decorator to declare static cdef methods.
- This is especially useful for declaring "constructors" for
- cdef classes that can take non-Python arguments.
-
-* Taking a ``char*`` from a temporary Python string object is safer
- in more cases and can be done inside of non-trivial expressions,
- including arguments of a function call. A compile time error
- is raised only when such a pointer is assigned to a variable and
- would thus exceed the lifetime of the string itself.
-
-* Generators have new properties ``__name__`` and ``__qualname__``
- that provide the plain/qualified name of the generator function
- (following CPython 3.5). See http://bugs.python.org/issue21205
-
-* The ``inline`` function modifier is available as a decorator
- ``@cython.inline`` in pure mode.
-
-* When cygdb is run in a virtualenv, it enables the same virtualenv
- inside of the debugger. Patch by Marc Abramowitz.
-
-* PEP 465: dedicated infix operator for matrix multiplication (A @ B).
-
-* HTML output of annotated code uses Pygments for code highlighting
- and generally received a major overhaul by Matthias Bussonier.
-
-* IPython magic support is now available directly from Cython with
- the command "%load_ext cython". Cython code can directly be
- executed in a cell when marked with "%%cython". Code analysis
- is available with "%%cython -a". Patch by Martín Gaitán.
-
-* Simple support for declaring Python object types in Python signature
- annotations. Currently requires setting the compiler directive
- ``annotation_typing=True``.
-
-* New directive ``use_switch`` (defaults to True) to optionally disable
- the optimization of chained if statement to C switch statements.
-
-* Defines dynamic_cast et al. in ``libcpp.cast`` and C++ heap data
- structure operations in ``libcpp.algorithm``.
-
-* Shipped header declarations in ``posix.*`` were extended to cover
- more of the POSIX API. Patches by Lars Buitinck and Mark Peek.
-
-Optimizations
--------------
-
-* Simple calls to C implemented Python functions/methods are faster.
- This also speeds up many operations on builtins that Cython cannot
- otherwise optimise.
-
-* The "and"/"or" operators try to avoid unnecessary coercions of their
- arguments. They now evaluate the truth value of each argument
- independently and only coerce the final result of the whole expression
- to the target type (e.g. the type on the left side of an assignment).
- This also avoids reference counting overhead for Python values during
- evaluation and generally improves the code flow in the generated C code.
-
-* The Python expression "2 ** N" is optimised into bit shifting.
- See http://bugs.python.org/issue21420
-
-* Cascaded assignments (a = b = ...) try to minimise the number of
- type coercions.
-
-* Calls to ``slice()`` are translated to a straight C-API call.
-
-Bugs fixed
-----------
-
-* Crash when assigning memory views from ternary conditional expressions.
-
-* Nested C++ templates could lead to unseparated ">>" characters being
- generated into the C++ declarations, which older C++ compilers could
- not parse.
-
-* Sending SIGINT (Ctrl-C) during parallel cythonize() builds could
- hang the child processes.
-
-* No longer ignore local setup.cfg files for distutils in pyximport.
- Patch by Martin Teichmann.
-
-* Taking a ``char*`` from an indexed Python string generated unsafe
- reference counting code.
-
-* Set literals now create all of their items before trying to add them
- to the set, following the behaviour in CPython. This makes a
- difference in the rare case that the item creation has side effects
- and some items are not hashable (or if hashing them has side effects,
- too).
-
-* Cython no longer generates the cross product of C functions for code
- that uses memory views of fused types in function signatures (e.g.
- ``cdef func(floating[:] a, floating[:] b)``). This is considered the
- expected behaviour by most users and was previously inconsistent with
- other structured types like C arrays. Code that really wants all type
- combinations can create the same fused memoryview type under different
- names and use those in the signature to make it clear which types are
- independent.
-
-* Names that were unknown at compile time were looked up as builtins at
- runtime but not as global module names. Trying both lookups helps with
- globals() manipulation.
-
-* Fixed stl container conversion for typedef element types.
-
-* ``obj.pop(x)`` truncated large C integer values of x to ``Py_ssize_t``.
-
-* ``__init__.pyc`` is recognised as marking a package directory
- (in addition to .py, .pyx and .pxd).
-
-* Syntax highlighting in ``cython-mode.el`` for Emacs no longer
- incorrectly highlights keywords found as part of longer names.
-
-* Correctly handle ``from cython.submodule cimport name``.
-
-* Fix infinite recursion when using super with cpdef methods.
-
-* No-args ``dir()`` was not guaranteed to return a sorted list.
-
-Other changes
--------------
-
-* The header line in the generated C files no longer contains the
- timestamp but only the Cython version that wrote it. This was
- changed to make builds more reproducible.
-
-* Removed support for CPython 2.4, 2.5 and 3.1.
-
-* The licensing implications on the generated code were clarified
- to avoid legal constraints for users.
Home |
Main Index |
Thread Index |
Old Index