Introducing FiveTech's fivedit

User avatar
Antonio Linares
Site Admin
Posts: 37481
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain
Contact:

Re: Introducing FiveTech's fivedit

Post by Antonio Linares »

New Fivedit version:

* support for Braces match ( [ { ... } ] )

* A previous Fivedit running instance is detected and shown.
If a filename is supplied to the new instance, such filename is passed to the first instance.

https://bitbucket.org/fivetech/fivewin- ... ivedit.zip

Full source code provided. Important: In order to build Fivedit FWH 15.02 is required
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
James Bott
Posts: 4654
Joined: Fri Nov 18, 2005 4:52 pm
Location: San Diego, California, USA
Contact:

Re: Introducing FiveTech's fivedit

Post by James Bott »

Antonio,
* support for Braces match ( [ { ... } ] )
Either this is not working or I don't understand how it works.

In my current editor if you type:

msgInfo(

It automatically adds the trailing parenthesis, so it looks like this:

msgInfo()

And the cursor is between the parentheses.

I do not see this in the new version of Fivedit.

Maybe it works differently?
User avatar
James Bott
Posts: 4654
Joined: Fri Nov 18, 2005 4:52 pm
Location: San Diego, California, USA
Contact:

Re: Introducing FiveTech's fivedit

Post by James Bott »

Ok, I see that it does highlight the matching brace when one is highlighted with the cursor. That is useful too.

My current editor does both--automatically add the trailing brace, and highlight the matching one.

The more you think about editors, the more you realize how incredibly complex they are.
User avatar
James Bott
Posts: 4654
Joined: Fri Nov 18, 2005 4:52 pm
Location: San Diego, California, USA
Contact:

Re: Introducing FiveTech's fivedit

Post by James Bott »

I notice that there is no error description reporting other than:

Fatal: Unable to open file 'NONAME.OBJ'

My current editor reports the error description and line number, then jumps to the line containing the error. I am just using a modified xbuild.bat. Perhaps there is a compiler flag that needs to be set (I am just using the default flags in Fivedit)?
ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
³ FiveWin for xHarbour 13.04 - Apr. 2013 xHarbour development power ³Ü
³ (c) FiveTech, 1993-2013 for Microsoft Windows 9X/NT/200X/ME/XP/Vista/7/8 ³Û
ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙÛ
ÿ ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß
Compiling...

noname.prg(5) Error E0020 Incomplete statement or unbalanced delimiters
xHarbour 1.2.3 Intl. (SimpLex) (Build 20130326)
Copyright 1999-2013, http://www.xharbour.org http://www.harbour-project.org/
Compiling 'noname.prg' and generating preprocessed output to 'noname.ppo'...
...
1 error

No code generated
* Compile errors *

Process completed, Exit Code 0.
Execution time: 00:02.735
User avatar
James Bott
Posts: 4654
Joined: Fri Nov 18, 2005 4:52 pm
Location: San Diego, California, USA
Contact:

Re: Introducing FiveTech's fivedit

Post by James Bott »

Enrico,

Yes, I have an old version on this PC, but the current one on another. This, however, doesn't have anything to do with the missing error message. I am still trying to figure that out.

A batch file shows the error message, but the Fivedit.exe doesn't--even though they are executing the exact same command. I am missing something obvious, I'm sure. So I had to walk away for awhile.

James
User avatar
Antonio Linares
Site Admin
Posts: 37481
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain
Contact:

Re: Introducing FiveTech's fivedit

Post by Antonio Linares »

James,

Surely it is related to the compiler default error output.

This is the right way to redirect both warnings are errors from harbour.exe:

harbour.exe myapp.prg /n > comp.log 2> warnings.log

Notice the use of ">" and "2> " to redirect both outputs channels: stdout and stderr
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
Antonio Linares
Site Admin
Posts: 37481
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain
Contact:

Re: Introducing FiveTech's fivedit

Post by Antonio Linares »

James,

https://github.com/harbour/core/blob/ma ... r/hbcomp.c

Please review hb_compOutStd() and hb_compOutErr() source code
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
James Bott
Posts: 4654
Joined: Fri Nov 18, 2005 4:52 pm
Location: San Diego, California, USA
Contact:

Re: Introducing FiveTech's fivedit

Post by James Bott »

Antonio,

This my test. I just left off a parenthsis from MsgInfo( in the noname.prg example, then compiled.

Code: Select all

#include "FiveWin.ch"

function Main()

   MsgInfo( "Hello world!" //)
   
return nil
 
This is the first part of the output I get from Fivedit:

Code: Select all

xHarbour 1.2.3 Intl. (SimpLex) (Build 20130326)
Copyright 1999-2013, http://www.xharbour.org http://www.harbour-project.org/
Compiling 'noname.prg' and generating preprocessed output to 'noname.ppo'...

10010010010020030040050060070080090010001100100200100200100200100200300400500600700800900100011001200130014001500160
17001 error 

No code generated

 
Now if I use the same line for the xHarbour compiler and execute it directly from the command prompt or from a batch file I get this output:

Code: Select all

C:\Users\James\Downloads\fivedit>c:\xharbour\bin\harbour noname /ic:\xharbour\in
clude;c:\fwh\include /n /w /p
xHarbour 1.2.3 Intl. (SimpLex) (Build 20130326)
Copyright 1999-2013, http://www.xharbour.org http://www.harbour-project.org/
Compiling 'noname.prg' and generating preprocessed output to 'noname.ppo'...
noname.prg(5) Error E0020  Incomplete statement or unbalanced delimiters
1 error

No code generated
 
Note that Fivedit's output is not showing the error code or the description, yet the compile command shows the error code and description when not run from Fivedit.

I guess this has to do with the Harbour functions you mentioned and I looked at them, but I don't know C so it is beyond my understanding to figure this out.

Anyone else seeing the same thing as me?
User avatar
Antonio Linares
Site Admin
Posts: 37481
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain
Contact:

Re: Introducing FiveTech's fivedit

Post by Antonio Linares »

James,

It may be related to this:

http://forums.fivetechsupport.com/viewt ... 64#p171464

I am going to check it, thanks
regards, saludos

Antonio Linares
www.fivetechsoft.com
dbmanfwh
Posts: 38
Joined: Tue Mar 04, 2008 3:44 pm
Location: Korea

Re: Introducing FiveTech's fivedit

Post by dbmanfwh »

Dear Antonio,

METHOD AddHarbourLibs()

CHarbExtraLibs was not added to cLibs actually.
Regards,
Moon
FWH 16.11 | xHarbour | Harbour | BCC72 | DBF | ADS | MySQL | DrLib
User avatar
James Bott
Posts: 4654
Joined: Fri Nov 18, 2005 4:52 pm
Location: San Diego, California, USA
Contact:

Re: Introducing FiveTech's fivedit

Post by James Bott »

Moon,
CHarbExtraLibs was not added to cLibs actually.
Did you mean that there is a file named "charbextralibs.lib" that was not added? If so, I do not see that file in the xharbour\libs directory. Is it elsewhere?

Or, did you mean something else?
dbmanfwh
Posts: 38
Joined: Tue Mar 04, 2008 3:44 pm
Location: Korea

Re: Introducing FiveTech's fivedit

Post by dbmanfwh »

James,

Explanation is sorry because is insufficient.
cHarbExtraLibs variable was not included to cLibs variable.

Code: Select all

METHOD AddHarbourLibs() CLASS TFivedit

   local lHarbour := AllTrim( ::cHarbComp ) == "Harbour"
   local cLibs, cFWHExtraLibs := "", cHarbExtraLibs := "" 

   if ! Empty( ::cFWHExtraLibs )
      AEval( hb_aTokens( StrTran( AllTrim( ::cFWHExtraLibs ), ",", "" ) ),;
             { | cLib | cFWHExtraLibs += AllTrim( ::cFWHPath ) + "\lib\" + ;
                        cLib + " " } )
   endif                     

   if ! Empty( ::cHarbExtraLibs )
      AEval( hb_aTokens( StrTran( AllTrim( ::cHarbExtraLibs ), ",", "" ) ),;
             { | cLib | cHarbExtraLibs += AllTrim( ::cHarbPath ) + "\lib\" + ;
                        cLib + " " } )
   endif                     

   cLibs = AllTrim( ::cFWHPath ) + "\lib\" + ;
           If( lHarbour, "fiveh.lib ", "fivehx.lib " ) + ;
           AllTrim( ::cFWHPath ) + "\lib\" + "fivehc.lib " + ;
           cFWHExtraLibs + ;
           If( lHarbour, AllTrim( ::cHarbPath ) + "\lib\" + "hbwin.lib ", "" ) + ;
           AllTrim( ::cHarbPath ) + "\lib\" + "gtgui.lib " + ;
           AllTrim( ::cHarbPath ) + "\lib\" + ;
           If( lHarbour, "hbrtl.lib ", "rtl.lib " ) + ;
           AllTrim( ::cHarbPath ) + "\lib\" + ;
           If( lHarbour, "hbvm.lib ", "vm.lib " ) + ;
           AllTrim( ::cHarbPath ) + "\lib\" + ;
           If( lHarbour, "hblang.lib ", "lang.lib " ) + ;
           AllTrim( ::cHarbPath ) + "\lib\" + ;
           If( lHarbour, "hbmacro.lib ", "macro.lib " ) + ;
           AllTrim( ::cHarbPath ) + "\lib\" + ;
           If( lHarbour, "hbrdd.lib ", "rdd.lib " ) + ;
           AllTrim( ::cHarbPath ) + "\lib\" + ;
           If( lHarbour, "rddntx.lib ", "dbfntx.lib " ) + ;
           AllTrim( ::cHarbPath ) + "\lib\" + ;
           If( lHarbour, "rddcdx.lib ", "dbfcdx.lib " ) + ;
           AllTrim( ::cHarbPath ) + "\lib\" + ;
           If( lHarbour, "rddfpt.lib ", "dbffpt.lib " ) + ;
           AllTrim( ::cHarbPath ) + "\lib\" + "hbsix.lib " + ;
           AllTrim( ::cHarbPath ) + "\lib\" + ;
           If( lHarbour, "hbdebug.lib ", "debug.lib " ) + ;
           AllTrim( ::cHarbPath ) + "\lib\" + ;
           If( lHarbour, "hbcommon.lib ", "common.lib " ) + ;
           AllTrim( ::cHarbPath ) + "\lib\" + ;
           If( lHarbour, "hbpp.lib ", "pp.lib " ) + ;
           If( lHarbour, AllTrim( ::cHarbPath ) + "\lib\" + ;
           "hbcpage.lib ", "" ) + ;
           If( lHarbour, AllTrim( ::cHarbPath ) + "\lib\" + ;
           "hbcplr.lib ", "" ) + ;
           AllTrim( ::cHarbPath ) + "\lib\" + ;
           If( lHarbour, "hbct.lib ", "ct.lib " ) + ;
           AllTrim( ::cHarbPath ) + "\lib\" + ;
           If( lHarbour, "hbpcre.lib ", "pcrepos.lib " ) + ;
           If( lHarbour, AllTrim( ::cHarbPath ) + "\lib\" + ;
           "xhb.lib ", "" ) + ;
           If( lHarbour, AllTrim( ::cHarbPath ) + "\lib\" + ;
           "hbziparc.lib ", "" ) + ;
           AllTrim( ::cHarbPath ) + "\lib\" + ;
           If( lHarbour, "hbmzip.lib ", "hbzip.lib " ) + ;
           AllTrim( ::cHarbPath ) + "\lib\" + ;
           If( lHarbour, "hbzlib.lib ", "zlib.lib " ) + ;
           If( lHarbour, AllTrim( ::cHarbPath ) + "\lib\" + ;
           "minizip.lib ", "" ) + ;
           AllTrim( ::cHarbPath ) + "\lib\" + "png.lib " + ;
           If( lHarbour, AllTrim( ::cHarbPath ) + "\lib\" + "hbcurl.lib ", "" ) + ;
           If( lHarbour, AllTrim( ::cHarbPath ) + "\lib\" + "hbusrrdd.lib ", "" ) 

return cLibs

Regards,
Moon
FWH 16.11 | xHarbour | Harbour | BCC72 | DBF | ADS | MySQL | DrLib
User avatar
Antonio Linares
Site Admin
Posts: 37481
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain
Contact:

Re: Introducing FiveTech's fivedit

Post by Antonio Linares »

regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
James Bott
Posts: 4654
Joined: Fri Nov 18, 2005 4:52 pm
Location: San Diego, California, USA
Contact:

Re: Introducing FiveTech's fivedit

Post by James Bott »

Antonio,

If that last change was supposed to fix the compiler output--it did not. The output is exactly the same as it was before; no error description.

James
Post Reply