aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJustin M. Keyes <justinkz@gmail.com>2016-05-06 00:05:32 -0400
committerJustin M. Keyes <justinkz@gmail.com>2016-05-06 00:05:32 -0400
commit5185b75f7ef4bda05a6cdb5c7abaa9e5e76a29cd (patch)
tree09ad66e78e416fa6571c92f77f327fdda1cf0d62
parent22ea7be77b8739722efe3bedaa8b16a8c5d89cba (diff)
parent9aed8c3eb4315011ad1770646fe39b9d7179ece9 (diff)
downloadrneovim-5185b75f7ef4bda05a6cdb5c7abaa9e5e76a29cd.tar.gz
rneovim-5185b75f7ef4bda05a6cdb5c7abaa9e5e76a29cd.tar.bz2
rneovim-5185b75f7ef4bda05a6cdb5c7abaa9e5e76a29cd.zip
Merge pull request #4712 from jamessan/runtime-patches
vim-patch:{40a346d,89b24fc,27a82e3}
-rw-r--r--.gitignore1
-rw-r--r--src/nvim/version.c2
-rw-r--r--test/functional/legacy/backspace_opt_spec.lua67
3 files changed, 69 insertions, 1 deletions
diff --git a/.gitignore b/.gitignore
index 23c8fd1957..94bb54c661 100644
--- a/.gitignore
+++ b/.gitignore
@@ -28,6 +28,7 @@ tags
/src/nvim/testdir/tiny.vim
/src/nvim/testdir/test*.out
/src/nvim/testdir/test.log
+/src/nvim/testdir/messages
/src/nvim/testdir/viminfo
/src/nvim/testdir/test.ok
/src/nvim/testdir/*.failed
diff --git a/src/nvim/version.c b/src/nvim/version.c
index a475e25e92..21d0808a25 100644
--- a/src/nvim/version.c
+++ b/src/nvim/version.c
@@ -673,7 +673,7 @@ static int included_patches[] = {
// 1008 NA
// 1007,
1006,
- // 1005,
+ // 1005 NA,
// 1004 NA,
// 1003 NA,
// 1002 NA,
diff --git a/test/functional/legacy/backspace_opt_spec.lua b/test/functional/legacy/backspace_opt_spec.lua
new file mode 100644
index 0000000000..b40019a410
--- /dev/null
+++ b/test/functional/legacy/backspace_opt_spec.lua
@@ -0,0 +1,67 @@
+local helpers = require('test.functional.helpers')
+local call, clear = helpers.call, helpers.clear
+local source, eq, nvim = helpers.source, helpers.eq, helpers.meths
+
+describe("test 'backspace' settings", function()
+ before_each(function()
+ clear()
+
+ source([[
+ func Exec(expr)
+ let str=''
+ try
+ exec a:expr
+ catch /.*/
+ let str=v:exception
+ endtry
+ return str
+ endfunc
+
+ func Test_backspace_option()
+ set backspace=
+ call assert_equal('', &backspace)
+ set backspace=indent
+ call assert_equal('indent', &backspace)
+ set backspace=eol
+ call assert_equal('eol', &backspace)
+ set backspace=start
+ call assert_equal('start', &backspace)
+ " Add the value
+ set backspace=
+ set backspace=indent
+ call assert_equal('indent', &backspace)
+ set backspace+=eol
+ call assert_equal('indent,eol', &backspace)
+ set backspace+=start
+ call assert_equal('indent,eol,start', &backspace)
+ " Delete the value
+ set backspace-=indent
+ call assert_equal('eol,start', &backspace)
+ set backspace-=start
+ call assert_equal('eol', &backspace)
+ set backspace-=eol
+ call assert_equal('', &backspace)
+ " Check the error
+ call assert_equal(0, match(Exec('set backspace=ABC'), '.*E474'))
+ call assert_equal(0, match(Exec('set backspace+=def'), '.*E474'))
+ " NOTE: Vim doesn't check following error...
+ "call assert_equal(0, match(Exec('set backspace-=ghi'), '.*E474'))
+
+ " Check backwards compatibility with version 5.4 and earlier
+ set backspace=0
+ call assert_equal('0', &backspace)
+ set backspace=1
+ call assert_equal('1', &backspace)
+ set backspace=2
+ call assert_equal('2', &backspace)
+ call assert_false(match(Exec('set backspace=3'), '.*E474'))
+ call assert_false(match(Exec('set backspace=10'), '.*E474'))
+ endfunc
+ ]])
+ end)
+
+ it('works', function()
+ call('Test_backspace_option')
+ eq({}, nvim.get_vvar('errors'))
+ end)
+end)