Received: from mail.proteosys.com ([213.139.130.197]) by nummer-3.proteosys with Microsoft SMTPSVC(6.0.3790.3959); Sun, 23 Aug 2009 14:49:34 +0200 Received: by mail.proteosys.com (8.14.3/8.14.3) with ESMTP id n7NCnX2L021376 for ; Sun, 23 Aug 2009 14:49: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 n7NCiWCv012074 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Sun, 23 Aug 2009 14:44:32 +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 n7MM1DFL032549; Sun, 23 Aug 2009 14:44:22 +0200 Received: by LISTSERV.UNI-HEIDELBERG.DE (LISTSERV-TCP/IP release 15.5) with spool id 291479 for LATEX-L@LISTSERV.UNI-HEIDELBERG.DE; Sun, 23 Aug 2009 14:44:22 +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 n7NCiMUL011767 for ; Sun, 23 Aug 2009 14:44:22 +0200 Received: from lon1-post-1.mail.demon.net (lon1-post-1.mail.demon.net [195.173.77.148]) by relay2.uni-heidelberg.de (8.13.8/8.13.8) with ESMTP id n7NCi8TC010797 for ; Sun, 23 Aug 2009 14:44:12 +0200 Received: from morningstar2.demon.co.uk ([80.176.134.7] helo=[192.168.0.2]) by lon1-post-1.mail.demon.net with esmtp (Exim 4.69) id 1MfCQa-0001g8-Xg for LATEX-L@LISTSERV.UNI-HEIDELBERG.DE; Sun, 23 Aug 2009 12:44:08 +0000 User-Agent: Thunderbird 2.0.0.22 (Windows/20090605) MIME-Version: 1.0 References: <4A7921CF.5020803@morningstar2.co.uk> <4A8EC449.4040509@morningstar2.co.uk> <19088.5371.517713.176151@morse.mittelbach-online.de> <4A905FB5.8020201@morningstar2.co.uk> <19089.3956.753050.556360@morse.mittelbach-online.de> X-Enigmail-Version: 0.96.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Message-ID: <4A91399D.9090909@morningstar2.co.uk> Date: Sun, 23 Aug 2009 13:44:13 +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: <19089.3956.753050.556360@morse.mittelbach-online.de> Precedence: list List-Help: , List-Unsubscribe: List-Subscribe: List-Owner: List-Archive: X-ProteoSys-SPAM-Score: -6.599 () BAYES_00,RCVD_IN_DNSWL_MED X-Scanned-By: MIMEDefang 2.65 on 213.139.130.197 Return-Path: owner-latex-l@LISTSERV.UNI-HEIDELBERG.DE X-OriginalArrivalTime: 23 Aug 2009 12:49:34.0879 (UTC) FILETIME=[2AB022F0:01CA23F0] Status: R X-Status: X-Keywords: X-UID: 5984 Frank Mittelbach wrote: > sorry not very clear I agree. This remark was largely due to a > misunderstanding on my part from reading the current documentation For example > > \foo {[}bar]{baz} > > shouldn't be interpreted as \foo[bar]{baz} (which it isn't, except in a > special extension). I do hope that the reasoning for including \DeclareExpandableDocumentCommand is okay. It seemed like a better way to cover the special cases than the current ad hoc situation. > > As you probably realise, my overall feeling is that for many (most?) end > > users, a LaTeX2e-like syntax will remain the best way to use LaTeX > > whatever we deliver as LaTeX3. > > agreed, but that doesn't mean that it (the final standard syntax) is equal to 2e syntax I did say "LaTeX3e-like", meaning something that probably involves TeX escaped keywords and so on. I'd not expect nothing to change. > On the other hand I would probably prefer the current state to be called > xparse-2e and run with that as stable. Then Bill, for example, could easily > build a matching xparse-gellmu and promote using this document level syntax > for accessing the other latex3 layers, etc. And we can leave the name xparse > for a more "final" interface version. How do you see that working with things like \DeclareDocumentCommand. Two options come to mind: 1) Given them names which reflect the separation (\DeclareLaTeXDocumentCommand, etc.) 2) Add an extra "model" argument: \DeclareDocumentCommand { } { } { } { } where we make no assumptions about anything here and do something like \cs_set_protected:Npn \DeclareDocumentCommand #1#2#3#4 { \cs_if_exist:cTF { xparse_declare_cmd_ #1 :nnn } { \use:c { xparse_ #1 _declare_cmd:nnn } {#2} {#3} {#4} }{ \msg_error:nnx { xparse } { unknown-model } {#1} } } This would assume dividing the current code in half: one truly generic part to just provide things like \DeclareDocumentCommand, and one containing the xparse-2e idea. -- Joseph Wright