Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP
Path: utzoo!mnetor!uunet!husc6!psuvax1!gondor.psu.edu!schwartz
From: schwartz@gondor.psu.edu (Scott E. Schwartz)
Newsgroups: comp.unix.wizards
Subject: Re: Command interfaces
Message-ID: <3161@psuvax1.psu.edu>
Date: Fri, 4-Dec-87 16:22:36 EST
Article-I.D.: psuvax1.3161
Posted: Fri Dec  4 16:22:36 1987
Date-Received: Wed, 9-Dec-87 06:04:17 EST
References: <1257@boulder.Colorado.EDU> <6840002@hpcllmv.HP.COM> <9555@mimsy.UUCP> <798@rocky.STANFORD.EDU> <432@cresswell.quintus.UUCP>
Sender: netnews@psuvax1.psu.edu
Reply-To: schwartz@gondor.psu.edu (Scott E. Schwartz)
Organization: Penn State University, University Park, PA
Lines: 55

In article <432@cresswell.quintus.UUCP> ok@quintus.UUCP (Richard A. O'Keefe) writes:
>    PR1MOS:
>	I've not only used PR1MOS, I have access to some of the manuals.
>	The last time I used it seriously was Rev 14, back when they
>	were just starting to switch over to UNIX- (or AEGIS-) like
>	options.  A release or two before that, you passed options to
>	the Fortran compiler by writing octal numbers in the command
>	line (this set the P300's A and B registers to the numbers you
>	wrote; on PR1ME 400s and 500s the compilers still ran in
>	32R = PR1ME 300 mode).  I am **NOT** kidding, folks, you had
>	to be able to add octal to use the FTN compiler.

This is still supported, by the way.

>	If SEG understands wildcards this is the first I've heard of it.

I last used primos at rev 20.  SEG didn't know about wildcards
then either, but there is a new utility called "BIND" that makes
(new) EPF style runfiles.  (These work like primos "internal"
commands.) BIND takes command line options, unlike SED.
Part of the magic of BIND is it allows you to specify what command
line objects (i.e. wildcards) are expanded by the command processor
when the BINDee is invoked.

One catch when talking about primos wildcards is that they
are treated in a fundamentaly different way than unix wildcards.
The command line "cc @.c" with files a.c b.c  is equivalent to 
	cc a.c
	cc b.c
rather than "cc a.c b.c".  That is, the command processor
iterates over wildcards rather than expanding them.  To get unix
style behavior, you have to use the Multics-ism "cc [wild @.c]"
or use BIND to tell the command processor not to expand wildcards
for cc.  Primos supplies library routines to search directoies
using wildcards.

Note that is would be easy to add this kind of functionality
to unix... just add more bits to the inode structure, 
st_dowild say.  Then have the shell look at them before
expanding wildcards.  It will never catch on, though :-)

For the record, after several years of using primos, it is clear
to me that the unix scheme is sufficiently clearer and simpler 
so as to outweigh many of the arguments against having the shell
to globbing.  Nothing is perfect, but in general unix does it better.

In terms of "rm *".  Assuming it is that important a case to take care
of, why not have the shell recognise and fork "rm" after checking
arguments.  Certainly "login" in the shell is precident enough. And the
old executable can stay in /bin for those in the know to use when the
need arises.



-- Scott Schwartz            schwartz@gondor.psu.edu