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 r447gqKo011820 for ; Sat, 4 May 2013 09:42:53 +0200 Received: from relay.uni-heidelberg.de ([129.206.100.212]) by mx-ha.gmx.net (mxgmx004) with ESMTP (Nemesis) id 0LfYNN-1UEoHP48uf-00p43q for ; Sat, 04 May 2013 09:42:47 +0200 Received: from listserv.uni-heidelberg.de (listserv.uni-heidelberg.de [129.206.100.94]) by relay.uni-heidelberg.de (8.14.1/8.14.1) with ESMTP id r447drAF004704 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Sat, 4 May 2013 09:39:54 +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 r43M13XQ030275; Sat, 4 May 2013 09:39:53 +0200 Received: by LISTSERV.UNI-HEIDELBERG.DE (LISTSERV-TCP/IP release 16.0) with spool id 9299909 for LATEX-L@LISTSERV.UNI-HEIDELBERG.DE; Sat, 4 May 2013 09:39:53 +0200 Received: from relay.uni-heidelberg.de (relay.uni-heidelberg.de [129.206.100.212]) by listserv.uni-heidelberg.de (8.13.8/8.13.8) with ESMTP id r447dr1E002045 for ; Sat, 4 May 2013 09:39:53 +0200 Received: from moutng.kundenserver.de (moutng.kundenserver.de [212.227.17.8]) by relay.uni-heidelberg.de (8.14.1/8.14.1) with ESMTP id r447dawP004632 (version=TLSv1/SSLv3 cipher=RC4-SHA bits=128 verify=NO) for ; Sat, 4 May 2013 09:39:39 +0200 Received: from mittelbach-online.de (pD9FE3074.dip0.t-ipconnect.de [217.254.48.116]) by mrelayeu.kundenserver.de (node=mrbap2) with ESMTP (Nemesis) id 0Mb2OB-1UtDHY2pdT-00KMud; Sat, 04 May 2013 09:39:35 +0200 Received: from [192.168.123.104] (falco [192.168.123.104]) (Authenticated sender: frank) by mittelbach-online.de (Postfix) with ESMTPSA id 698712802A3; Sat, 4 May 2013 09:32:25 +0200 (CEST) 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> <517F75E8.7090900@morningstar2.co.uk> <517F9214.9030103@residenset.net> Content-Type: text/plain; charset=ISO-8859-1; format=flowed X-Provags-ID: V02:K0:aJOJuAMYdPeXYtuUC0In9wiMf2S1ZY54rTzPpQuzTSl p1Cdl2ApNl4MAB1m5eKEvEi1vVH0H7WY6nMG+kJIf42RjaM83q rWAgrWSBp7Y0W80NiDDCiyeTRDZ+7ah/ttyigxuSeNzQcuPkg/ gQHkoGcAXMDbfPuBcPZENyGBCv/4MVT9OzBdtFayX9oqC5KXmQ 5GSObTuCMYB40bxVpTlT2qZM/CYmOW+8lJjOf/0BuDkmLH2URV z1sAQt/aoKHtqmcX87T5hv43RncfkznWVfwneHWuQGtZRMWJgY epzMCL1Fshde4Z2Rs0zXCLfFm/xXTqO68I4F5dLzPvGUPIh4DR KlOvjdqAKBR6+1QJCcWR8WUs9lskfNwoHpwxuqU7n X-MIME-Autoconverted: from quoted-printable to 8bit by listserv.uni-heidelberg.de id r447dr1E002046 Message-ID: <5184BB35.2@latex-project.org> Date: Sat, 4 May 2013 09:39:33 +0200 Reply-To: Mailing list for the LaTeX3 project Sender: Mailing list for the LaTeX3 project From: Frank Mittelbach Subject: Re: Behaviour of \SplitArgument with missing input To: LATEX-L@LISTSERV.UNI-HEIDELBERG.DE In-Reply-To: <517F9214.9030103@residenset.net> Precedence: list List-Help: , List-Unsubscribe: List-Subscribe: List-Owner: List-Archive: Content-Transfer-Encoding: quoted-printable X-MIME-Autoconverted: from 8bit to quoted-printable by relay.uni-heidelberg.de id r447drAF004704 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:ZJGbCxQ7tac=:cjGoYtsHTinNmfCamWux38 MR08RU7OM5wlVAujaCPXq45+kC2IY+GFVNJYQyY5KhuNEjwVY7aiu1XqYvX8CkJMePcT6KJ +AwHIIxLTo4V76gMke0XgB3WgrLwDpTA2bLBwkbZgMb5CvfrNvzI39YIBkBrUxCNElCQKGZ t9u4QT7yR1BO2xVJAkgwwIJlAlE9rPrrRJ5hWimsMHm+3YoX/fB3QSIHL7lN2uf6sbCa1sz LPkeBDpYMrWc6GIF2vsrZTeqHdht6EC0fjzlBfqxnyT5O2FGu4xcyHqXLLHUMcXJ4xNqnVJ rUMtHwQq7QNgH+yD+WaCpsBqGmxylsAa4RubLk020QMilPXHA1YhlJhAy8c63Zo0KNrYSNB y9E5x1LphRYLTO8k8OqjOXQT7PyAARP0+yTph4RlqxYj/ILPzbo74gAxbIZ0qQh8OF9CA1E wWJWaB1GHvFkmlzmLdgeYx2lyw3X+XRj/qZFaMFYiWyJEZvDALQRGotNxMAqT9HPx1cVaax IB81dMPZ5o9CLu0BebXEYZXALDrFpManc7/LNxdJt6cm3MFXPwORB+8MNqGt/NqO4TgvSwM X2NlMjKw51LG9aGn7Qk2He6d71mf7BQLkflVwYWl07teXjbc3uPyQKjveC34v0ozhMWFLlm 8wgPs/fh5NJX52TgwfT/pm+Qdgk1afXVla2lvMKwJvxVxRyK4u33RCr7I9GBcm505TCivhB xUHcQcGaazRAfks6yZhSFMFULjiL4i8700a8NzzzqD1at4qWAYoEoExNuBzjOGDDorN3rUz HX22Y9jeUCenBhPcR0UcHhzexGftlm95oVoxz0Ou3t/Lqb+Cf6L3egoOb3ht9/ZXthLyKCo Oc7LVkvKtVH6I9ZzTMeaVnDYri86JTV0ZiNcHV6AYznBTzKOOyQHAWqy0pw1tG7eoxeenx3 NK6HP/fJzOLRiF+kbBb5Wo2/T+hGuLfnpMzJq5c33wMh32fyz5fkqOZPGoM5LvVGYvRVtyM AyKYq0HsleMFyb+K8aAohapEKl7LpxaW6/q4YnRHBIjO1mOvDt/DDow/BwJ23oV68aUtX+1 ybVt3XXt5CMTzMgOg51NAPALh6et+xNmb1cdekyS4OdLpILmO5ueQQcW+IZxBkyND5w0N6D n5/D4EhZeRZYr/yCKN45OvxJB72t7D9skB4cpfMCiD/AYjD008YhL8w8NUXrEAnYYH94DJ/ bquzWmrAh9J2n9/7XpHy5MsAcmjKF+XFRtMJ1gCkQUdxRm6GFf343JvLE+WZ8QltC5CYPwA A6J3OhbuwDNm0DPTM+RJBVrmQtcEI9hbGRKfr9rnXGddD+lk3jhdQ9KHrS/1Nz9FxVT5G7N cKVdNibPifjWcmMCuDN+x3ex8GlyL/lZqv2Wt8A95SpKOiTr899vseoGwGJx3stJmkli+8V GRxepiX/U0xWi8qVgXgNeuik6BwCfTzvOCeu/A0pctL1KG9cxSrkGzQmvoBx9OdD7m/dwCw g/rCS7P/xI3bVBrmg7h5+y50KLNHxSv99fHZb/idr64tXfQLIvOEZIIDGKy/YS5YFUCW+nl rBsxfLb5MAZVf47twRYSaBJD4njrh5KZGNkaneG5xOn32ncdHcOf3T2P3k0= X-UI-Loop:V01:HAJLHhV45uw=:aWSemSbhE/CzRSmGZs+y1vFtybqTFCU9wByJEVRsJU8= Status: R X-Status: X-Keywords: X-UID: 7203 Am 30.04.2013 11:42, schrieb Lars Hellstr=F6m: > > IMHO, the notion that "one cannot use \IfNoValueTF at the code level > because that is a high level command" is utterly bizarre. not utterly, no :-) but the phrasing is wrong. > That many > low-level features should not be exposed in a high-level context is one > thing, but also doing the converse is usually a sign that one's design > is flawed somewhere. right, which I tried to discuss in my other mail > When a sensible representation of a fundamental > concept (missing value, boolean true, boolean false, etc.) can be > exposed at the high level, then that representation should be used also > at the low level to the extent possible. yes, that is missing here. > To me, it is intunitively correct that a \SplitArgument { 2 } { ; } on > {bar} should yield two NoValues, since clearly two more pieces of data > were expected but not provided. It also seems that you may want to > provide some variant of \SplitArgument that supplies default values whe= n > nothing explicit is given. For \ang{;;}, one > would probably want 0 (i.e., fixed value like for classical \newcommand= ) > as default. For \cline{-}, one would probably want the other > value to be the default (a classical feature of \section and friends). > So that might be two siblings of \SplitArgument. This part here is now solely a discussion of what the UI should offer=20 and I agree - there should be both a split interface that returns "no value" if=20 the value is missing - and there should be one where defaults can be specified, just like=20 they can be specified for single optional arguments frank