diff options
author | Bram Moolenaar <Bram@vim.org> | 2019-04-28 18:05:35 +0200 |
---|---|---|
committer | Bram Moolenaar <Bram@vim.org> | 2019-04-28 18:05:35 +0200 |
commit | 45e18cbdc40afd8144d20dcc07ad2d981636f4c9 (patch) | |
tree | 11762469ca5d6c4bd49ca50381160afd30dcb2f3 /src/window.c | |
parent | 7a9df9dd00bac462a2942dc798e298f365779fd0 (diff) | |
download | vim-git-45e18cbdc40afd8144d20dcc07ad2d981636f4c9.tar.gz |
patch 8.1.1228: not possible to process tags with a functionv8.1.1228
Problem: Not possible to process tags with a function.
Solution: Add tagfunc() (Christian Brabandt, Andy Massimino, closes #4010)
Diffstat (limited to 'src/window.c')
-rw-r--r-- | src/window.c | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/src/window.c b/src/window.c index 4a92d6cb5..1914a3d87 100644 --- a/src/window.c +++ b/src/window.c @@ -1326,10 +1326,12 @@ win_init(win_T *newp, win_T *oldp, int flags UNUSED) /* copy tagstack and folds */ for (i = 0; i < oldp->w_tagstacklen; i++) { - newp->w_tagstack[i] = oldp->w_tagstack[i]; - if (newp->w_tagstack[i].tagname != NULL) - newp->w_tagstack[i].tagname = - vim_strsave(newp->w_tagstack[i].tagname); + taggy_T *tag = &newp->w_tagstack[i]; + *tag = oldp->w_tagstack[i]; + if (tag->tagname != NULL) + tag->tagname = vim_strsave(tag->tagname); + if (tag->user_data != NULL) + tag->user_data = vim_strsave(tag->user_data); } newp->w_tagstackidx = oldp->w_tagstackidx; newp->w_tagstacklen = oldp->w_tagstacklen; |