summaryrefslogtreecommitdiffstats
path: root/patches/source/vim/patches/7.4.324
diff options
context:
space:
mode:
Diffstat (limited to 'patches/source/vim/patches/7.4.324')
-rw-r--r--patches/source/vim/patches/7.4.324190
1 files changed, 190 insertions, 0 deletions
diff --git a/patches/source/vim/patches/7.4.324 b/patches/source/vim/patches/7.4.324
new file mode 100644
index 000000000..7418d06b7
--- /dev/null
+++ b/patches/source/vim/patches/7.4.324
@@ -0,0 +1,190 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.324
+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.324
+Problem: In Ex mode, cyrillic characters are not handled. (Stas Malavin)
+Solution: Support multi-byte characters in Ex mode. (Yukihiro Nakadaira)
+Files: src/ex_getln.c
+
+
+*** ../vim-7.4.323/src/ex_getln.c 2014-05-29 14:36:26.156862577 +0200
+--- src/ex_getln.c 2014-06-12 19:33:10.440522741 +0200
+***************
+*** 2188,2193 ****
+--- 2188,2194 ----
+ int vcol = 0;
+ char_u *p;
+ int prev_char;
++ int len;
+
+ /* Switch cursor on now. This avoids that it happens after the "\n", which
+ * confuses the system function that computes tabstops. */
+***************
+*** 2264,2270 ****
+ {
+ if (line_ga.ga_len > 0)
+ {
+! --line_ga.ga_len;
+ goto redraw;
+ }
+ continue;
+--- 2265,2281 ----
+ {
+ if (line_ga.ga_len > 0)
+ {
+! #ifdef FEAT_MBYTE
+! if (has_mbyte)
+! {
+! p = (char_u *)line_ga.ga_data;
+! p[line_ga.ga_len] = NUL;
+! len = (*mb_head_off)(p, p + line_ga.ga_len - 1) + 1;
+! line_ga.ga_len -= len;
+! }
+! else
+! #endif
+! --line_ga.ga_len;
+ goto redraw;
+ }
+ continue;
+***************
+*** 2280,2286 ****
+
+ if (c1 == Ctrl_T)
+ {
+! long sw = get_sw_value(curbuf);
+
+ p = (char_u *)line_ga.ga_data;
+ p[line_ga.ga_len] = NUL;
+--- 2291,2297 ----
+
+ if (c1 == Ctrl_T)
+ {
+! long sw = get_sw_value(curbuf);
+
+ p = (char_u *)line_ga.ga_data;
+ p[line_ga.ga_len] = NUL;
+***************
+*** 2300,2307 ****
+ /* redraw the line */
+ msg_col = startcol;
+ vcol = 0;
+! for (p = (char_u *)line_ga.ga_data;
+! p < (char_u *)line_ga.ga_data + line_ga.ga_len; ++p)
+ {
+ if (*p == TAB)
+ {
+--- 2311,2319 ----
+ /* redraw the line */
+ msg_col = startcol;
+ vcol = 0;
+! p = (char_u *)line_ga.ga_data;
+! p[line_ga.ga_len] = NUL;
+! while (p < (char_u *)line_ga.ga_data + line_ga.ga_len)
+ {
+ if (*p == TAB)
+ {
+***************
+*** 2309,2319 ****
+ {
+ msg_putchar(' ');
+ } while (++vcol % 8);
+ }
+ else
+ {
+! msg_outtrans_len(p, 1);
+! vcol += char2cells(*p);
+ }
+ }
+ msg_clr_eos();
+--- 2321,2334 ----
+ {
+ msg_putchar(' ');
+ } while (++vcol % 8);
++ ++p;
+ }
+ else
+ {
+! len = MB_PTR2LEN(p);
+! msg_outtrans_len(p, len);
+! vcol += ptr2cells(p);
+! p += len;
+ }
+ }
+ msg_clr_eos();
+***************
+*** 2362,2368 ****
+
+ if (IS_SPECIAL(c1))
+ c1 = '?';
+! ((char_u *)line_ga.ga_data)[line_ga.ga_len] = c1;
+ if (c1 == '\n')
+ msg_putchar('\n');
+ else if (c1 == TAB)
+--- 2377,2392 ----
+
+ if (IS_SPECIAL(c1))
+ c1 = '?';
+! #ifdef FEAT_MBYTE
+! if (has_mbyte)
+! len = (*mb_char2bytes)(c1,
+! (char_u *)line_ga.ga_data + line_ga.ga_len);
+! else
+! #endif
+! {
+! len = 1;
+! ((char_u *)line_ga.ga_data)[line_ga.ga_len] = c1;
+! }
+ if (c1 == '\n')
+ msg_putchar('\n');
+ else if (c1 == TAB)
+***************
+*** 2376,2385 ****
+ else
+ {
+ msg_outtrans_len(
+! ((char_u *)line_ga.ga_data) + line_ga.ga_len, 1);
+ vcol += char2cells(c1);
+ }
+! ++line_ga.ga_len;
+ escaped = FALSE;
+
+ windgoto(msg_row, msg_col);
+--- 2400,2409 ----
+ else
+ {
+ msg_outtrans_len(
+! ((char_u *)line_ga.ga_data) + line_ga.ga_len, len);
+ vcol += char2cells(c1);
+ }
+! line_ga.ga_len += len;
+ escaped = FALSE;
+
+ windgoto(msg_row, msg_col);
+*** ../vim-7.4.323/src/version.c 2014-06-12 18:39:16.828400409 +0200
+--- src/version.c 2014-06-12 19:37:40.296532950 +0200
+***************
+*** 736,737 ****
+--- 736,739 ----
+ { /* Add new patch number below this line */
++ /**/
++ 324,
+ /**/
+
+--
+ZOOT: I'm afraid our life must seem very dull and quiet compared to yours.
+ We are but eightscore young blondes, all between sixteen and
+ nineteen-and-a-half, cut off in this castle, with no one to protect us.
+ Oooh. It is a lonely life ... bathing ... dressing ... undressing ...
+ making exciting underwear....
+ "Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD
+
+ /// 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 ///