https://github.com/python/cpython/commit/9546fe2ef2db921709f3cb355b33bba977658672
commit: 9546fe2ef2db921709f3cb355b33bba977658672
branch: main
author: Hugo van Kemenade <[email protected]>
committer: hugovk <[email protected]>
date: 2025-01-27T16:24:10+02:00
summary:
gh-129061: Fix `FORCE_COLOR` and `NO_COLOR` when empty strings (#129140)
files:
A Misc/NEWS.d/next/Library/2025-01-21-18-52-32.gh-issue-129061.4idD_B.rst
M Lib/_colorize.py
M Lib/test/test__colorize.py
diff --git a/Lib/_colorize.py b/Lib/_colorize.py
index 5e36e45734a5fb..41e818f2a747ff 100644
--- a/Lib/_colorize.py
+++ b/Lib/_colorize.py
@@ -42,11 +42,11 @@ def can_colorize(*, file=None) -> bool:
return False
if os.environ.get("PYTHON_COLORS") == "1":
return True
- if "NO_COLOR" in os.environ:
+ if os.environ.get("NO_COLOR"):
return False
if not COLORIZE:
return False
- if "FORCE_COLOR" in os.environ:
+ if os.environ.get("FORCE_COLOR"):
return True
if os.environ.get("TERM") == "dumb":
return False
diff --git a/Lib/test/test__colorize.py b/Lib/test/test__colorize.py
index ff15d83cb078fe..056a5306ced183 100644
--- a/Lib/test/test__colorize.py
+++ b/Lib/test/test__colorize.py
@@ -44,8 +44,10 @@ def check(env, fallback, expected):
check({'TERM': ''}, fallback, fallback)
check({'FORCE_COLOR': '1'}, fallback, True)
check({'FORCE_COLOR': '0'}, fallback, True)
+ check({'FORCE_COLOR': ''}, fallback, fallback)
check({'NO_COLOR': '1'}, fallback, False)
check({'NO_COLOR': '0'}, fallback, False)
+ check({'NO_COLOR': ''}, fallback, fallback)
check({'TERM': 'dumb', 'FORCE_COLOR': '1'}, False, True)
check({'FORCE_COLOR': '1', 'NO_COLOR': '1'}, True, False)
diff --git
a/Misc/NEWS.d/next/Library/2025-01-21-18-52-32.gh-issue-129061.4idD_B.rst
b/Misc/NEWS.d/next/Library/2025-01-21-18-52-32.gh-issue-129061.4idD_B.rst
new file mode 100644
index 00000000000000..5c5c05e1161e86
--- /dev/null
+++ b/Misc/NEWS.d/next/Library/2025-01-21-18-52-32.gh-issue-129061.4idD_B.rst
@@ -0,0 +1 @@
+Fix FORCE_COLOR and NO_COLOR when empty strings. Patch by Hugo van Kemenade.
_______________________________________________
Python-checkins mailing list -- [email protected]
To unsubscribe send an email to [email protected]
https://mail.python.org/mailman3/lists/python-checkins.python.org/
Member address: [email protected]