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 t6E8FcPv020531 for ; Tue, 14 Jul 2015 10:15:39 +0200 Received: from relay.uni-heidelberg.de ([129.206.100.212]) by mx-ha.gmx.net (mxgmx011) with ESMTPS (Nemesis) id 0MZPLB-1ZXphh2v65-00LIAV for ; Tue, 14 Jul 2015 10:15:32 +0200 Received: from listserv.uni-heidelberg.de (listserv.uni-heidelberg.de [129.206.100.94]) by relay.uni-heidelberg.de (8.14.1/8.14.1) with ESMTP id t6E8Dsmr009219 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Tue, 14 Jul 2015 10:13:54 +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 t6E7lllT010504; Tue, 14 Jul 2015 10:13:54 +0200 Received: by LISTSERV.UNI-HEIDELBERG.DE (LISTSERV-TCP/IP release 16.0) with spool id 12360015 for LATEX-L@LISTSERV.UNI-HEIDELBERG.DE; Tue, 14 Jul 2015 10:13:54 +0200 Received: from relay.uni-heidelberg.de (relay.uni-heidelberg.de [129.206.100.212]) by listserv.uni-heidelberg.de (8.13.8/8.13.8) with ESMTP id t6E8DsfH014178 for ; Tue, 14 Jul 2015 10:13:54 +0200 Received: from ix.urz.uni-heidelberg.de (cyrus-portal01.urz.uni-heidelberg.de [129.206.100.176]) by relay.uni-heidelberg.de (8.14.1/8.14.1) with ESMTP id t6E8Dr9v009209 for ; Tue, 14 Jul 2015 10:13:54 +0200 Received: from relay.uni-heidelberg.de (relay.uni-heidelberg.de [129.206.100.212]) by ix.urz.uni-heidelberg.de (Postfix) with ESMTPS id D816420D9920 for ; Tue, 14 Jul 2015 10:13:53 +0200 (CEST) Received: from plane.gmane.org (plane.gmane.org [80.91.229.3]) by relay.uni-heidelberg.de (8.14.1/8.14.1) with ESMTP id t6E8DnGs009164 (version=TLSv1/SSLv3 cipher=AES256-SHA bits=256 verify=NO) for ; Tue, 14 Jul 2015 10:13:51 +0200 Received: from list by plane.gmane.org with local (Exim 4.69) (envelope-from ) id 1ZEvLY-0003Id-07 for LATEX-L@URZ.UNI-HEIDELBERG.DE; Tue, 14 Jul 2015 10:13:48 +0200 Received: from p5b39027c.dip0.t-ipconnect.de ([91.57.2.124]) by main.gmane.org with esmtp (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Tue, 14 Jul 2015 10:13:47 +0200 Received: from news3 by p5b39027c.dip0.t-ipconnect.de with local (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Tue, 14 Jul 2015 10:13:47 +0200 X-Injected-Via-Gmane: http://gmane.org/ Lines: 81 References: <11lm3sqjz6xux$.dlg@nililand.de> <5595661F.1070304@morningstar2.co.uk> <55962878.5030204@morningstar2.co.uk> <55A4A8D2.6060304@morningstar2.co.uk> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit X-Complaints-To: usenet@ger.gmane.org X-Gmane-NNTP-Posting-Host: p5b39027c.dip0.t-ipconnect.de User-Agent: 40tude_Dialog/2.0.15.41de X-Spam-Level: X-Spam-Flag: No X-Envelope-From: X-Spam-Status: No, hits=-3.70 required=6 tests=AWL,BAYES_00,L_P0F_UNKN,RCVD_IN_DNSWL_LOW,SPF_HELO_PASS, SPF_PASS Message-ID: <1bc6qigbj7juc.dlg@nililand.de> Date: Tue, 14 Jul 2015 10:13:40 +0200 Reply-To: Mailing list for the LaTeX3 project Sender: Mailing list for the LaTeX3 project From: Ulrike Fischer Subject: Re: Order of key declarations To: LATEX-L@LISTSERV.UNI-HEIDELBERG.DE 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:527qsSokFO4=:GVuixPOx8KqgSH+s3S8tdqIqMu RAtpYQ648B0MtZyj8DDhO9W+1msH/Rnah/HbgIPVZx8jFnEGdn/7jq6RwnqpehTrKfSE8znxQ CgEmClrO9pY9AZyNmxlGnBILeknY+DpfJJ1GTVBcf/GWkBHFZbOwimi1OXfoNmpqqIMS9UkHF Cy+zdN07LJgAe3RrTvGKHg1DN2J3e7oc+pswpbJev4OOZ46YgoH1hnY9231Km1jfeoOO4jTxk FR7KmE/kYbH6s/Nk6RAuXFPaueSLUSPih2z3VKAlfm5D+iBWc5OvF4yHhPNGgiKFqM8pwaXUg 7kClR9QDwYaUliQMBiNWq29mOcqPV4+x5PrBJB9emuXhoygRZ8uVX9TuFDfqnPQ61JgG/R4Z0 QN4lCFC5kk2NqrHtEHH61hM6DT1sNeBD0e4QeU7gQYeQ9hvji28ehWMPo/eVO9I+G+18LdIwS 9f+hQ6iC7OnA7sfKc1jMLAoFZyWkOCVXXFBPS2PCNgSg50U5G2F60uUb6l1QpryPVhS+T/dE9 9dGnjE5f3TPBsi5NV4D6kMIppLQArndKoXT2kWPQ5yJ+rj2uq4iSVXR3XS59TfBcPwodPt0dv +CbOOB5Nuw9ZNHZ8enXU+vOibmGMkGhlUJEfzC8vbShHQSa9SJZRE+RcrO09SaxYkpiM7oTSW DSzKzVI6ztJNzh+wqWqWRKOEP+0GyrJEK3nvIjCi4TTGHSWoJ0B6pJuF94P6eYS6VoiViXlqw 6xwtJpa+XxGq3GNPDh7TMyTO6n9PfaYvc7b+uur2QoFFp5cvsy8KeaV3cItalP52bMaxkkfs2 ig9tfBV5eMoDQ9IrHGY8ZM5iQqq2K6crav2+QEJ15HfXN6/yy8/xzdK0KzBvAjFTYGgHTW0NL IDaQiWHFg2w82k8tPNpobRVP6T8K+jtIPdUu7zNWq2e4OGMYU5q4XNrGO/iLftoV3m8gQYSAY kBAx/jqYCNMO981FZ2eiubwg3YDZ3QLoH/0zmHFLZ+8DFH8pD2zitBnl8BKlTvDQhcrPYgyV+ vGDIL/Mta91jE1HYHwqnXLv+vTDAjptfttgImJCHzhR58EUXqX+P3vBtcKsdWYOfBYk1ebiB/ eUGlp2tLQ/KflbDePLhUa/LXwNJWyF/vogxxOzU8L7cHIdNASjQ0YWPzTp+c8pfF0j6hebmig gGrGG8kXFeyR+gena9tLMpbN+GLQ/F3g0xnbzS31G3urVP1Thquqa2sITg5JHhX2dHcCDAk7M 7HhxvwUkTGRCAXFQaEmRYJFS4gg4DIOUVzHugk/PNo1Mt7oaY76ONyVxfG2d9rxGQcUrr1OBb cHcv5EcWfEjBBUoKJDzQdkh2nbY4Hinu6Hdymau0mvCgmCkyJ2ZSsbaxmYYHDI2JDUShB2uuz Iu9bHnp3ue0jxEjwWSOr+F/k51+QxpwuV68dcZg/wxNhSPjjF4e3zutd/t8FR6XdAKzhUBoVx jBffLK9jNZ1SqWXNCJQVBWx5wOSiVqvAz8wRxSzHzyCh8JumR1 X-UI-Loop:V01:4qz1ih+6LwM=:Wo5oCtbXSJBFXZWaePVGux2CZPthSVXpBJAcpt8EBYw= X-UI-Out-Filterresults: notjunk:1;V01:K0:SLZ4p2VSmlA=:4DRIkYzYdy62wgx4V1v0AD jM2QwA1Pr4gqb9fYnL20UCZ7nbXU9H8nCMvxE0aMFtChky7iLON+zfdUGots8PdXXVMc2qeTJ FrbvtFmA0Xknh0JgQ1JeMM23Dx2uoKzoZ2QI5sUVQgz6leOemEW3q6PZ9HxrACliFkmMTTJNU c6XeOrhR8s+LlYX5tEcSomUIhcxvRw0Ijvrx9dsL2BSlS25DwE7y9tt5pPqCx+tr6oHVpH9+u d6hRXhjjvpRBMsuWB4ZXhx0qOJN7jVejb/ACT3AXtlbYOVTwLntvgAC/OQ8aX2xCpjGWY6nk4 N40tbrpHsiYt5crS+s1HLyWj89emT3qBu2kgrUlq1w/0PA6oVY4aZ+PJEgXae0tSQbbKQoyuL hc1zXpIY2FXvvUNDPh0VajgDm1/lcgRVKrEYjLfV5tGQcWx6dDmIZ1df5rIFu7ZpWBx8TnkvZ SGiEZdsbfxa+Ac5xWhSs6/CKySY3UlC8jWIbvDr+vQGjkoRSIwq2 X-Scanned-By: MIMEDefang 2.71 on 85.214.41.38 Status: R X-Status: X-Keywords: X-UID: 7767 Am Tue, 14 Jul 2015 07:14:42 +0100 schrieb Joseph Wright: > On 03/07/2015 08:58, Ulrike Fischer wrote: >> - .default:X can imho be reset with .default:n= {}. >> - .groups:n can imho be reset with .groups:n = {}. > > As previously noted, I'll alter this behaviour for .groups:n so a blank > version means 'remove from grouping'. I'll also document that. > > The .default:n is different: an empty default is not the same as no > default at all (as a default means effectively a value is always given). In many cases it is. E.g. I could see not difference with the .code:n or .tl_set:N. And even choice keys works without a default: \documentclass{article} \usepackage{expl3} \begin{document} \ExplSyntaxOn \keys_define:nn {test} { testa .code:n = {the~argument~is #1!}, testb .tl_set:N = \l_test_tl, testc .choice:, testc / .code:n={xxx}, } \keys_set:nn {test} {testa,testb,testc} \tl_if_empty:NTF\l_test_tl{~empty}{not empty} \ExplSyntaxOff \end{document} But .default:n={} wouldn't work with bool. >> - the action can be reset by setting a new action. > > True, and again I will clarify docs. > >> Missing is ".value_not_required:" and ".value_not_forbidden:". > > I wonder if best would be to deprecate current .value_required: and > .value_forbidden: and go to .value_required:n and .value_forbidden:n > taking boolean values? Imho it would be more logical to use booleans. But deprecating things is naturally always difficult ... >> 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 previously noted, making a key unknown removes the code behind it > entirely. Unless there is a compelling use case I'm minded to leave this. If there is an .undefine: action it should be possible to remove a choice with testkey / choicea .undefine:, so an .unknown: is not really needed. > Based on the fact that as far as possible the key property names follow > other expl3 things (see .tl_set:N, etc.) I will probably go with > .undefine:, although .unknown: would also fit nicely with the way keys > are described. For me ".unknown:" is a property, ".undefine:" an action. If code is destroyed I would use the second. Side remark: Did you saw this question on tex.SX: http://tex.stackexchange.com/questions/254878/mactex-2015-running-much-slower-than-mactex-2014/254946#254946 I wonder what the expl3 code of mhchem is doing there. It looks like very long recursions ... -- Ulrike Fischer http://www.troubleshooting-tex.de/