livescript binary eats all of argv #569

Closed
appedemic opened this Issue Oct 5, 2014 · 4 comments

Projects

None yet

3 participants

@appedemic
Contributor

Consider the following node program test.js:

console.log(process.argv);

When I run the program "node test.js hello" it prints:

$ node test.js hello
[ 'node', '/home/derk/test.js', 'hello' ]

LiveScript was behaving like this but with 1.3 it eats all arguments. Consider the following livescript program test.ls:

console.log process.argv

When I run this in 1.3 I get an error message from livescript:

$ lsc test.ls hello
Can't find hallo.ls

It seems as if anything passed to the command line is consumed and processed by lsc.

@gkz gkz added the bug label Oct 5, 2014
@appedemic appedemic pushed a commit to appedemic/LiveScript that referenced this issue Oct 5, 2014
Derk Bell Fix for #569 bcf7e19
@appedemic
Contributor

Not completely right. With this patch the argv contains an extra argument. Livescript.run evaluates the compiled code with the argv as passed to the compiler, making my argv:

$ lsc test.ls hello
[ 'node', '/home/derk/test.ls', 'test.ls', 'hello' ]

I don't think this is the desired result and the behaviour should match node as close as possible?

@appedemic appedemic pushed a commit to appedemic/LiveScript that referenced this issue Oct 5, 2014
Derk Bell mimic node argv, second fix for #569 ae864c8
@appedemic
Contributor
$ lsc test.ls hello
[ 'node', '/home/derk/test.ls', 'hello' ]

behaves as

$ node test.js hello
[ 'node', '/home/derk/test.js', 'hello' ]
@appedemic appedemic referenced this issue Oct 5, 2014
Closed

fix for #569 #570

@gkz gkz closed this in c959444 Oct 7, 2014
@gkz
Owner
gkz commented Oct 7, 2014

My fix works for me, check it out and make sure it works for you too, so I can then push out a minor release.

@vzaccaria

Maybe I am doing something wrong; I have a script.ls that begins with:

#!/usr/bin/env lsc 

...
here I process a `-w` option from process.argv
...

Before (~1.2), I was using the script like this:

$ ./script.ls -w

With 1.3.1, I have to put -- before the options otherwise they are assumed to be lsc options:

$ ./script.ls -- -w
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment