       i += 1
     }
     if i > savei {
-      r = i - savei
-      if consume {
-        currentIndex = i
-      }
-    }
-    return r
+      if consume {
+        currentIndex = i
+      }
+      return i - savei
+    }
+    return -1
   }
 
   public mutating func eatSpaceTab() -> Bool {

      i += 1
    }
    if i > savei {
      r = i - savei
      if consume {
        currentIndex = i
      }
    }
    return r
  }

  public mutating func seekContext(fn: (c: UInt8) -> Bool) -> Bool {

      i += 1
    }
    if i > savei {
      if consume {
        currentIndex = i
      }
      return i - savei
    }
    return -1
  }

  public mutating func skipToEnd() -> Bool {
