From: Miss Islington (bot) <31488909+miss-islington@users.noreply.github.com> Date: Mon, 29 Jun 2026 09:56:52 +0000 (+0200) Subject: [3.13] gh-71450: Document that Tcl sets the HOME variable on Windows (GH-152568)... X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=5f5dbfb4bfa1876f209422319922823461b92ce1;p=thirdparty%2FPython%2Fcpython.git [3.13] gh-71450: Document that Tcl sets the HOME variable on Windows (GH-152568) (GH-152576) Also fix the ntpath.expanduser() docstring, which no longer uses $HOME. (cherry picked from commit 1540584d5d0b6483b78256194825e76d2e52ad21) Co-authored-by: Serhiy Storchaka Co-authored-by: Claude Opus 4.8 --- diff --git a/Doc/library/tkinter.rst b/Doc/library/tkinter.rst index 4d8e7e255c39..801fda8a1ead 100644 --- a/Doc/library/tkinter.rst +++ b/Doc/library/tkinter.rst @@ -3236,6 +3236,14 @@ Toplevel widgets profile files is the :envvar:`HOME` environment variable or, if that isn't defined, then :data:`os.curdir`. + .. note:: + + On Windows, creating a Tcl interpreter (by instantiating :class:`Tk` or + calling :func:`Tcl`) sets the :envvar:`HOME` environment variable for + the process, if it is not already set, to ``%HOMEDRIVE%%HOMEPATH%`` (or + :envvar:`USERPROFILE`, or ``c:\``). This is done by Tcl and can affect + other code that reads :envvar:`HOME`. + .. attribute:: tk The Tk application object created by instantiating :class:`Tk`. This diff --git a/Lib/ntpath.py b/Lib/ntpath.py index eb127ec2632c..36da5b7cb0fb 100644 --- a/Lib/ntpath.py +++ b/Lib/ntpath.py @@ -345,7 +345,7 @@ def _isreservedname(name): def expanduser(path): """Expand ~ and ~user constructs. - If user or $HOME is unknown, do nothing.""" + If user or home directory is unknown, do nothing.""" path = os.fspath(path) if isinstance(path, bytes): seps = b'\\/'