diff --git a/7.3.455 b/7.3.455 new file mode 100644 index 0000000..217b00d --- /dev/null +++ b/7.3.455 @@ -0,0 +1,70 @@ +To: vim_dev@googlegroups.com +Subject: Patch 7.3.455 +Fcc: outbox +From: Bram Moolenaar +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.3.455 +Problem: Using many continuation lines can be slow. +Solution: Adjust the reallocation size to the current length. +Files: src/ex_cmds2.c + + +*** ../vim-7.3.454/src/ex_cmds2.c 2012-02-11 20:40:49.000000000 +0100 +--- src/ex_cmds2.c 2012-02-22 18:24:11.000000000 +0100 +*************** +*** 3448,3454 **** + { + garray_T ga; + +! ga_init2(&ga, (int)sizeof(char_u), 200); + ga_concat(&ga, line); + ga_concat(&ga, p + 1); + for (;;) +--- 3448,3454 ---- + { + garray_T ga; + +! ga_init2(&ga, (int)sizeof(char_u), 400); + ga_concat(&ga, line); + ga_concat(&ga, p + 1); + for (;;) +*************** +*** 3460,3465 **** +--- 3460,3474 ---- + p = skipwhite(sp->nextline); + if (*p != '\\') + break; ++ /* Adjust the growsize to the current length to speed up ++ * concatenating many lines. */ ++ if (ga.ga_len > 400) ++ { ++ if (ga.ga_len > 8000) ++ ga.ga_growsize = 8000; ++ else ++ ga.ga_growsize = ga.ga_len; ++ } + ga_concat(&ga, p + 1); + } + ga_append(&ga, NUL); +*** ../vim-7.3.454/src/version.c 2012-02-22 18:12:29.000000000 +0100 +--- src/version.c 2012-02-22 18:24:58.000000000 +0100 +*************** +*** 716,717 **** +--- 716,719 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 455, + /**/ + +-- +From "know your smileys": + :-X My lips are sealed + + /// 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 ///