diff options
author | Bram Moolenaar <Bram@vim.org> | 2022-05-12 17:24:49 +0100 |
---|---|---|
committer | Bram Moolenaar <Bram@vim.org> | 2022-05-12 17:24:49 +0100 |
commit | de216732d45caa87e6f08f4319aa71e805a89a0e (patch) | |
tree | 8ada7637960c13d4e99c68c72acbec599b8412f7 | |
parent | 82444cefa3fef87624a078ea86a72af7ef4ef42e (diff) | |
download | vim-git-de216732d45caa87e6f08f4319aa71e805a89a0e.tar.gz |
patch 8.2.4942: error when setting 'filetype' in help file againv8.2.4942
Problem: Error when setting 'filetype' in help file again.
Solution: Deal with text property type already existing. (closes #10409)
-rw-r--r-- | runtime/import/dist/vimhelp.vim | 16 | ||||
-rw-r--r-- | src/version.c | 2 |
2 files changed, 13 insertions, 5 deletions
diff --git a/runtime/import/dist/vimhelp.vim b/runtime/import/dist/vimhelp.vim index 1f587251b..00cc79cfd 100644 --- a/runtime/import/dist/vimhelp.vim +++ b/runtime/import/dist/vimhelp.vim @@ -9,11 +9,17 @@ export def HighlightGroups() while getline(lnum) !~ '===' && lnum < line('$') var word: string = getline(lnum)->matchstr('^\w\+\ze\t') if word->hlexists() - prop_type_add('help-hl-' .. word, { - bufnr: buf, - highlight: word, - combine: false, - }) + var name = 'help-hl-' .. word + if prop_type_list({bufnr: buf})->match(name) == -1 + prop_type_add('help-hl-' .. word, { + bufnr: buf, + highlight: word, + combine: false, + }) + else + # was called before, delete existing properties + prop_remove({type: name, bufnr: buf}) + endif prop_add(lnum, 1, {length: word->strlen(), type: 'help-hl-' .. word}) endif ++lnum diff --git a/src/version.c b/src/version.c index f34a3226e..480acfda1 100644 --- a/src/version.c +++ b/src/version.c @@ -747,6 +747,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ /**/ + 4942, +/**/ 4941, /**/ 4940, |