Karsten Hopp d0fa66
To: vim_dev@googlegroups.com
Karsten Hopp d0fa66
Subject: Patch 7.3.1016
Karsten Hopp d0fa66
Fcc: outbox
Karsten Hopp d0fa66
From: Bram Moolenaar <Bram@moolenaar.net>
Karsten Hopp d0fa66
Mime-Version: 1.0
Karsten Hopp d0fa66
Content-Type: text/plain; charset=UTF-8
Karsten Hopp d0fa66
Content-Transfer-Encoding: 8bit
Karsten Hopp d0fa66
------------
Karsten Hopp d0fa66
Karsten Hopp d0fa66
Patch 7.3.1016
Karsten Hopp d0fa66
Problem:    Unused field in nfa_state.
Karsten Hopp d0fa66
Solution:   Remove lastthread.
Karsten Hopp d0fa66
Files:	    src/regexp.h, src/regexp_nfa.c
Karsten Hopp d0fa66
Karsten Hopp d0fa66
Karsten Hopp d0fa66
*** ../vim-7.3.1015/src/regexp.h	2013-05-19 19:16:25.000000000 +0200
Karsten Hopp d0fa66
--- src/regexp.h	2013-05-25 15:23:33.000000000 +0200
Karsten Hopp d0fa66
***************
Karsten Hopp d0fa66
*** 74,80 ****
Karsten Hopp d0fa66
      int			id;
Karsten Hopp d0fa66
      int			lastlist;
Karsten Hopp d0fa66
      int			visits;
Karsten Hopp d0fa66
-     thread_T		*lastthread;
Karsten Hopp d0fa66
      int			negated;
Karsten Hopp d0fa66
  };
Karsten Hopp d0fa66
  
Karsten Hopp d0fa66
--- 74,79 ----
Karsten Hopp d0fa66
*** ../vim-7.3.1015/src/regexp_nfa.c	2013-05-25 14:41:58.000000000 +0200
Karsten Hopp d0fa66
--- src/regexp_nfa.c	2013-05-25 15:23:28.000000000 +0200
Karsten Hopp d0fa66
***************
Karsten Hopp d0fa66
*** 1865,1880 ****
Karsten Hopp d0fa66
      /* grow indent for state->out */
Karsten Hopp d0fa66
      indent->ga_len -= 1;
Karsten Hopp d0fa66
      if (state->out1)
Karsten Hopp d0fa66
! 	ga_concat(indent, "| ");
Karsten Hopp d0fa66
      else
Karsten Hopp d0fa66
! 	ga_concat(indent, "  ");
Karsten Hopp d0fa66
      ga_append(indent, '\0');
Karsten Hopp d0fa66
  
Karsten Hopp d0fa66
      nfa_print_state2(debugf, state->out, indent);
Karsten Hopp d0fa66
  
Karsten Hopp d0fa66
      /* replace last part of indent for state->out1 */
Karsten Hopp d0fa66
      indent->ga_len -= 3;
Karsten Hopp d0fa66
!     ga_concat(indent, "  ");
Karsten Hopp d0fa66
      ga_append(indent, '\0');
Karsten Hopp d0fa66
  
Karsten Hopp d0fa66
      nfa_print_state2(debugf, state->out1, indent);
Karsten Hopp d0fa66
--- 1865,1880 ----
Karsten Hopp d0fa66
      /* grow indent for state->out */
Karsten Hopp d0fa66
      indent->ga_len -= 1;
Karsten Hopp d0fa66
      if (state->out1)
Karsten Hopp d0fa66
! 	ga_concat(indent, (char_u *)"| ");
Karsten Hopp d0fa66
      else
Karsten Hopp d0fa66
! 	ga_concat(indent, (char_u *)"  ");
Karsten Hopp d0fa66
      ga_append(indent, '\0');
Karsten Hopp d0fa66
  
Karsten Hopp d0fa66
      nfa_print_state2(debugf, state->out, indent);
Karsten Hopp d0fa66
  
Karsten Hopp d0fa66
      /* replace last part of indent for state->out1 */
Karsten Hopp d0fa66
      indent->ga_len -= 3;
Karsten Hopp d0fa66
!     ga_concat(indent, (char_u *)"  ");
Karsten Hopp d0fa66
      ga_append(indent, '\0');
Karsten Hopp d0fa66
  
Karsten Hopp d0fa66
      nfa_print_state2(debugf, state->out1, indent);
Karsten Hopp d0fa66
***************
Karsten Hopp d0fa66
*** 1948,1954 ****
Karsten Hopp d0fa66
  
Karsten Hopp d0fa66
      s->id   = istate;
Karsten Hopp d0fa66
      s->lastlist = 0;
Karsten Hopp d0fa66
-     s->lastthread = NULL;
Karsten Hopp d0fa66
      s->visits = 0;
Karsten Hopp d0fa66
      s->negated = FALSE;
Karsten Hopp d0fa66
  
Karsten Hopp d0fa66
--- 1948,1953 ----
Karsten Hopp d0fa66
***************
Karsten Hopp d0fa66
*** 2498,2503 ****
Karsten Hopp d0fa66
--- 2497,2503 ----
Karsten Hopp d0fa66
  {
Karsten Hopp d0fa66
      regsub_T		save;
Karsten Hopp d0fa66
      int			subidx = 0;
Karsten Hopp d0fa66
+     thread_T		*lastthread;
Karsten Hopp d0fa66
  
Karsten Hopp d0fa66
      if (l == NULL || state == NULL)
Karsten Hopp d0fa66
  	return;
Karsten Hopp d0fa66
***************
Karsten Hopp d0fa66
*** 2531,2539 ****
Karsten Hopp d0fa66
  	    {
Karsten Hopp d0fa66
  		/* add the state to the list */
Karsten Hopp d0fa66
  		state->lastlist = lid;
Karsten Hopp d0fa66
! 		state->lastthread = &l->t[l->n++];
Karsten Hopp d0fa66
! 		state->lastthread->state = state;
Karsten Hopp d0fa66
! 		state->lastthread->sub = *m;
Karsten Hopp d0fa66
  	    }
Karsten Hopp d0fa66
      }
Karsten Hopp d0fa66
  
Karsten Hopp d0fa66
--- 2531,2539 ----
Karsten Hopp d0fa66
  	    {
Karsten Hopp d0fa66
  		/* add the state to the list */
Karsten Hopp d0fa66
  		state->lastlist = lid;
Karsten Hopp d0fa66
! 		lastthread = &l->t[l->n++];
Karsten Hopp d0fa66
! 		lastthread->state = state;
Karsten Hopp d0fa66
! 		lastthread->sub = *m;
Karsten Hopp d0fa66
  	    }
Karsten Hopp d0fa66
      }
Karsten Hopp d0fa66
  
Karsten Hopp d0fa66
***************
Karsten Hopp d0fa66
*** 2983,2989 ****
Karsten Hopp d0fa66
  	fprintf(log_fd, ">>> Reginput is \"%s\"\n", reginput);
Karsten Hopp d0fa66
  	fprintf(log_fd, ">>> Advanced one character ... Current char is %c (code %d) \n", c, (int)c);
Karsten Hopp d0fa66
  	fprintf(log_fd, ">>> Thislist has %d states available: ", thislist->n);
Karsten Hopp d0fa66
! 	for (i = 0; i< thislist->n; i++)
Karsten Hopp d0fa66
  	    fprintf(log_fd, "%d  ", abs(thislist->t[i].state->id));
Karsten Hopp d0fa66
  	fprintf(log_fd, "\n");
Karsten Hopp d0fa66
  #endif
Karsten Hopp d0fa66
--- 2983,2989 ----
Karsten Hopp d0fa66
  	fprintf(log_fd, ">>> Reginput is \"%s\"\n", reginput);
Karsten Hopp d0fa66
  	fprintf(log_fd, ">>> Advanced one character ... Current char is %c (code %d) \n", c, (int)c);
Karsten Hopp d0fa66
  	fprintf(log_fd, ">>> Thislist has %d states available: ", thislist->n);
Karsten Hopp d0fa66
! 	for (i = 0; i < thislist->n; i++)
Karsten Hopp d0fa66
  	    fprintf(log_fd, "%d  ", abs(thislist->t[i].state->id));
Karsten Hopp d0fa66
  	fprintf(log_fd, "\n");
Karsten Hopp d0fa66
  #endif
Karsten Hopp d0fa66
***************
Karsten Hopp d0fa66
*** 3690,3696 ****
Karsten Hopp d0fa66
  	prog->state[i].id = i;
Karsten Hopp d0fa66
  	prog->state[i].lastlist = 0;
Karsten Hopp d0fa66
  	prog->state[i].visits = 0;
Karsten Hopp d0fa66
- 	prog->state[i].lastthread = NULL;
Karsten Hopp d0fa66
      }
Karsten Hopp d0fa66
  
Karsten Hopp d0fa66
      retval = nfa_regtry(prog->start, col);
Karsten Hopp d0fa66
--- 3690,3695 ----
Karsten Hopp d0fa66
*** ../vim-7.3.1015/src/version.c	2013-05-25 14:41:58.000000000 +0200
Karsten Hopp d0fa66
--- src/version.c	2013-05-25 15:28:53.000000000 +0200
Karsten Hopp d0fa66
***************
Karsten Hopp d0fa66
*** 730,731 ****
Karsten Hopp d0fa66
--- 730,733 ----
Karsten Hopp d0fa66
  {   /* Add new patch number below this line */
Karsten Hopp d0fa66
+ /**/
Karsten Hopp d0fa66
+     1016,
Karsten Hopp d0fa66
  /**/
Karsten Hopp d0fa66
Karsten Hopp d0fa66
-- 
Karsten Hopp d0fa66
For large projects, Team Leaders use sophisticated project management software
Karsten Hopp d0fa66
to keep track of who's doing what.  The software collects the lies and guesses
Karsten Hopp d0fa66
of the project team and organizes them in to instantly outdated charts that
Karsten Hopp d0fa66
are too boring to look at closely.  This is called "planning".
Karsten Hopp d0fa66
				(Scott Adams - The Dilbert principle)
Karsten Hopp d0fa66
Karsten Hopp d0fa66
 /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net   \\\
Karsten Hopp d0fa66
///        sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
Karsten Hopp d0fa66
\\\  an exciting new programming language -- http://www.Zimbu.org        ///
Karsten Hopp d0fa66
 \\\            help me help AIDS victims -- http://ICCF-Holland.org    ///