SynEdit: Initialize variables based on compiler warnings. Contains ToDo items.

git-svn-id: trunk@48478 -
This commit is contained in:
juha 2015-03-24 17:50:59 +00:00
parent c666926244
commit 4e16799fd7
21 changed files with 94 additions and 36 deletions

View File

@ -869,6 +869,7 @@ begin
{$ENDIF} {$ENDIF}
PrepareWidthsForLine(AIndex); PrepareWidthsForLine(AIndex);
Result := 0;
dec(ABytePos); dec(ABytePos);
if ABytePos < FCurrentWidthsLen then begin if ABytePos < FCurrentWidthsLen then begin
if (FCurrentWidths[ABytePos] and PCWMask) = 0 then begin if (FCurrentWidths[ABytePos] and PCWMask) = 0 then begin

View File

@ -738,7 +738,7 @@ begin
{$IFDEF WinIMEDebug} {$IFDEF WinIMEDebug}
DebugLn(['--- GCS_CURSORPOS ', dbgs(ImeCount)]); DebugLn(['--- GCS_CURSORPOS ', dbgs(ImeCount)]);
{$ENDIF} {$ENDIF}
if ImeCount >= 0 then begin if ImeCount >= 0 then begin // ToDo: Comparison is always True.
ImeCount := ImeCount and $ffff; ImeCount := ImeCount and $ffff;
x := FImeBlockSelection.StartBytePos; x := FImeBlockSelection.StartBytePos;
x := x + CharToByte(x, ImeCount); x := x + CharToByte(x, ImeCount);

View File

@ -1551,7 +1551,6 @@ var
LineBufferLen := Len + ATokenInfo.ExpandedExtraBytes + 1 + 128; LineBufferLen := Len + ATokenInfo.ExpandedExtraBytes + 1 + 128;
ReAllocMem(LineBuffer, LineBufferLen); ReAllocMem(LineBuffer, LineBufferLen);
end; end;
pl := LineBuffer;
end; end;
// Prepare FETOBuf // Prepare FETOBuf
@ -1561,9 +1560,12 @@ var
FEtoBuf := FTextDrawer.Eto; FEtoBuf := FTextDrawer.Eto;
FEtoBuf.SetMinLength(Len + ATokenInfo.ExpandedExtraBytes + 1); FEtoBuf.SetMinLength(Len + ATokenInfo.ExpandedExtraBytes + 1);
c := FTextDrawer.GetCharWidth; c := FTextDrawer.GetCharWidth;
e := 0; end
end; else
c := 0;
pl := LineBuffer;
e := 0;
CWLen := Length(CharWidths); CWLen := Length(CharWidths);
// Copy to LineBuffer (and maybe FetoBuf // Copy to LineBuffer (and maybe FetoBuf

View File

@ -805,6 +805,7 @@ end;
function TSynBeautifierPascal.GetMatchStartColForIdx(AIndex: Integer): Integer; function TSynBeautifierPascal.GetMatchStartColForIdx(AIndex: Integer): Integer;
begin begin
Result := -1;
if ToPos(AIndex) = GetFirstCommentLine then begin if ToPos(AIndex) = GetFirstCommentLine then begin
// Match on FirstLine // Match on FirstLine
case FMatchMode[FWorkFoldType] of case FMatchMode[FWorkFoldType] of
@ -1748,6 +1749,7 @@ var
FoundLine: LongInt; FoundLine: LongInt;
begin begin
Result := 1; Result := 1;
Temp := '';
FCurrentLines := Lines; // for GetCurrentIndent FCurrentLines := Lines; // for GetCurrentIndent
BackCounter := ACaret.LinePos - 1; BackCounter := ACaret.LinePos - 1;
if BackCounter > 0 then if BackCounter > 0 then

View File

@ -1895,7 +1895,9 @@ begin
if eoFoldedCopyPaste in fOptions2 then if eoFoldedCopyPaste in fOptions2 then
FInfo := FFoldedLinesView.GetFoldDescription( FInfo := FFoldedLinesView.GetFoldDescription(
FBlockSelection.FirstLineBytePos.Y - 1, FBlockSelection.FirstLineBytePos.X, FBlockSelection.FirstLineBytePos.Y - 1, FBlockSelection.FirstLineBytePos.X,
FBlockSelection.LastLineBytePos.Y - 1, FBlockSelection.LastLineBytePos.X); FBlockSelection.LastLineBytePos.Y - 1, FBlockSelection.LastLineBytePos.X)
else
FInfo := '';
DoCopyToClipboard(SelText, FInfo); DoCopyToClipboard(SelText, FInfo);
end; end;
end; end;
@ -1908,7 +1910,9 @@ begin
if eoFoldedCopyPaste in fOptions2 then if eoFoldedCopyPaste in fOptions2 then
FInfo := FFoldedLinesView.GetFoldDescription( FInfo := FFoldedLinesView.GetFoldDescription(
FBlockSelection.FirstLineBytePos.Y - 1, FBlockSelection.FirstLineBytePos.X, FBlockSelection.FirstLineBytePos.Y - 1, FBlockSelection.FirstLineBytePos.X,
FBlockSelection.LastLineBytePos.Y - 1, FBlockSelection.LastLineBytePos.X); FBlockSelection.LastLineBytePos.Y - 1, FBlockSelection.LastLineBytePos.X)
else
FInfo := '';
DoCopyToClipboard(SelText, FInfo); DoCopyToClipboard(SelText, FInfo);
SetSelTextExternal(''); SetSelTextExternal('');
end; end;

View File

@ -2680,6 +2680,7 @@ begin
if not OnlyNested then if not OnlyNested then
RemoveNode(ANode.fData); RemoveNode(ANode.fData);
NestedLine := 0;
If ANode.fData.Nested <> nil then If ANode.fData.Nested <> nil then
begin begin
(*Todo: should we mark the tree as NO balancing needed ???*) (*Todo: should we mark the tree as NO balancing needed ???*)
@ -4923,6 +4924,7 @@ var
EndLvl, CurLvl: Array of integer; EndLvl, CurLvl: Array of integer;
i, c, t, n, o: Integer; i, c, t, n, o: Integer;
nd: TSynFoldNodeInfo; nd: TSynFoldNodeInfo;
procedure GetEndLvl(l: Integer); procedure GetEndLvl(l: Integer);
var i: integer; var i: integer;
begin begin
@ -4939,11 +4941,18 @@ var
CurLvl[0] := EndLvl[0]; CurLvl[0] := EndLvl[0];
end; end;
end; end;
begin begin
hl := TSynCustomFoldHighlighter(HighLighter); hl := TSynCustomFoldHighlighter(HighLighter);
if not assigned(hl) then if not assigned(hl) then
exit; exit; // ToDo: Initialize Result
nd.LogXStart := 0;
nd.LogXEnd := 0;
nd.FoldAction := [];
nd.FoldType := Nil;
nd.FoldGroup := 0;
n := 0;
if AType <> 0 then if AType <> 0 then
TypeCnt := 1 TypeCnt := 1
else else

View File

@ -826,7 +826,7 @@ end;
function TSynEditMarkLineList.RemoveMark(Item: TSynEditMark): Integer; function TSynEditMarkLineList.RemoveMark(Item: TSynEditMark): Integer;
begin begin
if Item.MarkLine = nil then if Item.MarkLine = nil then
exit; exit(-1);
Result := Item.MarkLine.GetSizesBeforeSum; Result := Item.MarkLine.GetSizesBeforeSum;
Result := Result + Item.MarkLine.Remove(Item); Result := Result + Item.MarkLine.Remove(Item);
end; end;

View File

@ -1370,6 +1370,8 @@ var
o: TSynSearchTerm; o: TSynSearchTerm;
MatchBegin: PChar; MatchBegin: PChar;
begin begin
Len := 0;
MatchBegin := nil;
while MatchIdx >= 0 do begin while MatchIdx >= 0 do begin
o := FTermDict[MatchIdx]; o := FTermDict[MatchIdx];

View File

@ -433,6 +433,7 @@ var
cCol: integer; cCol: integer;
iIdentChars: TSynIdentChars; iIdentChars: TSynIdentChars;
begin begin
Result := '';
iString := CurrentEditor.LineText; iString := CurrentEditor.LineText;
if (CurrentEditor.CaretX > 1) and if (CurrentEditor.CaretX > 1) and
(CurrentEditor.CaretX -1 <= Length(iString)) then (CurrentEditor.CaretX -1 <= Length(iString)) then

View File

@ -1038,7 +1038,9 @@ begin
CharWidthsArr := FLines.GetPhysicalCharWidths(Pchar(L), length(L), FLinePos-1); CharWidthsArr := FLines.GetPhysicalCharWidths(Pchar(L), length(L), FLinePos-1);
LogLen := Length(CharWidthsArr); LogLen := Length(CharWidthsArr);
if LogLen > 0 then if LogLen > 0 then
CharWidths := @CharWidthsArr[0]; CharWidths := @CharWidthsArr[0]
else
CharWidths := nil;
end; end;
ScreenPos := 1; ScreenPos := 1;
@ -1522,8 +1524,7 @@ function TSynEditSelection.GetSelText : string;
end; end;
end; end;
procedure CopyAndForward(const S: string; Index, Count: Integer; var P: procedure CopyAndForward(const S: string; Index, Count: Integer; var P: PChar);
PChar);
var var
pSrc: PChar; pSrc: PChar;
SrcLen: Integer; SrcLen: Integer;
@ -1540,8 +1541,7 @@ function TSynEditSelection.GetSelText : string;
end; end;
end; end;
procedure CopyPaddedAndForward(const S: string; Index, Count: Integer; procedure CopyPaddedAndForward(const S: string; Index, Count: Integer; var P: PChar);
var P: PChar);
var var
OldP: PChar; OldP: PChar;
Len: Integer; Len: Integer;
@ -1563,9 +1563,9 @@ var
Col, Len: array of Integer; Col, Len: array of Integer;
begin begin
if not SelAvail then Result := '';
Result := '' if SelAvail then
else begin begin
if IsBackwardSel then begin if IsBackwardSel then begin
ColFrom := FEndBytePos; ColFrom := FEndBytePos;
First := FEndLinePos - 1; First := FEndLinePos - 1;
@ -2009,6 +2009,7 @@ var
begin begin
// Insert string at current position // Insert string at current position
Result := 0; Result := 0;
Str := '';
Start := PChar(Value); Start := PChar(Value);
repeat repeat
P := GetEOL(Start); P := GetEOL(Start);
@ -2701,7 +2702,9 @@ function TSynEditScreenCaretPainterSystem.HideCaret: Boolean;
begin begin
inherited HideCaret; inherited HideCaret;
if HandleAllocated then if HandleAllocated then
Result := LCLIntf.HideCaret(Handle); Result := LCLIntf.HideCaret(Handle)
else
Result := False;
end; end;
function TSynEditScreenCaretPainterSystem.ShowCaret: Boolean; function TSynEditScreenCaretPainterSystem.ShowCaret: Boolean;
@ -3000,7 +3003,7 @@ begin
if (not FCanPaint) and FIsDrawn then begin if (not FCanPaint) and FIsDrawn then begin
AddAfterPaint([psCleanOld, psRemoveTimer]); AddAfterPaint([psCleanOld, psRemoveTimer]);
FIsDrawn := False; FIsDrawn := False;
exit; exit(False);
end; end;
FOwner.PaintTimer.RemoveHandler(@DoTimer); FOwner.PaintTimer.RemoveHandler(@DoTimer);
@ -3011,7 +3014,7 @@ end;
function TSynEditScreenCaretPainterInternal.ShowCaret: Boolean; function TSynEditScreenCaretPainterInternal.ShowCaret: Boolean;
begin begin
if Showing then exit; if Showing then exit(False);
inherited ShowCaret; inherited ShowCaret;
Exclude(FState, psRemoveTimer); Exclude(FState, psRemoveTimer);
// Exclude(FState, psCleanOld); // only if not moved // Exclude(FState, psCleanOld); // only if not moved

View File

@ -1275,6 +1275,7 @@ function TSynEditStringList.EditDelete(LogX, LogY, ByteLen: Integer): String;
var var
s: string; s: string;
begin begin
Result := '';
if ByteLen <= 0 then if ByteLen <= 0 then
exit; exit;
IncIsInEditAction; IncIsInEditAction;
@ -1440,6 +1441,7 @@ begin
FModifiedNotifyOldCount := FModifiedNotifyOldCount + i; FModifiedNotifyOldCount := FModifiedNotifyOldCount + i;
end; end;
oldcount := 0;
if AReason = senrLineCount then begin if AReason = senrLineCount then begin
if aCount < 0 then begin if aCount < 0 then begin
oldcount := -aCount; oldcount := -aCount;

View File

@ -1125,6 +1125,7 @@ var
Len: Integer; Len: Integer;
SaveByteLen: LongInt; SaveByteLen: LongInt;
begin begin
Result := '';
if (not fEnabled) or (ByteLen <= 0) then begin if (not fEnabled) or (ByteLen <= 0) then begin
fSynStrings.EditDelete(LogX, LogY, ByteLen); fSynStrings.EditDelete(LogX, LogY, ByteLen);
exit; exit;
@ -1140,7 +1141,6 @@ begin
IncIsInEditAction; IncIsInEditAction;
FlushNotificationCache; FlushNotificationCache;
SaveByteLen := ByteLen; SaveByteLen := ByteLen;
Result := '';
IgnoreSendNotification(senrEditAction, True); IgnoreSendNotification(senrEditAction, True);
// Delete uncommited spaces (could also be ByteLen too big, due to past EOL) // Delete uncommited spaces (could also be ByteLen too big, due to past EOL)

View File

@ -227,6 +227,7 @@ end;
function TSynGutter.CreatePartList: TSynGutterPartListBase; function TSynGutter.CreatePartList: TSynGutterPartListBase;
begin begin
Result := nil;
case Side of case Side of
gsLeft: gsLeft:
begin begin
@ -312,7 +313,9 @@ var
begin begin
MouseDownPart := PixelToPartIndex(AnInfo.MouseX); MouseDownPart := PixelToPartIndex(AnInfo.MouseX);
if MouseDownPart < PartCount then if MouseDownPart < PartCount then
Result := Parts[MouseDownPart].MaybeHandleMouseAction(AnInfo, HandleActionProc); Result := Parts[MouseDownPart].MaybeHandleMouseAction(AnInfo, HandleActionProc)
else
Result := False;
if not Result then if not Result then
Result := inherited MaybeHandleMouseAction(AnInfo, HandleActionProc); Result := inherited MaybeHandleMouseAction(AnInfo, HandleActionProc);
end; end;

View File

@ -494,6 +494,7 @@ var
begin begin
AliasMode := Canvas.AntialiasingMode; AliasMode := Canvas.AntialiasingMode;
Canvas.AntialiasingMode:=amOff; Canvas.AntialiasingMode:=amOff;
OdlCosmetic := False;
if nsoLostHl in SubType then begin if nsoLostHl in SubType then begin
Canvas.Pen.Style := psDot; Canvas.Pen.Style := psDot;
OdlCosmetic := Canvas.Pen.Cosmetic; OdlCosmetic := Canvas.Pen.Cosmetic;

View File

@ -740,7 +740,9 @@ begin
Insert(i, LMarks); Insert(i, LMarks);
end; end;
if i >= 0 then if i >= 0 then
Result := Items[i]; Result := Items[i]
else
Result := nil;
end; end;
procedure TSynGutterLOvLineMarksList.SetItemHeight(const AValue: Integer); procedure TSynGutterLOvLineMarksList.SetItemHeight(const AValue: Integer);

View File

@ -2769,7 +2769,7 @@ end;
function TSynHTMLSyn.StartHtmlNodeCodeFoldBlock(ABlockType: THtmlCodeFoldBlockType; function TSynHTMLSyn.StartHtmlNodeCodeFoldBlock(ABlockType: THtmlCodeFoldBlockType;
OpenPos: Integer; AName: String): TSynCustomCodeFoldBlock; OpenPos: Integer; AName: String): TSynCustomCodeFoldBlock;
begin begin
if not FFoldConfig[ord(cfbtHtmlNode)].Enabled then exit; if not FFoldConfig[ord(cfbtHtmlNode)].Enabled then exit(nil);
Result := inherited StartXmlNodeCodeFoldBlock(ord(ABlockType), OpenPos, AName); Result := inherited StartXmlNodeCodeFoldBlock(ord(ABlockType), OpenPos, AName);
end; end;

View File

@ -713,7 +713,9 @@ begin
NewVLine := NewVLine + s.EndPos.y - s.StartPos.y; NewVLine := NewVLine + s.EndPos.y - s.StartPos.y;
LastEnd := s.EndPos.y; LastEnd := s.EndPos.y;
end; end;
end; end
else
LastVline := 0; // ToDo: Initialize LastVline properly.
if VDiff = 0 then if VDiff = 0 then
VDiff := Count - FRScanStartedWithLineCount; VDiff := Count - FRScanStartedWithLineCount;
if VDiff < 0 then begin if VDiff < 0 then begin
@ -1141,7 +1143,9 @@ begin
CurRegStart.y := 0; CurRegStart.y := 0;
CurRegStart.x := 1; CurRegStart.x := 1;
CurRegTokenPos := 1; CurRegTokenPos := 1;
end; end
else
CurRegTokenPos := 0;
StartAtLineIndex(Result); // Set FCurScheme StartAtLineIndex(Result); // Set FCurScheme
dec(Result); dec(Result);
@ -1165,6 +1169,7 @@ begin
else begin else begin
// Find new start of a Scheme // Find new start of a Scheme
NewSearchPos := -1; NewSearchPos := -1;
j := 0;
for i := 0 to Schemes.Count - 1 do begin for i := 0 to Schemes.Count - 1 do begin
TmpSearchPos := Schemes.Items[i].FindStartPosInLine(SearchPos); TmpSearchPos := Schemes.Items[i].FindStartPosInLine(SearchPos);
if (NewSearchPos < 0) or ((TmpSearchPos > 0) and (TmpSearchPos < NewSearchPos)) then begin if (NewSearchPos < 0) or ((TmpSearchPos > 0) and (TmpSearchPos < NewSearchPos)) then begin

View File

@ -3287,7 +3287,13 @@ begin
exit; exit;
if AFilter.FoldGroup in [0, FOLDGROUP_REGION, FOLDGROUP_IFDEF] then if AFilter.FoldGroup in [0, FOLDGROUP_REGION, FOLDGROUP_IFDEF] then
inf := TSynHighlighterPasRangeList(CurrentRanges).PasRangeInfo[ALineIndex]; inf := TSynHighlighterPasRangeList(CurrentRanges).PasRangeInfo[ALineIndex]
else begin
inf.EndLevelIfDef := 0;
inf.MinLevelIfDef := 0;
inf.EndLevelRegion := 0;
inf.MinLevelRegion := 0;
end;
if AFilter.FoldGroup in [0, FOLDGROUP_PASCAL] then begin if AFilter.FoldGroup in [0, FOLDGROUP_PASCAL] then begin
// All or Pascal // All or Pascal
@ -3337,7 +3343,13 @@ begin
exit; exit;
if AFilter.FoldGroup in [0, FOLDGROUP_REGION, FOLDGROUP_IFDEF] then if AFilter.FoldGroup in [0, FOLDGROUP_REGION, FOLDGROUP_IFDEF] then
inf := TSynHighlighterPasRangeList(CurrentRanges).PasRangeInfo[ALineIndex]; inf := TSynHighlighterPasRangeList(CurrentRanges).PasRangeInfo[ALineIndex]
else begin
inf.EndLevelIfDef := 0;
inf.MinLevelIfDef := 0;
inf.EndLevelRegion := 0;
inf.MinLevelRegion := 0;
end;
if AFilter.FoldGroup in [0, FOLDGROUP_PASCAL] then begin if AFilter.FoldGroup in [0, FOLDGROUP_PASCAL] then begin
// All or Pascal // All or Pascal
@ -3761,7 +3773,7 @@ var
begin begin
BlockEnabled := FFoldConfig[ord(ABlockType)].Enabled; BlockEnabled := FFoldConfig[ord(ABlockType)].Enabled;
if (not BlockEnabled) and OnlyEnabled then if (not BlockEnabled) and OnlyEnabled then
exit; exit(nil);
FoldBlock := BlockEnabled and (FFoldConfig[ord(ABlockType)].Modes * [fmFold, fmHide] <> []); FoldBlock := BlockEnabled and (FFoldConfig[ord(ABlockType)].Modes * [fmFold, fmHide] <> []);
p := 0; p := 0;
if FCatchNodeInfo then begin // exclude subblocks, because they do not increase the foldlevel yet if FCatchNodeInfo then begin // exclude subblocks, because they do not increase the foldlevel yet
@ -3848,7 +3860,9 @@ var
nd: PSynFoldNodeInfo; nd: PSynFoldNodeInfo;
begin begin
if FCatchNodeInfo then if FCatchNodeInfo then
i := FCatchNodeInfoList.CountAll; i := FCatchNodeInfoList.CountAll
else
i := 0;
EndPascalCodeFoldBlock; EndPascalCodeFoldBlock;
if FAtLineStart then begin if FAtLineStart then begin
// If we are not at linestart, new folds could have been opened => handle as normal close // If we are not at linestart, new folds could have been opened => handle as normal close

View File

@ -962,7 +962,7 @@ end;
function TSynXMLSyn.StartXmlNodeCodeFoldBlock(ABlockType: TXmlCodeFoldBlockType; function TSynXMLSyn.StartXmlNodeCodeFoldBlock(ABlockType: TXmlCodeFoldBlockType;
OpenPos: Integer; AName: String): TSynCustomCodeFoldBlock; OpenPos: Integer; AName: String): TSynCustomCodeFoldBlock;
begin begin
if not FFoldConfig[ord(cfbtXmlNode)].Enabled then exit; if not FFoldConfig[ord(cfbtXmlNode)].Enabled then exit(nil);
Result := inherited StartXmlNodeCodeFoldBlock(ord(ABlockType), OpenPos, AName); Result := inherited StartXmlNodeCodeFoldBlock(ord(ABlockType), OpenPos, AName);
end; end;

View File

@ -1582,7 +1582,9 @@ begin
if (y1 < 0) or (y1 > Editor.LinesInWindow + 1) then if (y1 < 0) or (y1 > Editor.LinesInWindow + 1) then
y := -1; // not visible y := -1; // not visible
if y > 1 then if y > 1 then
y2 := Editor.RowToScreenRow(y-1); y2 := Editor.RowToScreenRow(y-1)
else
y2 := 0;
if (y > 0) and (y1 <> y2) or (y=1) then begin if (y > 0) and (y1 <> y2) or (y=1) then begin
if Carets.Visual[Result] = nil then if Carets.Visual[Result] = nil then
@ -1633,7 +1635,9 @@ begin
end; end;
if y > 1 then if y > 1 then
y2 := Editor.RowToScreenRow(y-1); y2 := Editor.RowToScreenRow(y-1)
else
y2 := 0;
if (y1 <> y2) or (y=1) then begin if (y1 <> y2) or (y=1) then begin
if Carets.Visual[i] = nil then if Carets.Visual[i] = nil then

View File

@ -2245,6 +2245,8 @@ function TRegExpr.ParseAtom (out flagp : integer) : PRegExprChar;
begin begin
Result := nil; Result := nil;
flagp := WORST; // Tentatively. flagp := WORST; // Tentatively.
RangeBeg := #0;
ret := nil;
inc (regparse); inc (regparse);
case (regparse - 1)^ of case (regparse - 1)^ of
@ -3545,6 +3547,7 @@ function TRegExpr.ExecNext : boolean;
function TRegExpr.GetInputString : RegExprString; function TRegExpr.GetInputString : RegExprString;
begin begin
Result := '';
if not Assigned (fInputString) then begin if not Assigned (fInputString) then begin
Error (reeGetInputStringWithoutInputString); Error (reeGetInputStringWithoutInputString);
EXIT; EXIT;
@ -3695,6 +3698,7 @@ var
end; end;
begin begin
Result := '';
// Check programm and input string // Check programm and input string
if not IsProgrammOk if not IsProgrammOk
then EXIT; then EXIT;
@ -3704,10 +3708,8 @@ begin
end; end;
// Prepare for working // Prepare for working
TemplateLen := length (ATemplate); TemplateLen := length (ATemplate);
if TemplateLen = 0 then begin // prevent nil pointers if TemplateLen = 0 then // prevent nil pointers
Result := '';
EXIT; EXIT;
end;
TemplateBeg := pointer (ATemplate); TemplateBeg := pointer (ATemplate);
TemplateEnd := TemplateBeg + TemplateLen; TemplateEnd := TemplateBeg + TemplateLen;
// Count result length for speed optimization. // Count result length for speed optimization.
@ -3896,6 +3898,7 @@ function TRegExpr.Replace (AInputStr : RegExprString;
function TRegExpr.DumpOp (op : TREOp) : RegExprString; function TRegExpr.DumpOp (op : TREOp) : RegExprString;
// printable representation of opcode // printable representation of opcode
begin begin
Result := '';
case op of case op of
BOL: Result := 'BOL'; BOL: Result := 'BOL';
EOL: Result := 'EOL'; EOL: Result := 'EOL';
@ -3962,11 +3965,11 @@ function TRegExpr.Dump : RegExprString;
Ch : REChar; Ch : REChar;
{$ENDIF} {$ENDIF}
begin begin
Result := '';
if not IsProgrammOk //###0.929 if not IsProgrammOk //###0.929
then EXIT; then EXIT;
op := EXACTLY; op := EXACTLY;
Result := '';
s := programm + REOpSz; s := programm + REOpSz;
while op <> EEND do begin // While that wasn't END last time... while op <> EEND do begin // While that wasn't END last time...
op := s^; op := s^;