Mercurial > vim
diff src/spellfile.c @ 18548:4fbfecbb968c v8.1.2268
patch 8.1.2268: spell file flag zero is not recognized
Commit: https://github.com/vim/vim/commit/3d2a47c7823b934e1a85d773b68758c87c3ddc90
Author: Bram Moolenaar <Bram@vim.org>
Date: Thu Nov 7 20:48:42 2019 +0100
patch 8.1.2268: spell file flag zero is not recognized
Problem: Spell file flag zero is not recognized.
Solution: Use -1 as an error value, so that zero can be used as a valid flag
number.
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Thu, 07 Nov 2019 21:00:05 +0100 |
parents | 3dbff5d37520 |
children | 7e7ec935e7c8 |
line wrap: on
line diff
--- a/src/spellfile.c +++ b/src/spellfile.c @@ -260,6 +260,8 @@ * follow; never used in prefix tree */ #define BY_SPECIAL BY_FLAGS2 /* highest special byte value */ +#define ZERO_FLAG 65009 // used when flag is zero: "0" + /* Flags used in .spl file for soundsalike flags. */ #define SAL_F0LLOWUP 1 #define SAL_COLLAPSE 2 @@ -3182,6 +3184,7 @@ affitem2flag( /* * Get one affix name from "*pp" and advance the pointer. + * Returns ZERO_FLAG for "0". * Returns zero for an error, still advances the pointer then. */ static unsigned @@ -3197,6 +3200,8 @@ get_affitem(int flagtype, char_u **pp) return 0; } res = getdigits(pp); + if (res == 0) + res = ZERO_FLAG; } else { @@ -3343,6 +3348,8 @@ flag_in_afflist(int flagtype, char_u *af for (p = afflist; *p != NUL; ) { n = getdigits(&p); + if (n == 0) + n = ZERO_FLAG; if (n == flag) return TRUE; if (*p != NUL) /* skip over comma */