Received: from mout.gmx.net (mout.gmx.net [212.227.15.19]) by h1439878.stratoserver.net (8.14.4/8.14.4/Debian-2ubuntu2.1) with ESMTP id t63LBfCe014814 for ; Fri, 3 Jul 2015 23:11:42 +0200 Received: from relay2.uni-heidelberg.de ([129.206.210.211]) by mx-ha.gmx.net (mxgmx008) with ESMTPS (Nemesis) id 0Mh5Zx-1ZOWOs3A13-00MI59 for ; Fri, 03 Jul 2015 23:11:35 +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 t63L9sPk016725 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Fri, 3 Jul 2015 23:09:55 +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 t63EFuxd030719; Fri, 3 Jul 2015 23:09:54 +0200 Received: by LISTSERV.UNI-HEIDELBERG.DE (LISTSERV-TCP/IP release 16.0) with spool id 12377716 for LATEX-L@LISTSERV.UNI-HEIDELBERG.DE; Fri, 3 Jul 2015 23:09:54 +0200 Received: from relay2.uni-heidelberg.de (relay2.uni-heidelberg.de [129.206.210.211]) by listserv.uni-heidelberg.de (8.13.8/8.13.8) with ESMTP id t63L9sIP005057 for ; Fri, 3 Jul 2015 23:09:54 +0200 Received: from nov-007-i510.relay.mailchannels.net (nov-007-i510.relay.mailchannels.net [46.232.183.64]) by relay2.uni-heidelberg.de (8.13.8/8.13.8) with ESMTP id t63L9jMT016678 for ; Fri, 3 Jul 2015 23:09:49 +0200 X-Sender-Id: netnames|x-authuser|joseph.wright@morningstar2.co.uk Received: from smtp3.easily.co.uk (ip-10-204-4-183.us-west-2.compute.internal [10.204.4.183]) by relay.mailchannels.net (Postfix) with ESMTPA id 1C19A1D1732 for ; Fri, 3 Jul 2015 21:09:41 +0000 (UTC) X-Sender-Id: netnames|x-authuser|joseph.wright@morningstar2.co.uk Received: from smtp3.easily.co.uk (smtp3.easily.co.uk [10.21.145.197]) (using TLSv1 with cipher DHE-RSA-AES256-SHA) by 0.0.0.0:2500 (trex/5.5.1); Fri, 03 Jul 2015 21:09:43 +0000 X-MC-Relay: Neutral X-MailChannels-SenderId: netnames|x-authuser|joseph.wright@morningstar2.co.uk X-MailChannels-Auth-Id: netnames X-MC-Loop-Signature: 1435957782602:2258757442 X-MC-Ingress-Time: 1435957782602 Received: from [81.129.219.107] (port=55354 helo=palladium.home) by smtp3.easily.co.uk with esmtpa (Exim 4.43) id 1ZB8DL-0002qY-Vz for LATEX-L@LISTSERV.UNI-HEIDELBERG.DE; Fri, 03 Jul 2015 22:09:40 +0100 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.10; rv:31.0) Gecko/20100101 Thunderbird/31.7.0 MIME-Version: 1.0 References: <11lm3sqjz6xux$.dlg@nililand.de> <5595661F.1070304@morningstar2.co.uk> <55962878.5030204@morningstar2.co.uk> Content-Type: text/plain; charset=windows-1252 Content-Transfer-Encoding: 7bit X-AuthUser: joseph.wright@morningstar2.co.uk Message-ID: <5596FA13.3000702@morningstar2.co.uk> Date: Fri, 3 Jul 2015 22:09:39 +0100 Reply-To: Mailing list for the LaTeX3 project Sender: Mailing list for the LaTeX3 project From: Joseph Wright Subject: Re: Order of key declarations To: LATEX-L@LISTSERV.UNI-HEIDELBERG.DE In-Reply-To: Precedence: list List-Help: , List-Unsubscribe: List-Subscribe: List-Owner: List-Archive: 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:yfIc/7mbtQM=:c2x4sQ7LHhGsNLSUWv2EwFafX3 Ebyj4WUriwzpZLehzy6J5p/hJlXeDaQ/O1raJg8gEhwpCizy+XZ3HhHSS2y2jaYr+X5nZCwGt cMBME97P8v52aAmtFgbTw3/qtoO0E943IeG+lQk4iWwqygmKJ4WaInPbBFXzclhTv275j3Tox vv8bLQ8EED1pptG747JOwOmB5AYVUhAawfdKujdlOB+9nR80JboRHDAgA9efaqu5ATRi7bu42 PujxQd9SxVmzSH9Rhiu0qQhVqQYrAF1cSl1DMhXOtoA2w9uKVVuMHWaQUnoz+rusvfZiX2Qpw QEkHQ4TYkb6AYg9tijTeHXpBlXfZg9lDB6ht3Ic5288YA7r5B75JPekGyHOs1pWyUJesHkOyc Q1a/HMeaqptYKavzMEyjtlO9Pn0ZKLhU3jVSKw35Whp7DMIYUY5OTuzXRr8LLJTOXda2tahfn x219wasBfIvqRWgLhLevxvePqxQ/5bGcDO5NWYleIQjfZMUlP6J6/G1ewCdP75VyJvI+nvSna adA3YPUz6iPXzr90WXoXmZb19o9n7dICLVvfnpFyYg01w0OGQb25/DRNIgaYVodY7UeF8GlZ7 iNbC0jtkDRoKUXLJMPUADHnD/cRqzVuJToCGDHC26XV0iBGaycnXcdGd0GKVPuRSz7V+4SWB/ QpCxc4upTPm5eHHHatgyTa91ZQauxRyFUhapasZjqnRGbhdWxm1JsRQsY/IHCxH8QlQIwyMia lGNrJ6z8emRvP/n+H9MqnM8s9376MhJrBDrkKe57KV18ORdnOuPNkJULbeTtxqB2JeXlKvv15 fRNslpHY/XbFUREgpcApfKWCJnc+iWsDmrQCTaFeU68PRie4IccABG17GLTq3MBTwnjVlCXZo t3mjCBvfEkr3d6i6g5J68+ZFsfNj6pLRkuUx4bNGzfP1sZOx+wdxelfoRiZUh04fpvESo0WE/ qZ5+yyFmav8oZ2kYhMHbFVa5oEwe84LvXHyaaqwRd5Y4E694qhO5fAfhxX16rNrglxjFQgmog Lq68L6NmWsT/jU5fDjJfCbF8/phYlilnN5r0jQlQo9xMEHne09ioovf26fS7hQaJ38Uqcj4vw rLGu2Q5Eqr2zEq0Agm+MQSRQjJy9NRB9dioi0duY85wIEyqkMupCiBoRe0Y8p/zdmF4nd4sbD ndRYs6UfsRuGWVQm5CfibVnQLDdUiG319PHTfZd4ovv4ieNz+km2oET2exk2DjGx4BuBTrzSO 5sLrVJnbBALc1N2Cvvku/6Uo3nNQusuJGFIM/tibUG/Ybh4lWXCnvJGDqnbgguA2Bn9UZVSQb 3onmgx9UTtLSxP/RdfjWjF4JyLC0MBEsoLiV7+lxjC8s3DoKlx5hfvaDrAG0u5SvI54gR5QEY 1NNUHxpxLp0BwcAcTX8s7jszphDd1Cg4nxr3Xi/7itBF0agUhikDltB/nhBZx8EITzE4L4dle gs7lHjNQMQXXy6lpuuG+yau8hH1agz4ySAjoYvbuvgjinp9wj8e/G+Rf5jIv/yufq7devumA= = X-UI-Loop:V01:MaXroOHOpPE=:2o8pD5mlABehA9ZtciimYj0JKR84WTCM2PIIaCzzdFg= X-UI-Out-Filterresults: notjunk:1;V01:K0:jnWBIwvBv0A=:zAl0XiSI3vib7LmVsy+YfJ p8QD+95d9ekBcxrh5FaL+Mqpkz2IobGg2vPEBwPT3yZy2B5uzd425FdgCOiB31aB0LCw/t/TM vOTIT4OpL+nYnjR6yaPtsOAdRicz3WbI0RLcnvDfsPj3vdWVk3B18+znMExWDIaV7/DbfNGHv uL+BlLsIYc0nSx8dvID1PW2zbOgQQXq5T3iIiPs7fsh9L0ZrD6AP1kbsgZObJUlhg/BqsZ11O DLhLe2dzEJ8fdz+FLM75lofoHRoRhSEuH2w5aH/hkYlpBnEISkmL1seqpkt0TMgDfVdMhadz4 SL51R/W3BSzePAE7QcrsKyO0NK+vosrd4P/bTxR9/gZpXISfRgwouPD5E6RJXzx4TL9kEILSI 4wcssPnk31aG503eGhB7VTv5Y+YiFOIKNtNnhVj4HkSI1e8W5qwjWIOcne8UHj0z2MPlPcdgL bz29nN9jD7sZeW8PrjARg5+hJkZmtO+Ut5l1kSkGzv8dXKRysFaU X-Scanned-By: MIMEDefang 2.71 on 85.214.41.38 Status: R X-Status: X-Keywords: X-UID: 7746 On 03/07/2015 08:58, Ulrike Fischer wrote: >> - Order does not matter: just accumulate whatever is applied. > > Order will naturally still matter if one declare mutually exclusive > properties. So some clarification about which property overwrites > another would be fine anyway. Yes, I meant beyond that which is reasonably obvious from the normal keyval behaviour that a list is read/applied sequentially. I will not that point in the manual. >> - key .reset: zaps *everything* (could also be called key .delete: >> or key .clear). > > Looking at the various properties I see the following distinct > properties that one would perhaps want to reset > > .value_forbidden: > .value_required: > .groups:n > .default:xx > "known status" > "action" (all the rest without .initial:, which you can't undo) > > .default:xx, groups:n and "action" don't need imho some special > care: > > - .default:X can imho be reset with .default:n= {}. > - .groups:n can imho be reset with .groups:n = {}. Not quite for the groups case, at least at present, as your code would actually store an empty group rather than removing the data from the internal prop that manages these things. That can however be adjusted. > - the action can be reset by setting a new action. Indeed. > Missing is ".value_not_required:" and ".value_not_forbidden:". These cases where I think the reason we went with the silent reset in the first place. I wanted as far as possible to keep things simple: these names look a little awkward. I'm also not sure how such status could be flipped without some change to the 'action'. > Missing is an explicit ".unknown:", which would e.g. allow to remove > choices from a key. An accompayning ".known:" which reactivates the > key would be interesting too. (I don't know if the code allows > this). As with most keyval implementations, keys exist if they have some code defined in the right place. Activating/deactivating would therefore need the code moving to some other location: seems rather awkward for little gain. > An additional ".delete:" which clears a key completly would be good > too. I'll wait to see what others think and then look at this. -- Joseph Wright