cpython/Lib
Miss Islington (bot) ec4343c3b4 bpo-30167: Prevent site.main() exception if PYTHONSTARTUP is set. (GH-6731) (GH-7606)
Before Python 3.6, os.path.abspath(None) used to report an AttributeError which was properly caught inside site.abs_paths, making it ignore __main__, one of sys.modules, which has __file__ and __cached__ set to None. With 3.6, os.path.abspath(None) raises TypeError instead which site.abs_path was not expecting.  This resulted in an uncaught exception if a user had PYTHONSTARTUP set and the application called site.main() which a number of third-party programs do.
(cherry picked from commit 2487f30d55)

Co-authored-by: Steve Weber <steverweber@gmail.com>
2018-06-10 21:21:35 -04:00
..
asyncio bpo-30805: Avoid race condition with debug logging (GH-7545) 2018-06-08 15:42:07 -07:00
collections bpo-25988: Emit a warning when use or import ABCs from 'collections'. (GH-5734) 2018-02-18 17:40:59 +00:00
concurrent bpo-33097: Fix submit accepting callable after executor shutdown by interpreter exit (GH-6144) (GH-6445) 2018-04-10 20:35:02 +02:00
ctypes bpo-21983: Fix a crash in ctypes.cast() when passed a ctypes structured data type (GH-3859) 2018-05-26 11:39:52 -07:00
curses Issue #13051: Fixed recursion errors in large or resized curses.textpad.Textbox. 2016-12-28 10:16:06 +02:00
dbm bpo-30144: Import collections ABC from collections.abc rather than collections. (#1263) 2017-04-24 09:05:00 +03:00
distutils Improve error message for "setup.py upload" without dist files (GH-21060) 2018-02-18 19:57:17 -08:00
email [3.7] bpo-32746: Fix multiple typos (GH-5144) (GH-5520) 2018-02-03 20:41:43 -05:00
encodings bpo-32943: Fix confusing error message for rot13 codec (GH-5869) 2018-03-24 21:30:39 -07:00
ensurepip Improve ensurepip's --help (GH-4686) (GH-7238) 2018-05-30 10:34:32 +02:00
html bpo-30629: Remove second call of str.lower() in html.parser.parse_endtag. (#2099) 2017-06-16 21:15:25 -04:00
http [3.7] bpo-31639: Change ThreadedHTTPServer to ThreadingHTTPServer class name (GH-7195) (GH-7219) 2018-05-30 02:24:17 +02:00
idlelib bpo-33610: Update IDLE Code Context doc entry (GH-7597) 2018-06-10 13:07:24 -07:00
importlib bpo-30436: Add missing space in importlib.util.find_spec() error message (GH-7385) 2018-06-06 23:21:43 -07:00
json bpo-30877: Fix clearing a cache in the the JSON decoder. (GH-7048) 2018-05-22 06:03:10 -07:00
lib2to3 bpo-31583: Fix 2to3 for using with --add-suffix option (GH-3758) (#6528) 2018-04-18 17:15:09 -07:00
logging bpo-33400: Clarified documentation to indicate no strict adherence to ISO 8601. (GH-6702) (GH-6704) 2018-05-28 13:29:13 +01:00
msilib Remove all mention of Windows IA-64 support (GH-3389) 2017-09-06 15:45:25 -07:00
multiprocessing bpo-33078 - Fix queue size on pickling error (GH-6119) (GH-6178) 2018-03-21 17:21:15 +01:00
pydoc_data 3.7.0b5 2018-05-30 19:50:49 -04:00
site-packages
sqlite3 Spelling fixes to docs, docstrings, and comments (GH-6374) 2018-04-20 14:00:41 -07:00
test bpo-33812: Corrected astimezone for naive datetimes. (GH-7578) (GH-7600) 2018-06-10 18:02:24 -04:00
tkinter bpo-33283: Mention PNG as a supported format by Tcl/Tk. (GH-6479) 2018-04-18 11:16:46 -07:00
turtledemo bpo-32297: Few misspellings found in Python source code comments. (#4803) 2017-12-14 13:04:53 +02:00
unittest bpo-33748: fix tests altering sys.path and sys.modules (GH-7433) (#7604) 2018-06-10 17:45:19 -04:00
urllib [3.7] bpo-32861: urllib.robotparser fix incomplete __str__ methods. (GH-5711) (GH-6795) 2018-05-14 21:14:30 +03:00
venv bpo-32409: Ensures activate.bat can handle Unicode contents (GH-5765) 2018-02-19 17:45:02 -08:00
wsgiref Remove tiny bit of deadcode from wsgiref.validate (#3996) 2017-10-31 00:07:36 -04:00
xml bpo-33549: Remove shim and deprecation warning to access DocumentLS.async. (GH-6924) (GH-6929) 2018-05-17 12:01:02 +03:00
xmlrpc bpo-32297: Few misspellings found in Python source code comments. (#4803) 2017-12-14 13:04:53 +02:00
__future__.py String annotations [PEP 563] (#4390) 2018-01-26 08:20:18 -08:00
__phello__.foo.py
_bootlocale.py bpo-29240: PEP 540: Add a new UTF-8 Mode (#855) 2017-12-13 12:29:09 +01:00
_collections_abc.py bpo-32467: Let collections.abc.ValuesView inherit from Collection (#5152) 2018-01-11 21:53:49 -08:00
_compat_pickle.py
_compression.py
_dummy_thread.py Restore dummy_threading and _dummy_thread, but deprecate them (bpo-31370) (#3648) 2017-09-18 22:04:20 +02:00
_markupbase.py
_osx_support.py Fix misplaced positional argument in OS X support library (#1134) 2017-04-14 15:28:55 +03:00
_py_abc.py bpo-33018: Improve issubclass() error checking and message. (GH-5944) 2018-03-22 04:49:26 -07:00
_pydecimal.py bpo-32630: Use contextvars in decimal (GH-5278) 2018-01-27 13:46:46 -05:00
_pyio.py bpo-15216: io: TextIOWrapper.reconfigure() accepts encoding, errors and newline (GH-2343) 2017-12-21 09:59:53 +09:00
_sitebuiltins.py
_strptime.py Spelling fixes to docs, docstrings, and comments (GH-6374) 2018-04-20 14:00:41 -07:00
_threading_local.py Delete a broken threading.local example (GH-5870) 2018-02-25 07:23:25 -08:00
_weakrefset.py bpo-30296 Remove unnecessary tuples, lists, sets, and dicts (#1489) 2017-05-18 07:35:54 -07:00
abc.py bpo-31333: Re-implement ABCMeta in C (GH-5733) 2018-02-18 17:39:43 +00:00
aifc.py bpo-32056: Improve exceptions in aifc, wave and sunau. (GH-5951) 2018-03-18 13:50:41 -07:00
antigravity.py
argparse.py bpo-11874: fix assertion failure in argparse metavar handling (GH-1826) 2018-06-08 04:33:50 -07:00
ast.py bpo-32911: Revert bpo-29463. (GH-7121) 2018-05-29 10:49:10 +03:00
asynchat.py
asyncore.py bpo-29639: change test.support.HOST to "localhost" 2017-09-09 00:30:15 -07:00
base64.py Add Python version since deprecation in base64 methods. (#33) 2017-03-02 17:21:26 +03:00
bdb.py Docs: fix some wrong words (GH-6987) 2018-06-02 07:36:19 -07:00
binhex.py
bisect.py
bz2.py bpo-31370: Remove support for threads-less builds (#3385) 2017-09-07 18:56:24 +02:00
cProfile.py bpo-21862: Add -m option to cProfile for profiling modules (#4297) 2017-11-08 11:50:56 +01:00
calendar.py Closes bpo-28281: Remove year (1-9999) limits on the weekday() function. (#4109) 2017-10-26 15:34:11 -04:00
cgi.py bpo-33497: Add errors param to cgi.parse_multipart and make an encoding in FieldStorage use the given errors (GH-6804) (GH-6837) 2018-05-14 18:20:06 -04:00
cgitb.py bpo-33256: Replace angle brackets around python object repr to display it in html (GH-6442) 2018-04-29 12:10:12 -07:00
chunk.py bpo-29762: More use "raise from None". (#569) 2017-04-05 09:37:24 +03:00
cmd.py
code.py bpo-30166: Import command-line parsing modules only when needed. (#1293) 2017-05-04 08:17:47 +03:00
codecs.py bpo-32110: codecs.StreamReader.read(n) now returns not more than n (#4499) 2017-11-29 01:30:00 +02:00
codeop.py
colorsys.py
compileall.py closes bpo-31650: PEP 552 (Deterministic pycs) implementation (#4575) 2017-12-09 10:26:52 -08:00
configparser.py bpo-33802: Do not interpolate in ConfigParser while reading defaults (GH-7524) 2018-06-08 07:01:56 -07:00
contextlib.py bpo-30306: release arguments of contextmanager (GH-1500) 2018-01-28 14:17:46 +10:00
contextvars.py bpo-32436: Implement PEP 567 (#5027) 2018-01-22 19:11:18 -05:00
copy.py
copyreg.py bpo-31107: Fix copyreg mangled slot names calculation. (#2989) 2017-08-04 11:45:00 +03:00
crypt.py bpo-31702: Allow to specify rounds for SHA-2 hashing in crypt.mksalt(). (#4110) 2017-11-16 13:22:51 +02:00
csv.py bpo-30157: Fix csv.Sniffer.sniff() regex pattern. (GH-5601) (GH-5602) 2018-02-10 00:00:48 +02:00
dataclasses.py bpo-33796: Ignore ClassVar for dataclasses.replace(). (GH-7488) 2018-06-07 13:15:23 -07:00
datetime.py bpo-33812: Corrected astimezone for naive datetimes. (GH-7578) (GH-7600) 2018-06-10 18:02:24 -04:00
decimal.py
difflib.py bpo-33224: PEP 479 fix for difflib.mdiff() (GH-6381) (GH-6390) 2018-04-05 11:45:33 -07:00
dis.py bpo-31183: `dis` now handles coroutines & async generators (GH-3077) 2017-08-18 12:29:21 +10:00
doctest.py bpo-25054, bpo-1647489: Added support of splitting on zerowidth patterns. (#4471) 2017-12-04 14:29:05 +02:00
dummy_threading.py Restore dummy_threading and _dummy_thread, but deprecate them (bpo-31370) (#3648) 2017-09-18 22:04:20 +02:00
enum.py bpo-31947: remove None default for names param in Enum._create_ (GH-4288) 2018-04-16 13:49:34 -07:00
filecmp.py
fileinput.py bpo-31281: Fix pathlib.Path incompatibility in fileinput (gh-3208) 2017-09-04 13:37:24 -04:00
fnmatch.py bpo-32775: Fix regular expression warnings in fnmatch. (GH-5583) (GH-5596) 2018-02-09 13:56:50 +02:00
formatter.py
fractions.py
ftplib.py bpo-31346: Use PROTOCOL_TLS_CLIENT/SERVER (#3058) 2017-09-15 20:27:30 +02:00
functools.py bpo-32227: functools.singledispatch supports registering via type annotations (#4733) 2017-12-11 13:56:31 -08:00
genericpath.py
getopt.py
getpass.py getpass: update docstrings (#49) 2017-02-12 23:10:48 +01:00
gettext.py bpo-30152: Reduce the number of imports for argparse. (#1269) 2017-09-26 00:55:55 +03:00
glob.py
gzip.py Replace KB unit with KiB (#4293) 2017-11-08 14:44:44 -08:00
hashlib.py Fix miscellaneous typos (#4275) 2017-11-05 15:37:50 +02:00
heapq.py Improve clarity (and small speed-up) by using tuple unpacking (#3289) 2017-09-04 11:47:58 -07:00
hmac.py bpo-33604: Remove Pending from hmac Deprecation warning. (GH-7062) 2018-05-22 16:40:44 -07:00
imaplib.py bpo-32157: Removed explicit quotes around %r and {!r}. (#4582) 2017-11-28 22:54:42 +02:00
imghdr.py
imp.py bpo-30645: don't append to an inner loop path in imp.load_package() (GH-2268) 2017-06-23 10:35:03 -07:00
inspect.py bpo-33197: Update a error message of invalid inspect.Parameters. (GH-6636) (GH-7204) 2018-05-29 11:43:54 -04:00
io.py
ipaddress.py bpo-27683: Fix a regression for host() of ipaddress network objects (GH-6016) 2018-03-20 18:22:23 -07:00
keyword.py bpo-30406: Make async and await proper keywords (#1669) 2017-10-05 23:24:46 -04:00
linecache.py
locale.py [3.7] bpo-20087: Update locale alias mapping with glibc 2.27 supported locales. (GH-6708) (GH-6713) 2018-05-06 10:20:12 +03:00
lzma.py
macpath.py bpo-31802: Fix importing native path module before importing os. (#4017) 2018-01-07 17:54:31 +02:00
mailbox.py bpo-29762: More use "raise from None". (#569) 2017-04-05 09:37:24 +03:00
mailcap.py
mimetypes.py bpo-22589 Changed MIME type of .bmp to "image/bmp" (#4756) 2017-12-08 07:48:44 -05:00
modulefinder.py closes bpo-31650: PEP 552 (Deterministic pycs) implementation (#4575) 2017-12-09 10:26:52 -08:00
netrc.py bpo-28334: netrc() now uses expanduser() to find .netrc file (GH-4537) 2017-11-25 13:37:22 +03:00
nntplib.py bpo-29762: More use "raise from None". (#569) 2017-04-05 09:37:24 +03:00
ntpath.py bpo-31802: Fix importing native path module before importing os. (#4017) 2018-01-07 17:54:31 +02:00
nturl2path.py bpo-29836: Remove nturl2path from test_sundry and amend the module docstring (GH-694) 2017-03-17 11:16:20 -07:00
numbers.py Fix miscellaneous typos (#4275) 2017-11-05 15:37:50 +02:00
opcode.py [3.7] bpo-32746: Fix multiple typos (GH-5144) (GH-5520) 2018-02-03 20:41:43 -05:00
operator.py
optparse.py
os.py bpo-32297: Few misspellings found in Python source code comments. (#4803) 2017-12-14 13:04:53 +02:00
pathlib.py bpo-31972: Improve docstrings for pathlib classes (GH-5310) 2018-02-18 16:48:07 -08:00
pdb.py [3.7] bpo-32691: Use mod_spec.parent when running modules with pdb (GH-5510) 2018-02-04 18:07:16 +10:00
pickle.py bpo-32503: Avoid creating too small frames in pickles. (#5127) 2018-01-20 16:42:44 +02:00
pickletools.py bpo-31993: Do not allocate large temporary buffers in pickle dump. (#4353) 2018-01-06 17:18:54 +02:00
pipes.py
pkgutil.py closes bpo-31650: PEP 552 (Deterministic pycs) implementation (#4575) 2017-12-09 10:26:52 -08:00
platform.py bpo-28167: bump platform.linux_distribution removal to 3.8 (GH-6669) (GH-6862) 2018-05-15 13:30:06 -04:00
plistlib.py bpo-32072: Fix issues with binary plists. (#4455) 2017-11-30 23:26:11 +02:00
poplib.py bpo-32981: Fix catastrophic backtracking vulns (GH-5955) 2018-03-03 21:55:07 -08:00
posixpath.py bpo-31802: Fix importing native path module before importing os. (#4017) 2018-01-07 17:54:31 +02:00
pprint.py
profile.py time.clock() now emits a DeprecationWarning (GH-4020) 2017-10-17 14:46:45 -07:00
pstats.py Revert unneccessary changes made in bpo-30296 and apply other improvements. (GH-2624) 2018-02-26 08:22:24 -08:00
pty.py
py_compile.py bpo-29708: Setting SOURCE_DATE_EPOCH forces hash-based .pyc files (GH-5200) 2018-01-24 13:26:18 -08:00
pyclbr.py bpo-6691: Pyclbr now reports nested classes and functions. (#2503) 2017-07-03 21:31:25 -04:00
pydoc.py bpo-33422: Fix quotation marks getting deleted when looking up byte/string literals on pydoc. (GH-6701) 2018-05-05 09:42:56 -07:00
queue.py bpo-14976: Reentrant simple queue (#3346) 2018-01-16 00:27:16 +01:00
quopri.py
random.py bpo-33203: Ensure random.choice always raises IndexError on empty sequence (GH-6338) (GH-6387) 2018-04-05 09:02:12 -07:00
re.py bpo-32338: OrderedDict import is no longer needed in re. (GH-4891) 2018-03-10 23:01:58 -08:00
reprlib.py bpo-31370: Remove support for threads-less builds (#3385) 2017-09-07 18:56:24 +02:00
rlcompleter.py
runpy.py
sched.py bpo-31370: Remove support for threads-less builds (#3385) 2017-09-07 18:56:24 +02:00
secrets.py
selectors.py bpo-30624 remaining bare except (#2108) 2017-06-12 14:43:40 +02:00
shelve.py Fix misleading docsting of shelve.open(). (GH-6427) 2018-04-09 07:57:31 -07:00
shlex.py
shutil.py bpo-28564: Use os.scandir() in shutil.rmtree(). (#4085) 2017-11-04 14:16:35 +02:00
signal.py
site.py bpo-30167: Prevent site.main() exception if PYTHONSTARTUP is set. (GH-6731) (GH-7606) 2018-06-10 21:21:35 -04:00
smtpd.py
smtplib.py bpo-32727: smtplib's SMTP.send_message behaves differently with from_addr and to_addrs (#5451) 2018-01-31 17:01:31 -05:00
sndhdr.py bpo-31985: Deprecate openfp in aifc, sunau, and wave (#4344) 2017-11-10 11:38:25 -05:00
socket.py bpo-28134: Auto-detect socket values from file descriptor (#1349) 2018-01-29 22:37:58 +01:00
socketserver.py bpo-33540: Fix socketserver.ThreadingMixIn if block_on_close=False (GH-7309) 2018-06-01 14:07:50 +02:00
sre_compile.py 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_constants.py 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_parse.py bpo-30349: Raise FutureWarning for nested sets and set operations (#1553) 2017-11-16 12:38:26 +02:00
ssl.py [3.7] bpo-24334: Remove inaccurate match_hostname call (GH-6211) (#6212) 2018-03-24 15:59:16 +01:00
stat.py
statistics.py bpo-29919: Remove unused imports found by pyflakes (#137) 2017-03-27 16:05:26 +02:00
string.py bpo-31672: Restore the former behavior when override flags in Template. (#5099) 2018-01-04 19:20:11 +02:00
stringprep.py
struct.py
subprocess.py Revert "bpo-31961: subprocess now accepts path-like args (GH-4329)" (GH-5912) (GH-5931) 2018-02-27 18:30:30 -05:00
sunau.py bpo-32056: Improve exceptions in aifc, wave and sunau. (GH-5951) 2018-03-18 13:50:41 -07:00
symbol.py bpo-30406: Make async and await proper keywords (#1669) 2017-10-05 23:24:46 -04:00
symtable.py bpo-30296 Remove unnecessary tuples, lists, sets, and dicts (#1489) 2017-05-18 07:35:54 -07:00
sysconfig.py remove support for BSD/OS (closes bpo-31624) (#3812) 2017-09-28 22:44:27 -07:00
tabnanny.py bpo-30166: Import command-line parsing modules only when needed. (#1293) 2017-05-04 08:17:47 +03:00
tarfile.py bpo-32713: Fix tarfile.itn for large/negative float values. (GH-5434) 2018-02-26 16:50:09 -08:00
telnetlib.py bpo-30397: Add re.Pattern and re.Match. (#1646) 2017-10-04 20:09:49 +03:00
tempfile.py bpo-33522: Enable CI builds on Visual Studio Team Services (GH-6865) (GH-6926) 2018-05-17 08:49:01 -04:00
textwrap.py bpo-30620: Remove dead lines from textwrap.dedent (GH-2064) 2017-06-15 19:19:43 -07:00
this.py
threading.py bpo-33556: Remove reference to thread module from docstring (GH-6963) 2018-05-18 14:46:43 -05:00
timeit.py bpo-28240: timeit: Update repeat() doc (GH-7419) (GH-7457) 2018-06-06 19:05:46 +02:00
token.py bpo-33260: Regenerate token.py after removing ASYNC and AWAIT. (GH-6447) 2018-04-11 10:07:23 -07:00
tokenize.py bpo-33260: Regenerate token.py after removing ASYNC and AWAIT. (GH-6447) 2018-04-11 10:07:23 -07:00
trace.py bpo-31908: Fix output of cover files for trace module command-line tool. (GH-4205) 2018-04-30 21:06:00 -07:00
traceback.py bpo-28603: Fix formatting tracebacks for unhashable exceptions (#4014) 2017-10-18 00:29:39 +03:00
tracemalloc.py bpo-32121: Add most_recent_first parameter to tracemalloc.Traceback.format (#4534) 2017-11-30 00:05:07 +01:00
tty.py
turtle.py Revert unneccessary changes made in bpo-30296 and apply other improvements. (GH-2624) 2018-02-26 08:22:24 -08:00
types.py bpo-32265: Classify class and static methods of builtin types. (#4776) 2017-12-15 14:13:41 +02:00
typing.py bpo-33652: Remove __getstate__ and __setstate__ methods in typing. (GH-7144) 2018-05-28 04:21:44 -07:00
uu.py bpo-30103: Allow Uuencode in Python using backtick as zero instead of space (#1326) 2017-05-03 11:16:21 +08:00
uuid.py bpo-33542: Ignore DUID in uuid.get_node on Windows. (GH-6922) 2018-05-20 08:40:10 -07:00
warnings.py bpo-32591: Add native coroutine origin tracking (#5250) 2018-01-21 09:44:07 -05:00
wave.py bpo-32056: Improve exceptions in aifc, wave and sunau. (GH-5951) 2018-03-18 13:50:41 -07:00
weakref.py bpo-30152: Reduce the number of imports for argparse. (#1269) 2017-09-26 00:55:55 +03:00
webbrowser.py bpo-29645: Speed up importing the webbrowser module. (#484) 2017-03-08 17:15:54 +02:00
xdrlib.py
zipapp.py bpo-31638: Add compression support to zipapp (GH-3819) 2017-09-29 18:31:52 +01:00
zipfile.py bpo-30693: zip+tarfile: sort directory listing (#2263) 2018-01-31 17:01:55 -05:00