Received: from mout.gmx.net (mout.gmx.net [212.227.15.19]) by h1439878.stratoserver.net (8.14.2/8.14.2/Debian-2build1) with ESMTP id r3U7tdSm007871 for ; Tue, 30 Apr 2013 09:55:40 +0200 Received: from relay2.uni-heidelberg.de ([129.206.210.211]) by mx-ha.gmx.net (mxgmx003) with ESMTP (Nemesis) id 0Lb8K9-1Uv6YG06ZN-00keB4 for ; Tue, 30 Apr 2013 09:55:33 +0200 Received: from listserv.uni-heidelberg.de (listserv.uni-heidelberg.de [129.206.100.94]) by relay2.uni-heidelberg.de (8.13.8/8.13.8) with ESMTP id r3U7qmLw024400 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Tue, 30 Apr 2013 09:52:48 +0200 Received: from listserv.uni-heidelberg.de (listserv.uni-heidelberg.de [127.0.0.1]) by listserv.uni-heidelberg.de (8.13.8/8.13.8) with ESMTP id r3TM14xg001615; Tue, 30 Apr 2013 09:52:47 +0200 Received: by LISTSERV.UNI-HEIDELBERG.DE (LISTSERV-TCP/IP release 16.0) with spool id 9202797 for LATEX-L@LISTSERV.UNI-HEIDELBERG.DE; Tue, 30 Apr 2013 09:52:47 +0200 Received: from relay2.uni-heidelberg.de (relay2.uni-heidelberg.de [129.206.210.211]) by listserv.uni-heidelberg.de (8.13.8/8.13.8) with ESMTP id r3U7glH0010704 for ; Tue, 30 Apr 2013 09:42:47 +0200 Received: from mail-ee0-f41.google.com (mail-ee0-f41.google.com [74.125.83.41]) by relay2.uni-heidelberg.de (8.13.8/8.13.8) with ESMTP id r3U7gYTn017810 (version=TLSv1/SSLv3 cipher=RC4-SHA bits=128 verify=FAIL) for ; Tue, 30 Apr 2013 09:42:37 +0200 Received: by mail-ee0-f41.google.com with SMTP id c50so94983eek.0 for ; Tue, 30 Apr 2013 00:42:34 -0700 (PDT) X-Received: by 10.15.82.201 with SMTP id a49mr5369740eez.44.1367307754586; Tue, 30 Apr 2013 00:42:34 -0700 (PDT) Received: from [139.222.115.91] (che12-j-wright1.che.uea.ac.uk. [139.222.115.91]) by mx.google.com with ESMTPSA id cd3sm36969233eeb.6.2013.04.30.00.42.32 for (version=TLSv1 cipher=ECDHE-RSA-RC4-SHA bits=128/128); Tue, 30 Apr 2013 00:42:33 -0700 (PDT) User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:17.0) Gecko/20130328 Thunderbird/17.0.5 MIME-Version: 1.0 References: <517E353C.5050701@morningstar2.co.uk> Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Message-ID: <517F75E8.7090900@morningstar2.co.uk> Date: Tue, 30 Apr 2013 08:42:32 +0100 Reply-To: Mailing list for the LaTeX3 project Sender: Mailing list for the LaTeX3 project From: Joseph Wright Subject: Re: Behaviour of \SplitArgument with missing input To: LATEX-L@LISTSERV.UNI-HEIDELBERG.DE In-Reply-To: Precedence: list List-Help: , List-Unsubscribe: List-Subscribe: List-Owner: List-Archive: Envelope-To: X-GMX-Antispam: 0 (Mail was not recognized as spam); Detail=V3; X-GMX-Antivirus: 0 (no virus found) X-UI-Filterresults: notjunk:1;V01:K0:QUFGPjqgiYQ=:/u+jSBkVtxr+QAdqVH5PNx wkHjw/EzPWjS8Okfx+bOPhCPNgBcACiw69TXjdXRCv/R5UNuRddcUeQxTmppl8amjQ6bY3M 5Ye5xsH6cGYVz8V6mtBTazVfoSdCe/zd1SQUINpFKMjkzs9jg6P45ZuG6pj8AE5SAV/U43f ALvD5WF64Xx53dpYwEuA+3pHm56Z8bzEPRc71a+rV/UJO7qw/v1l1Y0UWC6SGS+QKRdjLbw /XXXPN5CN4ibUqRxP32Epk+SEH6i/WWTsTxpCBvAfYHlhSNTQtbOlHkCeAbO3pZzJCKNrtZ oGgHY1azI3zl5ya5s9dFfrO9xbOTawaScLRwfJ+r3/ORrXCtZwBsLYxULee8pc1o1YmRRpW jljG8PmsHboHusNdnqLyy9YPU78YCcZyV5qoSNsEFAYh5akHokuyjSHZKvd4YmrIwrjcYqc 0XHZHizKFXbaPNAduUQmOFzilPugmlnQFItaegoHWGK2Y8xO8CRmaZm1cxlPZ3yS5IgZrpc ZY8rAFbcND4otbOraizITvQcbp8cPP/FwCsB00aMfwxshQwZ1jZCQxFqQ9NEyuuTVZMVUvo ml7yD0AT21oUoPYrQBUb88zP6xRIktTp351QYBgRkPIvcrxuCMPVQe3hXKIyxorHuTA5Hwh vwpokDqoUPgnVgUh7UZRbpr/mVR78tsHWtFUGIIZ4KQxCt6+VUfEHLTBccHekKEtQaUJ/7y Esow+lwlA05jB/mB2zxDeC1BKapZ4Cqo1qMWv8cPs09HjenUAjGHGHLFC5scFHXPd7N/ad0 Httwt1p67DC4XDcs5gdz1gHOw0YXQHTp4bFr72ORTqngEpGMy4Mqt3CfjOHA1PHHU89U48c QhbGyJI3eFUWzjxbx98Z+8Gmxt3LGx9is0GwQLmTfZdv+3F4vSkWdD5s3Kiy9CqufdcA39B hRJThwoC6eSCAw2BBXgKM+EAlTaOgKiFxjID7+s99mYx6V+hfVydVm0Mqwppx2DhpcXenf+ 6FRRNRmjFRlnPLiAljqrZpRuuxr/u11CWunzNhloqeycZD2p3nE6RQqDOP7nrEvX43wl3rW Q7O4T6AN49ANqGHWQsqSbJ11Q5UuE0JHqZjh5nn67wrsDRUDNROvAwJe4Yz/WPU2VtQFDJ/ ev6wOkRKzAmOTfJ8SMhLk86f/gnr+MFsERM/NGFzOMLZh+1IWnjBE4UrkbOsmz6z4PbzBPB RvqwdxonyrzUkWWDytFL/C+AMfOO8S2SsIYxyRuspzfqp7cAL5Wf9FMG2H2zt3EmYn5MqMK 6fMGtydiUAC2GFzt3dy9QRyjqes1koZngCirn96K91mRrFr2tgAYbGL8hk8a1IeipxNs5/A NKAsJJnA55TvGsIJSpZygHQEQ51MEDHqotVWMr3Pvh1K+M7G+8KuOg8iQmN3pvq/+Vu5RH3 lWXFc469tlAga+BFrZlWeDzapCWKwBx5Y7DECVqdCXEuQHnc41KAmb9Fe6ouEnR2FfeNk5h kS6Wx0ljGNX7+fyl6GWBjq6Q369Rqz2LHtz2WeYLxwmidoAqnkOLzaKbeuedrOO4hDjTLG6 Xc381QynH+hEKAg9IrpyJcdRp3TCVVQOOLkhx3yrgwoMkiqYcUgdqhKgy6o4Y2w9+Fw/fAM bQQrZZY8X X-UI-Loop:V01:xF046cPb0zI=:2tj+pHDLJ18p79XkxUNdvckrnjPOMbr40Sk1l5RDUvE= Status: R X-Status: X-Keywords: X-UID: 7197 On 29/04/2013 19:50, scott heard wrote: > Hello, forgive (and correct) me if I misunderstand how this command should > be used: > > \DeclareDocumentCommand { \foo } > { > { \SplitArgument { 2 } { ; } } m } > { \my_command:nnn #1 } > > As the output of '\SplitArgument' is some number of brace groups lumped > together into a '#1', it seems like a test for '-NoValue' would need to be > moved into '\my_command:nnn', i.e. from the xparse interface, into > "programmer code". As `\IfNoValueTF' is an xparse command, that doesn't > feel correct. If this is a reasonable interpretation/usage, then my > personal opinion would be that empty brace groups (or something else) would > be preferable to -NoValue-'s. > scott That's a separate but related point, and the one I eluded to in my original e-mail. I've been asked about how one is expected to test for the '-NoValue-' in the use case outlined, and to provide a code level interface or (I guess) some guidance on what the team feel is 'correct' in terms of testing. I thought it was best to pin down what is the 'correct' behaviour of \SplitArgument first. However, it is a fair point that this might affect the desired behaviour. I'd like to see what people feel is needed from \SplitArgument. (It might turn out we'd prefer to have a different but code-level testable marker, for example, although that sounds like a lot of effort.) -- Joseph Wright