| To: vim_dev@googlegroups.com |
| Subject: Patch 7.4.447 |
| Fcc: outbox |
| From: Bram Moolenaar <Bram@moolenaar.net> |
| Mime-Version: 1.0 |
| Content-Type: text/plain; charset=UTF-8 |
| Content-Transfer-Encoding: 8bit |
| |
| |
| Patch 7.4.447 |
| Problem: Spell files from Hunspell may generate a lot of errors. |
| Solution: Add the IGNOREEXTRA flag. |
| Files: src/spell.c, runtime/doc/spell.txt |
| |
| |
| |
| |
| |
| *** 4841,4846 **** |
| --- 4841,4847 ---- |
| unsigned af_nosuggest; /* NOSUGGEST ID */ |
| int af_pfxpostpone; /* postpone prefixes without chop string and |
| without flags */ |
| + int af_ignoreextra; /* IGNOREEXTRA present */ |
| hashtab_T af_pref; /* hashtable for prefixes, affheader_T */ |
| hashtab_T af_suff; /* hashtable for suffixes, affheader_T */ |
| hashtab_T af_comp; /* hashtable for compound flags, compitem_T */ |
| |
| *** 5605,5610 **** |
| --- 5606,5615 ---- |
| { |
| aff->af_pfxpostpone = TRUE; |
| } |
| + else if (is_aff_rule(items, itemcnt, "IGNOREEXTRA", 1)) |
| + { |
| + aff->af_ignoreextra = TRUE; |
| + } |
| else if ((STRCMP(items[0], "PFX") == 0 |
| || STRCMP(items[0], "SFX") == 0) |
| && aff_todo == 0 |
| |
| *** 5712,5720 **** |
| int lasti = 5; |
| |
| /* Myspell allows extra text after the item, but that might |
| ! * mean mistakes go unnoticed. Require a comment-starter. |
| ! * Hunspell uses a "-" item. */ |
| ! if (itemcnt > lasti && *items[lasti] != '#' |
| && (STRCMP(items[lasti], "-") != 0 |
| || itemcnt != lasti + 1)) |
| smsg((char_u *)_(e_afftrailing), fname, lnum, items[lasti]); |
| --- 5717,5727 ---- |
| int lasti = 5; |
| |
| /* Myspell allows extra text after the item, but that might |
| ! * mean mistakes go unnoticed. Require a comment-starter, |
| ! * unless IGNOREEXTRA is used. Hunspell uses a "-" item. */ |
| ! if (itemcnt > lasti |
| ! && !aff->af_ignoreextra |
| ! && *items[lasti] != '#' |
| && (STRCMP(items[lasti], "-") != 0 |
| || itemcnt != lasti + 1)) |
| smsg((char_u *)_(e_afftrailing), fname, lnum, items[lasti]); |
| |
| |
| |
| *** 1057,1062 **** |
| --- 1058,1066 ---- |
| SFX F 0 in [^i]n # Spion > Spionin ~ |
| SFX F 0 nen in # Bauerin > Bauerinnen ~ |
| |
| + However, to avoid lots of errors in affix files written for Myspell, you can |
| + add the IGNOREEXTRA flag. |
| + |
| Apparently Myspell allows an affix name to appear more than once. Since this |
| might also be a mistake, Vim checks for an extra "S". The affix files for |
| Myspell that use this feature apparently have this flag. Example: |
| |
| *** 1110,1115 **** |
| --- 1114,1127 ---- |
| - CIRCUMFIX, as explained just below. |
| |
| |
| + IGNOREEXTRA *spell-IGNOREEXTRA* |
| + |
| + Normally Vim gives an error for an extra field that does not start with '#'. |
| + This avoids errors going unnoticed. However, some files created for Myspell |
| + or Hunspell may contain many entries with an extra field. Use the IGNOREEXTRA |
| + flag to avoid lots of errors. |
| + |
| + |
| CIRCUMFIX *spell-CIRCUMFIX* |
| |
| The CIRCUMFIX flag means a prefix and suffix must be added at the same time. |
| |
| |
| |
| *** 743,744 **** |
| --- 743,746 ---- |
| { /* Add new patch number below this line */ |
| + /**/ |
| + 447, |
| /**/ |
| |
| -- |
| hundred-and-one symptoms of being an internet addict: |
| 161. You get up before the sun rises to check your e-mail, and you |
| find yourself in the very same chair long after the sun has set. |
| |
| /// 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 /// |