Mercurial > public > mercurial-scm > hg
diff mercurial/windows.py @ 11010:18e81d42ee5c stable
util: fix default termwidth() under Windows
sys.stdout.write('-'*80 + '\n')
or
sys.stdout.write('-'*80 + '\r')
do not work on Windows as they do on unix. On a 80 columns Windows console, the
extra CR or LF are interpreted as if belonging to the next line, so the first
command displays 2 lines (only one on unix) and the second one leave the line
visible and move back to the following line. To avoid this, we sacrifice one
column under Windows.
author | Patrick Mezard <pmezard@gmail.com> |
---|---|
date | Mon, 26 Apr 2010 22:30:40 +0200 |
parents | 4612cded5176 |
children | 99eee847beaa |
line wrap: on
line diff
--- a/mercurial/windows.py Tue Apr 27 00:44:06 2010 +0530 +++ b/mercurial/windows.py Mon Apr 26 22:30:40 2010 +0200 @@ -356,6 +356,13 @@ def gethgcmd(): return [sys.executable] + sys.argv[:1] +def termwidth_(): + # cmd.exe does not handle CR like a unix console, the CR is + # counted in the line length. On 80 columns consoles, if 80 + # characters are written, the following CR won't apply on the + # current line but on the new one. Keep room for it. + return 79 + try: # override functions with win32 versions if possible from win32 import *