diff options
-rw-r--r-- | ChangeLog | 5 | ||||
-rw-r--r-- | Completion/Core/compinstall | 14 |
2 files changed, 17 insertions, 2 deletions
diff --git a/ChangeLog b/ChangeLog index 6be546983..15a7ddca2 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2000-04-28 Peter Stephenson <pws@cambridgesiliconradio.com> + + * pws: 10999: Completion/Core/compinstall: some idiot didn't + get searching of alternative files for definitions to work properly. + 2000-04-28 Sven Wischnowsky <wischnow@informatik.hu-berlin.de> * 10992: Src/Zle/complist.c: avoid wrapping around both diff --git a/Completion/Core/compinstall b/Completion/Core/compinstall index 78579b9ec..ad266eb59 100644 --- a/Completion/Core/compinstall +++ b/Completion/Core/compinstall @@ -69,9 +69,19 @@ If you have some already defined by compinstall, edit the name of the file where these can be found. Note that this will only work if they are exactly the form in which compinstall inserted them. If you leave the line as it is, or empty, I won't search." - vared -ch -p 'file> ' newifile - [[ -z $newifile || $ifile = $newifile ]] && foundold=false + while true; do + vared -ch -p 'file> ' newifile + if [[ -n $newifile && $ifile != $newifile ]]; then + if __ci_test_ifile $newifile; then + foundold=true + break + fi + print "I couldn't find any definitions there. Edit a new filename, or +leave the line blank to ignore it." + fi + done fi +ifile=$newifile if [[ $foundold = true ]]; then sed -n "/^[ ]*$startline/,/^[ ]*$endline/p" $ifile | |