view src/testdir/test77a.in @ 27245:776db9e02b61 v8.2.4151

patch 8.2.4151: reading beyond the end of a line Commit: https://github.com/vim/vim/commit/57df9e8a9f9ae1aafdde9b86b10ad907627a87dc Author: Bram Moolenaar <Bram@vim.org> Date: Thu Jan 20 12:10:48 2022 +0000 patch 8.2.4151: reading beyond the end of a line Problem: Reading beyond the end of a line. Solution: For block insert only use the offset for correcting the length.
author Bram Moolenaar <Bram@vim.org>
date Thu, 20 Jan 2022 13:15:04 +0100
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