anchor.diff:          beginString();
           int sliceEnd = position - 1;
           if (start < sliceEnd) addSliceToString(start, sliceEnd);
  -        return parseStringToBuffer(position - 1);
  +        return parseStringToBuffer(sliceEnd);
         }
         if (char == QUOTE) {
  -        listener.handleString(getString(start, position - 1));
  +        listener.handleString(getString(start, position - 1, bits));
           return position;
         }
         if (char < SPACE) {
  
positive.code: 
    int getChar(int position) => chunk[position];
  
    String getString(int start, int end) {
      beginString();
      if (start < end) addSliceToString(start, end);
      String result = endString();
  
negative.code:     // Initial position is right after first '"'.
      int start = position;
      int end = chunkEnd;
      int bits = 0;
      while (position < end) {
        int char = getChar(position++);
        bits |= char;  // Includes final '"', but that never matters.
        // BACKSLASH is larger than QUOTE and SPACE.
        if (char > BACKSLASH) {
          continue;
  