1
0
Fork 0
mirror of git://slackware.nl/current.git synced 2025-02-15 08:50:09 +01:00
slackware-current/source/ap/vim/patches/7.3.283
Patrick J Volkerding 9664bee729 Slackware 14.0
Wed Sep 26 01:10:42 UTC 2012
Slackware 14.0 x86_64 stable is released!

We're perfectionists here at Slackware, so this release has been a long
time a-brewing.  But we think you'll agree that it was worth the wait.
Slackware 14.0 combines modern components, ease of use, and flexible
configuration... our "KISS" philosophy demands it.

The ISOs are off to be replicated, a 6 CD-ROM 32-bit set and a
dual-sided
32-bit/64-bit x86/x86_64 DVD.  Please consider supporting the Slackware
project by picking up a copy from store.slackware.com.  We're taking
pre-orders now, and offer a discount if you sign up for a subscription.

Thanks to everyone who helped make this happen.  The Slackware team, the
upstream developers, and (of course) the awesome Slackware user
community.

Have fun!  :-)
2018-05-31 22:51:55 +02:00

114 lines
3.3 KiB
Text

To: vim_dev@googlegroups.com
Subject: Patch 7.3.283
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.3.283
Problem: An expression mapping with a multi-byte character containing a
0x80 byte gets messed up. (ZyX)
Solution: Unescape the expression before evaluating it (Yukihiro Nakadaira)
Files: src/getchar.c
*** ../vim-7.3.282/src/getchar.c 2011-04-28 17:30:05.000000000 +0200
--- src/getchar.c 2011-08-17 17:04:38.000000000 +0200
***************
*** 3262,3270 ****
validate_maphash();
/*
! * find end of keys and skip CTRL-Vs (and backslashes) in it
* Accept backslash like CTRL-V when 'cpoptions' does not contain 'B'.
! * with :unmap white space is included in the keys, no argument possible
*/
p = keys;
do_backslash = (vim_strchr(p_cpo, CPO_BSLASH) == NULL);
--- 3262,3270 ----
validate_maphash();
/*
! * Find end of keys and skip CTRL-Vs (and backslashes) in it.
* Accept backslash like CTRL-V when 'cpoptions' does not contain 'B'.
! * with :unmap white space is included in the keys, no argument possible.
*/
p = keys;
do_backslash = (vim_strchr(p_cpo, CPO_BSLASH) == NULL);
***************
*** 4506,4517 ****
--- 4506,4528 ----
{
char_u *res;
char_u *p;
+ char_u *expr;
char_u *save_cmd;
pos_T save_cursor;
+ /* Remove escaping of CSI, because "str" is in a format to be used as
+ * typeahead. */
+ expr = vim_strsave(str);
+ if (expr == NULL)
+ return NULL;
+ vim_unescape_csi(expr);
+
save_cmd = save_cmdline_alloc();
if (save_cmd == NULL)
+ {
+ vim_free(expr);
return NULL;
+ }
/* Forbid changing text or using ":normal" to avoid most of the bad side
* effects. Also restore the cursor position. */
***************
*** 4521,4527 ****
#endif
set_vim_var_char(c); /* set v:char to the typed character */
save_cursor = curwin->w_cursor;
! p = eval_to_string(str, NULL, FALSE);
--textlock;
#ifdef FEAT_EX_EXTRA
--ex_normal_lock;
--- 4532,4538 ----
#endif
set_vim_var_char(c); /* set v:char to the typed character */
save_cursor = curwin->w_cursor;
! p = eval_to_string(expr, NULL, FALSE);
--textlock;
#ifdef FEAT_EX_EXTRA
--ex_normal_lock;
***************
*** 4529,4536 ****
--- 4540,4550 ----
curwin->w_cursor = save_cursor;
restore_cmdline_alloc(save_cmd);
+ vim_free(expr);
+
if (p == NULL)
return NULL;
+ /* Escape CSI in the result to be able to use the string as typeahead. */
res = vim_strsave_escape_csi(p);
vim_free(p);
*** ../vim-7.3.282/src/version.c 2011-08-17 16:25:43.000000000 +0200
--- src/version.c 2011-08-17 17:17:03.000000000 +0200
***************
*** 711,712 ****
--- 711,714 ----
{ /* Add new patch number below this line */
+ /**/
+ 283,
/**/
--
bashian roulette:
$ ((RANDOM%6)) || rm -rf ~
/// 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 ///