Received: from mail.proteosys.com ([213.139.130.197]) by nummer-3.proteosys with Microsoft SMTPSVC(6.0.3790.3959); Thu, 6 Aug 2009 09:35:46 +0200 Received: by mail.proteosys.com (8.14.3/8.14.3) with ESMTP id n767Zjgo024113 for ; Thu, 6 Aug 2009 09:35:45 +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 n767UUVC001914 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Thu, 6 Aug 2009 09:30:30 +0200 Received: from listserv.uni-heidelberg.de (localhost.localdomain [127.0.0.1]) by listserv.uni-heidelberg.de (8.13.1/8.13.1) with ESMTP id n75M1s3Z001169; Thu, 6 Aug 2009 09:30:30 +0200 Received: by LISTSERV.UNI-HEIDELBERG.DE (LISTSERV-TCP/IP release 15.5) with spool id 286238 for LATEX-L@LISTSERV.UNI-HEIDELBERG.DE; Thu, 6 Aug 2009 09:30:30 +0200 Received: from relay2.uni-heidelberg.de (relay2.uni-heidelberg.de [129.206.210.211]) by listserv.uni-heidelberg.de (8.13.1/8.13.1) with ESMTP id n767UTmB013051 for ; Thu, 6 Aug 2009 09:30:29 +0200 Received: from ueamailgate02.uea.ac.uk (ueamailgate02.uea.ac.uk [139.222.131.185]) by relay2.uni-heidelberg.de (8.13.8/8.13.8) with ESMTP id n767UFJw001672 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO) for ; Thu, 6 Aug 2009 09:30:19 +0200 Received: from ueams01.uea.ac.uk (ueams01.uea.ac.uk [139.222.131.78]) by ueamailgate02.uea.ac.uk (8.13.1/8.13.1) with ESMTP id n767UF8U021439 for ; Thu, 6 Aug 2009 08:30:15 +0100 Received: from [139.222.114.191] by ueams01.uea.ac.uk with esmtp (Exim 4.69) (envelope-from ) id 1MYxQQ-0008Gy-Cj for LATEX-L@LISTSERV.UNI-HEIDELBERG.DE; Thu, 06 Aug 2009 08:30:10 +0100 User-Agent: Thunderbird 2.0.0.22 (Windows/20090605) MIME-Version: 1.0 References: <4A7921CF.5020803@morningstar2.co.uk> <4A7A1505.4040604@residenset.net> <4A7A762A.3040105@morningstar2.co.uk> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-Canit-CHI2: 0.00 X-Bayes-Prob: 0.0001 (Score 0, tokens from: @@RPTN, outgoing) X-CanItPRO-Stream: UEA:outgoing (inherits from UEA:default,base:default) X-Canit-Stats-ID: 27602677 - 14c51af32ac7 X-Scanned-By: MIMEDefang 2.65 on 213.139.130.197 X-Scanned-By: CanIt (www . roaringpenguin . com) on 139.222.131.185 Message-ID: <4A7A8688.9030808@morningstar2.co.uk> Date: Thu, 6 Aug 2009 08:30:16 +0100 Reply-To: Mailing list for the LaTeX3 project Sender: Mailing list for the LaTeX3 project From: Joseph Wright Subject: Re: xparse To: LATEX-L@LISTSERV.UNI-HEIDELBERG.DE In-Reply-To: <4A7A762A.3040105@morningstar2.co.uk> Precedence: list List-Help: , List-Unsubscribe: List-Subscribe: List-Owner: List-Archive: X-ProteoSys-SPAM-Score: -6.599 () BAYES_00,RCVD_IN_DNSWL_MED Return-Path: owner-latex-l@LISTSERV.UNI-HEIDELBERG.DE X-OriginalArrivalTime: 06 Aug 2009 07:35:46.0071 (UTC) FILETIME=[82D24A70:01CA1668] Status: R X-Status: X-Keywords: X-UID: 5826 I wrote: > [Discussion about \IfNoValue] I think there are two sensible ways to approach things: 1) Insist that \NoValue can only be used directly inside xparse functions, document this and provide an example of how to pass data along (using \q_no_value, as in my example). In this case, \IfNoValue does not need to be expandable. 2) Document that \NoValue may be passed along, and as a result ensure that \IfNoValue is expandable. The current situation seems to fall between the two (\IfNoValue is not expandable *but* there is no guidance on any restriction). As Lars says, there are cases where an expandable \NoValue would be very useful (although I wonder if my suggestion of effectively converting \NoValue into \q_no_value at the xparse stage "fits" better the separation of argument parsing from coding). -- Joseph Wright