Hi Karl,

Yes, am now getting the dev mail ;=)) thanks...

Well, as you point out the windows suffix of .EXE, and the 
fact that each configuration built will be in a different 
sub-folder, Release, Debug, etc,... and that can be Bin\Release,
depending on some cmake options... **AND** the debug convention that 
appends a 'd' to the name, so that would be edbrowse-jsd.exe... all 
make it difficult to copy a binary by name to another name... It 
can be done, is done, but lots of cmake code to get it right... messy...

And while I am aware that the binary name, argv[0], is sometimes used 
in unix to switch internal functionality, that is never used in 
Windows... Well, some die-hard unix guru, pushed to build in windows, 
might do it, to sort of keep the unix look/feel, that [s]he just can not 
live without... but that would be quite unique to WIN32...

It is of course quite common to have command line options that 
signals entirely changed modes, like your testsock, with l=listen, 
c=connect, ... like say 7z, which has a,b,d,e,l,t,u,x, signalling 
quite different functions... 

And less common would be to supply say batch files to handle the 
difference, like say a 'edbrowse-js.bat' that then ran 'edbrowse --runjs',
but many windows user, like me, write those for themselves, and do not 
expect them in a distribution... like I could write a runjs.bat that 
did the above if it was something I frequently needed...

And I think I would be quite SURPRISED if what I know, can see is exactly 
the same binary - ( edbrowse.exe === edbrowse-js.exe ) - ran differently!!!
Of course, as a developer/programmer I would correctly guess that 
it was using using argv[0] switching... but being the SAME binary I would 
expect the same action...

But as always, just a windows kids perspective ;=))

Regards,
Geoff.