updated for version 7.4.204
Problem: A mapping where the second byte is 0x80 doesn't work.
Solution: Unescape before checking for incomplete multi-byte char. (Nobuhiro
Takasaki)
diff --git a/src/testdir/test75.in b/src/testdir/test75.in
index 4bd8279..b7f2783 100644
--- a/src/testdir/test75.in
+++ b/src/testdir/test75.in
@@ -1,8 +1,11 @@
Tests for maparg().
+Also test utf8 map with a 0x80 byte.
STARTTEST
:so small.vim
+:so mbyte.vim
:set cpo-=<
+:set encoding=utf8
:" Test maparg() with a string result
:map foo<C-V> is<F4>foo
:vnoremap <script> <buffer> <expr> <silent> bar isbar
@@ -17,6 +20,20 @@
:map abc y<S-char-114>y
:call append('$', maparg('abc'))
:"
+Go:"
+:" Outside of the range, minimum
+:inoremap <Char-0x1040> a
+:call feedkeys("a\u1040\<Esc>")
+:" Inside of the range, minimum
+:inoremap <Char-0x103f> b
+:call feedkeys("a\u103f\<Esc>")
+:" Inside of the range, maximum
+:inoremap <Char-0xf03f> c
+:call feedkeys("a\uf03f\<Esc>")
+:" Outside of the range, maximum
+:inoremap <Char-0xf040> d
+:call feedkeys("a\uf040\<Esc>")
+:"
:/^eof/+1,$w! test.out
:qa!
ENDTEST