diff options
Diffstat (limited to 'Python/ceval.c')
-rw-r--r-- | Python/ceval.c | 13 |
1 files changed, 7 insertions, 6 deletions
diff --git a/Python/ceval.c b/Python/ceval.c index 324ecdf..425e2a0 100644 --- a/Python/ceval.c +++ b/Python/ceval.c @@ -38,6 +38,8 @@ OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. #include "graminit.h" #include "pythonrun.h" +#include <ctype.h> + /* Turn this on if your compiler chokes on the big switch: */ /* #define CASE_TOO_BIG 1 /**/ @@ -660,16 +662,15 @@ eval_code(co, globals, locals, owner, arg) w = sysget("stdout"); if (softspace(w, 1)) writestring(" ", w); - if (is_stringobject(v)) { + err = writeobject(v, w, PRINT_RAW); + if (err == 0 && is_stringobject(v)) { + /* XXX move into writeobject() ? */ char *s = getstringvalue(v); int len = getstringsize(v); - err = writeobject(v, w, PRINT_RAW); - if (err == 0 && len > 0 && s[len-1] == '\n') + if (len > 0 && isspace(s[len-1]) && + s[len-1] != ' ') softspace(w, 0); } - else { - err = writeobject(v, w, 0); - } DECREF(v); break; |