• R/O
  • SSH

vim: Commit

Mirror of the Vim source from https://github.com/vim/vim


Commit MetaInfo

Revisionb60a569eb708bc6563cc1104335cf56bb38ea901 (tree)
Time2008-07-23 01:58:47
Authorvimboss
Commitervimboss

Log Message

updated for version 7.2b-010

Change Summary

Incremental Difference

diff -r b98975453785 -r b60a569eb708 src/getchar.c
--- a/src/getchar.c Fri Jul 18 15:14:43 2008 +0000
+++ b/src/getchar.c Tue Jul 22 16:58:47 2008 +0000
@@ -4539,7 +4539,7 @@
45394539 buf_T *buf; /* buffer for local mappings or NULL */
45404540 {
45414541 mapblock_T *mp;
4542- char_u c1, c2;
4542+ char_u c1, c2, c3;
45434543 char_u *p;
45444544 char *cmd;
45454545 int abbr;
@@ -4592,8 +4592,12 @@
45924592 if (*p != NUL)
45934593 continue;
45944594
4595+ /* It's possible to create a mapping and then ":unmap" certain
4596+ * modes. We recreate this here by mapping the individual
4597+ * modes, which requires up to three of them. */
45954598 c1 = NUL;
45964599 c2 = NUL;
4600+ c3 = NUL;
45974601 if (abbr)
45984602 cmd = "abbr";
45994603 else
@@ -4605,9 +4609,6 @@
46054609 case NORMAL:
46064610 c1 = 'n';
46074611 break;
4608- case VISUAL + SELECTMODE:
4609- c1 = 'v';
4610- break;
46114612 case VISUAL:
46124613 c1 = 'x';
46134614 break;
@@ -4617,18 +4618,47 @@
46174618 case OP_PENDING:
46184619 c1 = 'o';
46194620 break;
4621+ case NORMAL + VISUAL:
4622+ c1 = 'n';
4623+ c2 = 'x';
4624+ break;
4625+ case NORMAL + SELECTMODE:
4626+ c1 = 'n';
4627+ c2 = 's';
4628+ break;
4629+ case NORMAL + OP_PENDING:
4630+ c1 = 'n';
4631+ c2 = 'o';
4632+ break;
4633+ case VISUAL + SELECTMODE:
4634+ c1 = 'v';
4635+ break;
4636+ case VISUAL + OP_PENDING:
4637+ c1 = 'x';
4638+ c2 = 'o';
4639+ break;
4640+ case SELECTMODE + OP_PENDING:
4641+ c1 = 's';
4642+ c2 = 'o';
4643+ break;
46204644 case NORMAL + VISUAL + SELECTMODE:
46214645 c1 = 'n';
46224646 c2 = 'v';
46234647 break;
4648+ case NORMAL + VISUAL + OP_PENDING:
4649+ c1 = 'n';
4650+ c2 = 'x';
4651+ c3 = 'o';
4652+ break;
4653+ case NORMAL + SELECTMODE + OP_PENDING:
4654+ c1 = 'n';
4655+ c2 = 's';
4656+ c3 = 'o';
4657+ break;
46244658 case VISUAL + SELECTMODE + OP_PENDING:
46254659 c1 = 'v';
46264660 c2 = 'o';
46274661 break;
4628- case NORMAL + OP_PENDING:
4629- c1 = 'n';
4630- c2 = 'o';
4631- break;
46324662 case CMDLINE + INSERT:
46334663 if (!abbr)
46344664 cmd = "map!";
@@ -4646,7 +4676,7 @@
46464676 EMSG(_("E228: makemap: Illegal mode"));
46474677 return FAIL;
46484678 }
4649- do /* may do this twice if c2 is set */
4679+ do /* do this twice if c2 is set, 3 times with c3 */
46504680 {
46514681 /* When outputting <> form, need to make sure that 'cpo'
46524682 * is set to the Vim default. */
@@ -4693,9 +4723,9 @@
46934723 || put_eol(fd) < 0)
46944724 return FAIL;
46954725 c1 = c2;
4696- c2 = NUL;
4697- }
4698- while (c1);
4726+ c2 = c3;
4727+ c3 = NUL;
4728+ } while (c1 != NUL);
46994729 }
47004730 }
47014731
diff -r b98975453785 -r b60a569eb708 src/version.c
--- a/src/version.c Fri Jul 18 15:14:43 2008 +0000
+++ b/src/version.c Tue Jul 22 16:58:47 2008 +0000
@@ -677,6 +677,8 @@
677677 static int included_patches[] =
678678 { /* Add new patch number below this line */
679679 /**/
680+ 10,
681+/**/
680682 9,
681683 /**/
682684 8,
Show on old repository browser