[plt-dev] renaming programs in the distribution
On Tue, Apr 20, 2010 at 1:54 PM, Matthew Flatt <mflatt at cs.utah.edu> wrote:
> At Tue, 20 Apr 2010 13:25:39 -0400, Carl Eastlund wrote:
>> Version 3 is troublesome. It gives a short name to encourage people
>> to run "racket <file>" so they don't have to do long stuff... but then
>> punishes them if they use that to build a script and ever have a file
>> with a similar name to a command.
>
> That doesn't sound quite right. With option 3, `racket' would decide on
> file versus command syntactically, without consulting the set of
> available commands or files. So, changes in available files or commands
> do not change the interpretation of a command line.
Okay, let's say I write "racket my-favorite-string". What syntactic
decision does "racket" use to pin "my-favorite-string" down as a
potential command versus a potential file name? It still seems to me
that any potential command may still be something a user might want to
use as a potential file name.
> I believe that a script implementor would be punished only if the
> script was called from its own directory without using a path prefix
> and when "." is in PATH.
This sounds like an issue when using racket in #! lines. That's not
the kind of script I meant. I mean a #!/bin/bash script that calls
something like "racket $*" in it to invoke one or more files. There
is trouble if the files coincide with command names, or the syntactic
shape of commands, or whatever racket uses to decide something is not
a file name.
--Carl