Mercurial > vim
diff src/testdir/test_vim9_script.vim @ 24150:4919f2d8d7fd v8.2.2616
patch 8.2.2616: Vim9: if 'cpo' is change in Vim9 script it may be restored
Commit: https://github.com/vim/vim/commit/3e1916947d5b29f67af554ce3b874b03a84c9093
Author: Bram Moolenaar <Bram@vim.org>
Date: Wed Mar 17 17:46:00 2021 +0100
patch 8.2.2616: Vim9: if 'cpo' is change in Vim9 script it may be restored
Problem: Vim9: if 'cpo' is change in Vim9 script it may be restored.
Solution: Apply the changes to 'cpo' to the restored value.
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Wed, 17 Mar 2021 18:00:04 +0100 |
parents | 0edc315f2d0c |
children | 93e69703a290 |
line wrap: on
line diff
--- a/src/testdir/test_vim9_script.vim +++ b/src/testdir/test_vim9_script.vim @@ -1250,17 +1250,23 @@ def Test_vim9_import_export() delete('Xexport.vim') # Check that in a Vim9 script 'cpo' is set to the Vim default. - set cpo&vi - var cpo_before = &cpo + # Flags added or removed are also applied to the restored value. + set cpo=abcd var lines =<< trim END vim9script g:cpo_in_vim9script = &cpo + set cpo+=f + set cpo-=c + g:cpo_after_vim9script = &cpo END writefile(lines, 'Xvim9_script') source Xvim9_script - assert_equal(cpo_before, &cpo) + assert_equal('fabd', &cpo) set cpo&vim assert_equal(&cpo, g:cpo_in_vim9script) + var newcpo = substitute(&cpo, 'c', '', '') .. 'f' + assert_equal(newcpo, g:cpo_after_vim9script) + delete('Xvim9_script') enddef