diff options
Diffstat (limited to 'data/vim/patches/8.1.0632')
-rw-r--r-- | data/vim/patches/8.1.0632 | 742 |
1 files changed, 0 insertions, 742 deletions
diff --git a/data/vim/patches/8.1.0632 b/data/vim/patches/8.1.0632 deleted file mode 100644 index 7c2c0b098..000000000 --- a/data/vim/patches/8.1.0632 +++ /dev/null @@ -1,742 +0,0 @@ -To: vim_dev@googlegroups.com -Subject: Patch 8.1.0632 -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.0632 -Problem: Using sign group names is inefficient. -Solution: Store group names in a hash table and use a reference to them. - Also remove unnecessary use of ":exe" from the tests. (Yegappan - Lakshmanan, closes #3715) -Files: src/buffer.c, src/ex_cmds.c, src/structs.h, - src/testdir/test_signs.vim - - -*** ../vim-8.1.0631/src/buffer.c 2018-12-21 15:16:57.475579814 +0100 ---- src/buffer.c 2018-12-24 20:15:59.744514267 +0100 -*************** -*** 5865,5870 **** ---- 5865,5937 ---- - #endif - - #if defined(FEAT_SIGNS) || defined(PROTO) -+ static hashtab_T sg_table; // sign group (signgroup_T) hashtable -+ -+ /* -+ * A new sign in group 'groupname' is added. If the group is not present, -+ * create it. Otherwise reference the group. -+ */ -+ static signgroup_T * -+ sign_group_ref(char_u *groupname) -+ { -+ static int initialized = FALSE; -+ hash_T hash; -+ hashitem_T *hi; -+ signgroup_T *group; -+ -+ if (!initialized) -+ { -+ initialized = TRUE; -+ hash_init(&sg_table); -+ } -+ -+ hash = hash_hash(groupname); -+ hi = hash_lookup(&sg_table, groupname, hash); -+ if (HASHITEM_EMPTY(hi)) -+ { -+ // new group -+ group = (signgroup_T *)alloc( -+ (unsigned)(sizeof(signgroup_T) + STRLEN(groupname))); -+ if (group == NULL) -+ return NULL; -+ STRCPY(group->sg_name, groupname); -+ group->refcount = 1; -+ hash_add_item(&sg_table, hi, group->sg_name, hash); -+ } -+ else -+ { -+ // existing group -+ group = HI2SG(hi); -+ group->refcount++; -+ } -+ -+ return group; -+ } -+ -+ /* -+ * A sign in group 'groupname' is removed. If all the signs in this group are -+ * removed, then remove the group. -+ */ -+ static void -+ sign_group_unref(char_u *groupname) -+ { -+ hashitem_T *hi; -+ signgroup_T *group; -+ -+ hi = hash_find(&sg_table, groupname); -+ if (!HASHITEM_EMPTY(hi)) -+ { -+ group = HI2SG(hi); -+ group->refcount--; -+ if (group->refcount == 0) -+ { -+ // All the signs in this group are removed -+ hash_remove(&sg_table, hi); -+ vim_free(group); -+ } -+ } -+ } -+ - /* - * Insert a new sign into the signlist for buffer 'buf' between the 'prev' and - * 'next' signs. -*************** -*** 5890,5896 **** - newsign->lnum = lnum; - newsign->typenr = typenr; - if (group != NULL) -! newsign->group = vim_strsave(group); - else - newsign->group = NULL; - newsign->priority = prio; ---- 5957,5970 ---- - newsign->lnum = lnum; - newsign->typenr = typenr; - if (group != NULL) -! { -! newsign->group = sign_group_ref(group); -! if (newsign->group == NULL) -! { -! vim_free(newsign); -! return; -! } -! } - else - newsign->group = NULL; - newsign->priority = prio; -*************** -*** 5959,5965 **** - return ((group != NULL && STRCMP(group, "*") == 0) || - (group == NULL && sign->group == NULL) || - (group != NULL && sign->group != NULL && -! STRCMP(group, sign->group) == 0)); - } - - /* ---- 6033,6039 ---- - return ((group != NULL && STRCMP(group, "*") == 0) || - (group == NULL && sign->group == NULL) || - (group != NULL && sign->group != NULL && -! STRCMP(group, sign->group->sg_name) == 0)); - } - - /* -*************** -*** 5974,5980 **** - return NULL; - dict_add_number(d, "id", sign->id); - dict_add_string(d, "group", (sign->group == NULL) ? -! (char_u *)"" : sign->group); - dict_add_number(d, "lnum", sign->lnum); - dict_add_string(d, "name", sign_typenr2name(sign->typenr)); - dict_add_number(d, "priority", sign->priority); ---- 6048,6054 ---- - return NULL; - dict_add_number(d, "id", sign->id); - dict_add_string(d, "group", (sign->group == NULL) ? -! (char_u *)"" : sign->group->sg_name); - dict_add_number(d, "lnum", sign->lnum); - dict_add_string(d, "name", sign_typenr2name(sign->typenr)); - dict_add_number(d, "priority", sign->priority); -*************** -*** 5989,5995 **** - buf_addsign( - buf_T *buf, // buffer to store sign in - int id, // sign ID -! char_u *group, // sign group - int prio, // sign priority - linenr_T lnum, // line number which gets the mark - int typenr) // typenr of sign we are adding ---- 6063,6069 ---- - buf_addsign( - buf_T *buf, // buffer to store sign in - int id, // sign ID -! char_u *groupname, // sign group - int prio, // sign priority - linenr_T lnum, // line number which gets the mark - int typenr) // typenr of sign we are adding -*************** -*** 6001,6007 **** - FOR_ALL_SIGNS_IN_BUF(buf) - { - if (lnum == sign->lnum && id == sign->id && -! sign_in_group(sign, group)) - { - // Update an existing sign - sign->typenr = typenr; ---- 6075,6081 ---- - FOR_ALL_SIGNS_IN_BUF(buf) - { - if (lnum == sign->lnum && id == sign->id && -! sign_in_group(sign, groupname)) - { - // Update an existing sign - sign->typenr = typenr; -*************** -*** 6009,6022 **** - } - else if (lnum < sign->lnum) - { -! insert_sign_by_lnum_prio(buf, prev, id, group, prio, lnum, typenr); - return; - } - prev = sign; - } - -! insert_sign_by_lnum_prio(buf, prev, id, group, prio, lnum, typenr); -! - return; - } - ---- 6083,6096 ---- - } - else if (lnum < sign->lnum) - { -! insert_sign_by_lnum_prio(buf, prev, id, groupname, prio, -! lnum, typenr); - return; - } - prev = sign; - } - -! insert_sign_by_lnum_prio(buf, prev, id, groupname, prio, lnum, typenr); - return; - } - -*************** -*** 6106,6112 **** - if (next != NULL) - next->prev = sign->prev; - lnum = sign->lnum; -! vim_free(sign->group); - vim_free(sign); - // Check whether only one sign needs to be deleted - if (group == NULL || (*group != '*' && id != 0)) ---- 6180,6187 ---- - if (next != NULL) - next->prev = sign->prev; - lnum = sign->lnum; -! if (sign->group != NULL) -! sign_group_unref(sign->group->sg_name); - vim_free(sign); - // Check whether only one sign needs to be deleted - if (group == NULL || (*group != '*' && id != 0)) -*************** -*** 6269,6275 **** - *lastp = next; - if (next != NULL) - next->prev = sign->prev; -! vim_free(sign->group); - vim_free(sign); - } - else ---- 6344,6351 ---- - *lastp = next; - if (next != NULL) - next->prev = sign->prev; -! if (sign->group != NULL) -! sign_group_unref(sign->group->sg_name); - vim_free(sign); - } - else -*************** -*** 6317,6326 **** - } - FOR_ALL_SIGNS_IN_BUF(buf) - { - if (!sign_in_group(sign, sign_group)) - continue; - if (sign->group != NULL) -! vim_snprintf(group, BUFSIZ, " group=%s", sign->group); - else - group[0] = '\0'; - vim_snprintf(lbuf, BUFSIZ, _(" line=%ld id=%d%s name=%s " ---- 6393,6405 ---- - } - FOR_ALL_SIGNS_IN_BUF(buf) - { -+ if (got_int) -+ break; - if (!sign_in_group(sign, sign_group)) - continue; - if (sign->group != NULL) -! vim_snprintf(group, BUFSIZ, " group=%s", -! sign->group->sg_name); - else - group[0] = '\0'; - vim_snprintf(lbuf, BUFSIZ, _(" line=%ld id=%d%s name=%s " -*** ../vim-8.1.0631/src/ex_cmds.c 2018-12-21 16:04:16.320437461 +0100 ---- src/ex_cmds.c 2018-12-24 20:15:59.744514267 +0100 -*************** -*** 8180,8186 **** - { - EMSG2(_("E158: Invalid buffer name: %s"), arg); - } -! else if (id <= 0 && !(idx == SIGNCMD_UNPLACE && id == -2)) - { - if ((group == NULL) && (lnum >= 0 || sign_name != NULL)) - EMSG(_(e_invarg)); ---- 8180,8186 ---- - { - EMSG2(_("E158: Invalid buffer name: %s"), arg); - } -! else if (id <= 0 && idx == SIGNCMD_PLACE) - { - if ((group == NULL) && (lnum >= 0 || sign_name != NULL)) - EMSG(_(e_invarg)); -*** ../vim-8.1.0631/src/structs.h 2018-12-24 00:22:35.739150151 +0100 ---- src/structs.h 2018-12-24 20:15:59.744514267 +0100 -*************** -*** 733,738 **** ---- 733,749 ---- - - - #if defined(FEAT_SIGNS) || defined(PROTO) -+ // Sign group -+ typedef struct signgroup_S -+ { -+ short_u refcount; // number of signs in this group -+ char_u sg_name[1]; // sign group name -+ } signgroup_T; -+ -+ // Macros to get the sign group structure from the group name -+ #define SGN_KEY_OFF offsetof(signgroup_T, sg_name) -+ #define HI2SG(hi) ((signgroup_T *)((hi)->hi_key - SGN_KEY_OFF)) -+ - typedef struct signlist signlist_T; - - struct signlist -*************** -*** 740,746 **** - int id; /* unique identifier for each placed sign */ - linenr_T lnum; /* line number which has this sign */ - int typenr; /* typenr of sign */ -! char_u *group; /* sign group */ - int priority; /* priority for highlighting */ - signlist_T *next; /* next signlist entry */ - signlist_T *prev; /* previous entry -- for easy reordering */ ---- 751,757 ---- - int id; /* unique identifier for each placed sign */ - linenr_T lnum; /* line number which has this sign */ - int typenr; /* typenr of sign */ -! signgroup_T *group; /* sign group */ - int priority; /* priority for highlighting */ - signlist_T *next; /* next signlist entry */ - signlist_T *prev; /* previous entry -- for easy reordering */ -*** ../vim-8.1.0631/src/testdir/test_signs.vim 2018-12-21 15:16:57.483579762 +0100 ---- src/testdir/test_signs.vim 2018-12-24 20:15:59.744514267 +0100 -*************** -*** 59,65 **** - redraw - - " Check that we can't change sign. -! call assert_fails("exe 'sign place 40 name=Sign1 buffer=' . bufnr('%')", 'E885:') - - " Check placed signs - let a=execute('sign place') ---- 59,65 ---- - redraw - - " Check that we can't change sign. -! call assert_fails("sign place 40 name=Sign1 buffer=" . bufnr('%'), 'E885:') - - " Check placed signs - let a=execute('sign place') -*************** -*** 68,74 **** - " Unplace the sign and try jumping to it again should fail. - sign unplace 41 - 1 -! call assert_fails("exe 'sign jump 41 buffer=' . bufnr('%')", 'E157:') - call assert_equal('a', getline('.')) - - " Unplace sign on current line. ---- 68,74 ---- - " Unplace the sign and try jumping to it again should fail. - sign unplace 41 - 1 -! call assert_fails("sign jump 41 buffer=" . bufnr('%'), 'E157:') - call assert_equal('a', getline('.')) - - " Unplace sign on current line. -*************** -*** 132,148 **** - sign undefine Sign4 - - " Error cases -! call assert_fails("exe 'sign place abc line=3 name=Sign1 buffer=' . bufnr('%')", 'E474:') -! call assert_fails("exe 'sign unplace abc name=Sign1 buffer=' . bufnr('%')", 'E474:') -! call assert_fails("exe 'sign place 1abc line=3 name=Sign1 buffer=' . bufnr('%')", 'E474:') -! call assert_fails("exe 'sign unplace 2abc name=Sign1 buffer=' . bufnr('%')", 'E474:') - call assert_fails("sign unplace 2 *", 'E474:') -! call assert_fails("exe 'sign place 1 line=3 name=Sign1 buffer=' . bufnr('%') a", 'E488:') -! call assert_fails("exe 'sign place name=Sign1 buffer=' . bufnr('%')", 'E474:') -! call assert_fails("exe 'sign place line=10 buffer=' . bufnr('%')", 'E474:') -! call assert_fails("exe 'sign unplace 2 line=10 buffer=' . bufnr('%')", 'E474:') -! call assert_fails("exe 'sign unplace 2 name=Sign1 buffer=' . bufnr('%')", 'E474:') -! call assert_fails("exe 'sign place 2 line=3 buffer=' . bufnr('%')", 'E474:') - call assert_fails("sign place 2", 'E474:') - call assert_fails("sign place abc", 'E474:') - call assert_fails("sign place 5 line=3", 'E474:') ---- 132,153 ---- - sign undefine Sign4 - - " Error cases -! call assert_fails("sign place abc line=3 name=Sign1 buffer=" . -! \ bufnr('%'), 'E474:') -! call assert_fails("sign unplace abc name=Sign1 buffer=" . -! \ bufnr('%'), 'E474:') -! call assert_fails("sign place 1abc line=3 name=Sign1 buffer=" . -! \ bufnr('%'), 'E474:') -! call assert_fails("sign unplace 2abc name=Sign1 buffer=" . -! \ bufnr('%'), 'E474:') - call assert_fails("sign unplace 2 *", 'E474:') -! call assert_fails("sign place 1 line=3 name=Sign1 buffer=" . -! \ bufnr('%') . " a", 'E488:') -! call assert_fails("sign place name=Sign1 buffer=" . bufnr('%'), 'E474:') -! call assert_fails("sign place line=10 buffer=" . bufnr('%'), 'E474:') -! call assert_fails("sign unplace 2 line=10 buffer=" . bufnr('%'), 'E474:') -! call assert_fails("sign unplace 2 name=Sign1 buffer=" . bufnr('%'), 'E474:') -! call assert_fails("sign place 2 line=3 buffer=" . bufnr('%'), 'E474:') - call assert_fails("sign place 2", 'E474:') - call assert_fails("sign place abc", 'E474:') - call assert_fails("sign place 5 line=3", 'E474:') -*************** -*** 157,163 **** - sign undefine Sign1 - sign undefine Sign2 - sign undefine Sign3 -! call assert_fails("exe 'sign place 41 line=3 name=Sign1 buffer=' . bufnr('%')", 'E155:') - endfunc - - " Undefining placed sign is not recommended. ---- 162,169 ---- - sign undefine Sign1 - sign undefine Sign2 - sign undefine Sign3 -! call assert_fails("sign place 41 line=3 name=Sign1 buffer=" . -! \ bufnr('%'), 'E155:') - endfunc - - " Undefining placed sign is not recommended. -*************** -*** 236,268 **** - call assert_fails('sign place 1 buffer=999', 'E158:') - call assert_fails('sign define Sign2 text=', 'E239:') - " Non-numeric identifier for :sign place -! call assert_fails("exe 'sign place abc line=3 name=Sign1 buffer=' . bufnr('%')", 'E474:') - " Non-numeric identifier for :sign unplace -! call assert_fails("exe 'sign unplace abc name=Sign1 buffer=' . bufnr('%')", 'E474:') - " Number followed by an alphabet as sign identifier for :sign place -! call assert_fails("exe 'sign place 1abc line=3 name=Sign1 buffer=' . bufnr('%')", 'E474:') - " Number followed by an alphabet as sign identifier for :sign unplace -! call assert_fails("exe 'sign unplace 2abc name=Sign1 buffer=' . bufnr('%')", 'E474:') - " Sign identifier and '*' for :sign unplace - call assert_fails("sign unplace 2 *", 'E474:') - " Trailing characters after buffer number for :sign place -! call assert_fails("exe 'sign place 1 line=3 name=Sign1 buffer=' . bufnr('%') . 'xxx'", 'E488:') - " Trailing characters after buffer number for :sign unplace -! call assert_fails("exe 'sign unplace 1 buffer=' . bufnr('%') . 'xxx'", 'E488:') -! call assert_fails("exe 'sign unplace * buffer=' . bufnr('%') . 'xxx'", 'E488:') - call assert_fails("sign unplace 1 xxx", 'E474:') - call assert_fails("sign unplace * xxx", 'E474:') - call assert_fails("sign unplace xxx", 'E474:') - " Placing a sign without line number -! call assert_fails("exe 'sign place name=Sign1 buffer=' . bufnr('%')", 'E474:') - " Placing a sign without sign name -! call assert_fails("exe 'sign place line=10 buffer=' . bufnr('%')", 'E474:') - " Unplacing a sign with line number -! call assert_fails("exe 'sign unplace 2 line=10 buffer=' . bufnr('%')", 'E474:') - " Unplacing a sign with sign name -! call assert_fails("exe 'sign unplace 2 name=Sign1 buffer=' . bufnr('%')", 'E474:') - " Placing a sign without sign name -! call assert_fails("exe 'sign place 2 line=3 buffer=' . bufnr('%')", 'E474:') - " Placing a sign with only sign identifier - call assert_fails("sign place 2", 'E474:') - " Placing a sign with only a name ---- 242,274 ---- - call assert_fails('sign place 1 buffer=999', 'E158:') - call assert_fails('sign define Sign2 text=', 'E239:') - " Non-numeric identifier for :sign place -! call assert_fails("sign place abc line=3 name=Sign1 buffer=" . bufnr('%'), 'E474:') - " Non-numeric identifier for :sign unplace -! call assert_fails("sign unplace abc name=Sign1 buffer=" . bufnr('%'), 'E474:') - " Number followed by an alphabet as sign identifier for :sign place -! call assert_fails("sign place 1abc line=3 name=Sign1 buffer=" . bufnr('%'), 'E474:') - " Number followed by an alphabet as sign identifier for :sign unplace -! call assert_fails("sign unplace 2abc name=Sign1 buffer=" . bufnr('%'), 'E474:') - " Sign identifier and '*' for :sign unplace - call assert_fails("sign unplace 2 *", 'E474:') - " Trailing characters after buffer number for :sign place -! call assert_fails("sign place 1 line=3 name=Sign1 buffer=" . bufnr('%') . 'xxx', 'E488:') - " Trailing characters after buffer number for :sign unplace -! call assert_fails("sign unplace 1 buffer=" . bufnr('%') . 'xxx', 'E488:') -! call assert_fails("sign unplace * buffer=" . bufnr('%') . 'xxx', 'E488:') - call assert_fails("sign unplace 1 xxx", 'E474:') - call assert_fails("sign unplace * xxx", 'E474:') - call assert_fails("sign unplace xxx", 'E474:') - " Placing a sign without line number -! call assert_fails("sign place name=Sign1 buffer=" . bufnr('%'), 'E474:') - " Placing a sign without sign name -! call assert_fails("sign place line=10 buffer=" . bufnr('%'), 'E474:') - " Unplacing a sign with line number -! call assert_fails("sign unplace 2 line=10 buffer=" . bufnr('%'), 'E474:') - " Unplacing a sign with sign name -! call assert_fails("sign unplace 2 name=Sign1 buffer=" . bufnr('%'), 'E474:') - " Placing a sign without sign name -! call assert_fails("sign place 2 line=3 buffer=" . bufnr('%'), 'E474:') - " Placing a sign with only sign identifier - call assert_fails("sign place 2", 'E474:') - " Placing a sign with only a name -*************** -*** 574,597 **** - call sign_unplace('*') - - " Test for :sign command and groups -! exe 'sign place 5 line=10 name=sign1 file=' . fname -! exe 'sign place 5 group=g1 line=10 name=sign1 file=' . fname -! exe 'sign place 5 group=g2 line=10 name=sign1 file=' . fname - - " Test for :sign place group={group} file={fname} -! let a = execute('sign place file=' . fname) - call assert_equal("\n--- Signs ---\nSigns for Xsign:\n line=10 id=5 name=sign1 priority=10\n", a) - -! let a = execute('sign place group=g2 file=' . fname) - call assert_equal("\n--- Signs ---\nSigns for Xsign:\n line=10 id=5 group=g2 name=sign1 priority=10\n", a) - -! let a = execute('sign place group=* file=' . fname) - call assert_equal("\n--- Signs ---\nSigns for Xsign:\n" . - \ " line=10 id=5 group=g2 name=sign1 priority=10\n" . - \ " line=10 id=5 group=g1 name=sign1 priority=10\n" . - \ " line=10 id=5 name=sign1 priority=10\n", a) - -! let a = execute('sign place group=xyz file=' . fname) - call assert_equal("\n--- Signs ---\nSigns for Xsign:\n", a) - - call sign_unplace('*') ---- 580,603 ---- - call sign_unplace('*') - - " Test for :sign command and groups -! sign place 5 line=10 name=sign1 file=Xsign -! sign place 5 group=g1 line=10 name=sign1 file=Xsign -! sign place 5 group=g2 line=10 name=sign1 file=Xsign - - " Test for :sign place group={group} file={fname} -! let a = execute('sign place file=Xsign') - call assert_equal("\n--- Signs ---\nSigns for Xsign:\n line=10 id=5 name=sign1 priority=10\n", a) - -! let a = execute('sign place group=g2 file=Xsign') - call assert_equal("\n--- Signs ---\nSigns for Xsign:\n line=10 id=5 group=g2 name=sign1 priority=10\n", a) - -! let a = execute('sign place group=* file=Xsign') - call assert_equal("\n--- Signs ---\nSigns for Xsign:\n" . - \ " line=10 id=5 group=g2 name=sign1 priority=10\n" . - \ " line=10 id=5 group=g1 name=sign1 priority=10\n" . - \ " line=10 id=5 name=sign1 priority=10\n", a) - -! let a = execute('sign place group=xyz file=Xsign') - call assert_equal("\n--- Signs ---\nSigns for Xsign:\n", a) - - call sign_unplace('*') -*************** -*** 624,645 **** - \ " line=12 id=5 group=g2 name=sign1 priority=10\n", a) - - " Test for :sign unplace -! exe 'sign unplace 5 group=g2 file=' . fname - call assert_equal([], sign_getplaced(bnum, {'group' : 'g2'})[0].signs) - - exe 'sign unplace 5 group=g1 buffer=' . bnum - call assert_equal([], sign_getplaced(bnum, {'group' : 'g1'})[0].signs) - -! exe 'sign unplace 5 group=xy file=' . fname - call assert_equal(1, len(sign_getplaced(bnum, {'group' : '*'})[0].signs)) - - " Test for removing all the signs. Place the signs again for this test -! exe 'sign place 5 group=g1 line=11 name=sign1 file=' . fname -! exe 'sign place 5 group=g2 line=12 name=sign1 file=' . fname -! exe 'sign place 6 line=20 name=sign1 file=' . fname -! exe 'sign place 6 group=g1 line=21 name=sign1 file=' . fname -! exe 'sign place 6 group=g2 line=22 name=sign1 file=' . fname -! exe 'sign unplace 5 group=* file=' . fname - let a = execute('sign place group=*') - call assert_equal("\n--- Signs ---\nSigns for Xsign:\n" . - \ " line=20 id=6 name=sign1 priority=10\n" . ---- 630,651 ---- - \ " line=12 id=5 group=g2 name=sign1 priority=10\n", a) - - " Test for :sign unplace -! sign unplace 5 group=g2 file=Xsign - call assert_equal([], sign_getplaced(bnum, {'group' : 'g2'})[0].signs) - - exe 'sign unplace 5 group=g1 buffer=' . bnum - call assert_equal([], sign_getplaced(bnum, {'group' : 'g1'})[0].signs) - -! sign unplace 5 group=xy file=Xsign - call assert_equal(1, len(sign_getplaced(bnum, {'group' : '*'})[0].signs)) - - " Test for removing all the signs. Place the signs again for this test -! sign place 5 group=g1 line=11 name=sign1 file=Xsign -! sign place 5 group=g2 line=12 name=sign1 file=Xsign -! sign place 6 line=20 name=sign1 file=Xsign -! sign place 6 group=g1 line=21 name=sign1 file=Xsign -! sign place 6 group=g2 line=22 name=sign1 file=Xsign -! sign unplace 5 group=* file=Xsign - let a = execute('sign place group=*') - call assert_equal("\n--- Signs ---\nSigns for Xsign:\n" . - \ " line=20 id=6 name=sign1 priority=10\n" . -*************** -*** 647,663 **** - \ " line=22 id=6 group=g2 name=sign1 priority=10\n", a) - - " Remove all the signs from the global group -! exe 'sign unplace * file=' . fname - let a = execute('sign place group=*') - call assert_equal("\n--- Signs ---\nSigns for Xsign:\n" . - \ " line=21 id=6 group=g1 name=sign1 priority=10\n" . - \ " line=22 id=6 group=g2 name=sign1 priority=10\n", a) - - " Remove all the signs from a particular group -! exe 'sign place 5 line=10 name=sign1 file=' . fname -! exe 'sign place 5 group=g1 line=11 name=sign1 file=' . fname -! exe 'sign place 5 group=g2 line=12 name=sign1 file=' . fname -! exe 'sign unplace * group=g1 file=' . fname - let a = execute('sign place group=*') - call assert_equal("\n--- Signs ---\nSigns for Xsign:\n" . - \ " line=10 id=5 name=sign1 priority=10\n" . ---- 653,669 ---- - \ " line=22 id=6 group=g2 name=sign1 priority=10\n", a) - - " Remove all the signs from the global group -! sign unplace * file=Xsign - let a = execute('sign place group=*') - call assert_equal("\n--- Signs ---\nSigns for Xsign:\n" . - \ " line=21 id=6 group=g1 name=sign1 priority=10\n" . - \ " line=22 id=6 group=g2 name=sign1 priority=10\n", a) - - " Remove all the signs from a particular group -! sign place 5 line=10 name=sign1 file=Xsign -! sign place 5 group=g1 line=11 name=sign1 file=Xsign -! sign place 5 group=g2 line=12 name=sign1 file=Xsign -! sign unplace * group=g1 file=Xsign - let a = execute('sign place group=*') - call assert_equal("\n--- Signs ---\nSigns for Xsign:\n" . - \ " line=10 id=5 name=sign1 priority=10\n" . -*************** -*** 665,690 **** - \ " line=22 id=6 group=g2 name=sign1 priority=10\n", a) - - " Remove all the signs from all the groups in a file -! exe 'sign place 5 group=g1 line=11 name=sign1 file=' . fname -! exe 'sign place 6 line=20 name=sign1 file=' . fname -! exe 'sign place 6 group=g1 line=21 name=sign1 file=' . fname -! exe 'sign unplace * group=* file=' . fname - let a = execute('sign place group=*') - call assert_equal("\n--- Signs ---\n", a) - - " Remove a particular sign id in a group from all the files -! exe 'sign place 5 group=g1 line=11 name=sign1 file=' . fname - sign unplace 5 group=g1 - let a = execute('sign place group=*') - call assert_equal("\n--- Signs ---\n", a) - - " Remove a particular sign id in all the groups from all the files -! exe 'sign place 5 line=10 name=sign1 file=' . fname -! exe 'sign place 5 group=g1 line=11 name=sign1 file=' . fname -! exe 'sign place 5 group=g2 line=12 name=sign1 file=' . fname -! exe 'sign place 6 line=20 name=sign1 file=' . fname -! exe 'sign place 6 group=g1 line=21 name=sign1 file=' . fname -! exe 'sign place 6 group=g2 line=22 name=sign1 file=' . fname - sign unplace 5 group=* - let a = execute('sign place group=*') - call assert_equal("\n--- Signs ---\nSigns for Xsign:\n" . ---- 671,696 ---- - \ " line=22 id=6 group=g2 name=sign1 priority=10\n", a) - - " Remove all the signs from all the groups in a file -! sign place 5 group=g1 line=11 name=sign1 file=Xsign -! sign place 6 line=20 name=sign1 file=Xsign -! sign place 6 group=g1 line=21 name=sign1 file=Xsign -! sign unplace * group=* file=Xsign - let a = execute('sign place group=*') - call assert_equal("\n--- Signs ---\n", a) - - " Remove a particular sign id in a group from all the files -! sign place 5 group=g1 line=11 name=sign1 file=Xsign - sign unplace 5 group=g1 - let a = execute('sign place group=*') - call assert_equal("\n--- Signs ---\n", a) - - " Remove a particular sign id in all the groups from all the files -! sign place 5 line=10 name=sign1 file=Xsign -! sign place 5 group=g1 line=11 name=sign1 file=Xsign -! sign place 5 group=g2 line=12 name=sign1 file=Xsign -! sign place 6 line=20 name=sign1 file=Xsign -! sign place 6 group=g1 line=21 name=sign1 file=Xsign -! sign place 6 group=g2 line=22 name=sign1 file=Xsign - sign unplace 5 group=* - let a = execute('sign place group=*') - call assert_equal("\n--- Signs ---\nSigns for Xsign:\n" . -*************** -*** 693,706 **** - \ " line=22 id=6 group=g2 name=sign1 priority=10\n", a) - - " Remove all the signs from all the groups in all the files -! exe 'sign place 5 line=10 name=sign1 file=' . fname -! exe 'sign place 5 group=g1 line=11 name=sign1 file=' . fname - sign unplace * group=* - let a = execute('sign place group=*') - call assert_equal("\n--- Signs ---\n", a) - - " Error cases -! call assert_fails("exe 'sign place 3 group= name=sign1 buffer=' . bnum", 'E474:') - - call delete("Xsign") - call sign_unplace('*') ---- 699,712 ---- - \ " line=22 id=6 group=g2 name=sign1 priority=10\n", a) - - " Remove all the signs from all the groups in all the files -! sign place 5 line=10 name=sign1 file=Xsign -! sign place 5 group=g1 line=11 name=sign1 file=Xsign - sign unplace * group=* - let a = execute('sign place group=*') - call assert_equal("\n--- Signs ---\n", a) - - " Error cases -! call assert_fails("sign place 3 group= name=sign1 buffer=" . bnum, 'E474:') - - call delete("Xsign") - call sign_unplace('*') -*** ../vim-8.1.0631/src/version.c 2018-12-24 19:15:15.551304134 +0100 ---- src/version.c 2018-12-24 20:18:15.011404035 +0100 -*************** -*** 801,802 **** ---- 801,804 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 632, - /**/ - --- -The future isn't what it used to be. - - /// 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 /// |