diff --git a/tcshrc.prompt.defs b/tcshrc.prompt.defs index b08b7e3..b4493ad 100644 --- a/tcshrc.prompt.defs +++ b/tcshrc.prompt.defs @@ -99,11 +99,16 @@ set referencechars_raw="${referencechars_raw} 262e" set prompt_hcolor=0 set prompt_hsym=0 -set referencechars=() -foreach ch ($referencechars_raw) - set unicode=`printf "\\u${ch}"` - set referencechars=( $referencechars `printf "${unicode}"` ) -end +if( ! $?CSHENV_NO_UNICODE_PRINTF ) then + set referencechars=() + foreach ch ($referencechars_raw) + set unicode=`printf "\\u${ch}"` + set referencechars=( $referencechars `printf "${unicode}"` ) + end +else + # Safe fallback for when there's no unicode printf + set referencechars="A B C D X Y Z" +endif # Rotation alias precmd 'source ${CSHENV_DIR}/tcshrc.prompt.final' diff --git a/tcshrc.prompt.final b/tcshrc.prompt.final index 26b4223..3d129ef 100644 --- a/tcshrc.prompt.final +++ b/tcshrc.prompt.final @@ -280,10 +280,15 @@ if( 0 == ${__res} ) then #set git_prompt="%{${csi}${branch_indent}C${csi}mBranch: ${csi}3;38;2;255;192;192m${git_branch}${csi}m${csi}${branch_space}C\n%}" - # If the font doesn't support the special branch symbol... - set branch_symbol=`printf "\uE0A0"` - # I could always fallback to this one... (keep padded spaces... for alignment) - set branch_symbol=`printf '\u2387\ \ '` + if( ! $?CSHENV_NO_UNICODE_PRINTF ) then + # If the font doesn't support the special branch symbol... + set branch_symbol=`printf "\uE0A0"` + # I could always fallback to this one... (keep padded spaces... for alignment) + set branch_symbol=`printf '\u2387\ \ '` + else + # Non unicode fallback 'X' + set branch_symbol='X' + endif git rev-list --count --left-right \@\{upstream\}..HEAD>&/dev/null set __res=$? #echo "Got: ${git_counts}"