view src/testdir/test77a.in @ 26053:e861c5aaedd8 v8.2.3560

patch 8.2.3560: using freed memory with lambda Commit: https://github.com/vim/vim/commit/844fb64a605d60131827503a001b2d1aa232b078 Author: Bram Moolenaar <Bram@vim.org> Date: Sat Oct 23 13:32:30 2021 +0100 patch 8.2.3560: using freed memory with lambda Problem: Using freed memory with lambda. Solution: Do not free lines early, keep them until the expression is finished.
author Bram Moolenaar <Bram@vim.org>
date Sat, 23 Oct 2021 14:45:04 +0200
parents e705ea6e855b
children
line wrap: on
line source

Inserts 2 million lines with consecutive integers starting from 1
(essentially, the output of GNU's seq 1 2000000), writes them to Xtest
and writes its cksum to test.out.

We need 2 million lines to trigger a call to mf_hash_grow().  If it would mess
up the lines the checksum would differ.

cksum is part of POSIX and so should be available on most Unixes.
If it isn't available then the test will be skipped.

VMS does not have CKSUM but has a built in CHECKSUM - it should be used
STARTTEST
:silent! while 0
:  e! test.ok
:  w! test.out
:  qa!
:silent! endwhile
:if !has("vms")
: e! test.ok
: w! test.out
: qa!
:endif
:set fileformat=unix undolevels=-1
ggdG
:let i = 1
:while i <= 2000000 | call append(i, range(i, i + 99)) | let i += 100 | endwhile
ggdd
:w! Xtest.
:r !@test77a.com Xtest.
:s/\s/ /g
:set fileformat&
:.w! test.out
:qa!
ENDTEST