From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from pantransit.reptiles.org ([209.157.133.146]) by hawkwind.utcs.utoronto.ca with SMTP id <44211>; Tue, 15 Aug 2000 19:21:26 -0500 Received: (qmail 112 invoked by uid 204); 15 Aug 2000 21:51:20 -0000 Date: Tue, 15 Aug 2000 17:51:20 -0500 Message-ID: <20000815215120.111.qmail@pantransit.reptiles.org> From: "Smarasderagd" To: rc@hawkwind.utcs.toronto.edu, tjg@star.le.ac.uk Subject: Re: New rc snapshot, includes "the equals hack" Tim Goodwin writes: >A new, and possibly controversial, rc development snapshot is available >from the usual place. > > http://www.star.le.ac.uk/~tjg/rc/snap/rc-1.6s20000811.tar.gz > >There are a few minor bug fixes, and the addition of the `-I' flag >from the Plan9 rc (the opposite of `-i': this shell is definitely not >interactive). See the full list of changes since the last beta at the >end of this message. > >In addition, this snapshot includes a cunning patch by Thomas Nordin >that permits `=' to appear, unquoted, outside assignments. For ease of >reference, I'm calling this "the equals hack", where the word "hack" is >not intended to have any pejorative connotations... > >The equals hack, which in fact was just a one line addition to the >grammar, effectively makes `=' stand for `^'='^' (when it's not an >assignment). The slightly surprising feature of this is that `=' >swallows whitespace around it. > > ; echo a = b > a=b > >Apart from that, everything works as you would expect. Well, I suppose expr's '=' operator isn't much of an issue, and the '>=' and '<=' operators need to be quoted anyway (I think.) Make runs with null assignments to makefile variables would still not work right, though. make Q= target turns into make Q=target Putting the Q= at the end results in a syntax error due to the trailing implicit caret, and you'll run into this problem with a trailing = anywhere. I'd rather have a fix that works completely, or just go on quoting things as I have been.