summaryrefslogtreecommitdiff
path: root/data/vim/patches/8.1.0939
diff options
context:
space:
mode:
Diffstat (limited to 'data/vim/patches/8.1.0939')
-rw-r--r--data/vim/patches/8.1.0939400
1 files changed, 0 insertions, 400 deletions
diff --git a/data/vim/patches/8.1.0939 b/data/vim/patches/8.1.0939
deleted file mode 100644
index 4201039ed..000000000
--- a/data/vim/patches/8.1.0939
+++ /dev/null
@@ -1,400 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 8.1.0939
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 8.1.0939
-Problem: No completion for sign group names.
-Solution: Add completion for sign group names and buffer names. (Yegappan
- Lakshmanan, closes #3980)
-Files: src/sign.c, src/testdir/test_signs.vim
-
-
-*** ../vim-8.1.0938/src/sign.c 2019-01-24 17:18:37.591462362 +0100
---- src/sign.c 2019-02-17 14:45:25.699785487 +0100
-***************
-*** 1767,1786 ****
- EXP_SUBCMD, // expand :sign sub-commands
- EXP_DEFINE, // expand :sign define {name} args
- EXP_PLACE, // expand :sign place {id} args
- EXP_UNPLACE, // expand :sign unplace"
-! EXP_SIGN_NAMES // expand with name of placed signs
- } expand_what;
-
- /*
- * Function given to ExpandGeneric() to obtain the sign command
- * expansion.
- */
- char_u *
- get_sign_name(expand_T *xp UNUSED, int idx)
- {
-- sign_T *sp;
-- int current_idx;
--
- switch (expand_what)
- {
- case EXP_SUBCMD:
---- 1767,1831 ----
- EXP_SUBCMD, // expand :sign sub-commands
- EXP_DEFINE, // expand :sign define {name} args
- EXP_PLACE, // expand :sign place {id} args
-+ EXP_LIST, // expand :sign place args
- EXP_UNPLACE, // expand :sign unplace"
-! EXP_SIGN_NAMES, // expand with name of placed signs
-! EXP_SIGN_GROUPS // expand with name of placed sign groups
- } expand_what;
-
- /*
-+ * Return the n'th sign name (used for command line completion)
-+ */
-+ static char_u *
-+ get_nth_sign_name(int idx)
-+ {
-+ int current_idx;
-+ sign_T *sp;
-+
-+ // Complete with name of signs already defined
-+ current_idx = 0;
-+ for (sp = first_sign; sp != NULL; sp = sp->sn_next)
-+ if (current_idx++ == idx)
-+ return sp->sn_name;
-+ return NULL;
-+ }
-+
-+ /*
-+ * Return the n'th sign group name (used for command line completion)
-+ */
-+ static char_u *
-+ get_nth_sign_group_name(int idx)
-+ {
-+ int current_idx;
-+ int todo;
-+ hashitem_T *hi;
-+ signgroup_T *group;
-+
-+ // Complete with name of sign groups already defined
-+ current_idx = 0;
-+ todo = (int)sg_table.ht_used;
-+ for (hi = sg_table.ht_array; todo > 0; ++hi)
-+ {
-+ if (!HASHITEM_EMPTY(hi))
-+ {
-+ --todo;
-+ if (current_idx++ == idx)
-+ {
-+ group = HI2SG(hi);
-+ return group->sg_name;
-+ }
-+ }
-+ }
-+ return NULL;
-+ }
-+
-+ /*
- * Function given to ExpandGeneric() to obtain the sign command
- * expansion.
- */
- char_u *
- get_sign_name(expand_T *xp UNUSED, int idx)
- {
- switch (expand_what)
- {
- case EXP_SUBCMD:
-***************
-*** 1802,1819 ****
- };
- return (char_u *)place_arg[idx];
- }
- case EXP_UNPLACE:
- {
- char *unplace_arg[] = { "group=", "file=", "buffer=", NULL };
- return (char_u *)unplace_arg[idx];
- }
- case EXP_SIGN_NAMES:
-! // Complete with name of signs already defined
-! current_idx = 0;
-! for (sp = first_sign; sp != NULL; sp = sp->sn_next)
-! if (current_idx++ == idx)
-! return sp->sn_name;
-! return NULL;
- default:
- return NULL;
- }
---- 1847,1869 ----
- };
- return (char_u *)place_arg[idx];
- }
-+ case EXP_LIST:
-+ {
-+ char *list_arg[] =
-+ {
-+ "group=", "file=", "buffer=", NULL
-+ };
-+ return (char_u *)list_arg[idx];
-+ }
- case EXP_UNPLACE:
- {
- char *unplace_arg[] = { "group=", "file=", "buffer=", NULL };
- return (char_u *)unplace_arg[idx];
- }
- case EXP_SIGN_NAMES:
-! return get_nth_sign_name(idx);
-! case EXP_SIGN_GROUPS:
-! return get_nth_sign_group_name(idx);
- default:
- return NULL;
- }
-***************
-*** 1848,1875 ****
- // |
- // begin_subcmd_args
- begin_subcmd_args = skipwhite(end_subcmd);
-- p = skiptowhite(begin_subcmd_args);
-- if (*p == NUL)
-- {
-- //
-- // Expand first argument of subcmd when possible.
-- // For ":jump {id}" and ":unplace {id}", we could
-- // possibly expand the ids of all signs already placed.
-- //
-- xp->xp_pattern = begin_subcmd_args;
-- switch (cmd_idx)
-- {
-- case SIGNCMD_LIST:
-- case SIGNCMD_UNDEFINE:
-- // :sign list <CTRL-D>
-- // :sign undefine <CTRL-D>
-- expand_what = EXP_SIGN_NAMES;
-- break;
-- default:
-- xp->xp_context = EXPAND_NOTHING;
-- }
-- return;
-- }
-
- // expand last argument of subcmd
-
---- 1898,1903 ----
-***************
-*** 1878,1883 ****
---- 1906,1912 ----
- // p
-
- // Loop until reaching last argument.
-+ p = begin_subcmd_args;
- do
- {
- p = skipwhite(p);
-***************
-*** 1900,1906 ****
- expand_what = EXP_DEFINE;
- break;
- case SIGNCMD_PLACE:
-! expand_what = EXP_PLACE;
- break;
- case SIGNCMD_JUMP:
- case SIGNCMD_UNPLACE:
---- 1929,1947 ----
- expand_what = EXP_DEFINE;
- break;
- case SIGNCMD_PLACE:
-! // List placed signs
-! if (VIM_ISDIGIT(*begin_subcmd_args))
-! // :sign place {id} {args}...
-! expand_what = EXP_PLACE;
-! else
-! // :sign place {args}...
-! expand_what = EXP_LIST;
-! break;
-! case SIGNCMD_LIST:
-! case SIGNCMD_UNDEFINE:
-! // :sign list <CTRL-D>
-! // :sign undefine <CTRL-D>
-! expand_what = EXP_SIGN_NAMES;
- break;
- case SIGNCMD_JUMP:
- case SIGNCMD_UNPLACE:
-***************
-*** 1917,1933 ****
- switch (cmd_idx)
- {
- case SIGNCMD_DEFINE:
-! if (STRNCMP(last, "texthl", p - last) == 0
-! || STRNCMP(last, "linehl", p - last) == 0)
- xp->xp_context = EXPAND_HIGHLIGHT;
-! else if (STRNCMP(last, "icon", p - last) == 0)
- xp->xp_context = EXPAND_FILES;
- else
- xp->xp_context = EXPAND_NOTHING;
- break;
- case SIGNCMD_PLACE:
-! if (STRNCMP(last, "name", p - last) == 0)
- expand_what = EXP_SIGN_NAMES;
- else
- xp->xp_context = EXPAND_NOTHING;
- break;
---- 1958,1987 ----
- switch (cmd_idx)
- {
- case SIGNCMD_DEFINE:
-! if (STRNCMP(last, "texthl", 6) == 0
-! || STRNCMP(last, "linehl", 6) == 0)
- xp->xp_context = EXPAND_HIGHLIGHT;
-! else if (STRNCMP(last, "icon", 4) == 0)
- xp->xp_context = EXPAND_FILES;
- else
- xp->xp_context = EXPAND_NOTHING;
- break;
- case SIGNCMD_PLACE:
-! if (STRNCMP(last, "name", 4) == 0)
- expand_what = EXP_SIGN_NAMES;
-+ else if (STRNCMP(last, "group", 5) == 0)
-+ expand_what = EXP_SIGN_GROUPS;
-+ else if (STRNCMP(last, "file", 4) == 0)
-+ xp->xp_context = EXPAND_BUFFERS;
-+ else
-+ xp->xp_context = EXPAND_NOTHING;
-+ break;
-+ case SIGNCMD_UNPLACE:
-+ case SIGNCMD_JUMP:
-+ if (STRNCMP(last, "group", 5) == 0)
-+ expand_what = EXP_SIGN_GROUPS;
-+ else if (STRNCMP(last, "file", 4) == 0)
-+ xp->xp_context = EXPAND_BUFFERS;
- else
- xp->xp_context = EXPAND_NOTHING;
- break;
-*** ../vim-8.1.0938/src/testdir/test_signs.vim 2019-01-17 17:36:42.495509219 +0100
---- src/testdir/test_signs.vim 2019-02-17 14:45:25.699785487 +0100
-***************
-*** 210,222 ****
- call assert_equal('"sign define Sign linehl=SpellBad SpellCap ' .
- \ 'SpellLocal SpellRare', @:)
-
-! call writefile(['foo'], 'XsignOne')
-! call writefile(['bar'], 'XsignTwo')
- call feedkeys(":sign define Sign icon=Xsig\<C-A>\<C-B>\"\<CR>", 'tx')
- call assert_equal('"sign define Sign icon=XsignOne XsignTwo', @:)
-- call delete('XsignOne')
-- call delete('XsignTwo')
-
- call feedkeys(":sign undefine \<C-A>\<C-B>\"\<CR>", 'tx')
- call assert_equal('"sign undefine Sign1 Sign2', @:)
-
---- 210,225 ----
- call assert_equal('"sign define Sign linehl=SpellBad SpellCap ' .
- \ 'SpellLocal SpellRare', @:)
-
-! call feedkeys(":sign define Sign texthl=Spell\<C-A>\<C-B>\"\<CR>", 'tx')
-! call assert_equal('"sign define Sign texthl=SpellBad SpellCap ' .
-! \ 'SpellLocal SpellRare', @:)
-!
-! call writefile(repeat(["Sun is shining"], 30), "XsignOne")
-! call writefile(repeat(["Sky is blue"], 30), "XsignTwo")
- call feedkeys(":sign define Sign icon=Xsig\<C-A>\<C-B>\"\<CR>", 'tx')
- call assert_equal('"sign define Sign icon=XsignOne XsignTwo', @:)
-
-+ " Test for completion of arguments to ':sign undefine'
- call feedkeys(":sign undefine \<C-A>\<C-B>\"\<CR>", 'tx')
- call assert_equal('"sign undefine Sign1 Sign2', @:)
-
-***************
-*** 227,243 ****
---- 230,299 ----
- call feedkeys(":sign place 1 name=\<C-A>\<C-B>\"\<CR>", 'tx')
- call assert_equal('"sign place 1 name=Sign1 Sign2', @:)
-
-+ edit XsignOne
-+ sign place 1 name=Sign1 line=5
-+ sign place 1 name=Sign1 group=g1 line=10
-+ edit XsignTwo
-+ sign place 1 name=Sign2 group=g2 line=15
-+
-+ " Test for completion of group= and file= arguments to ':sign place'
-+ call feedkeys(":sign place 1 name=Sign1 file=Xsign\<C-A>\<C-B>\"\<CR>", 'tx')
-+ call assert_equal('"sign place 1 name=Sign1 file=XsignOne XsignTwo', @:)
-+ call feedkeys(":sign place 1 name=Sign1 group=\<C-A>\<C-B>\"\<CR>", 'tx')
-+ call assert_equal('"sign place 1 name=Sign1 group=g1 g2', @:)
-+
-+ " Test for completion of arguments to 'sign place' without sign identifier
-+ call feedkeys(":sign place \<C-A>\<C-B>\"\<CR>", 'tx')
-+ call assert_equal('"sign place buffer= file= group=', @:)
-+ call feedkeys(":sign place file=Xsign\<C-A>\<C-B>\"\<CR>", 'tx')
-+ call assert_equal('"sign place file=XsignOne XsignTwo', @:)
-+ call feedkeys(":sign place group=\<C-A>\<C-B>\"\<CR>", 'tx')
-+ call assert_equal('"sign place group=g1 g2', @:)
-+ call feedkeys(":sign place group=g1 file=\<C-A>\<C-B>\"\<CR>", 'tx')
-+ call assert_equal('"sign place group=g1 file=XsignOne XsignTwo', @:)
-+
-+ " Test for completion of arguments to ':sign unplace'
- call feedkeys(":sign unplace 1 \<C-A>\<C-B>\"\<CR>", 'tx')
- call assert_equal('"sign unplace 1 buffer= file= group=', @:)
-+ call feedkeys(":sign unplace 1 file=Xsign\<C-A>\<C-B>\"\<CR>", 'tx')
-+ call assert_equal('"sign unplace 1 file=XsignOne XsignTwo', @:)
-+ call feedkeys(":sign unplace 1 group=\<C-A>\<C-B>\"\<CR>", 'tx')
-+ call assert_equal('"sign unplace 1 group=g1 g2', @:)
-+ call feedkeys(":sign unplace 1 group=g2 file=Xsign\<C-A>\<C-B>\"\<CR>", 'tx')
-+ call assert_equal('"sign unplace 1 group=g2 file=XsignOne XsignTwo', @:)
-
-+ " Test for completion of arguments to ':sign list'
- call feedkeys(":sign list \<C-A>\<C-B>\"\<CR>", 'tx')
- call assert_equal('"sign list Sign1 Sign2', @:)
-
-+ " Test for completion of arguments to ':sign jump'
- call feedkeys(":sign jump 1 \<C-A>\<C-B>\"\<CR>", 'tx')
- call assert_equal('"sign jump 1 buffer= file= group=', @:)
-+ call feedkeys(":sign jump 1 file=Xsign\<C-A>\<C-B>\"\<CR>", 'tx')
-+ call assert_equal('"sign jump 1 file=XsignOne XsignTwo', @:)
-+ call feedkeys(":sign jump 1 group=\<C-A>\<C-B>\"\<CR>", 'tx')
-+ call assert_equal('"sign jump 1 group=g1 g2', @:)
-+
-+ " Error cases
-+ call feedkeys(":sign here\<C-A>\<C-B>\"\<CR>", 'tx')
-+ call assert_equal('"sign here', @:)
-+ call feedkeys(":sign define Sign here=\<C-A>\<C-B>\"\<CR>", 'tx')
-+ call assert_equal("\"sign define Sign here=\<C-A>", @:)
-+ call feedkeys(":sign place 1 here=\<C-A>\<C-B>\"\<CR>", 'tx')
-+ call assert_equal("\"sign place 1 here=\<C-A>", @:)
-+ call feedkeys(":sign jump 1 here=\<C-A>\<C-B>\"\<CR>", 'tx')
-+ call assert_equal("\"sign jump 1 here=\<C-A>", @:)
-+ call feedkeys(":sign here there\<C-A>\<C-B>\"\<CR>", 'tx')
-+ call assert_equal("\"sign here there\<C-A>", @:)
-+ call feedkeys(":sign here there=\<C-A>\<C-B>\"\<CR>", 'tx')
-+ call assert_equal("\"sign here there=\<C-A>", @:)
-
-+ sign unplace * group=*
- sign undefine Sign1
- sign undefine Sign2
-+ enew
-+ call delete('XsignOne')
-+ call delete('XsignTwo')
- endfunc
-
- func Test_sign_invalid_commands()
-*** ../vim-8.1.0938/src/version.c 2019-02-17 14:10:52.105754303 +0100
---- src/version.c 2019-02-17 14:46:51.643306843 +0100
-***************
-*** 781,782 ****
---- 781,784 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 939,
- /**/
-
---
-Scientists decoded the first message from an alien civilization:
- SIMPLY SEND 6 TIMES 10 TO THE 50 ATOMS OF HYDROGEN TO THE STAR
-SYSTEM AT THE TOP OF THE LIST, CROSS OFF THAT STAR SYSTEM, THEN PUT
-YOUR STAR SYSTEM AT THE BOTTOM OF THE LIST AND SEND IT TO 100 OTHER
-STAR SYSTEMS. WITHIN ONE TENTH GALACTIC ROTATION YOU WILL RECEIVE
-ENOUGH HYDROGREN TO POWER YOUR CIVILIZATION UNTIL ENTROPY REACHES ITS
-MAXIMUM! IT REALLY WORKS!
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///