See following example with bash-4.3.11 (compiled with the default configure option):
[STEP 101] $ complete -r [STEP 102] $ shopt direxpand direxpand on [STEP 103] $ find . . ./the-dir ./the-dir/file ./the dir ./the dir/file [STEP 104] $ foo the-<TAB> [STEP 104] $ foo the-dir/<TAB> [STEP 104] $ foo the-dir/file bash: foo: command not found [STEP 105] $ foo the\<SPACE><TAB> [STEP 105] $ foo the\ dir/<TAB> [STEP 105] $ foo /root/tmp/direxpand/the\ dir/file bash: foo: command not found [STEP 106] $ In STEP 105 the relative path was expanded to the full path. I think it should not. -clark