Issue #21629: Merge from 3.4.
diff --git a/Misc/NEWS b/Misc/NEWS
index 59a07f3..ad2106a 100644
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -623,6 +623,8 @@
Tools/Demos
-----------
+- Issue #21629: Fix Argument Clinic's "--converters" feature.
+
- Add support for ``yield from`` to 2to3.
- Add support for the PEP 465 matrix multiplication operator to 2to3.
diff --git a/Tools/clinic/clinic.py b/Tools/clinic/clinic.py
index 68a1436..93e8f5a 100755
--- a/Tools/clinic/clinic.py
+++ b/Tools/clinic/clinic.py
@@ -2044,11 +2044,9 @@
# automatically add converter for default format unit
# (but without stomping on the existing one if it's already
# set, in case you subclass)
- if ((cls.format_unit != 'O&') and
+ if ((cls.format_unit not in ('O&', '')) and
(cls.format_unit not in legacy_converters)):
legacy_converters[cls.format_unit] = cls
- if cls.format_unit:
- legacy_converters[cls.format_unit] = cls
return cls
def add_legacy_c_converter(format_unit, **kwargs):