Page 8 of 36

Re: Introducing FiveTech's fivedit

Posted: Wed Jan 28, 2015 6:05 am
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

Re: Introducing FiveTech's fivedit

Posted: Wed Jan 28, 2015 2:23 pm
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?

Re: Introducing FiveTech's fivedit

Posted: Wed Jan 28, 2015 2:29 pm
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.

Re: Introducing FiveTech's fivedit

Posted: Wed Jan 28, 2015 3:03 pm
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

Re: Introducing FiveTech's fivedit

Posted: Wed Jan 28, 2015 3:19 pm
by Enrico Maria Giordano
James,

you should update your xHarbour version. It's too old.

EMG

Re: Introducing FiveTech's fivedit

Posted: Wed Jan 28, 2015 11:52 pm
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

Re: Introducing FiveTech's fivedit

Posted: Thu Jan 29, 2015 1:39 am
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

Re: Introducing FiveTech's fivedit

Posted: Thu Jan 29, 2015 1:42 am
by Antonio Linares
James,

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

Please review hb_compOutStd() and hb_compOutErr() source code

Re: Introducing FiveTech's fivedit

Posted: Thu Jan 29, 2015 5:25 am
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?

Re: Introducing FiveTech's fivedit

Posted: Thu Jan 29, 2015 10:05 am
by Antonio Linares
James,

It may be related to this:

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

I am going to check it, thanks

Re: Introducing FiveTech's fivedit

Posted: Thu Jan 29, 2015 12:19 pm
by dbmanfwh
Dear Antonio,

METHOD AddHarbourLibs()

CHarbExtraLibs was not added to cLibs actually.

Re: Introducing FiveTech's fivedit

Posted: Thu Jan 29, 2015 5:15 pm
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?

Re: Introducing FiveTech's fivedit

Posted: Fri Jan 30, 2015 1:28 am
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


Re: Introducing FiveTech's fivedit

Posted: Fri Jan 30, 2015 4:49 am
by Antonio Linares

Re: Introducing FiveTech's fivedit

Posted: Fri Jan 30, 2015 4:10 pm
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