To: vim_dev@googlegroups.com Subject: Patch 8.2.0956 Fcc: outbox From: Bram Moolenaar Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ------------ Patch 8.2.0956 (after 8.2.0953) Problem: Spell test fails. Solution: Add missing change the spell checking. Files: src/spell.c *** ../vim-8.2.0955/src/spell.c 2020-06-10 15:32:04.455653633 +0200 --- src/spell.c 2020-06-10 21:33:53.462633840 +0200 *************** *** 173,178 **** --- 173,180 ---- int wrongcaplen = 0; int lpi; int count_word = docount; + int use_camel_case = *wp->w_s->b_p_spo != NUL; + int camel_case = 0; // A word never starts at a space or a control character. Return quickly // then, skipping over the character. *************** *** 204,212 **** mi.mi_fend = ptr; if (spell_iswordp(mi.mi_fend, wp)) { do MB_PTR_ADV(mi.mi_fend); ! while (*mi.mi_fend != NUL && spell_iswordp(mi.mi_fend, wp)); if (capcol != NULL && *capcol == 0 && wp->w_s->b_cap_prog != NULL) { --- 206,232 ---- mi.mi_fend = ptr; if (spell_iswordp(mi.mi_fend, wp)) { + int prev_upper; + int this_upper; + + if (use_camel_case) + { + c = PTR2CHAR(mi.mi_fend); + this_upper = SPELL_ISUPPER(c); + } + do + { MB_PTR_ADV(mi.mi_fend); ! if (use_camel_case) ! { ! prev_upper = this_upper; ! c = PTR2CHAR(mi.mi_fend); ! this_upper = SPELL_ISUPPER(c); ! camel_case = !prev_upper && this_upper; ! } ! } while (*mi.mi_fend != NUL && spell_iswordp(mi.mi_fend, wp) ! && !camel_case); if (capcol != NULL && *capcol == 0 && wp->w_s->b_cap_prog != NULL) { *************** *** 237,242 **** --- 257,266 ---- MAXWLEN + 1); mi.mi_fwordlen = (int)STRLEN(mi.mi_fword); + if (camel_case) + // Introduce a fake word end space into the folded word. + mi.mi_fword[mi.mi_fwordlen - 1] = ' '; + // The word is bad unless we recognize it. mi.mi_result = SP_BAD; mi.mi_result2 = SP_BAD; *** ../vim-8.2.0955/src/version.c 2020-06-10 22:11:59.922786692 +0200 --- src/version.c 2020-06-10 22:17:16.561791496 +0200 *************** *** 756,757 **** --- 756,759 ---- { /* Add new patch number below this line */ + /**/ + 956, /**/ -- Futility Factor: No experiment is ever a complete failure - it can always serve as a negative example. /// 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 ///