From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from oldp.astro.wisc.edu ([128.104.39.15]) by hawkwind.utcs.toronto.edu with SMTP id <2726>; Wed, 26 May 1993 20:44:22 -0400 Received: by oldp.astro.wisc.edu (5.65/DEC-Ultrix/4.3) id AA17386; Wed, 26 May 1993 19:44:15 -0500 Message-Id: <9305270044.AA17386@oldp.astro.wisc.edu> To: rc@hawkwind.utcs.toronto.edu Subject: bug in ~ ? Date: Wed, 26 May 1993 20:44:15 -0400 From: Alan Watson X-Mts: smtp ; foo=() ; ~ $foo () bar && echo yes [a] ; ~ $foo () && echo yes [b] yes ; ~ () () && echo yes [c] yes ; foo=foo ; ~ $foo foo bar && echo yes [d] yes Question: why doesn't [a] echo yes? This is what I think is going on: rc normally takes the arguments to a command and makes them into a list, in the process of which any null lists are eliminated. While this the behaviour one normally wants, it doesn't seem right here. rc doesn't seem to amalgamate the first argument of ~ with the rest (from my reading of the grammar), so it is already a special case.