 
 



 
		
		 
 A line consisting just of AGAIN does only one action.
For example: One way is to splice what follows AGAIN onto the end of
buffer3 in Parser_parse, instead of simply copying buffer3 back.
Add the following: before: 
					
			
		
				 
		About Patches   
				
					 
			Issue L61111     [previous patch]
					
    
     Multiple AGAINs treated as one 
        Submitted by: Cedric Knight
            Appeared in: Library 6/11 or before
            Fixed in: -
    Problem 
   >Z
  Time passes.
  >G.G.G
  Time passes.
  >Z.G.G
  Time passes.
  Time passes.
  Time passes.
>
    Solution 
   if (WordAddress(verb_wordnum) == buffer + WORDSIZE) { ! not held back
      ! splice rest of buffer onto end of buffer3
      #Ifdef TARGET_ZCODE;
      i = buffer3->1;
      #Ifnot; ! TARGET_GLULX
      i = buffer3-->0;
      #Endif;
      while (buffer3->(i + WORDSIZE - 1) == ' ' or '.')
          i--;
      j = i - WordLength(verb_wordnum);  ! amount to move buffer up by
      if (j > 0) {
          for (m=INPUT_BUFFER_LEN-1 : m>=WORDSIZE+j : m--)
              buffer->m = buffer->(m-j);
          #Ifdef TARGET_ZCODE;
          buffer->1 = buffer->1 + j;
          #Ifnot; ! TARGET_GLULX
          buffer-->0 = buffer-->0 + j;
          #Endif;
          }
      for (m=WORDSIZE : m<WORDSIZE+i : m++) buffer->m = buffer3->m;
      if (j < 0) for (:m<WORDSIZE+i-j : m++) buffer->m = ' ';
  }
  else
  for (i=0 : i<INPUT_BUFFER_LEN : i++) buffer->i = buffer3->i;
    
						
					
					
					
					
  
    Last updated 17 April 2013.
  
  This site is no longer supported; information may be out of date.
  Maintained as a historical archive by the Interactive Fiction Technology Foundation.
  Copyright 1993-2018 IFTF, CC-BY-SA unless otherwise noted.
  
    This page was originally managed by Roger Firth.