From: H. Peter Anvin Date: Thu, 15 Sep 2005 20:18:13 GMT Subject: Re: Shell quoting Message-ID: <4329D705.8050101@zytor.com> In-Reply-To: <7vll1yyusn.fsf@assigned-by-dhcp.cox.net> Junio C Hamano wrote: > "H. Peter Anvin" writes: > > >>Linus Torvalds wrote: >> >>>Does anybody really still use tcsh? It's a broken mess. >>> >> >>Yes. > > Yes to "still use", or yes to "broken mess" ;-)? > Both :) >>>Junio's "sq_quote()" works wonderfully on any valid shells. The fact >>>that tcsh expands ! even inside single quotes is just pure >>>braindamage. >> >>>You could expand "sq_quote" to handle '!' and '\' characters the exact >>>same way it handles the single tick (end single-tick quoting, do \! or \\ >>>and start single-tick quoting again) and that might be good enough for >>>tcsh. >> >>It seems easier to just \-escape any special characters. > > I am sympathetic. The beauty of sq_quote() comes directly from > the behaviour of single quoting rules of "any valid shells" -- > there is no need to maintain a list of special characters. Just > single quote itself is special and nothing else. Well, in the patch I just posted I simply \-escape a blacklist of characters. It should be quite safe, since the blacklist consists of all ASCII characters that aren't known to be regularly used on the command line. -hpa