Received: from mx0.gmx.net (mx0.gmx.net [213.165.64.100]) by h1439878.stratoserver.net (8.14.2/8.14.2/Debian-2build1) with SMTP id p7M88xCV001609 for ; Mon, 22 Aug 2011 10:09:06 +0200 Received: (qmail 24107 invoked by alias); 22 Aug 2011 08:08:54 -0000 Delivered-To: GMX delivery to rainer.schoepf@gmx.net Received: (qmail invoked by alias); 22 Aug 2011 08:08:53 -0000 Received: from relay2.uni-heidelberg.de (EHLO relay2.uni-heidelberg.de) [129.206.210.211] by mx0.gmx.net (mx062) with SMTP; 22 Aug 2011 10:08:53 +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 p7M86Lr4019918 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Mon, 22 Aug 2011 10:06:21 +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 p7M6pmDM029851; Mon, 22 Aug 2011 10:06:20 +0200 Received: by LISTSERV.UNI-HEIDELBERG.DE (LISTSERV-TCP/IP release 16.0) with spool id 1551564 for LATEX-L@LISTSERV.UNI-HEIDELBERG.DE; Mon, 22 Aug 2011 10:06:20 +0200 Received: from relay.uni-heidelberg.de (relay.uni-heidelberg.de [129.206.100.212]) by listserv.uni-heidelberg.de (8.13.1/8.13.1) with ESMTP id p7M86KZU025257 for ; Mon, 22 Aug 2011 10:06:20 +0200 Received: from ix.urz.uni-heidelberg.de (cyrus-portal.urz.uni-heidelberg.de [129.206.100.176]) by relay.uni-heidelberg.de (8.14.1/8.14.1) with ESMTP id p7M86Ken012226 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO) for ; Mon, 22 Aug 2011 10:06:20 +0200 Received: from relay2.uni-heidelberg.de (relay2.uni-heidelberg.de [129.206.210.211]) by ix.urz.uni-heidelberg.de (8.13.8/8.13.8) with ESMTP id p7M86J33016968 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO) for ; Mon, 22 Aug 2011 10:06:19 +0200 Received: from lo.gmane.org (lo.gmane.org [80.91.229.12]) by relay2.uni-heidelberg.de (8.13.8/8.13.8) with ESMTP id p7M860Ju019683 for ; Mon, 22 Aug 2011 10:06:07 +0200 Received: from list by lo.gmane.org with local (Exim 4.69) (envelope-from ) id 1QvPW4-0000Uk-Ti for LATEX-L@URZ.UNI-HEIDELBERG.DE; Mon, 22 Aug 2011 10:05:52 +0200 Received: from pd954b363.dip.t-dialin.net ([217.84.179.99]) by main.gmane.org with esmtp (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Mon, 22 Aug 2011 10:05:52 +0200 Received: from news3 by pd954b363.dip.t-dialin.net with local (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Mon, 22 Aug 2011 10:05:52 +0200 X-Injected-Via-Gmane: http://gmane.org/ Lines: 43 References: <4E4FF538.7070601@morningstar2.co.uk> <9788A2B7-3E8F-4D2C-A52E-10999BCB59FA@gmail.com> <4E516DF2.4040002@morningstar2.co.uk> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit X-Complaints-To: usenet@dough.gmane.org X-Gmane-NNTP-Posting-Host: pd954b363.dip.t-dialin.net User-Agent: 40tude_Dialog/2.0.15.41de X-Spam-Flag: No X-Envelope-From: X-Spam-Status: No, hits=-4.30 required=5 tests=AWL,BAYES_00,L_P0F_Linux,RCVD_IN_DNSWL_MED,SPF_HELO_PASS, SPF_PASS Message-ID: <104nbkj0nr84x.dlg@nililand.de> Date: Mon, 22 Aug 2011 10:05:10 +0200 Reply-To: Mailing list for the LaTeX3 project Sender: Mailing list for the LaTeX3 project From: Ulrike Fischer Subject: Re: couple of l3keys notes To: LATEX-L@listserv.uni-heidelberg.de Precedence: list List-Help: , List-Unsubscribe: List-Subscribe: List-Owner: List-Archive: X-GMX-Antispam: 0 (eXpurgate); Detail=5D7Q89H36p70EVnmPwpfx/vijE2cyyBvziplLNodf0dYz4GjqZ252DBt/cS/9J7LsBPGj BugKOarHiQ8nCRs5kqtyW+86kgt1k4ob99yT8GhU7ItewMdzLBdMsSlqKpuF+iFStIzH1yiCkH2B B8/xk5ycJv1sE9U2MB2K9JlRC1BXj4EC4mhUPyC+T575vyMmLCyI8jc/Lo=V1; X-Resent-By: Forwarder X-Resent-For: rainer.schoepf@gmx.net X-Resent-To: rainer@rainer-schoepf.de Status: R X-Status: X-Keywords: X-UID: 6816 Am Sun, 21 Aug 2011 21:43:30 +0100 schrieb Joseph Wright: >> Sure; thanks. I don't think this needs to be too complex; at a >> bare minimum the xkeyval approach of returning the unset keys >> works for most cases. > Okay, there are several approaches we might consider in this area. There > are also questions about what is needed. For example, is it important to > _know_ the two independent lists of keys, or just to pass unknown keys > from one root to another? In the chessboard code I still have some "%\show\XKV@rm". I remember that seeing the list of remaining keys was really helpful to figure out, what's happening. > With this approach, we'd need to decide whether to wait until the end of > the 'parent' \keys_set:nn run before doing the redirections, or to do > the setting 'now', or indeed whether we need both variants. As I say, at > the moment I'd go with 'interleaved' setting. You can also imagine > extending such a property to named keys. In chessboard I use the xkeyval feature to pass remaining keys to order the processing: I have three types of keys: initialization, setting properties of the board, filling the board which must be processed in this order. So I'm using something like this \def\chessboard #1 { \setkeys* {init} {#1} \setrmkeys*{set} {#1} \setrmkeys {fill} {#1} The main difference in this approach compared to three simple \setkeys commands are in the *: It means that unknown keys will pass the first setkeys but the last \setrmkeys command will give an error if there remains a key unknown. Can this be done with l3keys? -- Ulrike Fischer