forum-msg-id-127430-edit

Original date:2015-03-20 16:09:38 Edited by: K_D_R Subject: Re: Wee 0.20

PeteE said...
K_D_R said...

Looking better and better, Pete.

However, I do have a problem with Translate on my Linux system. An executable file is created, but nothing happens when I attempt to run it. Previous wee.exw versions compiled with no problems. I generated a 370 line error file using the euc -strict option, if you want to take a look at it - let me know where to send it

Send it to my email address in the Help->About menu.

Edit: Also what version of Euphoria? I've done euc and euc -strict on euphoria-4.1.0-Linux-x64 and it compiles ok, with a bunch of warnings on strict, but the wee executable just hangs when I run it.

K_D_R said...

Bind works correctly.

Also, I added Shroud to the Run menu, easy as pie - works perfectly, only takes a couple of seconds. I prefer Shroud to bind under Linux - creates a much smaller executable file.

Would you mind sharing the shroud command? I'm only getting wee.il from eushroud.

I'll post my compile error file to you. It sounds as though we have the same experience with the executable file hanging up.

Regarding Shroud I am a bit confused a *.il file is all I have ever gotten from eushroud. Under linux a shrouded file has a Shebang line prepended to the top line pointing to eub and the file is automatically made executable.

I suppose I have a slight little glitch with shrouded files in that double clicking on the *.il file opens and closes a terminal window very quickly. However, I can run a shrouded file from any terminal window, just like a bound Eu program, or a translated/compiled binary. Under Linux, I use the file manager PCManFM 1.2.3 which has a "Tools" menu which includes a "run a command in current window" option which executes a shrouded file perfectly.

 
-- Here is my shroud code which simply substitutes "eushroud"  
-- where your code referenced "eubind" or "euc".   
-- All I did was follow your lead. 
function RunShroud() 
  if save_if_modified(0) = 0 or length(file_name) = 0 then 
        return 0 -- cancelled, or no name 
    end if  
      
     chdir(dirname(file_name)) 
    system("eushroud " & file_name) 
    return 0	 
end function 
   
-- I tacked the Shroud menu code onto the end 
-- of your routine and added a hotkey: 
add(runmenu, { 
   createmenuitem("Translate", "RunTranslate"), 
   createmenuitem("Shroud", "RunShroud", "<Control>F5") 
}) 
set(menuRun, "submenu", runmenu) 
 
-- not sure if this helpful or wise 
-- could do this: 
function RunFunction(sequence command) 
 
    if save_if_modified(0) = 0 or length(file_name) = 0 then 
	return 0 -- cancelled, or no name 
    end if 
     
    chdir(dirname(file_name)) 
    system(command & file_name) 
    return 0    
 
end function 
 
function RunBind()  
    return RunFunction("eubind ") 
end function 
 
function RunTranslate()  
    return RunFunction("euc ") 
end function 
 
function RunShroud() 
    return RunFunctiofunction RunFunction(sequence command) 
 
    if save_if_modified(0) = 0 or length(file_name) = 0 then 
	return 0 -- cancelled, or no name 
    end if 
     
    chdir(dirname(file_name)) 
    system(command & file_name) 
    return 0    
 
end function 
 
function RunBind()  
    return RunFunction("eubind ") 
end function 
 
function RunTranslate()  
    return RunFunction("euc ") 
end function 
 
function RunShroud() 
    return RunFunction("eushroud ")     
end functionn("eushroud ")     
end function 
 

My programming skills have never risen above the novice level, but your code is so logical and clear, I can follow most of it fairly well. I've added a potful of little functions to ed.ex/edx.ex which I should be able to add to wee very easily.

Thanks again, Ken

Not Categorized, Please Help

Search



Quick Links

User menu

Not signed in.

Misc Menu