completion: suppress unwanted unescaping of read
The function `__git_eread`, which reads the first line from the file, calls the `read` builtin without passing the flag option `-r`. When the `read` builtin is called without the flag `-r`, it processes the backslash escaping in the text that it reads. For this reason, it is generally considered the best practice to always use the `read` builtin with flag `-r` unless one intensionally processes the backslash escaping. For the present case in git-prompt.sh, in fact, all the occurrences of the calls of `__git_eread` intend to read the literal content of the first lines. To make it read the first line literally, pass the flag `-r` to the `read` builtin in the function `__git_eread`. Signed-off-by: Edwin Kofler <edwin@kofler.dev> Signed-off-by: Koichi Murase <myoga.murase@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
parent
73876f4861
commit
197152098a
@ -300,7 +300,7 @@ __git_ps1_colorize_gitstring ()
|
|||||||
# variable, in that order.
|
# variable, in that order.
|
||||||
__git_eread ()
|
__git_eread ()
|
||||||
{
|
{
|
||||||
test -r "$1" && IFS=$'\r\n' read "$2" <"$1"
|
test -r "$1" && IFS=$'\r\n' read -r "$2" <"$1"
|
||||||
}
|
}
|
||||||
|
|
||||||
# see if a cherry-pick or revert is in progress, if the user has committed a
|
# see if a cherry-pick or revert is in progress, if the user has committed a
|
||||||
|
Loading…
Reference in New Issue
Block a user