Path: utzoo!utgpu!jarvis.csri.toronto.edu!mailrus!cs.utexas.edu!usc!snorkelwacker!apple!motcsd!xdos!doug From: doug@xdos.UUCP (Doug Merritt) Newsgroups: comp.sys.amiga.tech Subject: Re: SKsh completion bug. Message-ID: <682@xdos.UUCP> Date: 9 Mar 90 16:36:11 GMT References: <8289@wpi.wpi.edu> <13920055@hpfelg.HP.COM> <392@icebox.nsc.com> Reply-To: doug@xdos.UUCP (Doug Merritt) Organization: Hunter Systems, Mountain View CA (Silicon Valley) Lines: 46 In article <392@icebox.nsc.com> waggoner@icebox.UUCP (Mark Waggoner) writes: > >The only reason I can see for doing shell expansions is to provide a >unix-like environment, which means you also need a bunch of unix-like >commands that expect the wildcards to be expanded. A little history here: this argument has been going on endlessly over every non-Unix system in existence; i.e. the above is a popular argument. The problems with that are: 1) Pervasiveness/universality: if it's not in the shell, that generally means that feature is not universally available. So I have to remember which commands allow it, which do not, which support one flavor of wildcarding, which allow another, which use both, which have Super Wildcard Expansions, etc. So this is also a "consistency/documentation" argument. And this is precisely the problem I currently have. 2) No, you don't need "unix-like commands". Essentially all reasonable utilities support a command line list of files. Even if they support wildcards, they will not object to what appears to be a wildcard-free list of filenames typed by hand. 3) Duplication of effort/code size. When every command has its own wildcard code, it not only wastes code space, it also (probably more significantly) wastes the time of the developer who had to reinvent the wheel one more time. So, no, it's not just to provide a Unix-like environment. It's because it's smart. The only (arguably) better way is to provide the facility in a *standard* system library (ARP may reach this status but it ain't there yet). This makes it a little less universal, in that some boneheads will still write programs that don't *use* the system facility (as previously established on all the O.S.'s that do this). But it gets around the limited expansion space problem. It also potentially allows wildcards to be used even in e.g. requesters, which the shell approach does not. If I misunderstood you, and we're in violent agreement on this :-), my apologies. Doug -- Doug Merritt {pyramid,apple}!xdos!doug Member, Crusaders for a Better Tomorrow Professional Wildeyed Visionary