summaryrefslogtreecommitdiffstats
path: root/patches/source/vim/patches/7.4.204
diff options
context:
space:
mode:
Diffstat (limited to 'patches/source/vim/patches/7.4.204')
-rw-r--r--patches/source/vim/patches/7.4.204113
1 files changed, 113 insertions, 0 deletions
diff --git a/patches/source/vim/patches/7.4.204 b/patches/source/vim/patches/7.4.204
new file mode 100644
index 00000000..c6b491e0
--- /dev/null
+++ b/patches/source/vim/patches/7.4.204
@@ -0,0 +1,113 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.204
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 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)
+Files: src/getchar.c, src/testdir/test75.in, src/testdir/test75.ok
+
+
+*** ../vim-7.4.203/src/getchar.c 2014-02-15 16:17:02.213903042 +0100
+--- src/getchar.c 2014-03-12 20:06:17.944971557 +0100
+***************
+*** 2206,2215 ****
+ #ifdef FEAT_MBYTE
+ /* Don't allow mapping the first byte(s) of a
+ * multi-byte char. Happens when mapping
+! * <M-a> and then changing 'encoding'. */
+! if (has_mbyte && MB_BYTE2LEN(c1)
+! > (*mb_ptr2len)(mp->m_keys))
+! mlen = 0;
+ #endif
+ /*
+ * Check an entry whether it matches.
+--- 2206,2221 ----
+ #ifdef FEAT_MBYTE
+ /* Don't allow mapping the first byte(s) of a
+ * multi-byte char. Happens when mapping
+! * <M-a> and then changing 'encoding'. Beware
+! * that 0x80 is escaped. */
+! {
+! char_u *p1 = mp->m_keys;
+! char_u *p2 = mb_unescape(&p1);
+!
+! if (has_mbyte && p2 != NULL
+! && MB_BYTE2LEN(c1) > MB_PTR2LEN(p2))
+! mlen = 0;
+! }
+ #endif
+ /*
+ * Check an entry whether it matches.
+*** ../vim-7.4.203/src/testdir/test75.in 2013-11-02 04:19:10.000000000 +0100
+--- src/testdir/test75.in 2014-03-12 20:02:45.932968308 +0100
+***************
+*** 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,22 ****
+--- 20,39 ----
+ :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
+*** ../vim-7.4.203/src/testdir/test75.ok 2013-06-29 13:50:08.000000000 +0200
+--- src/testdir/test75.ok 2014-03-12 20:02:49.780968367 +0100
+***************
+*** 4,6 ****
+--- 4,7 ----
+ {'silent': 0, 'noremap': 0, 'lhs': 'foo', 'mode': ' ', 'nowait': 1, 'expr': 0, 'sid': 0, 'rhs': 'bar', 'buffer': 1}
+ xrx
+ yRy
++ abcd
+*** ../vim-7.4.203/src/version.c 2014-03-12 19:41:37.100948866 +0100
+--- src/version.c 2014-03-12 20:06:43.684971951 +0100
+***************
+*** 740,741 ****
+--- 740,743 ----
+ { /* Add new patch number below this line */
++ /**/
++ 204,
+ /**/
+
+--
+If you only have a hammer, you tend to see every problem as a nail.
+If you only have MS-Windows, you tend to solve every problem by rebooting.
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///