From e13bc2c9f836ccee913f36b566ca5e046429c2bc Mon Sep 17 00:00:00 2001 From: hauntsaninja Date: Mon, 10 Feb 2025 14:47:34 -0800 Subject: [PATCH 1/2] Fix regression for user config files Fixes #18650 --- mypy/config_parser.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mypy/config_parser.py b/mypy/config_parser.py index 0e033471d2e9..096cd6c2e965 100644 --- a/mypy/config_parser.py +++ b/mypy/config_parser.py @@ -276,7 +276,7 @@ def _find_config_file( break current_dir = parent_dir - for config_file in defaults.USER_CONFIG_FILES: + for config_file in map(os.path.expanduser, defaults.USER_CONFIG_FILES): ret = _parse_individual_file(config_file, stderr) if ret is None: continue From 3005010fdaaac7d5b2e035db26bccf2364f1fcd5 Mon Sep 17 00:00:00 2001 From: hauntsaninja Date: Tue, 11 Feb 2025 21:41:17 -0800 Subject: [PATCH 2/2] expand at definition site --- mypy/config_parser.py | 2 +- mypy/defaults.py | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/mypy/config_parser.py b/mypy/config_parser.py index 096cd6c2e965..0e033471d2e9 100644 --- a/mypy/config_parser.py +++ b/mypy/config_parser.py @@ -276,7 +276,7 @@ def _find_config_file( break current_dir = parent_dir - for config_file in map(os.path.expanduser, defaults.USER_CONFIG_FILES): + for config_file in defaults.USER_CONFIG_FILES: ret = _parse_individual_file(config_file, stderr) if ret is None: continue diff --git a/mypy/defaults.py b/mypy/defaults.py index 67628d544edf..45ad6fe3076c 100644 --- a/mypy/defaults.py +++ b/mypy/defaults.py @@ -17,9 +17,10 @@ CONFIG_NAMES: Final = ["mypy.ini", ".mypy.ini"] SHARED_CONFIG_NAMES: Final = ["pyproject.toml", "setup.cfg"] -USER_CONFIG_FILES: Final = ["~/.config/mypy/config", "~/.mypy.ini"] +USER_CONFIG_FILES: list[str] = ["~/.config/mypy/config", "~/.mypy.ini"] if os.environ.get("XDG_CONFIG_HOME"): USER_CONFIG_FILES.insert(0, os.path.join(os.environ["XDG_CONFIG_HOME"], "mypy/config")) +USER_CONFIG_FILES = [os.path.expanduser(f) for f in USER_CONFIG_FILES] # This must include all reporters defined in mypy.report. This is defined here # to make reporter names available without importing mypy.report -- this speeds