mirror of
				https://gitlab.com/freepascal.org/fpc/source.git
				synced 2025-10-31 22:11:12 +01:00 
			
		
		
		
	+ added col info in MessageItem
+ grep uses HighLightExts and should work for linux
This commit is contained in:
		
							parent
							
								
									1ededfde9a
								
							
						
					
					
						commit
						e10e79b38e
					
				| @ -139,9 +139,11 @@ begin | |||||||
|   if (status.verbosity and Level)=Level then |   if (status.verbosity and Level)=Level then | ||||||
| {$endif} | {$endif} | ||||||
|    begin |    begin | ||||||
|      ProgramInfoWindow^.AddMessage(Level,S,status.currentsourcepath+status.currentsource,status.currentline); |      ProgramInfoWindow^.AddMessage(Level,S,status.currentsourcepath+status.currentsource, | ||||||
|  |        status.currentline,status.currentcolumn); | ||||||
|      if SD<>nil then |      if SD<>nil then | ||||||
|      SD^.MsgLB^.AddItem(New(PCompilerMessage, Init(Level, S, SmartPath(status.currentmodule),status.currentline))); |      SD^.MsgLB^.AddItem(New(PCompilerMessage, Init(Level, S, SmartPath(status.currentmodule), | ||||||
|  |        status.currentline,status.currentcolumn))); | ||||||
|    end; |    end; | ||||||
| {$ifdef TEMPHEAP} | {$ifdef TEMPHEAP} | ||||||
|   switch_to_temp_heap; |   switch_to_temp_heap; | ||||||
| @ -223,10 +225,13 @@ begin | |||||||
|   do_stop:=CompilerStop; |   do_stop:=CompilerStop; | ||||||
|   do_comment:=CompilerComment; |   do_comment:=CompilerComment; | ||||||
| 
 | 
 | ||||||
| {$ifdef go32v2} | {$ifndef debug} | ||||||
|  |   { this avoids all flickers | ||||||
|  |     and allows to get assembler and linker messages | ||||||
|  |     but also forbids to use GDB inside !! } | ||||||
|   ChangeRedir('fp$$$.out',false); |   ChangeRedir('fp$$$.out',false); | ||||||
|   ChangeErrorRedir('fp$$$.err',false); |   ChangeErrorRedir('fp$$$.err',false); | ||||||
| {$endif def go32v2} | {$endif ndef debug} | ||||||
| {$ifdef TEMPHEAP} | {$ifdef TEMPHEAP} | ||||||
|   split_heap; |   split_heap; | ||||||
|   switch_to_temp_heap; |   switch_to_temp_heap; | ||||||
| @ -235,10 +240,8 @@ begin | |||||||
| {$ifdef TEMPHEAP} | {$ifdef TEMPHEAP} | ||||||
|   switch_to_base_heap; |   switch_to_base_heap; | ||||||
| {$endif TEMPHEAP} | {$endif TEMPHEAP} | ||||||
| {$ifdef go32v2} |  | ||||||
|   RestoreRedir; |   RestoreRedir; | ||||||
|   RestoreErrorRedir; |   RestoreErrorRedir; | ||||||
| {$endif def go32v2} |  | ||||||
| 
 | 
 | ||||||
|   if status.errorCount=0 |   if status.errorCount=0 | ||||||
|      then CompilationPhase:=cpDone |      then CompilationPhase:=cpDone | ||||||
| @ -269,7 +272,11 @@ end; | |||||||
| end. | end. | ||||||
| { | { | ||||||
|   $Log$ |   $Log$ | ||||||
|   Revision 1.11  1999-02-08 09:31:00  florian |   Revision 1.12  1999-02-22 11:29:36  pierre | ||||||
|  |     + added col info in MessageItem | ||||||
|  |     + grep uses HighLightExts and should work for linux | ||||||
|  | 
 | ||||||
|  |   Revision 1.11  1999/02/08 09:31:00  florian | ||||||
|     + some split heap stuff, in $ifdef TEMPHEAP |     + some split heap stuff, in $ifdef TEMPHEAP | ||||||
| 
 | 
 | ||||||
|   Revision 1.10  1999/02/05 13:51:39  peter |   Revision 1.10  1999/02/05 13:51:39  peter | ||||||
|  | |||||||
| @ -83,7 +83,9 @@ begin | |||||||
|     Searchword:=PSourceWindow(DeskTop^.First)^.Editor^.GetCurrentWord |     Searchword:=PSourceWindow(DeskTop^.First)^.Editor^.GetCurrentWord | ||||||
|   else |   else | ||||||
|     Searchword:=''; |     Searchword:=''; | ||||||
|   GrepArgs:='-n -i $TEXT *.pas *.pp *.inc'; |   { add "" for args with spaces } | ||||||
|  |   { WARNING : text must still be entered in usual grep syntax } | ||||||
|  |   GrepArgs:='-n -i "$TEXT" '+HighlightExts; | ||||||
| { Dialog } | { Dialog } | ||||||
|   R.Assign(0,0,45,8); |   R.Assign(0,0,45,8); | ||||||
|   new(PGrepDialog,Init(R,'Grep arguments')); |   new(PGrepDialog,Init(R,'Grep arguments')); | ||||||
| @ -144,7 +146,7 @@ begin | |||||||
|                  val(copy(Line,1,p-1),lineNb,error); |                  val(copy(Line,1,p-1),lineNb,error); | ||||||
|                  if error=0 then |                  if error=0 then | ||||||
|                    ProgramInfoWindow^.AddMessage(V_Normal,Copy(Line,p+1,255), |                    ProgramInfoWindow^.AddMessage(V_Normal,Copy(Line,p+1,255), | ||||||
|                      ModuleName,LineNb); |                      ModuleName,LineNb,1); | ||||||
|                end; |                end; | ||||||
|              ProgramInfoWindow^.Show; |              ProgramInfoWindow^.Show; | ||||||
|              ProgramInfoWindow^.MakeFirst; |              ProgramInfoWindow^.MakeFirst; | ||||||
| @ -159,7 +161,11 @@ begin | |||||||
| end; | end; | ||||||
| { | { | ||||||
|   $Log$ |   $Log$ | ||||||
|   Revision 1.8  1999-02-22 02:15:17  peter |   Revision 1.9  1999-02-22 11:29:37  pierre | ||||||
|  |     + added col info in MessageItem | ||||||
|  |     + grep uses HighLightExts and should work for linux | ||||||
|  | 
 | ||||||
|  |   Revision 1.8  1999/02/22 02:15:17  peter | ||||||
|     + default extension for save in the editor |     + default extension for save in the editor | ||||||
|     + Separate Text to Find for the grep dialog |     + Separate Text to Find for the grep dialog | ||||||
|     * fixed redir crash with tp7 |     * fixed redir crash with tp7 | ||||||
|  | |||||||
| @ -199,8 +199,8 @@ type | |||||||
|       TClass    : longint; |       TClass    : longint; | ||||||
|       Text      : PString; |       Text      : PString; | ||||||
|       Module    : PString; |       Module    : PString; | ||||||
|       ID        : longint; |       ID,Col    : longint; | ||||||
|       constructor Init(AClass: longint; AText, AModule: string; AID: longint); |       constructor Init(AClass: longint; AText, AModule: string; AID,ACol: longint); | ||||||
|       function    GetText(MaxLen: integer): string; virtual; |       function    GetText(MaxLen: integer): string; virtual; | ||||||
|       procedure   Selected; virtual; |       procedure   Selected; virtual; | ||||||
|       function    GetModuleName: string; virtual; |       function    GetModuleName: string; virtual; | ||||||
| @ -234,7 +234,7 @@ type | |||||||
|       InfoST: PColorStaticText; |       InfoST: PColorStaticText; | ||||||
|       LogLB : PMessageListBox; |       LogLB : PMessageListBox; | ||||||
|       constructor Init; |       constructor Init; | ||||||
|       procedure   AddMessage(AClass: longint; Msg, Module: string; Line: longint); |       procedure   AddMessage(AClass: longint; Msg, Module: string; Line,Column: longint); | ||||||
|       procedure   SizeLimits(var Min, Max: TPoint); virtual; |       procedure   SizeLimits(var Min, Max: TPoint); virtual; | ||||||
|       procedure   Close; virtual; |       procedure   Close; virtual; | ||||||
|       procedure   HandleEvent(var Event: TEvent); virtual; |       procedure   HandleEvent(var Event: TEvent); virtual; | ||||||
| @ -401,7 +401,11 @@ function EditorWindowFile(const Name : String): PSourceWindow; | |||||||
| function EditorWindow(P: PView): boolean; {$ifndef FPC}far;{$endif} | function EditorWindow(P: PView): boolean; {$ifndef FPC}far;{$endif} | ||||||
| begin | begin | ||||||
|   EditorWindow:=(TypeOf(P^)=TypeOf(TSourceWindow)) and |   EditorWindow:=(TypeOf(P^)=TypeOf(TSourceWindow)) and | ||||||
|  | {$ifdef linux} | ||||||
|                  (PSourceWindow(P)^.Editor^.FileName=Name); |                  (PSourceWindow(P)^.Editor^.FileName=Name); | ||||||
|  | {$else linux} | ||||||
|  |                  (UpCaseStr(PSourceWindow(P)^.Editor^.FileName)=UpCaseStr(Name)); | ||||||
|  | {$endif def linux} | ||||||
| end; | end; | ||||||
| begin | begin | ||||||
|   EditorWindowFile:=pointer(Desktop^.FirstThat(@EditorWindow)); |   EditorWindowFile:=pointer(Desktop^.FirstThat(@EditorWindow)); | ||||||
| @ -2367,7 +2371,17 @@ begin | |||||||
|   GetNextEditorBounds(R); |   GetNextEditorBounds(R); | ||||||
|   if Assigned(Owner) and (Owner=pointer(ProgramInfoWindow)) then |   if Assigned(Owner) and (Owner=pointer(ProgramInfoWindow)) then | ||||||
|     R.B.Y:=Owner^.Origin.Y; |     R.B.Y:=Owner^.Origin.Y; | ||||||
|   W:=TryToOpenFile(@R,P^.GetModuleName,0,P^.ID-1); |   W:=EditorWindowFile(P^.GetModuleName); | ||||||
|  |   if assigned(W) then | ||||||
|  |     begin | ||||||
|  |       W^.GetExtent(R); | ||||||
|  |       if Assigned(Owner) and (Owner=pointer(ProgramInfoWindow)) then | ||||||
|  |         R.B.Y:=Owner^.Origin.Y; | ||||||
|  |       W^.ChangeBounds(R); | ||||||
|  |       W^.Editor^.SetCurPtr(P^.Col-1,P^.ID-1); | ||||||
|  |     end | ||||||
|  |   else | ||||||
|  |     W:=TryToOpenFile(@R,P^.GetModuleName,P^.Col-1,P^.ID-1); | ||||||
|   if W<>nil then |   if W<>nil then | ||||||
|     begin |     begin | ||||||
|       W^.Select; |       W^.Select; | ||||||
| @ -2386,7 +2400,7 @@ begin | |||||||
|   P:=List^.At(Focused); |   P:=List^.At(Focused); | ||||||
|   if P^.ID=0 then Exit; |   if P^.ID=0 then Exit; | ||||||
|   Desktop^.Lock; |   Desktop^.Lock; | ||||||
|   W:=TryToOpenFile(nil,P^.GetModuleName,0,P^.ID-1); |   W:=TryToOpenFile(nil,P^.GetModuleName,P^.Col-1,P^.ID-1); | ||||||
|   Message(Owner,evCommand,cmClose,nil); |   Message(Owner,evCommand,cmClose,nil); | ||||||
|   Desktop^.UnLock; |   Desktop^.UnLock; | ||||||
| end; | end; | ||||||
| @ -2467,13 +2481,14 @@ begin | |||||||
|   if List<>nil then Dispose(List, Done); |   if List<>nil then Dispose(List, Done); | ||||||
| end; | end; | ||||||
| 
 | 
 | ||||||
| constructor TMessageItem.Init(AClass: longint; AText, AModule: string; AID: longint); | constructor TMessageItem.Init(AClass: longint; AText, AModule: string; AID,ACol: longint); | ||||||
| begin | begin | ||||||
|   inherited Init; |   inherited Init; | ||||||
|   TClass:=AClass; |   TClass:=AClass; | ||||||
|   Text:=NewStr(AText); |   Text:=NewStr(AText); | ||||||
|   Module:=NewStr(AModule); |   Module:=NewStr(AModule); | ||||||
|   ID:=AID; |   ID:=AID; | ||||||
|  |   Col:=ACol; | ||||||
| end; | end; | ||||||
| 
 | 
 | ||||||
| function TMessageItem.GetText(MaxLen: integer): string; | function TMessageItem.GetText(MaxLen: integer): string; | ||||||
| @ -2507,10 +2522,10 @@ begin | |||||||
|   if TClass= |   if TClass= | ||||||
|     V_Fatal       then ClassS:='Fatal'       else if TClass = |     V_Fatal       then ClassS:='Fatal'       else if TClass = | ||||||
|     V_Error       then ClassS:='Error'       else if TClass = |     V_Error       then ClassS:='Error'       else if TClass = | ||||||
|     V_Normal      then ClassS:=''           else if TClass = |     V_Normal      then ClassS:=''            else if TClass = | ||||||
|     V_Warning     then ClassS:='Warning'     else if TClass = |     V_Warning     then ClassS:='Warning'     else if TClass = | ||||||
|     V_Note      then ClassS:='Note'     else if TClass = |     V_Note        then ClassS:='Note'        else if TClass = | ||||||
|     V_Hint      then ClassS:='Hint'     else if TClass = |     V_Hint        then ClassS:='Hint'        else if TClass = | ||||||
|     V_Macro       then ClassS:='Macro'       else if TClass = |     V_Macro       then ClassS:='Macro'       else if TClass = | ||||||
|     V_Procedure   then ClassS:='Procedure'   else if TClass = |     V_Procedure   then ClassS:='Procedure'   else if TClass = | ||||||
|     V_Conditional then ClassS:='Conditional' else if TClass = |     V_Conditional then ClassS:='Conditional' else if TClass = | ||||||
| @ -2562,10 +2577,10 @@ begin | |||||||
|   Update; |   Update; | ||||||
| end; | end; | ||||||
| 
 | 
 | ||||||
| procedure TProgramInfoWindow.AddMessage(AClass: longint; Msg, Module: string; Line: longint); | procedure TProgramInfoWindow.AddMessage(AClass: longint; Msg, Module: string; Line,Column: longint); | ||||||
| begin | begin | ||||||
|   if AClass>=V_Info then Line:=0; |   if AClass>=V_Info then Line:=0; | ||||||
|   LogLB^.AddItem(New(PCompilerMessage, Init(AClass, Msg, Module, Line))); |   LogLB^.AddItem(New(PCompilerMessage, Init(AClass, Msg, Module, Line,Column))); | ||||||
| end; | end; | ||||||
| 
 | 
 | ||||||
| procedure TProgramInfoWindow.SizeLimits(var Min, Max: TPoint); | procedure TProgramInfoWindow.SizeLimits(var Min, Max: TPoint); | ||||||
| @ -3269,7 +3284,11 @@ end; | |||||||
| END. | END. | ||||||
| { | { | ||||||
|   $Log$ |   $Log$ | ||||||
|   Revision 1.17  1999-02-22 02:15:22  peter |   Revision 1.18  1999-02-22 11:29:38  pierre | ||||||
|  |     + added col info in MessageItem | ||||||
|  |     + grep uses HighLightExts and should work for linux | ||||||
|  | 
 | ||||||
|  |   Revision 1.17  1999/02/22 02:15:22  peter | ||||||
|     + default extension for save in the editor |     + default extension for save in the editor | ||||||
|     + Separate Text to Find for the grep dialog |     + Separate Text to Find for the grep dialog | ||||||
|     * fixed redir crash with tp7 |     * fixed redir crash with tp7 | ||||||
|  | |||||||
| @ -1,3 +1,4 @@ | |||||||
|  | {$L+} | ||||||
| unit Test2; | unit Test2; | ||||||
| 
 | 
 | ||||||
| interface | interface | ||||||
| @ -21,4 +22,8 @@ begin | |||||||
|   IsOdd:=(X mod 2)=1; |   IsOdd:=(X mod 2)=1; | ||||||
| end; | end; | ||||||
| 
 | 
 | ||||||
|  | procedure static; | ||||||
|  | begin | ||||||
|  | end; | ||||||
|  | 
 | ||||||
| END. | END. | ||||||
|  | |||||||
		Loading…
	
		Reference in New Issue
	
	Block a user
	 pierre
						pierre