| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
| |
| |
| |
| |
| |
| | |
In 0.11.1 is was marked as an warning that would become an error.
3.0 is probably either the time to make it an error (or to remove
the note that it'll be an error in future)
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
* Cython debugger documentation: Added link to an installation script.
* Got a new libpython.py from the cpython source distribution.
* Default language level in tests is now 3 instead of 2
* Migrated codefile from python 2 to python 3.
* Added testcase for the cy list command in cygdb.
* Temporarily removing test case that freezes gdb.
* Fixed a bug that broke several Cygdb tests.
The cython_debug/cython_debug_info_* files map the names of the C-functions generated by the Cython compiler to the names of the functions in the *.pyx source. If the function was defined using "def" (and not "cpdef" or "cdef") in the *.pyx source file, the C-function named in cython_debug/cython_debug_info_* used to be __pyx_pw_*, which is the name of the wrapper function and now it is __pyx_f_*, which is the name of the actual function. This makes some Cygdb tests pass that did not pass before.
* Better error messages: If a cygdb command raises, a traceback will be printed.
* Fixed a bug in cygdb.
The following now works:
1. Start cygdb
2. Type "cy exec" and hit enter
3. Type some other lines
4. Type "end" and hit enter.
-> These "other lines" will get executed
* Fixed a bug in cygdb: cy list now works outside of functions.
* Added print_hr_allmarkers function for easier debugging.
* Fixed a bug that broke cygdb:
cy break did not work if you put the breakpoint outside of a function if there was e.g. the following somewhere in your *.pyx file:
cdef class SomeClass():
pass
* Added a Cygdb test for printing global variables.
* Fixing cygdb: Replaced cy print with a simple, working solution.
* If an exception in Cygdb occurs, a stacktrace will be printed.
* Fixed a bug that broke cy break -p
* Bugfix: The compiler now writes out correctly which cython linenumber and path corresponds to which c linenumber.
* Set language_level=2 in runtests.py
|
| |
| |
| |
| |
| |
| | |
for memoryviews (GH-3617)
* Adds bytearray iteration since that was not previously optimised (because it allows changing length during iteration).
* Always set `entry.init` for memoryviewslice.
|
| |
| |
| | |
… and enforce them with pycodestyle.
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
type annotations. (GH-3664)
When you use Python type annotations, it would be weird if you lost Python exception propagation semantics along the way, just by compiling the code. So the default behaviour is "except? -1" here for C integer types.
Arguably, this would also be a better default for the decorator case.
See https://github.com/cython/cython/issues/3625#issuecomment-631931675
|
| | |
|
| |
| |
| |
| |
| |
| | |
Fixes https://github.com/cython/cython/issues/3647
At least one (in ModuleNode) is a real bug. The others are just
getting the code compatible with Cython again`
|
| |
| |
| |
| |
| |
| |
| | |
When test_assert_path_exists or test_fail_if_path_exists
was used on a function containing a CompilerDirectivesNode
it was inherited by that CompilerDirectivesNode. Therefore
you got misleading test failures if the path was in the
function but not within that CompilerDirectivesNode.
|
| |
| |
| |
| | |
the memoryview code by avoiding explicit calls to create the exception and prepared constant argument tuples. "raise Exc, message" can do this implicitly.
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
* Rewrite C property support (GH-2640) based on inline C methods.
Supersedes GH-2640 and GH-3095.
Closes GH-3521.
* Test fix for `numpy_parallel.pyx`: avoid depending on whether "nd.shape" requires the GIL or not.
* Turn NumPy's "ndarray.data" into a property to avoid direct struct access.
* Make "ndarray.size" accessible without the GIL.
|
| |
| |
| |
| |
| |
| | |
RaiseStatNode.
This allows taking advantage of the automatic "with gil" block handling for raising exceptions, allows proper control flow analysis, etc.
|
| |
| |
| |
| | |
Would be nice to allow this also for the print() function, but that's tricky because we have to insert the "GILStatNode" before analysing the declarations, which is when we learn if it's really the builtin print function or something else.
|
| |
| |
| |
| |
| | |
Acquire the GIL in nogil functions only when strictly needed on function exit, e.g. for cleaning up temp variables from with-gil blocks or adding tracebacks.
Closes GH-3554.
|
| |
| |
| |
| | |
This reverts commit f09e61ab721ad51526ec7a6798fc01d8346f539d.
|
| |
| |
| |
| |
| | |
This reverts commit 5204d86989493855fdd0acd20debd9d0a270bb23.
See https://github.com/cython/cython/issues/3548
|
| | |
|
| |
| |
| |
| |
| | |
Follows Python behaviour, but excludes "__pyx_…" names in utility code.
Closes GH-1382.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This allows things to work like:
# in pxd file
from libc.math cimport sin
# in py file
if not cython.compiled:
from math import sin # previously failed with cython compile
# error because it was assigning to a cdef name
This seems worthwhile because it makes it easier to write code
that re-assigns cdef names and so works in both modes.
|
| |
| |
| |
| |
| |
| |
| | |
These were previously getting missed. Added code to specialize them and tests to prove it.
Fixes https://github.com/cython/cython/issues/3142
Also fixes https://github.com/cython/cython/issues/3460 - (seems related enough to go in the same PR)
|
|\ \
| |/ |
|
| |
| |
| |
| |
| | |
The pickle functions __reduce__ and __setstate_cython__ were being
visited in the module scope (where they were undeclared) rather
than the class scope where they were declared
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
| |
| |
| |
| |
| | |
* TEST: add cgetter test for pointer and pxd use
* BUG: handle more AttributeNode-with-property-decorator
* BUG: fix numpy/__init__.pxd
* ENH: add @property for ndarray.size, formatting cleanup
|
| |
| |
| | |
Closes #2601
|
| | |
|
|\ \
| |/ |
|
| |
| |
| |
| | |
Closes GH-2884.
|
| | |
|
| | |
|
| |
| |
| |
| | |
redefined e.g. in the module (found when updating test_grammar() and overriding it there).
|
|\ \
| | |
| | | |
ENH: allow @property decorator on external ctypedef classes
|
| | | |
|
| | | |
|
| | | |
|
| | | |
|
| | | |
|
| | | |
|
| |/ |
|
| | |
|
|/
|
|
|
|
| |
bit Linux) and because MD5 is no longer allowed in US FIPS 140-2 environments.
Closes #2790.
|
|
|
|
|
|
|
|
|
|
| |
The types of variables __pyx_PickleError, __pyx_result from generated
unpickle function, and variables state, _dict from __reduce_cython__
generated method were not declared.
So warnings were raised with warn.undeclared for every single extension
type.
Now, we define the type of these variables, and no warnings are raised.
|
|
|
|
|
|
| |
variables in generators and coroutines.
Closes #2613.
|
|
|
|
|
|
|
| |
or class and those that are generally inherited. Everything that is not inherited should also not have a default value and instead exist or not.
Then, prevent lambdas and generator expressions from inheriting directives from their outer function/scope, e.g. "@cython.cdef".
Closes #459.
|
|
|
|
| |
actually being evaluated in the outer scope (e.g default arguments or annotations of a nogil function).
|
|
|
|
| |
Closes #2557.
|
|
|
|
| |
themselves.
|