Path: utzoo!utgpu!news-server.csri.toronto.edu!rpi!usc!blars!blarson From: blarson@blars Newsgroups: comp.os.misc Subject: Re: Globbing Message-ID: <186@blars> Date: 3 Apr 91 06:05:08 GMT References: <=baGj#dc1@cs.psu.edu> <44480@cos.com> Sender: news@usc Reply-To: blarson@usc.edu Lines: 59 Nntp-Posting-Host: dianne.usc.edu Originator: blarson@dianne.usc.edu In article schwartz@groucho.cs.psu.edu (Scott Schwartz) writes: >Yes, although I should clarify that Primos' command processor doesn't >do redirection itself. Untrue, it can redirect input from a file (comi command) and redirect output to a file (in adition to or instead of the terminal) (como command). > I was doing that by hand inside each command. And didn't like how your own code worked. Not something to blame on Primos. >| Are there other things (good/bad) from that environment worthy of >| discussion? Yes. >One nasty thing was that io to ttys was different than to files. and from tape, printer, asigned async lines, sync lines, card readers/punches, etc. I/O under Primos is terrible from a programmers perspective. (and like segments on an 8086, the mess is ususally visable from the users seat as well.) >(Different system calls, from what I remember.) Yup. Complete different calling conventions, too. Not simply a matter of sending different calls similar arguments. >A nicer thing was that (in some cases) you could mark executables so >that globbing/command iteration would not be done on them. via commands at link time. Unless you insised on using the old linker, which always left them enabled. The whole globbing (aka wildcarding) and command line iteration question was handled nicly in Primos. (It was a relitivly recent (early eightys) addition.) Wildcard expantion and command line iteration are done by executing the command multiple times with different arguments. This way old commands did not need to be rewritten. Also makes results of wildcard renames easier to understand :-) Besides the wildcard characters (+ matches any single character, @ 0 or more non-periods, @@ 0 or more characters) it also could create another filename based on the wildcard expantion. copy @.(c,h) ==.+orig would copy foo.c to foo.c.orig, bar.c to bar.c.orig, and foo.h to foo.h.orig . -- blarson@usc.edu C news and rn for os9/68k! -- Bob Larson (blars) blarson@usc.edu usc!blarson Hiding differences does not make them go away. Accepting differences makes them unimportant.