diff --git a/py/objstr.c b/py/objstr.c index 8839acbf95..c4335bbac7 100644 --- a/py/objstr.c +++ b/py/objstr.c @@ -1259,10 +1259,7 @@ mp_obj_t mp_obj_str_format(mp_uint_t n_args, const mp_obj_t *args, mp_map_t *kwa } switch (type) { - case '\0': - mp_obj_print_helper(&print, arg, PRINT_STR); - break; - + case '\0': // no explicit format type implies 's' case 's': { mp_uint_t slen; const char *s = mp_obj_str_get_data(arg, &slen); diff --git a/tests/basics/string_format.py b/tests/basics/string_format.py index d8724c9474..7fb53cb491 100644 --- a/tests/basics/string_format.py +++ b/tests/basics/string_format.py @@ -62,6 +62,10 @@ test("{:@<6d}", -123) test("{:@=6d}", -123) test("{:06d}", -123) +test("{:>20}", "foo") +test("{:^20}", "foo") +test("{:<20}", "foo") + print("{foo}/foo".format(foo="bar")) print("{}".format(123, foo="bar")) print("{}-{foo}".format(123, foo="bar"))