Mercurial > vim
view src/testdir/test_source_utf8.vim @ 11303:ef32a5c74515 v8.0.0537
patch 8.0.0537: illegal memory access with :z and large count
commit https://github.com/vim/vim/commit/fa0ad0bb0b4255e64ebcf9269d60a942e0ae7ff9
Author: Bram Moolenaar <Bram@vim.org>
Date: Sun Apr 2 15:45:17 2017 +0200
patch 8.0.0537: illegal memory access with :z and large count
Problem: Illegal memory access with :z and large count.
Solution: Check for number overflow, using long instead of int. (Dominique
Pelle, closes #1612)
author | Christian Brabandt <cb@256bit.org> |
---|---|
date | Sun, 02 Apr 2017 16:00:05 +0200 |
parents | bff8a09016a5 |
children | aa658b33f25a |
line wrap: on
line source
" Test the :source! command if !has('multi_byte') finish endif func Test_source_utf8() " check that sourcing a script with 0x80 as second byte works new call setline(1, [':%s/àx/--à1234--/g', ':%s/Àx/--À1234--/g']) write! Xscript bwipe! new call setline(1, [' àx ', ' Àx ']) source! Xscript | echo call assert_equal(' --à1234-- ', getline(1)) call assert_equal(' --À1234-- ', getline(2)) bwipe! call delete('Xscript') endfunc func Test_source_latin() " check that sourcing a latin1 script with a 0xc0 byte works new call setline(1, ["call feedkeys('r')", "call feedkeys('\xc0', 'xt')"]) write! Xscript bwipe! new call setline(1, ['xxx']) source Xscript call assert_equal("\u00c0xx", getline(1)) bwipe! call delete('Xscript') endfunc