]> granicus.if.org Git - python/commit
bpo-20443: _PyConfig_Read() gets the absolute path of run_filename (GH-14053)
authorVictor Stinner <vstinner@redhat.com>
Tue, 25 Jun 2019 13:02:43 +0000 (15:02 +0200)
committerGitHub <noreply@github.com>
Tue, 25 Jun 2019 13:02:43 +0000 (15:02 +0200)
commit3939c321c90283b49eddde762656e4b1940e7150
treef2b8429629e80925feac81280c7696a16a0328ea
parent080b6b40fa6c6ddc79dcfcadab575bb1be3f47e9
bpo-20443: _PyConfig_Read() gets the absolute path of run_filename (GH-14053)

Python now gets the absolute path of the script filename specified on
the command line (ex: "python3 script.py"): the __file__ attribute of
the __main__ module, sys.argv[0] and sys.path[0] become an absolute
path, rather than a relative path.

* Add _Py_isabs() and _Py_abspath() functions.
* _PyConfig_Read() now tries to get the absolute path of
  run_filename, but keeps the relative path if _Py_abspath() fails.
* Reimplement os._getfullpathname() using _Py_abspath().
* Use _Py_isabs() in getpath.c.
Doc/whatsnew/3.9.rst
Include/fileutils.h
Lib/test/test_cmd_line_script.py
Lib/test/test_embed.py
Lib/test/test_warnings/__init__.py
Misc/NEWS.d/next/Core and Builtins/2019-06-13-12-55-38.bpo-20443.bQWAxg.rst [new file with mode: 0644]
Modules/getpath.c
Modules/posixmodule.c
Python/fileutils.c
Python/initconfig.c