## lbdbq-inputlist.diff by James Vega <jamessan@debian.org>
##
## Correct the use of inputlist's results so the user can press Enter to
## cancel

Index: vim-scripts/plugin/lbdbq.vim
===================================================================
--- vim-scripts.orig/plugin/lbdbq.vim
+++ vim-scripts/plugin/lbdbq.vim
@@ -47,14 +47,17 @@
     if empty(contacts)  " no matching (long) contact found
       return qstring
     elseif len(contacts) > 1  " multiple matches: disambiguate
-      echo "Choose a recipient for '" . qstring . "':"
-      let choices = []
-      let counter = 0
+      let choices = ["Choose a recipient for '" . qstring . "':"]
+      let counter = 1
       for contact in contacts
         let choices += [ printf("%2d. %s <%s>", counter, contact[0], contact[1]) ]
         let counter += 1
       endfor
-      let contact = contacts[inputlist(choices)]
+      let result = inputlist(choices)
+      if result <= 0 || result > len(choices)
+          return a:qstring
+      endif
+      let contact = contacts[result-1]
     else  " len(contacts) == 1, i.e. one single match
       let contact = contacts[0]
     endif
