- 10 Apr, 2020 10 commits
-
-
Stefan Behnel authored
-
Stefan Behnel authored
-
Stefan Behnel authored
-
Stefan Behnel authored
For srctree tests, include the test directory in the PYTHONPATH of subprocesses, but not in the own sys.path of the test runner.
-
Stefan Behnel authored
Register the absolute module path in cython.inline() under Windows, not the (potentially) relative path.
-
Stefan Behnel authored
-
Stefan Behnel authored
-
Stefan Behnel authored
-
Stefan Behnel authored
-
Stefan Behnel authored
* Rewrite the test code generation for the unicode normalisation test, making sure that we always write UTF-8 source files. * Fix failures to print the compilation status for modules with non-ascii names (on Windows). * Help with remote debugging environment encoding problems in test runs, by extending the output of the "buildenv" pseudo-test. * Explicitly set I/O encoding for subprocesses in parallel cythonize() runs to make the test runner workers inherit it (instead of defaulting to ASCII in Py2). * Use a Latin-1 Unicode character in the test for Unicode module names to make it more compatible with Windows file system character sets (such as CP-1252). * Properly decode source and module file name from the FS encoding in Py2. Previously, with ASCII module names, UTF-8 decoding always worked, but wasn't correct. * Hack around a distutils 3.[5678] bug on Windows for unicode module names. https://bugs.python.org/issue39432 * Try to fix cython.inline() on Windows with Py3.8+ where the DLL loading requires an explicit registration of the extension output directory. Closes GH-3450.
-
- 09 Apr, 2020 4 commits
-
-
Volker-Weissmann authored
If your installation is faulty, cygdb will now print the filepath of the code that caused an exception, and the path of the python interpreter will be printed for better debugging.
-
will-ca authored
-
-
will-ca authored
-
- 08 Apr, 2020 2 commits
-
-
Stefan Behnel authored
-
da-woods authored
The directives are currently inherited from user code, which is not correct, but it seemed difficult to reliably change the directives applied to the `__pyx_fused_cpdef` dispatch function, so instead the code was changed to be independent. Fixes https://github.com/cython/cython/issues/3492
-
- 07 Apr, 2020 8 commits
-
-
Stefan Behnel authored
-
Stefan Behnel authored
-
Stefan Behnel authored
-
Omer Ozarslan authored
-
Omer Ozarslan authored
-
Stefan Behnel authored
-
Stefan Behnel authored
Merge some runtime compilation runs into a single one in the CPython fstring test to reduce the overall runtime of the test.
-
Stefan Behnel authored
Closes GH-3481.
-
- 06 Apr, 2020 7 commits
-
-
Stefan Behnel authored
-
Stefan Behnel authored
-
Stefan Behnel authored
-
Stefan Behnel authored
-
Stefan Behnel authored
-
Stefan Behnel authored
-
Stefan Behnel authored
* allow closing async generators that are already closed https://bugs.python.org/issue39606 * Prevent double awaiting of async iterator https://bugs.python.org/issue39386 * Fix ag_running; prohibit running athrow/asend/aclose in parallel https://bugs.python.org/issue30773 * Fix asynchronous generators to handle GeneratorExit in athrow() https://bugs.python.org/issue33786 * Ignore GeneratorExit in async_gen_athrow_throw https://bugs.python.org/issue35409 * make async_generator_athrow object tolerant to throwing exceptions https://bugs.python.org/issue38013
-
- 03 Apr, 2020 4 commits
-
-
Stefan Behnel authored
-
Stefan Behnel authored
-
Volker-Weissmann authored
-
sairam4123 authored
-
- 02 Apr, 2020 5 commits
-
-
da-woods authored
Relaxed some of the checks of fused functions to be consistent with general CyFunctions. ``` # cython: binding=True def f(arg): pass class C: # or cdef class... f = f def g(self, ...): pass C.f(something) or C().f() # doesn't enforce any checks on the type of arg - # with a fused function it does. C.g(something) # assumes that self is "C" (at least for a cdef class) # but doesn't check it. A fused function enforces that it is C. C.f() # fails with a fused function claiming too few arguments, even though # default arguments may make it a valid call ``` Obviously removing checks does make things a little less safe, but it is consistent with the more general function behaviour. (I'm doing this as part of a broad plan to abuse fused functions to be a bit cleverer about decorators, but I don't think the motivation hugely matters for this change)
-
Stefan Behnel authored
-
Stefan Behnel authored
-
Stefan Behnel authored
-
da-woods authored
Optimized inplace operations for str/unicode so that they're genuinely done in place if no-one else needs the object. This is what CPython tries to do (and string concatenation was a point where it significantly beat Cython at times). This only works if the types are known at compile time, so with unknown types CPython will still be faster in some cases. Note: Uses slightly odd-macro trickery - does modify the input argument too (although only in places where it shouldn't matter).
-