Received: from mail.proteosys.com ([213.139.130.197]) by nummer-3.proteosys with Microsoft SMTPSVC(6.0.3790.3959); Mon, 10 Aug 2009 09:21:36 +0200 Received: by mail.proteosys.com (8.14.3/8.14.3) with ESMTP id n7A7LbFi004676 for ; Mon, 10 Aug 2009 09:21:37 +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 n7A7FjlY010642 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Mon, 10 Aug 2009 09:15:46 +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 n79M1ID3014993; Mon, 10 Aug 2009 09:15:37 +0200 Received: by LISTSERV.UNI-HEIDELBERG.DE (LISTSERV-TCP/IP release 15.5) with spool id 293518 for LATEX-L@LISTSERV.UNI-HEIDELBERG.DE; Mon, 10 Aug 2009 09:15:37 +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 n7A7FbZ9023407 for ; Mon, 10 Aug 2009 09:15:37 +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 n7A7FSNo010491 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO) for ; Mon, 10 Aug 2009 09:15:32 +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 n7A7FSwt031887 for ; Mon, 10 Aug 2009 08:15:28 +0100 Received: from [139.222.114.191] by ueams01.uea.ac.uk with esmtp (Exim 4.69) (envelope-from ) id 1MaP6J-0008Ba-7g for LATEX-L@LISTSERV.UNI-HEIDELBERG.DE; Mon, 10 Aug 2009 08:15:23 +0100 User-Agent: Thunderbird 2.0.0.22 (Windows/20090605) MIME-Version: 1.0 References: <4A7D7AA3.9030309@morningstar2.co.uk> <9B845608-EF5E-4395-B12F-51EE964A51C6@gmail.com> Content-Type: text/plain; charset=ISO-8859-1 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: 27854434 - 8718d1095cdf 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: <4A7FC911.7010602@morningstar2.co.uk> Date: Mon, 10 Aug 2009 08:15:29 +0100 Reply-To: Mailing list for the LaTeX3 project Sender: Mailing list for the LaTeX3 project From: Joseph Wright Subject: Re: Should \ExplSyntax(On/Off) be \protected? To: LATEX-L@LISTSERV.UNI-HEIDELBERG.DE In-Reply-To: <9B845608-EF5E-4395-B12F-51EE964A51C6@gmail.com> 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: 10 Aug 2009 07:21:36.0200 (UTC) FILETIME=[31E94480:01CA198B] Status: R X-Status: X-Keywords: X-UID: 5851 Will Robertson wrote: > Considering that the things that \ExplSyntaxXYZ do are not expandable, I > think it would be correct to define them \protected. > > Speaking generally, however, I'm not sure how much expansion we should > be restricting. Lars in particular, recently, has been advocating > keeping things expandable (and LuaTeX should broaden the applicability > of what can be done there) but at this stage I've got nothing much to > say :) I perhaps should have suggested two general cases: 1) Design functions which clearly are expandable (such as \IfBooleanTF or the version of \IfNoValue in xparse-alt): these should left alone as they will behave "nicely". 2) Design functions which are not expandable (at least under pdfTeX or XeTeX: LuaTeX raises lots of issues, I suspect). This includes \ExplSyntaxOn/Off, \DeclareDocumentCommand and so on. I'd suggest that these should be \protected. I'm not saying it's likely that \edef-ing things like \DeclareDocumentCommand is likely, but that it seems more consistent. -- Joseph Wright