anchor.diff:    result := fLineBuf[fTokStop-1];
   end;
   
  +function TSynD2Syn.readPrevPrev: Char; {$IFNDEF DEBUG}inline;{$ENDIF}
  +begin
  +  result := fLineBuf[fTokStop-2];
  +end;
  +
   
   //TODO-crange: asm range.
   //TODO-cnumber literals: stricter.
   //TODO-cnumber literals: binary.
   //TODO-cstring literals: delimited strings.
   //TODO-cstring literals: token strings.
  -//TODO-cstring literals: escape bug: std.path/std.regex: "\\"
   //TODO-ccomments: correct nested comments handling.
  -//TODO-cidea: something like pascal {$region} : /*folder blabla*/  /*endfolder*/
  +//TODO-cfeature: something like pascal {$region} : /*folder blabla*/  /*endfolder*/
   
   {$BOOLEVAL ON}
   procedure TSynD2Syn.next;
  
positive.code:       end;
      end;
      // go to end of string/eol
      while (((readNext <> '"') or (readPrev = '\')) and (not (readCurr = #10))) do (*!*);
      if (readCurr = #10) then fRange := rkString1
      else
      begin
  
negative.code:     function readNext: Char;
      function readCurr: Char;
      function readPrev: Char;
      function readPrevPrev: Char;
      procedure setFoldKinds(aValue: TFoldKinds);
      procedure setWhiteAttrib(aValue: TSynHighlighterAttributes);
      procedure setNumbrAttrib(aValue: TSynHighlighterAttributes);
  