>   grep foo -- *
> 
> will still not work because rc's globbing also fears zero and returns the
> pattern instead of an empty list if there are no matches.

i used to think that was a misfeature.
in college i wrote a shell that elided
failed globs in the argument list.

the problem is that people assume that
failed globs generate an error, e.g.
        cat «glob pattern» >[2=] || echo cat failed
i didn't redesign the system, so that would
hang with my shell.

if we follow your redesign of unix, we
would never get an error because
        cat *
does nothing and wouldn't be an error
at all.  one would need to write
        x = *
        if(~ $#* 0)
                echo cat failed
        if not
                cat $x
that seems less attractive to me.

- erik

Reply via email to