* fixes from gabor

This commit is contained in:
peter 1999-07-28 23:11:17 +00:00
parent cb52b0ac0a
commit f58e010de1
9 changed files with 142 additions and 88 deletions

View File

@ -315,10 +315,14 @@ end;
procedure TDebugController.Continue;
begin
{$ifdef NODEBUG}
NoDebugger;
{$else}
if not debuggee_started then
Run
else
inherited Continue;
{$endif NODEBUG}
end;
procedure TDebugController.UntilReturn;
@ -1948,7 +1952,10 @@ end.
{
$Log$
Revision 1.22 1999-07-12 13:14:15 pierre
Revision 1.23 1999-07-28 23:11:17 peter
* fixes from gabor
Revision 1.22 1999/07/12 13:14:15 pierre
* LineEnd bug corrected, now goes end of text even if selected
+ Until Return for debugger
+ Code for Quit inside GDB Window

View File

@ -90,7 +90,7 @@ begin
{$ifndef DEV}Exit;{$endif}
F^.CreateResource(resDesktopFlags,rcBinary,0);
F^.AddResourceEntry(resDesktopFlags,langDefault,0,@DesktopFileFlags,
F^.AddResourceEntry(resDesktopFlags,langDefault,0,DesktopFileFlags,
SizeOf(DesktopFileFlags));
end;
@ -137,7 +137,10 @@ end;
END.
{
$Log$
Revision 1.5 1999-06-30 23:58:13 pierre
Revision 1.6 1999-07-28 23:11:18 peter
* fixes from gabor
Revision 1.5 1999/06/30 23:58:13 pierre
+ BreakpointsList Window implemented
with Edit/New/Delete functions
+ Individual breakpoint dialog with support for all types

View File

@ -48,6 +48,9 @@ end;
procedure TIDEApp.DoShowBreakpointList;
begin
{$ifdef NODEBUG}
NoDebugger;
{$else}
If assigned(BreakpointsWindow) then
begin
BreakpointsWindow^.Update;
@ -59,10 +62,14 @@ begin
New(BreakpointsWindow,Init);
Desktop^.Insert(BreakpointsWindow);
end;
{$endif NODEBUG}
end;
procedure TIDEApp.DoShowWatches;
begin
{$ifdef NODEBUG}
NoDebugger;
{$else}
If assigned(WatchesWindow) then
begin
WatchesWindow^.Update;
@ -73,9 +80,15 @@ begin
New(WatchesWindow,Init);
Desktop^.Insert(WatchesWindow);
end;
{$endif NODEBUG}
end;
procedure TIDEApp.DoAddWatch;
{$ifdef NODEBUG}
begin
NoDebugger;
end;
{$else}
var
P: PWatch;
EditorWindow : PSourceWindow;
@ -95,10 +108,14 @@ begin
else
dispose(P,Done);
end;
{$endif NODEBUG}
{
$Log$
Revision 1.6 1999-07-10 01:24:19 pierre
Revision 1.7 1999-07-28 23:11:19 peter
* fixes from gabor
Revision 1.6 1999/07/10 01:24:19 pierre
+ First implementation of watches window
Revision 1.5 1999/06/30 23:58:17 pierre

View File

@ -98,7 +98,6 @@ begin
{$endif NODEBUG}
end;
procedure TIDEApp.DoRun;
begin
if (not ExistsFile(ExeFile)) or (CompilationPhase<>cpDone) then
@ -239,7 +238,10 @@ end;
{
$Log$
Revision 1.16 1999-07-12 13:14:19 pierre
Revision 1.17 1999-07-28 23:11:20 peter
* fixes from gabor
Revision 1.16 1999/07/12 13:14:19 pierre
* LineEnd bug corrected, now goes end of text even if selected
+ Until Return for debugger
+ Code for Quit inside GDB Window

View File

@ -95,7 +95,7 @@ begin
OpenSymbolBrowser(0,0,'Units','Global scope',nil,S,nil,nil,nil);
end;
function SymbolDialog(const S : string) : PDialog;
function SymbolDialog(S : string) : PDialog;
var D: PDialog;
R,R1,R2: TRect;
IL: PInputLine;
@ -137,7 +137,10 @@ end;
{
$Log$
Revision 1.10 1999-06-29 12:49:55 pierre
Revision 1.11 1999-07-28 23:11:21 peter
* fixes from gabor
Revision 1.10 1999/06/29 12:49:55 pierre
* SearchSymbol works
Revision 1.9 1999/06/28 19:32:22 peter

View File

@ -1160,7 +1160,10 @@ end;
END.
{
$Log$
Revision 1.17 1999-06-28 12:35:05 pierre
Revision 1.18 1999-07-28 23:11:22 peter
* fixes from gabor
Revision 1.17 1999/06/28 12:35:05 pierre
+ CloseAllBrowsers needed before compilation to avoid problems
+ ModulesCollection and GlobalsCollection to avoid memory leaks

View File

@ -1505,7 +1505,10 @@ end;
END.
{
$Log$
Revision 1.11 1999-07-12 13:14:21 pierre
Revision 1.12 1999-07-28 23:11:24 peter
* fixes from gabor
Revision 1.11 1999/07/12 13:14:21 pierre
* LineEnd bug corrected, now goes end of text even if selected
+ Until Return for debugger
+ Code for Quit inside GDB Window

View File

@ -33,19 +33,19 @@ type
const ClipboardWindow : PClipboardWindow = nil;
CalcWindow : PCalculator = nil;
RecentFileCount : integer = 0;
OpenExts : string[80] = '*.pas;*.pp;*.inc';
HighlightExts : string[80] = '*.pas;*.pp;*.inc';
OpenExts : string{$ifdef GABOR}[24]{$endif} = '*.pas;*.pp;*.inc';
HighlightExts : string{$ifdef GABOR}[24]{$endif} = '*.pas;*.pp;*.inc';
TabsPattern : string{$ifdef GABOR}[30]{$endif} = 'make*;make*.*';
SourceDirs : string{$ifdef GABOR}[30]{$endif} = '';
PrimaryFile : string{$ifdef GABOR}[80]{$endif} = '';
PrimaryFileMain : string{$ifdef GABOR}[80]{$endif} = '';
PrimaryFile : string{$ifdef GABOR}[60]{$endif} = '';
PrimaryFileMain : string{$ifdef GABOR}[60]{$endif} = '';
PrimaryFileSwitches : string{$ifdef GABOR}[30]{$endif} = '';
PrimaryFilePara : string = '';
PrimaryFilePara : string{$ifdef GABOR}[40]{$endif} = '';
GDBOutputFile : string{$ifdef GABOR}[30]{$endif} = 'gdb$$$.txt';
IsEXECompiled : boolean = false;
LinkAfter : boolean = true;
MainFile : string{$ifdef GABOR}[80]{$endif} = '';
EXEFile : string{$ifdef GABOR}[80]{$endif} = '';
MainFile : string{$ifdef GABOR}[60]{$endif} = '';
EXEFile : string{$ifdef GABOR}[60]{$endif} = '';
CompilationPhase : TCompPhase = cpNothing;
ProgramInfoWindow: PProgramInfoWindow = nil;
GDBWindow : PGDBWindow = nil;
@ -55,16 +55,16 @@ const ClipboardWindow : PClipboardWindow = nil;
HeapView : PFPHeapView = nil;
HelpFiles : WUtils.PUnsortedStringCollection = nil;
ShowStatusOnError: boolean = true;
StartupDir : string = '.'+DirSep;
IDEDir : string = '.'+DirSep;
INIPath : string = ININame;
SwitchesPath : string = SwitchesName;
StartupDir : string{$ifdef GABOR}[50]{$endif} = '.'+DirSep;
IDEDir : string{$ifdef GABOR}[50]{$endif} = '.'+DirSep;
INIPath : string{$ifdef GABOR}[50]{$endif} = ININame;
SwitchesPath : string{$ifdef GABOR}[50]{$endif} = SwitchesName;
CtrlMouseAction : integer = acTopicSearch;
AltMouseAction : integer = acBrowseSymbol;
StartupOptions : longint = 0;
LastExitCode : integer = 0;
ASCIIChart : PFPASCIIChart = nil;
DesktopPath : string = DesktopName;
DesktopPath : string{$ifdef GABOR}[50]{$endif} = DesktopName;
DesktopFileFlags : longint = dfHistoryLists+dfOpenWindows;
DesktopLocation : byte = dlConfigFileDir;
AutoSaveOptions : longint = asEnvironment+asDesktop;
@ -83,7 +83,10 @@ implementation
END.
{
$Log$
Revision 1.19 1999-07-10 01:24:21 pierre
Revision 1.20 1999-07-28 23:11:25 peter
* fixes from gabor
Revision 1.19 1999/07/10 01:24:21 pierre
+ First implementation of watches window
Revision 1.18 1999/06/30 23:58:19 pierre

View File

@ -2047,7 +2047,7 @@ end;
procedure TCodeEditor.JumpSelStart;
begin
if ValidBlock then
SetCurPtr(SelStart.X,SelEnd.X);
SetCurPtr(SelStart.X,SelStart.Y);
end;
procedure TCodeEditor.JumpSelEnd;
@ -2514,7 +2514,7 @@ begin
S:=GetLineText(CurPos.Y);
if CharIdxToLinePos(CurPos.Y,length(S))<CurPos.X then
begin
S:=S+CharStr(' ',CurPos.X-CharIdxToLinePos(CurPos.Y,length(S))-1);
S:=S+CharStr(' ',CurPos.X-CharIdxToLinePos(CurPos.Y,length(S)){-1});
SetLineText(CurPos.Y,S);
end;
CI:=LinePosToCharIdx(CurPos.Y,CurPos.X);
@ -2734,7 +2734,7 @@ var S: string;
((AreaStart.Y<Y) and (Y<AreaEnd.Y)) or
((AreaEnd.Y=Y) and (X<=AreaEnd.X));
end;
var CurDY: sw_integer;
begin
Inc(SearchRunCount);
@ -2800,6 +2800,7 @@ begin
Owner^.Lock;
if InArea(X,Y) then
repeat
CurDY:=DY;
S:=GetDisplayText(Y);
P:=ContainsText(FindStr,S,X+1);
Found:=P<>0;
@ -2817,6 +2818,11 @@ begin
LeftOK:=(A.X<=0) or (not( (S[A.X] in AlphaChars) or (S[A.X] in NumberChars) ));
RightOK:=(B.X>=length(S)) or (not( (S[B.X+1] in AlphaChars) or (S[B.X+1] in NumberChars) ));
Found:=LeftOK and RightOK;
if Found=false then
begin
CurDY:=0;
X:=B.X+1;
end;
end;
if Found then
@ -2862,9 +2868,9 @@ begin
end;
end;
if CanExit=false then
if (CanExit=false) and (CurDY<>0) then
begin
inc(Y,DY);
inc(Y,CurDY);
if SForward then
X:=0
else
@ -2982,17 +2988,21 @@ var
var MatchedSymbol: boolean;
MatchingSymbol: string;
function MatchesAnySpecSymbol(const What: string; SClass: TSpecSymbolClass; PartialMatch: boolean): boolean;
function MatchesAnySpecSymbol(What: string; SClass: TSpecSymbolClass; PartialMatch, CaseInsensitive: boolean): boolean;
var S: string;
I: Sw_integer;
Match,Found: boolean;
begin
Found:=false;
if CaseInsensitive then
What:=UpcaseStr(What);
if What<>'' then
for I:=1 to GetSpecSymbolCount(SClass) do
begin
SymbolIndex:=I;
S:=GetSpecSymbol(SClass,I-1);
if CaseInsensitive then
S:=UpcaseStr(S);
if PartialMatch then Match:=MatchSymbol(What,S)
else Match:=What=S;
if Match then
@ -3004,48 +3014,48 @@ var
function IsCommentPrefix: boolean;
begin
IsCommentPrefix:=MatchesAnySpecSymbol(SymbolConcat,ssCommentPrefix,true);
IsCommentPrefix:=MatchesAnySpecSymbol(SymbolConcat,ssCommentPrefix,true,false);
end;
function IsSingleLineCommentPrefix: boolean;
begin
IsSingleLineCommentPrefix:=MatchesAnySpecSymbol(SymbolConcat,ssCommentSingleLinePrefix,true);
IsSingleLineCommentPrefix:=MatchesAnySpecSymbol(SymbolConcat,ssCommentSingleLinePrefix,true,false);
end;
function IsCommentSuffix: boolean;
begin
IsCommentSuffix:=(MatchesAnySpecSymbol(SymbolConcat,ssCommentSuffix,true))
IsCommentSuffix:=(MatchesAnySpecSymbol(SymbolConcat,ssCommentSuffix,true,false))
and (CurrentCommentType=SymbolIndex);
end;
function IsStringPrefix: boolean;
begin
IsStringPrefix:=MatchesAnySpecSymbol(SymbolConcat,ssStringPrefix,true);
IsStringPrefix:=MatchesAnySpecSymbol(SymbolConcat,ssStringPrefix,true,false);
end;
function IsStringSuffix: boolean;
begin
IsStringSuffix:=MatchesAnySpecSymbol(SymbolConcat,ssStringSuffix,true);
IsStringSuffix:=MatchesAnySpecSymbol(SymbolConcat,ssStringSuffix,true,false);
end;
function IsDirectivePrefix: boolean;
begin
IsDirectivePrefix:=MatchesAnySpecSymbol(SymbolConcat,ssDirectivePrefix,true);
IsDirectivePrefix:=MatchesAnySpecSymbol(SymbolConcat,ssDirectivePrefix,true,false);
end;
function IsDirectiveSuffix: boolean;
begin
IsDirectiveSuffix:=MatchesAnySpecSymbol(SymbolConcat,ssDirectiveSuffix,true);
IsDirectiveSuffix:=MatchesAnySpecSymbol(SymbolConcat,ssDirectiveSuffix,true,false);
end;
function IsAsmPrefix(const WordS: string): boolean;
begin
IsAsmPrefix:=MatchesAnySpecSymbol(WordS,ssAsmPrefix,false);
IsAsmPrefix:=MatchesAnySpecSymbol(WordS,ssAsmPrefix,false,true);
end;
function IsAsmSuffix(const WordS: string): boolean;
begin
IsAsmSuffix:=MatchesAnySpecSymbol(WordS,ssAsmSuffix,false);
IsAsmSuffix:=MatchesAnySpecSymbol(WordS,ssAsmSuffix,false,true);
end;
function GetCharClass(C: char): TCharClass;
@ -3949,7 +3959,10 @@ end;
END.
{
$Log$
Revision 1.38 1999-07-12 13:14:24 pierre
Revision 1.39 1999-07-28 23:11:26 peter
* fixes from gabor
Revision 1.38 1999/07/12 13:14:24 pierre
* LineEnd bug corrected, now goes end of text even if selected
+ Until Return for debugger
+ Code for Quit inside GDB Window