summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorOwen W. Taylor <otaylor@fishsoup.net>2010-06-05 14:30:56 -0400
committerOwen W. Taylor <otaylor@fishsoup.net>2010-06-05 14:40:19 -0400
commit88a2b9047e61c784c2c1e78c3d2434eaaebc8bd0 (patch)
tree9d52a5c6fcb889899e3baaf86c293f418d1a23e5
parent69b9b04d4a1176cc73ce3cc76384af8450434cc2 (diff)
Fix problem with stray spaces
Python adds a space character between consecutive calls to print when the first print doesn't end in a newline. To avoid problems with this, use <file>.write() rather than print when: * We might be printing something empty * The newline after the line is added via echoed user input on the terminal Tracked down by William Jon McCann <william.jon.mccann@gmail.com>
-rwxr-xr-xgit-bz10
1 files changed, 7 insertions, 3 deletions
diff --git a/git-bz b/git-bz
index 9fa4890..b73fe52 100755
--- a/git-bz
+++ b/git-bz
@@ -134,8 +134,10 @@ def git_run(command, *args, **kwargs):
output, error = process.communicate(input)
if process.returncode != 0:
if not quiet and not interactive:
- print >>sys.stderr, error,
- print output,
+ # Using print here could result in Python adding a stray space
+ # before the next print
+ sys.stderr.write(error)
+ sys.stdout.write(output)
raise CalledProcessError(process.returncode, " ".join(to_run))
if interactive:
@@ -709,7 +711,9 @@ def expand_abbreviation(abbrev, l):
raise ValueError("No unique abbreviation expansion")
def prompt(message):
- print message, "[yn] ",
+ # Using print here could result in Python adding a stray space
+ # before the next print
+ sys.stdout.write(message + " [yn] ")
line = sys.stdin.readline().strip()
return line == 'y' or line == 'Y'