anchor.diff:    begin
       if (rkBlockDoc2 in fCurrRange.rangeKinds) then fTokKind := tkDDocs
         else fTokKind := tkCommt;
  +    if readUntil(reader, fTokStop, '/+') then
  +      inc(fCurrRange.nestedCommentsCount)
  +    else readerReset;
       if readUntil(reader, fTokStop, '+/') then
       begin
  +      dec(fCurrRange.nestedCommentsCount);
  +      if fCurrRange.nestedCommentsCount <> 0 then
  +        exit;
         fCurrRange.rangeKinds -= [rkBlockDoc2, rkBlockCom2];
  -
         if fkComments2 in fFoldKinds then
           EndCodeFoldBlock;
         exit;
  
positive.code:   // block comments 2
    if fCurrRange.rangeKinds = [] then if readDelim(reader, fTokStop, '/+') then
    begin
      if readDelim(reader, fTokStop, '+') then fTokKind := tkDDocs
        else fTokKind := tkCommt;
      if readUntil(reader, fTokStop, '+/') then
        exit;
      if fTokKind = tkDDocs then fCurrRange.rangeKinds += [rkBlockDoc2]
        else fCurrRange.rangeKinds += [rkBlockCom2];
      readLine(reader, fTokStop);
  
negative.code: 
  //TODO-cnumber literals: stricter, separate parser for each form (bin,dec,hex,float,etc)
  //TODO-cstring literals: delimited strings.
  //TODO-ccomments: nested comments with multiple nesting on the same line.
  //TODO-cfeature: something like pascal {$region} : /*folder blabla*/  /*endfolder*/
  
  {$BOOLEVAL ON}
  