cpython/Modules
Paul Ganssle 3df85404d4 bpo-34454: Clean up datetime.fromisoformat surrogate handling (GH-8959)
* Use _PyUnicode_Copy in sanitize_isoformat_str

* Use repr in fromisoformat error message

This reverses commit 67b74a98b2 per Serhiy Storchaka's suggestion:

     I suggested to use %R in the error message because including the raw
     string can be confusing in the case of empty string, or string
     containing trailing whitespaces, invisible or unprintable characters.

We agree that it is better to change both the C and pure Python versions
to use repr.

* Retain non-sanitized dtstr for error printing

This does not create an extra string, it just holds on to a reference to
the original input string for purposes of creating the error message.

* PEP 7 fixes to from_isoformat

* Separate handling of Unicode and other errors

In the initial implementation, errors other than encoding errors would
both raise an error indicating an invalid format, which would not be
true for errors like MemoryError.

* Drop needs_decref from _sanitize_isoformat_str

Instead _sanitize_isoformat_str returns a new reference, even to the
original string.
2018-10-22 18:32:52 +02:00
..
_blake2 Fix misleading mentions of tp_size in comments (GH-9093) 2018-09-10 09:46:08 -07:00
_ctypes bpo-29843: raise AttributeError if given negative _length_ (GH-10029) 2018-10-22 18:33:10 +03:00
_decimal bpo-34762: Update PyContext* to PyObject* in asyncio and decimal (GH-9609) 2018-09-27 14:55:55 -04:00
_io bpo-32236: open() emits RuntimeWarning if buffering=1 for binary mode (GH-4842) 2018-10-20 02:22:31 +02:00
_multiprocessing bpo-33012: Fix invalid function cast warnings with gcc 8 for METH_NOARGS. (GH-6030) 2018-04-29 21:59:33 +03:00
_sha3 bpo-34922: Fix integer overflow in the digest() and hexdigest() methods (GH-9751) 2018-10-11 07:41:00 +03:00
_sqlite bpo-34743: Fix test_database_source_name under SQLite 3.7.9 (GH-9426) 2018-09-20 14:14:33 +03:00
_xxtestfuzz Avoid UB in test selection macro. (#3407) 2017-09-06 18:00:47 -07:00
cjkcodecs bpo-32240: Add the const qualifier to declarations of PyObject* array arguments. (#4746) 2017-12-15 13:11:11 +02:00
clinic bpo-20216: Correct docstrings of digest() methods in hashlib. (GH-9873) 2018-10-19 20:42:53 +03:00
expat bpo-35011: Restore use of pyexpatns.h in libexpat (GH-9939) 2018-10-17 18:10:46 -07:00
README
Setup bpo-25711: Rewrite zipimport in pure Python. (GH-6809) 2018-09-18 22:22:29 +03:00
_abc.c Fix misleading mentions of tp_size in comments (GH-9093) 2018-09-10 09:46:08 -07:00
_asynciomodule.c Fix a compiler warning added in bpo-34872. (GH-9722) 2018-10-05 21:20:02 +03:00
_bisectmodule.c bpo-34925: Optimize common case for bisect() argument parsing (#9753) 2018-10-08 08:02:41 -07:00
_bz2module.c bpo-33916: Fix bz2 and lzma init when called twice (GH-7843) 2018-06-23 10:35:23 +02:00
_codecsmodule.c bpo-24037: Add Argument Clinic converter `bool(accept={int})`. (#485) 2017-03-12 10:10:47 +02:00
_collectionsmodule.c Minor performance tweak for deque.index() with a start argument (GH-9440) 2018-09-21 01:46:41 -07:00
_contextvarsmodule.c bpo-34762: Fix contextvars C API to use PyObject* pointer types. (GH-9473) 2018-09-21 15:33:56 -04:00
_cryptmodule.c fixes bpo-31866: remove code pertaining to AtheOS support (#4115) 2017-10-25 23:55:14 -07:00
_csv.c bpo-34395: Fix memory leaks caused by incautious usage of PyMem_Resize(). (GH-8756) 2018-08-16 07:27:50 +03:00
_curses_panel.c bpo-20171: Convert the _curses and _curses_panel modules to Argument Clinic. (GH-4251) 2018-05-10 11:27:23 +03:00
_cursesmodule.c suppress compiler warnings in _cursesmodule.c (#7860) 2018-06-23 12:29:30 +08:00
_datetimemodule.c bpo-34454: Clean up datetime.fromisoformat surrogate handling (GH-8959) 2018-10-22 18:32:52 +02:00
_dbmmodule.c bpo-34248: Add filename to error raised in {gnu,ndbm}.open() (GH-8590) 2018-09-27 22:54:34 +03:00
_elementtree.c bpo-35013: Add more type checks for children of Element. (GH-9944) 2018-10-19 12:12:57 +03:00
_functoolsmodule.c bpo-32422: Reduce lru_cache memory usage (GH-5008) 2017-12-26 02:03:24 +09:00
_gdbmmodule.c bpo-34248: Add filename to error raised in {gnu,ndbm}.open() (GH-8590) 2018-09-27 22:54:34 +03:00
_hashopenssl.c bpo-20216: Correct docstrings of digest() methods in hashlib. (GH-9873) 2018-10-19 20:42:53 +03:00
_heapqmodule.c bpo-34797: Convert heapq to the argument clinic (GH-9560) 2018-09-28 12:39:43 -07:00
_json.c bpo-34649: Add missing NULL checks to _encoded_const() (GH-9225) 2018-09-13 00:05:20 +03:00
_localemodule.c bpo-34485: Enhance init_sys_streams() (GH-8978) 2018-08-28 23:26:33 +02:00
_lsprof.c Fix docstring of Profiler class (GH-8651) 2018-08-03 18:09:57 +09:00
_lzmamodule.c bpo-33916: Fix bz2 and lzma init when called twice (GH-7843) 2018-06-23 10:35:23 +02:00
_math.c Issue #28256: Cleanup _math.c 2016-10-18 16:29:27 +02:00
_math.h Issue #28256: Cleanup _math.c 2016-10-18 16:29:27 +02:00
_opcode.c bpo-32455: Add jump parameter to dis.stack_effect(). (GH-6610) 2018-09-18 09:54:26 +03:00
_operator.c bpo-33012: Fix invalid function cast warnings with gcc 8 for METH_NOARGS. (GH-6030) 2018-04-29 21:59:33 +03:00
_pickle.c Fix incorrect error handling in _pickle.Unpickler.__init__() (GH-9630) 2018-09-29 08:48:46 +03:00
_posixsubprocess.c bpo-34651: Only allow the main interpreter to fork. (gh-9279) 2018-09-14 14:17:20 -07:00
_queuemodule.c Fix misleading mentions of tp_size in comments (GH-9093) 2018-09-10 09:46:08 -07:00
_randommodule.c bpo-33012: Fix invalid function cast warnings with gcc 8 for METH_NOARGS. (GH-6030) 2018-04-29 21:59:33 +03:00
_scproxy.c closes bpo-31903: Release the GIL when calling into SystemConfiguration (GH-4178) 2018-09-11 16:14:00 -07:00
_sre.c Simplified implementation of _sre.ascii_iscased(). (GH-9097) 2018-09-12 15:49:09 +03:00
_ssl.c bpo-34824: Fix a possible NULL pointer dereference in _ssl.c (GH-9606) 2018-10-06 10:41:45 -07:00
_ssl_data.h
_stat.c
_struct.c bpo-33012: Fix invalid function cast warnings with gcc 8 for METH_NOARGS. (GH-6030) 2018-04-29 21:59:33 +03:00
_testbuffer.c bpo-34201: Make ndarray.readonly a bool and use stricter tests in test_buffer. (GH-8414) 2018-07-26 13:23:03 +03:00
_testcapimodule.c bpo-25750: Add test on bad descriptor __get__() (GH-9084) 2018-10-19 23:50:06 +02:00
_testimportmultiple.c
_testmultiphase.c Make two PyModuleDef_Slot symbols static in _testmultiphase. (GH-8147) 2018-07-06 21:05:51 -07:00
_threadmodule.c Fix misleading mentions of tp_size in comments (GH-9093) 2018-09-10 09:46:08 -07:00
_tkinter.c Fix miscellaneous typos (#4275) 2017-11-05 15:37:50 +02:00
_tracemalloc.c bpo-32030: Enhance Py_Main() (#4412) 2017-11-15 18:11:45 -08:00
_uuidmodule.c bpo-32493: Fix uuid.uuid1() on FreeBSD. (GH-7099) 2018-05-25 00:45:09 +02:00
_weakref.c bpo-32150: Expand tabs to spaces in C files. (#4583) 2017-11-28 17:56:10 +02:00
_winapi.c bpo-34563: Fix for invalid assert on big output of multiprocessing.Process (GH-9027) 2018-09-04 18:10:28 +02:00
_xxsubinterpretersmodule.c Fix misleading mentions of tp_size in comments (GH-9093) 2018-09-10 09:46:08 -07:00
addrinfo.h replace PY_LONG_LONG with long long 2016-09-06 10:46:49 -07:00
arraymodule.c bpo-32747: Remove trailing spaces in docstrings. (GH-5491) 2018-02-02 10:52:55 +02:00
atexitmodule.c bpo-31901: atexit callbacks should be run at subinterpreter shutdown (#4611) 2017-12-20 11:17:58 +01:00
audioop.c bpo-33781: audioop: enhance rounding double as int (GH-7447) 2018-06-06 15:50:50 +02:00
binascii.c bpo-34736: improve error message for invalid length b64decode inputs (GH-9563) 2018-09-27 22:57:22 -07:00
cmathmodule.c Issue 23229: add cmath.inf, cmath.nan, cmath.infj and cmath.nanj. 2016-08-29 13:56:58 +01:00
config.c.in rename _imp initialization function to follow conventions (#5432) 2018-01-29 11:33:57 -08:00
errnomodule.c
faulthandler.c bpo-33012: Fix invalid function cast warnings with gcc 8 for METH_NOARGS. (GH-6030) 2018-04-29 21:59:33 +03:00
fcntlmodule.c bpo-32747: Remove trailing spaces in docstrings. (GH-5491) 2018-02-02 10:52:55 +02:00
gc_weakref.txt
gcmodule.c Fix typos in comments (GH-9905) 2018-10-19 23:30:03 +02:00
getaddrinfo.c bpo-32241: Add the const qualifire to declarations of umodifiable strings. (#4748) 2017-12-12 13:55:04 +02:00
getbuildinfo.c bpo-27593: Get SCM build info from git instead of hg. (#446) 2017-03-04 00:19:55 -05:00
getnameinfo.c
getpath.c bpo-28441: Ensure `.exe` suffix in `sys.executable` on MinGW and Cygwin (GH-4348) 2018-10-05 20:38:50 +09:00
grpmodule.c bpo-34604: Fix possible mojibake in pwd.getpwnam() and grp.getgrnam() (GH-9098) 2018-09-07 19:10:39 +02:00
hashlib.h bpo-31370: Remove support for threads-less builds (#3385) 2017-09-07 18:56:24 +02:00
hashtable.c Replace KB unit with KiB (#4293) 2017-11-08 14:44:44 -08:00
hashtable.h Issue #28126: Replace Py_MEMCPY with memcpy(). Visual Studio can properly optimize memcpy(). 2016-09-13 20:22:02 +02:00
itertoolsmodule.c bpo-34659: Adds initial kwarg to itertools.accumulate() (GH-9345) 2018-09-23 17:34:59 -07:00
ld_so_aix.in Issue #10656: Fix out-of-tree building on AIX 2016-11-20 07:56:37 +00:00
main.c Revert "bpo-34589: Add -X coerce_c_locale command line option (GH-9378)" (GH-9430) 2018-09-19 14:56:36 -07:00
makesetup bpo-32430: Rename Modules/Setup.dist to Modules/Setup (GH-8229) 2018-07-16 19:03:03 +02:00
makexp_aix
mathmodule.c Speed-up math.dist() by 30% (GH-9628) 2018-09-29 14:30:38 -07:00
md5module.c bpo-20216: Correct docstrings of digest() methods in hashlib. (GH-9873) 2018-10-19 20:42:53 +03:00
mmapmodule.c Fix misleading mentions of tp_size in comments (GH-9093) 2018-09-10 09:46:08 -07:00
nismodule.c bpo-33012: Fix invalid function cast warnings with gcc 8 for METH_NOARGS. (GH-6030) 2018-04-29 21:59:33 +03:00
ossaudiodev.c bpo-34740: Get rid of tp_getattro in ossaudiodev.oss_audio_device. (GH-9421) 2018-10-04 10:42:06 +03:00
overlapped.c bpo-33012: Fix invalid function cast warnings with gcc 8 for METH_NOARGS. (GH-6030) 2018-04-29 21:59:33 +03:00
parsermodule.c bpo-33308: Fix a crash in the parser module when convert an ST object. (#6519) 2018-04-19 01:55:37 +03:00
posixmodule.c bpo-32890, os: Use errno instead of GetLastError() in execve() and truncate() (GH-5784) 2018-10-20 02:28:22 +02:00
posixmodule.h bpo-33441: Make the sigset_t converter available in other modules. (GH-6720) 2018-05-08 07:48:50 +03:00
pwdmodule.c bpo-34604: Fix possible mojibake in pwd.getpwnam() and grp.getgrnam() (GH-9098) 2018-09-07 19:10:39 +02:00
pyexpat.c bpo-34741: Get rid of tp_getattro and tp_setattro in pyexpat.xmlparser. (GH-9422) 2018-10-19 18:00:51 +03:00
readline.c bpo-13631: Fix the order of initialization for readline libedit on macOS. (GH-6915) 2018-05-17 02:45:10 -04:00
resource.c bpo-34674: Assume unistd.h exists on Unix. (GH-9290) 2018-09-13 21:57:31 -07:00
rotatingtree.c
rotatingtree.h bpo-32150: Expand tabs to spaces in C files. (#4583) 2017-11-28 17:56:10 +02:00
selectmodule.c bpo-29386: Pass -1 to epoll_wait() when timeout is < -1 (GH-9040) 2018-09-11 20:29:48 +03:00
sha1module.c bpo-20216: Correct docstrings of digest() methods in hashlib. (GH-9873) 2018-10-19 20:42:53 +03:00
sha256module.c bpo-20216: Correct docstrings of digest() methods in hashlib. (GH-9873) 2018-10-19 20:42:53 +03:00
sha512module.c bpo-20216: Correct docstrings of digest() methods in hashlib. (GH-9873) 2018-10-19 20:42:53 +03:00
signalmodule.c bpo-34412: Make signal.strsignal() work on HP-UX (GH-8786) 2018-08-23 16:27:19 +03:00
socketmodule.c bpo-31425: Expose AF_QIPCRTR in socket module (GH-3706) 2018-09-26 16:47:52 +03:00
socketmodule.h bpo-31425: Expose AF_QIPCRTR in socket module (GH-3706) 2018-09-26 16:47:52 +03:00
spwdmodule.c [security] bpo-13617: Reject embedded null characters in wchar* strings. (#2302) 2017-06-28 08:30:06 +03:00
sre.h bpo-25054, bpo-1647489: Added support of splitting on zerowidth patterns. (#4471) 2017-12-04 14:29:05 +02:00
sre_constants.h bpo-31690: Allow the inline flags "a", "L", and "u" to be used as group flags for RE. (#3885) 2017-10-24 23:31:42 +03:00
sre_lib.h bpo-25054, bpo-1647489: Added support of splitting on zerowidth patterns. (#4471) 2017-12-04 14:29:05 +02:00
symtablemodule.c bpo-34983: Expose symtable.Symbol.is_nonlocal() in the symtable module (GH-9872) 2018-10-20 01:46:00 +01:00
syslogmodule.c Issue #28999: Use Py_RETURN_NONE, Py_RETURN_TRUE and Py_RETURN_FALSE wherever 2017-01-23 09:47:21 +02:00
termios.c bpo-32660: Solaris should support constants like termios' FIONREAD (#5328) 2018-01-28 14:00:48 +01:00
testcapi_long.h
timemodule.c closes bpo-35025: Properly guard the `CLOCK_GETTIME` et al macros in timemodule.c. (GH-9961) 2018-10-20 17:07:54 -07:00
tkappinit.c
tkinter.h
unicodedata.c bpo-29456: Fix bugs in unicodedata.normalize: u1176, u11a7 and u11c3 (GH-1958) 2018-06-15 20:03:14 +08:00
unicodedata_db.h update to Unicode 11.0.0 (closes bpo-33778) (GH-7439) 2018-06-06 20:14:28 -07:00
unicodename_db.h update to Unicode 11.0.0 (closes bpo-33778) (GH-7439) 2018-06-06 20:14:28 -07:00
winreparse.h Issue #17599: Use unique _Py_REPARSE_DATA_BUFFER etc names to avoid conflict 2016-08-04 02:38:59 +00:00
xxlimited.c bpo-33644: Fix signatures of tp_finalize handlers in testing code. (GH-7111) 2018-05-26 10:51:58 +03:00
xxmodule.c bpo-31443: Formulate the type slot initialization rules in terms of C99. (#3688) 2017-09-22 17:44:58 +02:00
xxsubtype.c bpo-33253: Fix xxsubtype.bench() to accept correct str signature. (GH-6439) 2018-04-10 08:21:18 +03:00
zlibmodule.c bpo-25007: Add copy protocol support to zlib compressors and decompressors (GH-7940) 2018-06-27 21:04:51 +03:00

README

Source files for standard library extension modules,
and former extension modules that are now builtin modules.