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.534
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

101 lines
2.9 KiB
Text

To: vim_dev@googlegroups.com
Subject: Patch 7.3.534
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.534 (after 7.3.461)
Problem: When using an InsertCharPre autocommand autoindent fails.
Solution: Proper handling of v:char. (Alexey Radkov)
Files: src/edit.c
*** ../vim-7.3.533/src/edit.c 2012-05-18 16:35:17.000000000 +0200
--- src/edit.c 2012-06-01 14:41:06.000000000 +0200
***************
*** 10108,10129 ****
do_insert_char_pre(c)
int c;
{
! char_u *res;
/* Return quickly when there is nothing to do. */
if (!has_insertcharpre())
return NULL;
/* Lock the text to avoid weird things from happening. */
++textlock;
! set_vim_var_char(c); /* set v:char */
if (apply_autocmds(EVENT_INSERTCHARPRE, NULL, NULL, FALSE, curbuf))
! /* Get the new value of v:char. It may be empty or more than one
! * character. */
! res = vim_strsave(get_vim_var_str(VV_CHAR));
! else
! res = NULL;
set_vim_var_string(VV_CHAR, NULL, -1); /* clear v:char */
--textlock;
--- 10108,10147 ----
do_insert_char_pre(c)
int c;
{
! char_u *res;
! #ifdef FEAT_MBYTE
! char_u buf[MB_MAXBYTES + 1];
! #else
! char_u buf[2];
! #endif
/* Return quickly when there is nothing to do. */
if (!has_insertcharpre())
return NULL;
+ #ifdef FEAT_MBYTE
+ if (has_mbyte)
+ buf[(*mb_char2bytes)(c, buf)] = NUL;
+ else
+ #endif
+ {
+ buf[0] = c;
+ buf[1] = NUL;
+ }
+
/* Lock the text to avoid weird things from happening. */
++textlock;
! set_vim_var_string(VV_CHAR, buf, -1); /* set v:char */
+ res = NULL;
if (apply_autocmds(EVENT_INSERTCHARPRE, NULL, NULL, FALSE, curbuf))
! {
! /* Get the value of v:char. It may be empty or more than one
! * character. Only use it when changed, otherwise continue with the
! * original character to avoid breaking autoindent. */
! if (STRCMP(buf, get_vim_var_str(VV_CHAR)) != 0)
! res = vim_strsave(get_vim_var_str(VV_CHAR));
! }
set_vim_var_string(VV_CHAR, NULL, -1); /* clear v:char */
--textlock;
*** ../vim-7.3.533/src/version.c 2012-06-01 13:46:06.000000000 +0200
--- src/version.c 2012-06-01 14:42:19.000000000 +0200
***************
*** 716,717 ****
--- 716,719 ----
{ /* Add new patch number below this line */
+ /**/
+ 534,
/**/
--
hundred-and-one symptoms of being an internet addict:
11. You find yourself typing "com" after every period when using a word
processor.com
/// 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 ///