From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from adsl-216-102-199-169.dsl.snfc21.pacbell.net ([216.102.199.169]) by hawkwind.utcs.utoronto.ca with SMTP id <24824>; Thu, 9 Dec 1999 16:22:33 -0500 Received: (from haahr@localhost) by adsl-216-102-199-169.dsl.snfc21.pacbell.net (8.8.7/8.8.7) id IAA32371; Thu, 9 Dec 1999 08:48:49 -0800 X-Authentication-Warning: iadd.jivetech.com: haahr set sender to haahr@jivetech.com using -f From: Paul Haahr X-Attribution: haahr Message-Id: Date: Thu, 9 Dec 1999 11:48:49 -0500 MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit To: Decklin Foster , Gert-Jan Vons Cc: rc@hawkwind.utcs.toronto.edu Subject: Re: tilde featuritis alert In-Reply-To: <19991209025205.B305@debian> References: <19991209025205.B305@debian> <4.2.2.19991209092255.00ae2380@mailhost.ocegr.fr> X-Mailer: VM 6.30 under Emacs 20.3.1 [I hate to jump into an incipient flame war, but...] Decklin Foster wrote: > is the lack of an sh-like '~' a personal preference of the author, or > just not feasible to implement due to rc's eval-once semantics? Tom Duff's rc (the Plan 9 version) didn't support ~, probably because none of the Bell Labs shells used ~ for home directory expansion. Byron kept just about everything the same as Duff's rc in his version, with the merciful exception of ``if not.'' And, at the time, we were both strong Bell Labs purists and mocked the people who suggested that ~-expansion was an appropriate shell feature. When we wrote es, it got almost all the features which real rc users had complained were missing in rc, in addition to the extensibility features. (Can you say ``second system effect''? I thought you could.) Of course, this includes ~-expansion. In fact, ~-expansion is configurable, so you can have it do whatever you want, including throw an error if you're offended by having the feature in the shell. These days, I use es and swear by ~-expansion. Byron never bothered to switch (why would he? rc is perfect for all practical purposes) and still wonders why anyone would want ~-expansion. And despite this major rift, we've somehow stayed friends. Gert-Jan Vons wrote > Something that I still haven't gotten used to even after 5-6 years of > using rc is the need to quote command arguments if there's an equal sign > like in "dd 'if=infile' 'of=outfile'". Me neither. I still consider it a bug in both rc and es. (An intermediate program between rc and es called hs, for ``hypothetical shell,'' actually fixed this by hacking the grammar, but I've never seen another Yacc grammar that unpleasant.* If I remember, the interactions with ^, which are already horrible, became combinatorily worse. But it definitely is possible to make it work.) > I once asked for an extension that would allow me to do "dd if\=infile > of\=outfile" but that got killed pretty fast :-/ This, actually, does work in es. --p * Ok, you're right, the C++ parsers are that bad.