summaryrefslogtreecommitdiffstats
path: root/Misc
Commit message (Collapse)AuthorAgeFilesLines
* Mark files as executable that are meant as scripts. (GH-15354)Greg Price2019-09-093-0/+0
| | | | | | | | | | | | | | | | | | | | | | | | | 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
* bpo-38059: Using sys.exit() over exit() in inspect.py (GH-15666)Alan Yee2019-09-091-0/+1
| | | Constants added by the site module like exit() "should not be used in programs"
* bpo-38053 Update documentation for plistlib (GH-15727)Jon Janzen2019-09-091-0/+1
| | | | | | * 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)
* bpo-34596: Fallback to a default reason when @unittest.skip is uncalled (#9082)Naitree Zhu2019-09-091-0/+2
| | | | | | | | * bpo-34596: Fallback to a default reason when @unittest.skip is uncalled * Change default reason to empty string * Fix rst formatting of NEWS entry
* bpo-38037: Fix reference counters in signal module (GH-15753)animalize2019-09-091-0/+1
|
* bpo-26185: Fix repr() on empty ZipInfo object (#13441)Mickaël Schoentgen2019-09-091-0/+2
| | | | | | | | | | | | * bpo-26185: Fix repr() on empty ZipInfo object It was failing on AttributeError due to inexistant but required attributes file_size and compress_size. They are now initialized to 0 in ZipInfo.__init__(). * Remove useless hasattr() in ZipInfo._open_to_write() * Completely remove file_size setting in _open_to_write().
* bpo-37702: Fix SSL's certificate-store leak on Windows (GH-15632)neonene2019-09-091-0/+2
| | | | | ssl_collect_certificates function in _ssl.c has a memory leak. Calling CertOpenStore() and CertAddStoreToCollection(), a store's refcnt gets incremented by 2. But CertCloseStore() is called only once and the refcnt leaves 1.
* bpo-37283: Ensure command-line and unattend.xml setting override previously ↵Steve Dower2019-09-091-0/+2
| | | | detected states in Windows installer (GH-15759)
* bpo-37212: Preserve keyword argument order in unittest.mock.call and error ↵Xtreak2019-09-091-0/+2
| | | | messages (GH-14310)
* bpo-36250: ignore ValueError from signal in non-main thread (GH-12251)Daniel Hahler2019-09-091-0/+2
| | | | Authored-By: blueyed <github@thequod.de>
* bpo-37705: Improve the implementation of winerror_to_errno() (GH-15623)Zackery Spytz2019-09-091-0/+1
| | | | | winerror_to_errno() is no longer automatically generated. Do not rely on the old _dosmapperr() function. Add ERROR_NO_UNICODE_TRANSLATION (1113) -> EILSEQ.
* bpo-37936: Avoid ignoring files that we actually do track. (GH-15451)Greg Price2019-09-091-0/+2
| | | | | | | | | | | | | | | | | | | | There were about 14 files that are actually in the repo but that are covered by the rules in .gitignore. Git itself takes no notice of what .gitignore says about files that it's already tracking... but the discrepancy can be confusing to a human that adds a new file unexpectedly covered by these rules, as well as to non-Git software that looks at .gitignore but doesn't implement this wrinkle in its semantics. (E.g., `rg`.) Several of these are from rules that apply more broadly than intended: for example, `Makefile` applies to `Doc/Makefile` and `Tools/freeze/test/Makefile`, whereas `/Makefile` means only the `Makefile` at the repo's root. And the `Modules/Setup` rule simply wasn't updated after 961d54c5c. https://bugs.python.org/issue37936
* bpo-32587: Make winreg.REG_MULTI_SZ support zero-length strings (#13239)Zackery Spytz2019-09-091-0/+1
| | | | | | * bpo-32587: Make winreg.REG_MULTI_SZ support PendingFileRenameOperations * Address review comments.
* bpo-37445: Include FORMAT_MESSAGE_IGNORE_INSERTS in FormatMessageW() calls ↵Zackery Spytz2019-09-091-0/+2
| | | | | (GH-14462) If FormatMessageW() is passed the FORMAT_MESSAGE_FROM_SYSTEM flag without FORMAT_MESSAGE_IGNORE_INSERTS, it will fail if there are insert sequences in the message definition.
* bpo-11953: Extend table of Windows WSA* error codes (GH-15004)Ngalim Siregar2019-09-091-0/+1
|
* bpo-15817: gdbinit: Document commands after defining them (GH-15021)Florian Bruhin2019-09-091-23/+23
| | | | | | | | | | | | | | | | The gdb manual[1] says the following for "document": The command commandname must already be defined. [1] https://sourceware.org/gdb/current/onlinedocs/gdb/Define.html And indeed when trying to use the gdbinit file with gdb 8.3, I get: .../cpython/Misc/gdbinit:17: Error in sourced command file: Undefined command: "pyo". Try "help". Fix this by moving all documentation blocks after the define blocks. This was introduced in GH-6384.
* bpo-34410: Fix a crash in the tee iterator when re-enter it. (GH-15625)Serhiy Storchaka2019-09-091-0/+2
| | | | RuntimeError is now raised in this case.
* Revert "Raise a RuntimeError when tee iterator is consumed from different ↵Serhiy Storchaka2019-09-091-2/+0
| | | | | threads (GH-15567)" (GH-15736) This reverts commit fa220ec7633e9674baccc28dde987f29d7f65141.
* bpo-36946:Fix possible signed integer overflow when handling slices. (GH-15639)HongWeipeng2019-09-081-0/+1
| | | | This is a complement to PR 13375.
* bpo-38041: Refine IDLE Shell restart lines. (GH-15709)Terry Jan Reedy2019-09-061-0/+3
| | | Restart lines now always start with '=' and never end with ' ' and fill the width of the window unless that would require ending with ' ', which could be wrapped by itself and possible confusing the user.
* bpo-15088 : Remove PyGen_NeedsFinalizing() (GH-15702)Joannah Nanjekye2019-09-061-0/+4
| | | | | Remove PyGen_NeedsFinalizing(): it was not documented, tested or used anywhere within CPython after the implementation of PEP 442.
* replace inline function `is_small_int` with a macro version (GH-15710)animalize2019-09-061-2/+1
|
* bpo-37878: Remove PyThreadState_DeleteCurrent() function (GH-15315)Joannah Nanjekye2019-09-051-0/+1
| | | | | | | * Rename PyThreadState_DeleteCurrent() to _PyThreadState_DeleteCurrent() * Move it to the internal C API Co-Authored-By: Carol Willing <carolcode@willingconsulting.com>
* bpo-36797: Fix a dead link in Doc/distutils/apiref (GH-15700)Miro Hrončok2019-09-051-0/+1
| | | https://bugs.python.org/issue36797
* bpo-37064: Add option -k to Tools/scripts/pathfix.py (GH-15548)PatrikKopkan2019-09-051-0/+1
| | | Add flag -k to pathscript.py script: preserve shebang flags.
* bpo-36409: Remove old plistlib API deprecated in 3.4 (GH-15615)Jon Janzen2019-09-051-0/+1
| | | | * Remove implementation for old plistlib API deprecated in 3.4
* bpo-36324: Apply review comments from Allen Downey (GH-15693)Raymond Hettinger2019-09-051-0/+1
|
* bpo-38026: fix inspect.getattr_static (GH-15676)Inada Naoki2019-09-051-0/+2
| | | | | It should avoid dynamic lookup including `isinstance`. This is a regression caused by GH-5351.
* bpo-37902: IDLE: Add scrolling for IDLE browsers. (#15368)GeeTransit2019-09-052-0/+3
| | | | Modify the wheel event handler so it can also be used for module, path, and stack browsers. Patch by George Zhang.
* bpo-22347: Update mimetypes.guess_type to allow proper parsing of URLs ↵Dong-hee Na2019-09-051-0/+2
| | | | | (GH-15522) https://bugs.python.org/issue22347
* bpo-38030: Fix os.stat failures on block devices on Windows (GH-15681)Steve Dower2019-09-041-0/+1
|
* closes bpo-37966: Fully implement the UAX #15 quick-check algorithm. (GH-15558)Greg Price2019-09-041-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The purpose of the `unicodedata.is_normalized` function is to answer the question `str == unicodedata.normalized(form, str)` more efficiently than writing just that, by using the "quick check" optimization described in the Unicode standard in UAX #15. However, it turns out the code doesn't implement the full algorithm from the standard, and as a result we often miss the optimization and end up having to compute the whole normalized string after all. Implement the standard's algorithm. This greatly speeds up `unicodedata.is_normalized` in many cases where our partial variant of quick-check had been returning MAYBE and the standard algorithm returns NO. At a quick test on my desktop, the existing code takes about 4.4 ms/MB (so 4.4 ns per byte) when the partial quick-check returns MAYBE and it has to do the slow normalize-and-compare: $ build.base/python -m timeit -s 'import unicodedata; s = "\uf900"*500000' \ -- 'unicodedata.is_normalized("NFD", s)' 50 loops, best of 5: 4.39 msec per loop With this patch, it gets the answer instantly (58 ns) on the same 1 MB string: $ build.dev/python -m timeit -s 'import unicodedata; s = "\uf900"*500000' \ -- 'unicodedata.is_normalized("NFD", s)' 5000000 loops, best of 5: 58.2 nsec per loop This restores a small optimization that the original version of this code had for the `unicodedata.normalize` use case. With this, that case is actually faster than in master! $ build.base/python -m timeit -s 'import unicodedata; s = "\u0338"*500000' \ -- 'unicodedata.normalize("NFD", s)' 500 loops, best of 5: 561 usec per loop $ build.dev/python -m timeit -s 'import unicodedata; s = "\u0338"*500000' \ -- 'unicodedata.normalize("NFD", s)' 500 loops, best of 5: 512 usec per loop
* bpo-38020: Fixes crash in os.readlink() on Windows (GH-15663)Steve Dower2019-09-031-0/+2
|
* bpo-35771: IDLE: Fix flaky tool-tip hover delay tests (GH-15634)Tal Einat2019-09-031-0/+2
| | | | Extending the hover delay in test_tooltip should avoid spurious test_idle failures. One longer delay instead of two shorter delays results in a net speedup.
* bpo-38010 Sync importlib.metadata with importlib_metadata 0.20. (GH-15646)Jason R. Coombs2019-09-021-0/+1
| | | Sync importlib.metadata with importlib_metadata 0.20.
* bpo-37994: Fix silencing all errors if an attribute lookup fails. (GH-15630)Serhiy Storchaka2019-09-011-0/+2
| | | Only AttributeError should be silenced.
* bpo-36543: Remove old-deprecated ElementTree features. (GH-12707)Serhiy Storchaka2019-09-011-0/+2
| | | | | Remove methods Element.getchildren(), Element.getiterator() and ElementTree.getiterator() and the xml.etree.cElementTree module.
* bpo-37764: Fix infinite loop when parsing unstructured email headers. (GH-15239)Ashwin Ramaswami2019-08-312-0/+2
| | | | | | | | | | | | Fixes a case in which email._header_value_parser.get_unstructured hangs the system for some invalid headers. This covers the cases in which the header contains either: - a case without trailing whitespace - an invalid encoded word https://bugs.python.org/issue37764 This fix should also be backported to 3.7 and 3.8 https://bugs.python.org/issue37764
* bpo-37977: Warn more strongly and clearly about pickle security (GH-15595)Daniel Pope2019-08-311-0/+1
|
* Fix typos mostly in comments, docs and test names (GH-15209)Min ho Kim2019-08-3010-11/+11
|
* bpo-37140: Fix StructUnionType_paramfunc() (GH-15612)Victor Stinner2019-08-301-0/+5
| | | | | | | | | | | | Fix a ctypes regression of Python 3.8. When a ctypes.Structure is passed by copy to a function, ctypes internals created a temporary object which had the side effect of calling the structure finalizer (__del__) twice. The Python semantics requires a finalizer to be called exactly once. Fix ctypes internals to no longer call the finalizer twice. Create a new internal StructParam_Type which is only used by _ctypes_callproc() to call PyMem_Free(ptr) on Py_DECREF(argument). StructUnionType_paramfunc() creates such object.
* bpo-37834: Prevent shutil.rmtree exception (GH-15602)Ned Deily2019-08-291-0/+2
| | | | when built on non-Windows system without fd system call support, like older versions of macOS.
* bpo-8425: Fast path for set inplace difference when the second set is large ↵Raymond Hettinger2019-08-291-0/+3
| | | | (GH-15590)
* bpo-37034: Display argument name on errors with keyword arguments with ↵Rémi Lapeyre2019-08-291-0/+2
| | | | Argument Clinic. (GH-13593)
* bpo-37979: Add alternative to fromisoformat in documentation (GH-15596)Paul Ganssle2019-08-291-0/+2
| | | | | | | | | | | | | | | | Adds a link to `dateutil.parser.isoparse` in the documentation. It would be nice to set up intersphinx for things like this, but I think we can leave that for a separate PR. CC: @pitrou [bpo-37979](https://bugs.python.org/issue37979) https://bugs.python.org/issue37979 Automerge-Triggered-By: @pitrou
* bpo-36833: Add tests for Datetime C API Macros (GH-14842)Joannah Nanjekye2019-08-291-0/+2
| | | | Added tests for PyDateTime_xxx_GET_xxx() macros of the C API of the datetime module.
* bpo-10978: Semaphores can release multiple threads at a time (GH-15588)Raymond Hettinger2019-08-291-0/+2
|
* bpo-37372: Fix error unpickling datetime.time objects from Python 2 with ↵Justin Blanchard2019-08-292-0/+3
| | | | seconds>=24. (GH-14307)
* bpo-37950: Fix ast.dump() when call with incompletely initialized node. ↵Serhiy Storchaka2019-08-291-0/+1
| | | | (GH-15510)
* bpo-37960: Silence only necessary errors in repr() of buffered and text ↵Serhiy Storchaka2019-08-291-0/+2
| | | | streams. (GH-15543)