diff --git a/tcshrc.aliases b/tcshrc.aliases index 6e2cb0a..0ae762e 100644 --- a/tcshrc.aliases +++ b/tcshrc.aliases @@ -170,6 +170,17 @@ else alias p echo "Password store not found!" endif + +# Pick up the coreutils printf, if it exists... +if( -f `which gprintf` ) then + alias printf gprintf +endif + +if( ! { printf '\u0000' } ) >&/dev/null then + setenv CSHENV_NO_UNICODE_PRINTF +endif + + alias prompt source ${CSHENV_DIR}/tcshrc.prompt.command safe_source ${CSHENV_DIR}/tcshrc.aliases.${CSHENV_SYSTEM} diff --git a/tcshrc.prompt.defs b/tcshrc.prompt.defs index 6c23015..a8bd97f 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 b6f65a0..b6e674b 100644 --- a/tcshrc.prompt.final +++ b/tcshrc.prompt.final @@ -278,10 +278,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}"