Hi Robert, On Tue, 28 Nov 2017, Robert Abel wrote: > If any of the files read by __git_eread have \r\n line endings, read > will only strip \n, leaving \r. This results in an ugly prompt, where > instead of > > user@pc MINGW64 /path/to/repo (BARE:master) > > the last parenthesis is printed over the beginning of the prompt like > > )ser@pc MINGW64 /path/to/repo (BARE:master Thats' unfortunate, and obviously something to fix. > diff --git a/contrib/completion/git-prompt.sh b/contrib/completion/git-prompt.sh > index c6cbef38c2..71a64e7959 100644 > --- a/contrib/completion/git-prompt.sh > +++ b/contrib/completion/git-prompt.sh > @@ -282,7 +282,7 @@ __git_eread () > { > local f="$1" > shift > - test -r "$f" && read "$@" <"$f" > + test -r "$f" && read "$@" <"$f" && export $@="${!@%$'\r'}" As far as I understand, $'\r' is a Bash-only construct, and this file (git-prompt.sh) is targeting other Unix shells, too. So how about using `tr -d '\r' <"$f" | read "$@"` instead? Or maybe keep with the Bash construct, but guarded behind a test that we area actually running in Bash? Something like test -z "$BASH" || IFS=$' \t\r\n' Ciao, Johannes