anchor.diff:      // no args
       exit;
     end;
  -  Inc(P);
  +  IncP;
     idx := 0;
     while (not (P^ in [')', #0])) do begin
       arg := ConsumeTokensTill([',', ')']);
  
positive.code:     if (P^ = CALL_MACRO_CHAR) then begin
        SetString(res, StartP, P-StartP);
        result := result+res;
        Inc(P);
        result := result+ProcMacro();
        StartP := P;
      end
      else begin
        Inc(P);
      end;
    end;
    if (P <> StartP) then begin
  
negative.code: begin
    wrapped := false;
    if (P^ = '{') then begin
      IncP;
      wrapped := true;
    end;
    Start := P;
    while (P^ in ['0'..'9', 'a'..'z', 'A'..'Z', '_', '#', #0]) do begin
      IncP;
    end;
    SetString(result, Start, P-Start);
    if (wrapped) then begin
  