summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Python/pythonrun.c12
1 files changed, 12 insertions, 0 deletions
diff --git a/Python/pythonrun.c b/Python/pythonrun.c
index e547f92..978e4b8 100644
--- a/Python/pythonrun.c
+++ b/Python/pythonrun.c
@@ -286,6 +286,18 @@ print_error()
writestring(buf, f);
writestring("\n", f);
if (text != NULL) {
+ char *nl;
+ if (offset > 0 &&
+ offset == strlen(text))
+ offset--;
+ for (;;) {
+ nl = strchr(text, '\n');
+ if (nl == NULL ||
+ nl-text >= offset)
+ break;
+ offset -= (nl+1-text);
+ text = nl+1;
+ }
while (*text == ' ' || *text == '\t') {
text++;
offset--;