summaryrefslogtreecommitdiff
path: root/data/vim/patches/8.1.0958
diff options
context:
space:
mode:
Diffstat (limited to 'data/vim/patches/8.1.0958')
-rw-r--r--data/vim/patches/8.1.0958239
1 files changed, 0 insertions, 239 deletions
diff --git a/data/vim/patches/8.1.0958 b/data/vim/patches/8.1.0958
deleted file mode 100644
index 1c73bb3ff..000000000
--- a/data/vim/patches/8.1.0958
+++ /dev/null
@@ -1,239 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 8.1.0958
-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.0958
-Problem: Compiling weird regexp pattern is very slow.
-Solution: When reallocating post list increase size by 50%. (Kuang-che Wu,
- closes #4012) Make assert_inrange() accept float values.
-Files: src/regexp_nfa.c, src/eval.c, src/testdir/test_regexp_latin.vim,
- src/testdir/test_assert.vim
-
-
-*** ../vim-8.1.0957/src/regexp_nfa.c 2019-02-17 20:16:58.101377164 +0100
---- src/regexp_nfa.c 2019-02-20 21:57:19.818765782 +0100
-***************
-*** 509,518 ****
- realloc_post_list(void)
- {
- int nstate_max = (int)(post_end - post_start);
-! int new_max = nstate_max + 1000;
- int *new_start;
- int *old_start;
-
- new_start = (int *)lalloc(new_max * sizeof(int), TRUE);
- if (new_start == NULL)
- return FAIL;
---- 509,521 ----
- realloc_post_list(void)
- {
- int nstate_max = (int)(post_end - post_start);
-! int new_max;
- int *new_start;
- int *old_start;
-
-+ // For weird patterns the number of states can be very high. Increasing by
-+ // 50% seems a reasonable compromise between memory use and speed.
-+ new_max = nstate_max * 3 / 2;
- new_start = (int *)lalloc(new_max * sizeof(int), TRUE);
- if (new_start == NULL)
- return FAIL;
-*** ../vim-8.1.0957/src/eval.c 2019-02-17 17:44:36.203875545 +0100
---- src/eval.c 2019-02-20 21:51:44.813447677 +0100
-***************
-*** 9365,9396 ****
- {
- garray_T ga;
- int error = FALSE;
-- varnumber_T lower = tv_get_number_chk(&argvars[0], &error);
-- varnumber_T upper = tv_get_number_chk(&argvars[1], &error);
-- varnumber_T actual = tv_get_number_chk(&argvars[2], &error);
- char_u *tofree;
- char msg[200];
- char_u numbuf[NUMBUFLEN];
-
-! if (error)
-! return 0;
-! if (actual < lower || actual > upper)
-! {
-! prepare_assert_error(&ga);
-! if (argvars[3].v_type != VAR_UNKNOWN)
- {
-! ga_concat(&ga, tv2string(&argvars[3], &tofree, numbuf, 0));
-! vim_free(tofree);
- }
-! else
- {
-! vim_snprintf(msg, 200, "Expected range %ld - %ld, but got %ld",
- (long)lower, (long)upper, (long)actual);
-! ga_concat(&ga, (char_u *)msg);
- }
-- assert_error(&ga);
-- ga_clear(&ga);
-- return 1;
- }
- return 0;
- }
---- 9365,9429 ----
- {
- garray_T ga;
- int error = FALSE;
- char_u *tofree;
- char msg[200];
- char_u numbuf[NUMBUFLEN];
-
-! #ifdef FEAT_FLOAT
-! if (argvars[0].v_type == VAR_FLOAT
-! || argvars[1].v_type == VAR_FLOAT
-! || argvars[2].v_type == VAR_FLOAT)
-! {
-! float_T flower = tv_get_float(&argvars[0]);
-! float_T fupper = tv_get_float(&argvars[1]);
-! float_T factual = tv_get_float(&argvars[2]);
-!
-! if (factual < flower || factual > fupper)
- {
-! prepare_assert_error(&ga);
-! if (argvars[3].v_type != VAR_UNKNOWN)
-! {
-! ga_concat(&ga, tv2string(&argvars[3], &tofree, numbuf, 0));
-! vim_free(tofree);
-! }
-! else
-! {
-! vim_snprintf(msg, 200, "Expected range %g - %g, but got %g",
-! flower, fupper, factual);
-! ga_concat(&ga, (char_u *)msg);
-! }
-! assert_error(&ga);
-! ga_clear(&ga);
-! return 1;
- }
-! }
-! else
-! #endif
-! {
-! varnumber_T lower = tv_get_number_chk(&argvars[0], &error);
-! varnumber_T upper = tv_get_number_chk(&argvars[1], &error);
-! varnumber_T actual = tv_get_number_chk(&argvars[2], &error);
-!
-! if (error)
-! return 0;
-! if (actual < lower || actual > upper)
- {
-! prepare_assert_error(&ga);
-! if (argvars[3].v_type != VAR_UNKNOWN)
-! {
-! ga_concat(&ga, tv2string(&argvars[3], &tofree, numbuf, 0));
-! vim_free(tofree);
-! }
-! else
-! {
-! vim_snprintf(msg, 200, "Expected range %ld - %ld, but got %ld",
- (long)lower, (long)upper, (long)actual);
-! ga_concat(&ga, (char_u *)msg);
-! }
-! assert_error(&ga);
-! ga_clear(&ga);
-! return 1;
- }
- }
- return 0;
- }
-***************
-*** 9822,9835 ****
- {
- float_T f1, f2;
-
-! if (typ1->v_type == VAR_FLOAT)
-! f1 = typ1->vval.v_float;
-! else
-! f1 = tv_get_number(typ1);
-! if (typ2->v_type == VAR_FLOAT)
-! f2 = typ2->vval.v_float;
-! else
-! f2 = tv_get_number(typ2);
- n1 = FALSE;
- switch (type)
- {
---- 9855,9862 ----
- {
- float_T f1, f2;
-
-! f1 = tv_get_float(typ1);
-! f2 = tv_get_float(typ2);
- n1 = FALSE;
- switch (type)
- {
-*** ../vim-8.1.0957/src/testdir/test_regexp_latin.vim 2019-02-17 20:16:58.101377164 +0100
---- src/testdir/test_regexp_latin.vim 2019-02-20 21:56:49.094997247 +0100
-***************
-*** 130,132 ****
---- 130,143 ----
- call assert_equal(0, search("[ -*\\t-\\n]"))
- bwipe!
- endfunc
-+
-+ func Test_pattern_compile_speed()
-+ if !exists('+spellcapcheck') || !has('reltime')
-+ return
-+ endif
-+ let start = reltime()
-+ " this used to be very slow, not it should be about a second
-+ set spc=\\v(((((Nxxxxxxx&&xxxx){179})+)+)+){179}
-+ call assert_inrange(0.01, 10.0, reltimefloat(reltime(start)))
-+ set spc=
-+ endfunc
-*** ../vim-8.1.0957/src/testdir/test_assert.vim 2019-01-25 20:48:29.381157353 +0100
---- src/testdir/test_assert.vim 2019-02-20 21:55:13.587732935 +0100
-***************
-*** 190,195 ****
---- 190,211 ----
- call remove(v:errors, 0)
-
- call assert_fails('call assert_inrange(1, 1)', 'E119:')
-+
-+ if has('float')
-+ call assert_equal(0, assert_inrange(7.0, 7, 7))
-+ call assert_equal(0, assert_inrange(7, 7.0, 7))
-+ call assert_equal(0, assert_inrange(7, 7, 7.0))
-+ call assert_equal(0, assert_inrange(5, 7, 5.0))
-+ call assert_equal(0, assert_inrange(5, 7, 6.0))
-+ call assert_equal(0, assert_inrange(5, 7, 7.0))
-+
-+ call assert_equal(1, assert_inrange(5, 7, 4.0))
-+ call assert_match("Expected range 5.0 - 7.0, but got 4.0", v:errors[0])
-+ call remove(v:errors, 0)
-+ call assert_equal(1, assert_inrange(5, 7, 8.0))
-+ call assert_match("Expected range 5.0 - 7.0, but got 8.0", v:errors[0])
-+ call remove(v:errors, 0)
-+ endif
- endfunc
-
- func Test_assert_with_msg()
-*** ../vim-8.1.0957/src/version.c 2019-02-20 20:36:55.741352867 +0100
---- src/version.c 2019-02-20 22:03:18.520201671 +0100
-***************
-*** 781,782 ****
---- 781,784 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 958,
- /**/
-
---
-If someone questions your market projections, simply point out that your
-target market is "People who are nuts" and "People who will buy any damn
-thing". Nobody is going to tell you there aren't enough of those people
-to go around.
- (Scott Adams - The Dilbert principle)
-
- /// 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 ///