From 40958b34d819e73eca7adda1dd5602bc1fb82ec3 Mon Sep 17 00:00:00 2001 From: Igor Minar Date: Fri, 2 Mar 2018 19:36:17 -0800 Subject: [PATCH] support new lines in original $PROMPT_COMMAND This fixes an obscure error that occurs when the original $PROMPT_COMMAND contains new lines For example if original $PROMPT_COMMAND is: ``` __bp_trap_string="$(trap -p DEBUG)" trap DEBUG __bp_install ``` this then results to the prompt var being set to: ``` setLastCommandState; __bp_trap_string="$(trap -p DEBUG)" trap DEBUG __bp_install ;setGitPrompt ``` which then blows up during `eval` with obscure: ``` bash: PROMPT_COMMAND: line 4: syntax error near unexpected token `;' bash: PROMPT_COMMAND: line 4: `;setGitPrompt' ``` --- gitprompt.sh | 2 ++ 1 file changed, 2 insertions(+) diff --git a/gitprompt.sh b/gitprompt.sh index 74f39a2..168074b 100755 --- a/gitprompt.sh +++ b/gitprompt.sh @@ -656,6 +656,8 @@ function gp_install_prompt { if [ -z "$PROMPT_COMMAND" ]; then PROMPT_COMMAND=setGitPrompt else + PROMPT_COMMAND="${PROMPT_COMMAND//$'\n'/;}" # convert all new lines to semi-colons + PROMPT_COMMAND=${PROMPT_COMMAND#\;}; # remove leading semi-colon PROMPT_COMMAND=${PROMPT_COMMAND%% }; # remove trailing spaces PROMPT_COMMAND=${PROMPT_COMMAND%\;}; # remove trailing semi-colon