view src/testdir/test77a.in @ 19649:d4baa35fea5d v8.2.0381

patch 8.2.0381: using freed memory with :lvimgrep and autocommand Commit: https://github.com/vim/vim/commit/2573af3519ad062ddad647b97e32090f106f2ac1 Author: Bram Moolenaar <Bram@vim.org> Date: Sat Mar 14 17:21:34 2020 +0100 patch 8.2.0381: using freed memory with :lvimgrep and autocommand Problem: Using freed memory with :lvimgrep and autocommand. (extracted from POC by Dominique Pelle) Solution: Avoid deleting a dummy buffer used in a window. (closes #5777)
author Bram Moolenaar <Bram@vim.org>
date Sat, 14 Mar 2020 17:30:04 +0100
parents 47a673b20e49
children e705ea6e855b
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
:so small.vim
: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