From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 17192 invoked by alias); 8 Sep 2018 06:27:39 -0000 Mailing-List: contact gdb-patches-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sourceware.org Received: (qmail 17172 invoked by uid 89); 8 Sep 2018 06:27:38 -0000 Authentication-Results: sourceware.org; auth=none X-Spam-SWARE-Status: No, score=-2.3 required=5.0 tests=AWL,BAYES_00,SPF_PASS autolearn=ham version=3.3.2 spammy= X-HELO: eggs.gnu.org Received: from eggs.gnu.org (HELO eggs.gnu.org) (208.118.235.92) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Sat, 08 Sep 2018 06:27:37 +0000 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1fyWiV-00064u-3A for gdb-patches@sourceware.org; Sat, 08 Sep 2018 02:27:35 -0400 Received: from fencepost.gnu.org ([2001:4830:134:3::e]:43399) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1fyWiP-0005nP-IX; Sat, 08 Sep 2018 02:27:29 -0400 Received: from [176.228.60.248] (port=2503 helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1fyWiP-0005OD-4C; Sat, 08 Sep 2018 02:27:29 -0400 Date: Sat, 08 Sep 2018 06:27:00 -0000 Message-Id: <83h8j0tsfg.fsf@gnu.org> From: Eli Zaretskii To: Andrew Burgess CC: tom@tromey.com, gdb-patches@sourceware.org, philippe.waroquiers@skynet.be In-reply-to: <20180907224721.GH22193@embecosm.com> (message from Andrew Burgess on Fri, 7 Sep 2018 23:47:21 +0100) Subject: Re: [PATCHv2] gdb: Rewrite argument handling for user-defined commands References: <20180906232904.13286-1-andrew.burgess@embecosm.com> <87tvn1vydn.fsf@tromey.com> <20180907224721.GH22193@embecosm.com> X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 2001:4830:134:3::e X-IsSubscribed: yes X-SW-Source: 2018-09/txt/msg00158.txt.bz2 > Date: Fri, 7 Sep 2018 23:47:21 +0100 > From: Andrew Burgess > Cc: gdb-patches@sourceware.org, Philippe Waroquiers > > 1. Arguments are separated by whitespace, > > 2. Everything within matched single or double quotes is a single > argument. > > 3. After a quoted region you still need whitespace to split the > arguments, so >>'abc'def<< will be a single argument, >>abcdef<<. > > 4. Within double quotes, a backslash can be used to escape a double > quotes, so >>"\"this is one\""<< will give >>"this is one"<<. > > 5. Within single quotes backslash does NOT escape a single quote, so > a single quote always ends a quoted block, so >>'this is\'<< will > pass the argument >>this is\<<. I'm not 100% committed to this idea, > and can make this like double quotes if that is preferred. Why did you decide on this exception for single quotes? Are there any downsides to having \' mean a literal ' inside '..' quoted arguments? If there is no downside, I think it would be a better UX to have both kinds of quotes behave identically wrt escapes. Thanks.