From c81b87fbd3e1c21eeae70f4f19bea85b948a8696 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ville=20Skytt=C3=A4?= Date: Sat, 4 Dec 2010 21:05:54 +0200 Subject: [PATCH] Make _command_offset() do the right thing with full path completions. For example, "sudo /usr/sbin/useradd" completion didn't work properly, whereas "sudo useradd" did. --- bash_completion | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/bash_completion b/bash_completion index d9e1b66a..44137c25 100644 --- a/bash_completion +++ b/bash_completion @@ -1495,8 +1495,8 @@ _command_offset() COMPREPLY=( $( compgen -c -- "$cur" ) ) else cmd=${COMP_WORDS[0]} - if complete -p $cmd &>/dev/null; then - cspec=$( complete -p $cmd ) + if complete -p ${cmd##*/} &>/dev/null; then + cspec=$( complete -p ${cmd##*/} ) if [ "${cspec#* -F }" != "$cspec" ]; then # complete -F @@ -1522,7 +1522,7 @@ _command_offset() fi elif [ -n "$cspec" ]; then cspec=${cspec#complete}; - cspec=${cspec%%$cmd}; + cspec=${cspec%%${cmd##*/}}; COMPREPLY=( $( eval compgen "$cspec" -- "$cur" ) ); fi fi