summaryrefslogtreecommitdiff
path: root/data/vim/patches/8.1.1144
diff options
context:
space:
mode:
Diffstat (limited to 'data/vim/patches/8.1.1144')
-rw-r--r--data/vim/patches/8.1.1144100
1 files changed, 100 insertions, 0 deletions
diff --git a/data/vim/patches/8.1.1144 b/data/vim/patches/8.1.1144
new file mode 100644
index 000000000..0d4771ccc
--- /dev/null
+++ b/data/vim/patches/8.1.1144
@@ -0,0 +1,100 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 8.1.1144
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 8.1.1144 (after 8.1.1143)
+Problem: Too strict checking of the 'spellfile' option.
+Solution: Allow for a path.
+Files: src/option.c, src/testdir/test_spell.vim
+
+
+*** ../vim-8.1.1143/src/option.c 2019-04-10 22:15:15.813016799 +0200
+--- src/option.c 2019-04-10 22:27:35.752196096 +0200
+***************
+*** 6040,6045 ****
+--- 6040,6059 ----
+ }
+
+ /*
++ * Return TRUE if "val" is a valid 'spellfile' value.
++ */
++ static int
++ valid_spellfile(char_u *val)
++ {
++ char_u *s;
++
++ for (s = val; *s != NUL; ++s)
++ if (!vim_isfilec(*s) && *s != ',')
++ return FALSE;
++ return TRUE;
++ }
++
++ /*
+ * Handle string options that need some action to perform when changed.
+ * Returns NULL for success, or an error message for an error.
+ */
+***************
+*** 7101,7110 ****
+ else if (varp == &(curwin->w_s->b_p_spl)
+ || varp == &(curwin->w_s->b_p_spf))
+ {
+! if (!valid_spellang(*varp))
+ errmsg = e_invarg;
+ else
+! errmsg = did_set_spell_option(varp == &(curwin->w_s->b_p_spf));
+ }
+ /* When 'spellcapcheck' is set compile the regexp program. */
+ else if (varp == &(curwin->w_s->b_p_spc))
+--- 7115,7127 ----
+ else if (varp == &(curwin->w_s->b_p_spl)
+ || varp == &(curwin->w_s->b_p_spf))
+ {
+! int is_spellfile = varp == &(curwin->w_s->b_p_spf);
+!
+! if ((is_spellfile && !valid_spellfile(*varp))
+! || (!is_spellfile && !valid_spellang(*varp)))
+ errmsg = e_invarg;
+ else
+! errmsg = did_set_spell_option(is_spellfile);
+ }
+ /* When 'spellcapcheck' is set compile the regexp program. */
+ else if (varp == &(curwin->w_s->b_p_spc))
+*** ../vim-8.1.1143/src/testdir/test_spell.vim 2019-04-10 22:15:15.809016828 +0200
+--- src/testdir/test_spell.vim 2019-04-10 22:25:18.728838835 +0200
+***************
+*** 376,381 ****
+--- 376,386 ----
+ call assert_equal("elekwint", SecondSpellWord())
+ endfunc
+
++ func Test_spellfile_value()
++ set spellfile=Xdir/Xtest.latin1.add
++ set spellfile=Xdir/Xtest.utf-8.add,Xtest_other.add
++ endfunc
++
+ func Test_region_error()
+ messages clear
+ call writefile(["/regions=usgbnz", "elequint/0"], "Xtest.latin1.add")
+*** ../vim-8.1.1143/src/version.c 2019-04-10 22:15:15.817016767 +0200
+--- src/version.c 2019-04-10 22:28:01.352066486 +0200
+***************
+*** 773,774 ****
+--- 773,776 ----
+ { /* Add new patch number below this line */
++ /**/
++ 1144,
+ /**/
+
+--
+hundred-and-one symptoms of being an internet addict:
+240. You think Webster's Dictionary is a directory of WEB sites.
+
+ /// 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 ///