both deprecated in Python 3.4 now emit :exc:`DeprecationWarning`. (Contributed
by Matthias Bussonnier in :issue:`29576`)
+- Using non-integer value for selecting a plural form in :mod:`gettext` is
+ now deprecated. It never correctly worked.
+ (Contributed by Serhiy Storchaka in :issue:`28692`.)
+
Removed
=======
except TypeError:
raise TypeError('Plural value must be an integer, got %s' %
(n.__class__.__name__,)) from None
+ import warnings
+ warnings.warn('Plural value must be an integer, got %s' %
+ (n.__class__.__name__,),
+ DeprecationWarning, 4)
return n
def c2py(plural):
f = gettext.c2py('n != 1')
self.assertEqual(f(1), 0)
self.assertEqual(f(2), 1)
- self.assertEqual(f(1.0), 0)
- self.assertEqual(f(2.0), 1)
- self.assertEqual(f(1.1), 1)
+ with self.assertWarns(DeprecationWarning):
+ self.assertEqual(f(1.0), 0)
+ with self.assertWarns(DeprecationWarning):
+ self.assertEqual(f(2.0), 1)
+ with self.assertWarns(DeprecationWarning):
+ self.assertEqual(f(1.1), 1)
self.assertRaises(TypeError, f, '2')
self.assertRaises(TypeError, f, b'2')
self.assertRaises(TypeError, f, [])
Library
-------
+- bpo-28692: Using non-integer value for selecting a plural form in gettext is
+ now deprecated.
+
- bpo-26121: Use C library implementation for math functions:
tgamma(), lgamma(), erf() and erfc().