- 10 Sep, 2019 12 commits
-
-
hliu0 authored
-
Dino Viehland authored
Updated zlibmodule.c to be PEP 384 compliant.
-
Dino Viehland authored
* PEP-384 _struct * More PEP-384 fixes for _struct Summary: Add a couple of more fixes for `_struct` that were previously missed such as removing `tp_*` accessors and using `PyBytesWriter` instead of calling `PyBytes_FromStringAndSize` with `NULL`. Also added a test to confirm that `iter_unpack` type is still uninstantiable. *
📜 🤖 Added by blurb_it. -
Serhiy Storchaka authored
* Use the const qualifier for constant C strings. * Intern field and attribute names. * Temporary incref a borrowed reference to a list item.
-
dalgarno authored
-
Neil Schemenauer authored
Change "clean" makefile target to also clean the program guided optimization (PGO) data. Previously you would have to use "make clean" and "make profile-removal", or "make clobber".
-
Greg Price authored
Having these in a separate file from the one that's named after the module in the usual way makes it very easy to miss them when looking for tests for these two functions. (In fact when working recently on is_normalized, I'd been surprised to see no tests for it here and concluded the function had evaded being tested at all. I'd gone as far as to write up some tests myself before I spotted this other file.) Mostly this just means moving all the one file's code into the other, and moving code from the module toplevel to inside the test class to keep it tidily separate from the rest of the file's code. There's one substantive change, which reduces by a bit the amount of code to be moved: we drop the `x > sys.maxunicode` conditional and all the `RangeError` logic behind it. Now if that condition ever occurs it will cause an error at `chr(x)`, and a test failure. That's the right result because, since PEP 393 in Python 3.3, there is no longer such a thing as an "unsupported character".
-
Jeroen Demeyer authored
-
Nikhil authored
-
Greg Price authored
This is the sort of `goto` that requires the reader to stare hard at the code to unpick what it's doing. On doing so, the answer is... not very much! * It jumps from the bottom of the loop to almost the top; the effect is to bypass the loop condition `s < end` and also the `if`-condition `*s != '\\'`, acting as if both are true. * We've just decremented `s`, after incrementing it in the `switch` condition. So it has the same value as when `s == end` failed. Before that was another increment... and before that we had `s < end`. So `s < end` true, then increment, then `s == end` false... that means `s < end` is still true. * Also this means `s` points to the same character as it did for the `switch` condition. And there was a `case '\\'`, which we didn't hit -- so `*s != '\\'` is also true. * That means this has no effect on the behavior! The most it might do is an optimization -- we get to skip those two checks, because (as just proven above) we know they're true. * But gosh, this is the *invalid escape sequence* path. This does not seem like the kind of code path that calls for extreme optimization tricks. So, take the `goto` and the label out. Perhaps the compiler will notice the exact same facts we showed above, and generate identical code. Or perhaps it won't! That'll be OK. But then, crucially, if some future edit to this loop causes the reasoning above to *stop* holding true... the compiler will adjust this jump accordingly. One of us fallible humans might not.
-
Vinay Sharma authored
-
Terry Jan Reedy authored
This only happened when initializing the subprocess to run a module. This recent bug only affected 3.7.4 and 3.8.0b2 to 3.8.0b4.
-
- 09 Sep, 2019 28 commits
-
-
Jean-François B authored
The "A4" pdfs were previously the wrong size due to a change in the options in Sphinx 1.5. See also sphinx-doc/sphinx#5235
-
Paul Monson authored
-
Sergey Fedoseev authored
-
Serhiy Storchaka authored
-
Lisa Roach authored
* bpo-351428: Updates documentation to reflect AsyncMock call_count after await. * Adds skip and fixes warning. * Removes extra >>>. * Adds ... in front of await mock().
-
Vinay Sharma authored
-
Greg Price authored
The link we have points to the version from Unicode 6.0.0, dated 2010. There have been numerous updates to it since then: https://www.unicode.org/reports/tr44/#Modifications Change the link to one that points to the current version. Also, use HTTPS.
-
Serhiy Storchaka authored
-
Sergey Fedoseev authored
-
Christian Heimes authored
Accumulate certificates in a set instead of doing a costly list contain operation. A Windows cert store can easily contain over hundred certificates. The old code would result in way over 5,000 comparison operations Signed-off-by: Christian Heimes <christian@python.org>
-
Orivej Desh authored
-
Hasan Ramezani authored
-
Anthony Sottile authored
Co-Authored-By: Ammar Askar <ammar_askar@hotmail.com>
-
Boris Verhovsky authored
-
Richard Sanger authored
bz2.open()'s default mode is rb, not r
-
Zackery Spytz authored
Co-Authored-By: David Wilson <dw@botanicus.net>
-
Victor Stinner authored
In debug mode, visit_decref() now calls _PyObject_IsFreed() to ensure that the object is not freed. If it's freed, the program fails with an assertion error and Python dumps informations about the freed object.
-
Greg Price authored
Since PEP 393 in Python 3.3, this value is always 0x10ffff, the maximum codepoint in Unicode; there's no longer such a thing as a UCS-2 build of Python, which couldn't properly represent some characters. There are a couple of spots left where we still condition on the value of this constant. Take them out.
-
Anthony Sottile authored
-
Antoine authored
* Minor changes. * Update Doc/faq/library.rst Co-Authored-By: Kyle Stanley <aeros167@gmail.com> * Apply suggestions from aeros167. * Update Doc/faq/library.rst Co-Authored-By: Kyle Stanley <aeros167@gmail.com> * Apply suggestions from aeros167 + re-add a "a" that was accidentally deleted.
-
Victor Stinner authored
weakref.WeakValueDictionary defines a local remove() function used as callback for weak references. This function was created with a closure. Modify the implementation to avoid the closure.
-
Zeth authored
The Rot-13 codec is for educational use but does not have unit tests, dragging down test coverage. This adds a few very simple tests.
-
Mario Corchero authored
Update the docs as patch can now return an AsyncMock if the patched object is an async function.
-
Greg Price authored
This is the converse of GH-15353 -- in addition to plenty of scripts in the tree that are marked with the executable bit (and so can be directly executed), there are a few that have a leading `#!` which could let them be executed, but it doesn't do anything because they don't have the executable bit set. Here's a command which finds such files and marks them. The first line finds files in the tree with a `#!` line *anywhere*; the next-to-last step checks that the *first* line is actually of that form. In between we filter out files that already have the bit set, and some files that are meant as fragments to be consumed by one or another kind of preprocessor. $ git grep -l '^#!' \ | grep -vxFf <( \ git ls-files --stage \ | perl -lane 'print $F[3] if (!/^100644/)' \ ) \ | grep -ve '\.in$' -e '^Doc/includes/' \ | while read f; do head -c2 "$f" | grep -qxF '#!' \ && chmod a+x "$f"; \ done
-
Alan Yee authored
Constants added by the site module like exit() "should not be used in programs"
-
Jon Janzen authored
* Update documentation for plistlib - Update "Mac OS X" to "Apple" since plists are used more widely than just macOS - Re-add the UID class documentation (oops, removed in GH-15615)
-
Pablo Galindo authored
-
Naitree Zhu authored
* bpo-34596: Fallback to a default reason when @unittest.skip is uncalled * Change default reason to empty string * Fix rst formatting of NEWS entry
-