Re-wrap functions as functions. Fixes issue with RVM reload (cd wrapper will be overwritten without error)
This commit is contained in:
@@ -60,8 +60,8 @@ if [ "$shell_command_wrapping_enabled" = "true" ] || [ "$bash_command_wrapping_e
|
|||||||
eval "$(declare -f $cmd | sed -E "s/^$cmd \(\)/__original_$cmd ()/")"
|
eval "$(declare -f $cmd | sed -E "s/^$cmd \(\)/__original_$cmd ()/")"
|
||||||
# Remove function
|
# Remove function
|
||||||
unset -f $cmd
|
unset -f $cmd
|
||||||
# Create wrapped alias for old function
|
# Create function that wraps old function
|
||||||
alias "$cmd"="exec_scmb_expand_args __original_$cmd";;
|
eval "${cmd}(){ exec_scmb_expand_args __original_${cmd} \"\$@\"; }";;
|
||||||
|
|
||||||
*'is a shell builtin'*)
|
*'is a shell builtin'*)
|
||||||
if [ "${scmbDebug:-}" = "true" ]; then echo "SCMB: $cmd is a shell builtin"; fi
|
if [ "${scmbDebug:-}" = "true" ]; then echo "SCMB: $cmd is a shell builtin"; fi
|
||||||
|
|||||||
@@ -63,7 +63,8 @@ test_shell_command_wrapping() {
|
|||||||
assertAliasEquals "exec_scmb_expand_args /bin/sed" "sed"
|
assertAliasEquals "exec_scmb_expand_args /bin/sed" "sed"
|
||||||
assertAliasEquals "exec_scmb_expand_args /bin/cat" "cat"
|
assertAliasEquals "exec_scmb_expand_args /bin/cat" "cat"
|
||||||
assertAliasEquals "exec_scmb_expand_args builtin cd" "cd"
|
assertAliasEquals "exec_scmb_expand_args builtin cd" "cd"
|
||||||
assertAliasEquals "exec_scmb_expand_args __original_ln" "ln"
|
assertIncludes "$(declare -f ln)" "ln ()"
|
||||||
|
assertIncludes "$(declare -f ln)" "exec_scmb_expand_args __original_ln"
|
||||||
}
|
}
|
||||||
|
|
||||||
test_ls_with_file_shortcuts() {
|
test_ls_with_file_shortcuts() {
|
||||||
|
|||||||
Reference in New Issue
Block a user