patch 7.4.2162
Problem: Result of getcompletion('', 'sign') depends on previous
completion.
Solution: Call set_context_in_sign_cmd(). (Dominique Pelle)
diff --git a/src/testdir/test_cmdline.vim b/src/testdir/test_cmdline.vim
index 12194cd..e2c1876 100644
--- a/src/testdir/test_cmdline.vim
+++ b/src/testdir/test_cmdline.vim
@@ -138,6 +138,19 @@
call assert_equal(keys, l)
endif
+ if has('signs')
+ sign define Testing linehl=Comment
+ let l = getcompletion('', 'sign')
+ let cmds = ['define', 'jump', 'list', 'place', 'undefine', 'unplace']
+ call assert_equal(cmds, l)
+ " using cmdline completion must not change the result
+ call feedkeys(":sign list \<c-d>\<c-c>", 'xt')
+ let l = getcompletion('', 'sign')
+ call assert_equal(cmds, l)
+ let l = getcompletion('list ', 'sign')
+ call assert_equal(['Testing'], l)
+ endif
+
" For others test if the name is recognized.
let names = ['buffer', 'environment', 'file_in_path',
\ 'mapping', 'shellcmd', 'tag', 'tag_listfiles', 'user']
@@ -150,9 +163,6 @@
if has('profile')
call add(names, 'syntime')
endif
- if has('signs')
- call add(names, 'sign')
- endif
set tags=Xtags
call writefile(["!_TAG_FILE_ENCODING\tutf-8\t//", "word\tfile\tcmd"], 'Xtags')