From f29ba790cd6a8d0995d652faba626e775a5e6f7c Mon Sep 17 00:00:00 2001 From: Neal Norwitz Date: Tue, 12 Nov 2002 23:01:12 +0000 Subject: Fix SF # 635969, No error "not all arguments converted" When mwh added extended slicing, strings and unicode became mappings. Thus, dict was set which prevented an error when doing: newstr = 'format without a percent' % string_value This fix raises an exception again when there are no formats and % with a string value. --- Objects/stringobject.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'Objects/stringobject.c') diff --git a/Objects/stringobject.c b/Objects/stringobject.c index 35b4b47e98..bf8bad53a8 100644 --- a/Objects/stringobject.c +++ b/Objects/stringobject.c @@ -3622,7 +3622,8 @@ PyString_Format(PyObject *format, PyObject *args) arglen = -1; argidx = -2; } - if (args->ob_type->tp_as_mapping && !PyTuple_Check(args)) + if (args->ob_type->tp_as_mapping && !PyTuple_Check(args) && + !PyObject_TypeCheck(args, &PyBaseString_Type)) dict = args; while (--fmtcnt >= 0) { if (*fmt != '%') { -- cgit v1.2.1