Mercurial > vim
view src/testdir/test77a.in @ 29002:48d74a5822eb v8.2.5023
patch 8.2.5023: substitute overwrites allocated buffer
Commit: https://github.com/vim/vim/commit/338f1fc0ee3ca929387448fe464579d6113fa76a
Author: Bram Moolenaar <Bram@vim.org>
Date: Thu May 26 15:56:23 2022 +0100
patch 8.2.5023: substitute overwrites allocated buffer
Problem: Substitute overwrites allocated buffer.
Solution: Disallow undo when in a substitute command.
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Thu, 26 May 2022 17:00:05 +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