Browse Source

* fixes from gabor, idle event, html fix

peter 26 years ago
parent
commit
b92c9ed1c4
5 changed files with 57 additions and 7 deletions
  1. 7 2
      ide/text/fp.pas
  2. 16 1
      ide/text/fpide.pas
  3. 5 1
      ide/text/fpvars.pas
  4. 2 2
      ide/text/whtmlhlp.pas
  5. 27 1
      ide/text/wutils.pas

+ 7 - 2
ide/text/fp.pas

@@ -113,7 +113,9 @@ begin
   RegisterFPCompile;
   RegisterFPTools;
   RegisterFPViews;
-  RegisterFPDebugViews; 
+{$ifndef NODEBUG}
+  RegisterFPDebugViews;
+{$endif}
   RegisterMenus;
   RegisterStdDlg;
   RegisterSymbols;
@@ -196,7 +198,10 @@ BEGIN
 END.
 {
   $Log$
-  Revision 1.30  1999-08-22 22:24:15  pierre
+  Revision 1.31  1999-09-13 11:43:59  peter
+    * fixes from gabor, idle event, html fix
+
+  Revision 1.30  1999/08/22 22:24:15  pierre
    * avoid objpas paramstr functions
 
   Revision 1.29  1999/08/03 20:22:25  peter

+ 16 - 1
ide/text/fpide.pas

@@ -37,6 +37,7 @@ type
       procedure   Idle; virtual;
       procedure   Update;
       procedure   UpdateTarget;
+      procedure   GetEvent(var Event: TEvent); virtual;
       procedure   HandleEvent(var Event: TEvent); virtual;
       procedure   GetTileRect(var R: TRect); virtual;
       function    GetPalette: PPalette; virtual;
@@ -116,6 +117,7 @@ type
       procedure RemoveRecentFile(Index: integer);
     private
       SaveCancelled: boolean;
+      LastEvent: longint;
       procedure CurDirChanged;
       procedure UpdatePrimaryFile;
       procedure UpdateINIFile;
@@ -402,6 +404,16 @@ begin
   Message(Application,evIdle,0,nil);
 end;
 
+procedure TIDEApp.GetEvent(var Event: TEvent);
+begin
+  inherited GetEvent(Event);
+  if Event.What<>evNothing then
+    LastEvent:=GetDosTicks
+  else
+    if abs(GetDosTicks-LastEvent)>SleepTimeOut then
+      GiveUpTimeSlice;
+end;
+
 procedure TIDEApp.HandleEvent(var Event: TEvent);
 var DontClear: boolean;
 begin
@@ -827,7 +839,10 @@ end;
 END.
 {
   $Log$
-  Revision 1.36  1999-09-09 14:15:27  pierre
+  Revision 1.37  1999-09-13 11:44:00  peter
+    * fixes from gabor, idle event, html fix
+
+  Revision 1.36  1999/09/09 14:15:27  pierre
    + cmCopyWin,cmPasteWin
 
   Revision 1.35  1999/08/16 18:25:19  peter

+ 5 - 1
ide/text/fpvars.pas

@@ -71,6 +71,7 @@ const ClipboardWindow  : PClipboardWindow = nil;
       AutoSaveOptions  : longint = asEnvironment+asDesktop;
       MiscOptions      : longint = moChangeDirOnOpen+moCloseOnGotoSource;
       EditorModified   : boolean = false;
+      SleepTimeOut     : longint = trunc(10*18.2);
 
       ActionCommands   : array[acFirstAction..acLastAction] of word =
         (cmHelpTopicSearch,cmGotoCursor,cmToggleBreakpoint,
@@ -85,7 +86,10 @@ implementation
 END.
 {
   $Log$
-  Revision 1.22  1999-08-16 18:25:25  peter
+  Revision 1.23  1999-09-13 11:44:00  peter
+    * fixes from gabor, idle event, html fix
+
+  Revision 1.22  1999/08/16 18:25:25  peter
     * Adjusting the selection when the editor didn't contain any line.
     * Reserved word recognition redesigned, but this didn't affect the overall
       syntax highlight speed remarkably (at least not on my Amd-K6/350).

+ 2 - 2
ide/text/whtmlhlp.pas

@@ -219,7 +219,7 @@ begin
   if InBody then
     begin
       if (InPreFormatted) or (C<>#32) or (LastTextChar<>C) then
-      if (C<>#32) or (AnyCharsInLine=true) then
+      if (C<>#32) or (AnyCharsInLine=true) or (InPreFormatted=true) then
         begin
           AddChar(C);
           LastTextChar:=C;
@@ -480,7 +480,7 @@ begin
   if (Topic=nil) or (TextPtr=MaxBytes) then Exit;
   Topic^.Text^[TextPtr]:=ord(C);
   Inc(TextPtr);
-  if (C>#15) and (C<>' ') then
+  if (C>#15) and ((C<>' ') or (InPreFormatted=true)) then
     AnyCharsInLine:=true;
 end;
 

+ 27 - 1
ide/text/wutils.pas

@@ -91,6 +91,8 @@ function DirAndNameOf(const S: string): string;
 
 function EatIO: integer;
 
+procedure GiveUpTimeSlice;
+
 const LastStrToIntResult : integer = 0;
       DirSep             : char    = {$ifdef Linux}'/'{$else}'\'{$endif};
 
@@ -417,10 +419,34 @@ begin
   S^.Write(Buf,Count);
 end;
 
+procedure GiveUpTimeSlice;
+{$ifdef GO32V2}{$define DOS}{$endif}
+{$ifdef TP}{$define DOS}{$endif}
+{$ifdef DOS}
+var r: registers;
+begin
+  r.ax:=$1680;
+  intr($2f,r);
+end;
+{$endif}
+{$ifdef Linux}
+begin
+end;
+{$endif}
+{$ifdef Win32}
+begin
+end;
+{$endif}
+{$undef DOS}
+
+
 END.
 {
   $Log$
-  Revision 1.6  1999-08-24 22:01:48  pierre
+  Revision 1.7  1999-09-13 11:44:00  peter
+    * fixes from gabor, idle event, html fix
+
+  Revision 1.6  1999/08/24 22:01:48  pierre
    * readlnfromstream length check added
 
   Revision 1.5  1999/08/03 20:22:45  peter