From f8eec776e20cf30cbe220c278b9d8ca2b9813336 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ville=20Skytt=C3=A4?= Date: Sat, 16 Jan 2010 16:06:48 +0200 Subject: [PATCH] Weed out look completions not starting with current word. Some versions of the default word list for look may return non-completable entries (e.g. due to sort order mismatch -- dictionary vs non-dictionary one, case sensitivity etc -- between sort order in default word list and look's defaults). As a side effect, fixes also the test case when a lot of words are returned. --- CHANGES | 2 +- bash_completion | 2 +- test/lib/completions/look.exp | 4 +++- 3 files changed, 5 insertions(+), 3 deletions(-) diff --git a/CHANGES b/CHANGES index 71256a95..aa4ae25e 100644 --- a/CHANGES +++ b/CHANGES @@ -25,7 +25,7 @@ bash-completion (2.x) * Apply cardctl completion to pccardctl too. * Apply pine completion to alpine too. * Remove many unnecessary short option completions where long ones exist. - * Improve chsh, configure, cvs, gkrellm, lftp, mdadm, modprobe, mplayer, + * Improve chsh, configure, cvs, gkrellm, lftp, look, mdadm, modprobe, mplayer, mysqladmin, rsync, screen, service, scp, ssh, sshfs, update-alternatives, vncviewer, yp-tools, and general hostname completions. * Add abook and wtf completion, based on work by Raphaƫl Droz. diff --git a/bash_completion b/bash_completion index 814c8765..64780626 100644 --- a/bash_completion +++ b/bash_completion @@ -1622,7 +1622,7 @@ _look() cur=`_get_cword` if [ $COMP_CWORD = 1 ]; then - COMPREPLY=( $( compgen -W '$(look "$cur" 2>/dev/null)' ) ) + COMPREPLY=( $( compgen -W '$(look "$cur" 2>/dev/null)' -- "$cur" ) ) fi } && complete -F _look -o default look diff --git a/test/lib/completions/look.exp b/test/lib/completions/look.exp index 4224c32d..53a3c464 100644 --- a/test/lib/completions/look.exp +++ b/test/lib/completions/look.exp @@ -11,7 +11,9 @@ proc teardown {} { setup -assert_complete_any "look foo" +if {[assert_exec {look foo | grep ^foo} words]} { + assert_complete $words "look foo" +}; # if sync_after_int