[vim] - patchlevel 1019

Karsten Hopp karsten at fedoraproject.org
Tue Jun 4 10:08:34 UTC 2013


commit e233d0f83041f490636a507d58f702e0f2b6a8f9
Author: Karsten Hopp <karsten at redhat.com>
Date:   Tue Jun 4 12:06:01 2013 +0200

    - patchlevel 1019

 7.3.1019 |  152 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 152 insertions(+), 0 deletions(-)
---
diff --git a/7.3.1019 b/7.3.1019
new file mode 100644
index 0000000..481bce0
--- /dev/null
+++ b/7.3.1019
@@ -0,0 +1,152 @@
+To: vim_dev at googlegroups.com
+Subject: Patch 7.3.1019
+Fcc: outbox
+From: Bram Moolenaar <Bram at moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.3.1019
+Problem:    These do not work with the new regexp engine: \%o123, \%x123,
+	    \%d123, \%u123 and \%U123.
+Solution:   Implement these items.
+Files:	    src/regexp_nfa.c
+
+
+*** ../vim-7.3.1018/src/regexp_nfa.c	2013-05-25 21:18:30.000000000 +0200
+--- src/regexp_nfa.c	2013-05-25 21:56:16.000000000 +0200
+***************
+*** 604,610 ****
+      char_u	*endp;
+  #ifdef FEAT_MBYTE
+      char_u	*old_regparse = regparse;
+-     int		clen;
+      int		i;
+  #endif
+      int		extra = 0;
+--- 604,609 ----
+***************
+*** 623,637 ****
+      cpo_bsl = vim_strchr(p_cpo, CPO_BACKSL) != NULL;
+  
+      c = getchr();
+- 
+- #ifdef FEAT_MBYTE
+-     /* clen has the length of the current char, without composing chars */
+-     clen = (*mb_char2len)(c);
+-     if (has_mbyte && clen > 1)
+- 	goto nfa_do_multibyte;
+- #endif
+      switch (c)
+      {
+  	case Magic('^'):
+  	    EMIT(NFA_BOL);
+  	    break;
+--- 622,633 ----
+      cpo_bsl = vim_strchr(p_cpo, CPO_BACKSL) != NULL;
+  
+      c = getchr();
+      switch (c)
+      {
++ 	case NUL:
++ 	    syntax_error = TRUE;
++ 	    EMSG_RET_FAIL(_("E865: (NFA) Regexp end encountered prematurely"));
++ 
+  	case Magic('^'):
+  	    EMIT(NFA_BOL);
+  	    break;
+***************
+*** 747,756 ****
+  		return FAIL;	    /* cascaded error */
+  	    break;
+  
+- 	case NUL:
+- 	    syntax_error = TRUE;
+- 	    EMSG_RET_FAIL(_("E865: (NFA) Regexp end encountered prematurely"));
+- 
+  	case Magic('|'):
+  	case Magic('&'):
+  	case Magic(')'):
+--- 743,748 ----
+***************
+*** 834,844 ****
+  		case 'x':   /* %xab hex 2 */
+  		case 'u':   /* %uabcd hex 4 */
+  		case 'U':   /* %U1234abcd hex 8 */
+! 		    /* Not yet supported */
+! 		    return FAIL;
+  
+! 		    c = coll_get_char();
+! 		    EMIT(c);
+  		    break;
+  
+  		/* Catch \%^ and \%$ regardless of where they appear in the
+--- 826,851 ----
+  		case 'x':   /* %xab hex 2 */
+  		case 'u':   /* %uabcd hex 4 */
+  		case 'U':   /* %U1234abcd hex 8 */
+! 		    {
+! 			int i;
+  
+! 			switch (c)
+! 			{
+! 			    case 'd': i = getdecchrs(); break;
+! 			    case 'o': i = getoctchrs(); break;
+! 			    case 'x': i = gethexchrs(2); break;
+! 			    case 'u': i = gethexchrs(4); break;
+! 			    case 'U': i = gethexchrs(8); break;
+! 			    default:  i = -1; break;
+! 			}
+! 
+! 			if (i < 0)
+! 			    EMSG2_RET_FAIL(
+! 			       _("E678: Invalid character after %s%%[dxouU]"),
+! 				    reg_magic == MAGIC_ALL);
+! 			/* TODO: what if a composing character follows? */
+! 			EMIT(i);
+! 		    }
+  		    break;
+  
+  		/* Catch \%^ and \%$ regardless of where they appear in the
+***************
+*** 1217,1225 ****
+  		int	plen;
+  
+  nfa_do_multibyte:
+! 		/* Length of current char with composing chars. */
+! 		if (enc_utf8 && (clen != (plen = (*mb_ptr2len)(old_regparse))
+! 			    || utf_iscomposing(c)))
+  		{
+  		    /* A base character plus composing characters, or just one
+  		     * or more composing characters.
+--- 1224,1233 ----
+  		int	plen;
+  
+  nfa_do_multibyte:
+! 		/* plen is length of current char with composing chars */
+! 		if (enc_utf8 && ((*mb_char2len)(c)
+! 			    != (plen = (*mb_ptr2len)(old_regparse))
+! 						       || utf_iscomposing(c)))
+  		{
+  		    /* A base character plus composing characters, or just one
+  		     * or more composing characters.
+*** ../vim-7.3.1018/src/version.c	2013-05-25 21:18:30.000000000 +0200
+--- src/version.c	2013-05-25 22:00:51.000000000 +0200
+***************
+*** 730,731 ****
+--- 730,733 ----
+  {   /* Add new patch number below this line */
++ /**/
++     1019,
+  /**/
+
+-- 
+The budget process was invented by an alien race of sadistic beings who
+resemble large cats.
+				(Scott Adams - The Dilbert principle)
+
+ /// Bram Moolenaar -- Bram at 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    ///


More information about the scm-commits mailing list