From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-relay-2.mv.us.adobe.com ([130.248.1.2]) by hawkwind.utcs.toronto.edu with SMTP id <2230>; Wed, 26 May 1993 15:13:32 -0400 Received: by mail-relay-2.mv.us.adobe.com; id AA28098; Wed, 26 May 93 10:05:43 -0700 Received: by astro.mv.us.adobe.com; id AA29590; Wed, 26 May 93 10:06:40 -0700 Date: Wed, 26 May 1993 13:06:40 -0400 From: haahr@mv.us.adobe.com (Paul Haahr) Message-Id: <9305261706.AA29590@astro.mv.us.adobe.com> To: alan@oldp.astro.wisc.edu Subject: Re: Differences between Duff's rc and Byron's Cc: rc@hawkwind.utcs.toronto.edu > Actually, reading the Plan9 man pages was somewhat depressing: two of > the things I regard as unnecessary in Byron's rc ($^foo and newpgrp) > have made it after a fashion in to Duff's implementation. $^ is most definitely necessary. ok, you can simulate the operation with: fn flatten { var = $1 shift if (~$#* 0) { $var = '' return } $var = $1 shift for (i = $*) { $var = $$var ^ ' ' ^ $i } } and use flatten x $foo for x = $^foo but the operation itself is fundamental. the concatenation semantics just about require it. (eval, for example, does flattening internally.) newpgrp on the other hand is a hack. it's there because otherwise rc would be much less usable on some (admittedly broken) systems. paul