From: Petr Viktorin Date: Wed, 13 Aug 2025 07:03:05 +0000 (+0200) Subject: gh-131146: Fall back to `month_name` if `standalone_month_name`s aren't distinct... X-Git-Tag: v3.15.0a1~706 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=639df39bf0b7e1172ebc4df84c1ae097ea7c0c22;p=thirdparty%2FPython%2Fcpython.git gh-131146: Fall back to `month_name` if `standalone_month_name`s aren't distinct (GH-137674) Some systems reportedly don't expand '%OB' and '%Ob'. In this case (and similar theoretically possible ones, like expanding to empty string or 'OB'), fall back to the month_name & month_abbr. --- diff --git a/Lib/calendar.py b/Lib/calendar.py index 45bb265a6560..fd6c561a9d39 100644 --- a/Lib/calendar.py +++ b/Lib/calendar.py @@ -149,6 +149,14 @@ try: except ValueError: standalone_month_name = month_name standalone_month_abbr = month_abbr +else: + # Some systems that do not support '%OB' will keep it as-is (i.e., + # we get [..., '%OB', '%OB', '%OB']), so for non-distinct names, + # we fall back to month_name/month_abbr. + if len(set(standalone_month_name)) != len(set(month_name)): + standalone_month_name = month_name + if len(set(standalone_month_abbr)) != len(set(month_abbr)): + standalone_month_abbr = month_abbr def isleap(year):