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.
#!/bin/sh
hg init repo
cd repo
i=0; while [ "$i" -lt 213 ]; do echo a >> a; i=`expr $i + 1`; done
hg add a
echo '% wide diffstat'
hg diff --stat
echo '% diffstat width'
COLUMNS=24 hg diff --config ui.interactive=true --stat
hg ci -m adda
cat >> a <<EOF
a
a
a
EOF
echo '% narrow diffstat'
hg diff --stat
hg ci -m appenda
printf '\0' > b
hg add b
echo '% binary diffstat'
hg diff --stat
echo '% binary git diffstat'
hg diff --stat --git