rdmd problems (OS X Leopard, DMD 2.052)

Jacob Carlborg doob at me.com
Mon Feb 21 06:17:44 PST 2011


On 2011-02-21 14:16, Lars T. Kyllingstad wrote:
> On Mon, 21 Feb 2011 12:18:54 +0100, Magnus Lie Hetland wrote:
>
>> On 2011-02-20 19:22:20 +0100, Magnus Lie Hetland said:
>>
>>> On 2011-02-19 22:25:31 +0100, Nick Sabalausky said:
>>>
>>> [snip]
>>>> Unfortunately, rdmd doesn't seem to have gotten much attention lately.
>>>> I've had a few patches for it sitting in bugzilla for a number of
>>>> months. (Not that I'm complaning, I realize there's been other
>>>> priorities.)
>>>
>>> I see. Kind of surprising, given that rdmd is distributed in the
>>> official DMD zip file. But, yeah, no complaints. :)
>>>
>>>> Actually, if you want, you can grab a version of rdmd.d with my
>>>> patches applied here:
>>>> http://www.dsource.org/projects/semitwist/browser/trunk/rdmdAlt.d
>>>
>>> Thanks!
>>
>> Humm. I'm still using the rdmd I had (it seems to work, so as long as I
>> have already compiled it... ;)
>>
>> However: I'm a bit baffled by the --shebang option. What's its purpose,
>> really? If I use rdmd without it in a shebang line, it seems to work
>> fine. If I *do* use --shebang, the code doesn't seem to be
>> compiled/executed at all...
>>
>> It seems like it interprets args[1] as a single string containing all
>> the arguments, splitting it into separate items. That seems well an good
>> -- except (in OS X, at least) it doesn't seem to be needed (I get my
>> arguments just fine without it, and the shebang-line switches work well)
>> ... and it doesn't seem to work (that is, with --shebang, nothing
>> happens).
>>
>> Any thoughts on this?
>
> Say you have a file "myscript", that starts with the line
>
>      #!/path/to/interpreter --foo --bar
>
> If you run this as
>
>      ./myscript --hello --world
>
> then the args[] received by the interpreter program looks like this:
>
>      args[0] = "/path/to/interpreter"
>      args[1] = "--foo --bar"
>      args[2] = "./myscript"
>      args[3] = "--hello"
>      args[4] = "--world"
>
> This is the case on every shell I've tried on Linux, at least.  So if you
> have multiple rdmd options, it should in principle need --shebang to know
> that it is being run in a shebang line, so it can expand args[1].
>
> I don't know why it works without --shebang for you, though. :)
>
> -Lars

Perhaps he's not passing any arguments to rdmd.

-- 
/Jacob Carlborg


More information about the Digitalmars-d-learn mailing list