On 3/14/14 2:39 AM, Clark Wang wrote: > For example in 4.3 when direxpand is enabled, `cd ./tmp<TAB>' would be > expand `./tmp' to the full path (e.g. `/root/tmp/'). I think this is not > good especially when the full dir path is very long. Bash 4.2 (tested with > 4.2.37) does not behave like this. Could we keep the 4.2 behavior?
This isn't accurate. When you build bash-4.3 with the default options, and choose to enable direxpand using shopt, you get the same behavior as in bash-4.2. In particular, relative paths aren't expanded to full paths. If, on the other hand, you build bash with the enable-direxpand-default configuration option, you do get this behavior. I left the relative-path expansion option enabled when bash is built this way. In retrospect, I should probably have left it out. If you prefer it disabled, you can change the assignment to dircomplete_expand_relpath in bashline.c. That is not to say there aren't problems with relative paths and completion in bash-4.3, but they aren't with direxpand. Additionally, I'm not talking about the situation when bash-completion is included in the mix. Chet -- ``The lyf so short, the craft so long to lerne.'' - Chaucer ``Ars longa, vita brevis'' - Hippocrates Chet Ramey, ITS, CWRU c...@case.edu http://cnswww.cns.cwru.edu/~chet/