Re: Problem with rdmd

2013-10-01 Thread eles

On Saturday, 31 August 2013 at 12:01:48 UTC, Dicebot wrote:

On Friday, 30 August 2013 at 13:32:25 UTC, eles wrote:
On Friday, 30 August 2013 at 11:34:59 UTC, Jacob Carlborg 
wrote:

On 2013-08-30 09:39, eles wrote:
This is an ancient dmd misfeature - it treats `dmd test` as 
`dmd test.d`, adding .d silently. No idea if someone actually 
wants this behavior..


Bump...



Re: Problem with rdmd

2013-09-05 Thread eles
On Saturday, 31 August 2013 at 17:42:21 UTC, Andrei Alexandrescu 
wrote:

On 8/30/13 6:32 AM, eles wrote:
On Friday, 30 August 2013 at 11:34:59 UTC, Jacob Carlborg 
wrote:

On 2013-08-30 09:39, eles wrote:
One possible solution would be for rdmd to create a link in its 
temporary directory to the original file. (The link would have 
a .d extension.)


Isn't more reasonable to change dmd's behavior?


Re: Problem with rdmd

2013-09-01 Thread eles
Bah, what would be the meaning of accepting the shebang syntax 
then? SCripts are made to provide a quick way to hack: you edit 
it for 5 mins, you run it. You change a parameter inside, you run 
it. Otherwise, there would be no need for scripts, everything 
could be compiled, even if you fill everything with system() 
statements.


On Saturday, 31 August 2013 at 11:08:57 UTC, Jacob Carlborg wrote:

On 2013-08-30 09:39, eles wrote:

On Linux 64

$chmod +x htest
$cat ./htest
#!/usr/bin/env rdmd
import std.stdio;

void main() {
writeln(hello world!);
}

then:

$./htest
Error: cannot read file ./htest.d
Failed: 'dmd' '-v' '-o-' './htest.d' '-I.'

OTOH:

$cp htest htest.d
$./htest.d
hello world!

It seems that rdmd expects the script to bear the .d 
extension. This is
not a very good choice, at least when writing git helper 
scripts.


For example, a $git command command would eventually try to 
execute

the executable (script):

$git-command

The problem is that that line expects git-command, not 
git-command.d.


A workaround for this?


Why don't just compile it manually once instead of using like a 
script?




Re: Problem with rdmd

2013-08-31 Thread Jacob Carlborg

On 2013-08-30 09:39, eles wrote:

On Linux 64

$chmod +x htest
$cat ./htest
#!/usr/bin/env rdmd
import std.stdio;

void main() {
 writeln(hello world!);
}

then:

$./htest
Error: cannot read file ./htest.d
Failed: 'dmd' '-v' '-o-' './htest.d' '-I.'

OTOH:

$cp htest htest.d
$./htest.d
hello world!

It seems that rdmd expects the script to bear the .d extension. This is
not a very good choice, at least when writing git helper scripts.

For example, a $git command command would eventually try to execute
the executable (script):

$git-command

The problem is that that line expects git-command, not git-command.d.

A workaround for this?


Why don't just compile it manually once instead of using like a script?

--
/Jacob Carlborg


Re: Problem with rdmd

2013-08-31 Thread Dicebot

On Friday, 30 August 2013 at 13:32:25 UTC, eles wrote:

On Friday, 30 August 2013 at 11:34:59 UTC, Jacob Carlborg wrote:

On 2013-08-30 09:39, eles wrote:

I'm pretty sure it's DMD that is the problem.


Yes. But that's, the least to say, limiting.

This:

https://github.com/D-Programming-Language/tools/blob/master/rdmd.d#L160

should be solved in other manner. Maybe creating a temporary 
copy. Or forcing dmd in some ways. Besides, for what reasons 
dmd would impose a .d extension?


This is an ancient dmd misfeature - it treats `dmd test` as `dmd 
test.d`, adding .d silently. No idea if someone actually wants 
this behavior..


Problem with rdmd

2013-08-30 Thread eles

On Linux 64

$chmod +x htest
$cat ./htest
#!/usr/bin/env rdmd
import std.stdio;

void main() {
writeln(hello world!);
}

then:

$./htest
Error: cannot read file ./htest.d
Failed: 'dmd' '-v' '-o-' './htest.d' '-I.'

OTOH:

$cp htest htest.d
$./htest.d
hello world!

It seems that rdmd expects the script to bear the .d extension. 
This is not a very good choice, at least when writing git helper 
scripts.


For example, a $git command command would eventually try to 
execute the executable (script):


$git-command

The problem is that that line expects git-command, not 
git-command.d.


A workaround for this?

Thanks


Re: Problem with rdmd

2013-08-30 Thread anonymous

On Friday, 30 August 2013 at 07:39:41 UTC, eles wrote:

On Linux 64

$chmod +x htest
$cat ./htest
#!/usr/bin/env rdmd
import std.stdio;

void main() {
writeln(hello world!);
}

then:

$./htest
Error: cannot read file ./htest.d
Failed: 'dmd' '-v' '-o-' './htest.d' '-I.'

OTOH:

$cp htest htest.d
$./htest.d
hello world!

It seems that rdmd expects the script to bear the .d extension. 
This is not a very good choice


yup

[...]


A workaround for this?


ln htest htest.d


Re: Problem with rdmd

2013-08-30 Thread eles

On Friday, 30 August 2013 at 07:56:14 UTC, anonymous wrote:

On Friday, 30 August 2013 at 07:39:41 UTC, eles wrote:

A workaround for this?


ln htest htest.d


Thanks.


Re: Problem with rdmd

2013-08-30 Thread Jacob Carlborg

On 2013-08-30 09:39, eles wrote:

On Linux 64

$chmod +x htest
$cat ./htest
#!/usr/bin/env rdmd
import std.stdio;

void main() {
 writeln(hello world!);
}

then:

$./htest
Error: cannot read file ./htest.d
Failed: 'dmd' '-v' '-o-' './htest.d' '-I.'

OTOH:

$cp htest htest.d
$./htest.d
hello world!

It seems that rdmd expects the script to bear the .d extension.


I'm pretty sure it's DMD that is the problem.

--
/Jacob Carlborg


Re: Problem with rdmd

2013-08-30 Thread eles

On Friday, 30 August 2013 at 11:34:59 UTC, Jacob Carlborg wrote:

On 2013-08-30 09:39, eles wrote:

I'm pretty sure it's DMD that is the problem.


Yes. But that's, the least to say, limiting.

This:

https://github.com/D-Programming-Language/tools/blob/master/rdmd.d#L160

should be solved in other manner. Maybe creating a temporary 
copy. Or forcing dmd in some ways. Besides, for what reasons dmd 
would impose a .d extension?