From: Bram Moolenaar Date: Thu, 12 May 2022 16:24:49 +0000 (+0100) Subject: patch 8.2.4942: error when setting 'filetype' in help file again X-Git-Tag: v8.2.4942 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=de216732d45caa87e6f08f4319aa71e805a89a0e;p=vim patch 8.2.4942: error when setting 'filetype' in help file again Problem: Error when setting 'filetype' in help file again. Solution: Deal with text property type already existing. (closes #10409) --- 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 @@ -746,6 +746,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ +/**/ + 4942, /**/ 4941, /**/