anchor.diff:  
     if Assigned(FOnComment) then
     begin
  -    SetString(CommentText, PChar(@FBuffer.Buf[BeginRun]), FBuffer.Run - BeginRun);
  +    SetString(CommentText, PChar(@FBuffer.Buf[BeginRun]), FBuffer.Run - BeginRun - 2);
       FOnComment(Self, CommentText);
     end;
   end;
   
   procedure TmwBasePasLex.RoundOpenProc;
  -begin
  +var
  +  BeginRun: Integer;
  +  CommentText: string;
  +begin
  +  BeginRun := FBuffer.Run + 2;
     Inc(FBuffer.Run);
     case FBuffer.Buf[FBuffer.Run] of
       '*':
  
positive.code: 
    if Assigned(FOnComment) then
    begin
      SetString(CommentText, PChar(@FBuffer.Buf[BeginRun]), FBuffer.Run - BeginRun);
      FOnComment(Self, CommentText);
    end;
  end;
  
  procedure TmwBasePasLex.BraceOpenProc;
  begin
    case FBuffer.Buf[FBuffer.Run + 1] of
      '$': FTokenID := GetDirectiveKind;
  
negative.code:       FCommentState := csBor;
      end;
    end;
  
    Inc(FBuffer.Run);
    BeginRun := FBuffer.Run;
    while FBuffer.Buf[FBuffer.Run] <> #0 do
      case FBuffer.Buf[FBuffer.Run] of
        '}':
  