Received: from mout.gmx.net (mout.gmx.net [212.227.17.22]) by h1439878.stratoserver.net (8.14.2/8.14.2/Debian-2build1) with ESMTP id s2UKGFjU015489 for ; Sun, 30 Mar 2014 22:16:16 +0200 Received: from relay.uni-heidelberg.de ([129.206.100.212]) by mx-ha.gmx.net (mxgmx004) with ESMTPS (Nemesis) id 0ME3eJ-1WGp6O1jEl-00HRdY for ; Sun, 30 Mar 2014 22:16:07 +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 s2UKDOiw030925 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Sun, 30 Mar 2014 22:13:24 +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 s2UE8ht4025502; Sun, 30 Mar 2014 22:13:24 +0200 Received: by LISTSERV.UNI-HEIDELBERG.DE (LISTSERV-TCP/IP release 16.0) with spool id 10831714 for LATEX-L@LISTSERV.UNI-HEIDELBERG.DE; Sun, 30 Mar 2014 22:13:24 +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 s2UKDNBw011342 for ; Sun, 30 Mar 2014 22:13:23 +0200 Received: from smtp3.easily.co.uk (smtp3.easily.co.uk [95.130.72.151]) by relay.uni-heidelberg.de (8.14.1/8.14.1) with ESMTP id s2UKDL2d030908 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO) for ; Sun, 30 Mar 2014 22:13:23 +0200 Received: from [82.132.232.182] (port=21459 helo=palladium.local) by smtp3.easily.co.uk with esmtpa (Exim 4.43) id 1WUN4k-0006p8-7T for LATEX-L@LISTSERV.UNI-HEIDELBERG.DE; Sun, 30 Mar 2014 22:15:33 +0100 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.9; rv:24.0) Gecko/20100101 Thunderbird/24.4.0 MIME-Version: 1.0 References: <533473A9.3020401@residenset.net> X-Enigmail-Version: 1.6 Content-Type: text/plain; charset=ISO-8859-1 Message-ID: <53387AD3.4060902@morningstar2.co.uk> Date: Sun, 30 Mar 2014 21:13:07 +0100 Reply-To: Mailing list for the LaTeX3 project Sender: Mailing list for the LaTeX3 project From: Joseph Wright Subject: Re: harmless package public beta To: LATEX-L@LISTSERV.UNI-HEIDELBERG.DE In-Reply-To: <533473A9.3020401@residenset.net> Precedence: list List-Help: , List-Unsubscribe: List-Subscribe: List-Owner: List-Archive: Content-Transfer-Encoding: quoted-printable X-MIME-Autoconverted: from 8bit to quoted-printable by relay.uni-heidelberg.de id s2UKDOiw030925 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:kL4Y9CA8HhA=:8gfnddAPJjvRuuxFLusTBvBE0Y mcAwLkNJOchMyZ+5FQs/hAvdZVDn8WVsA2/iLoHfm7THU7/V2/SJdTIhTR6xSB6PfI4wYysr0 VOhTjMgCxhrOUCvV3DdqIM6MgCD1j0PJ6PI9eBw1etCmh+91iAxhLPitkTJ8sEieVWVR01kp0 HyKUlJzhBrny/QogoAgTqJK5hMXtMXeM/pELFRrdn4QkBv0fKbx0RDaLsA8zB58ulg7z/Q4UG fj176idAX/ACxKy4ZA3C9C/1cKvaIr8OURffuKaNWslIKuQuem4yrMcIfixNwTUtKACkhJ8jn ebdGiSUmAvMWsBxK8xLyobP+BKaR61fbYjmq6gvuPhP3D8TgWEu7CT2gwzfhgTK1Y8/Baz8Rn WMt+oATSw62NBGvFnqQMFDdWypLJVqg0ez5LC5eBnRnJKVRhok1IxPs9Kran6eWWVoBq2yZ0C jUHyr5yMsjfccxCn763RZKpiRMOVD0imPuZn3cbjk5fEnHeTAPyp6Tko5X/u5kNEPhV5YeukN 7mItbiAk57bxt9AupGqb+/+9OQHy1hU9y67KlcEuQ+83hqxkV5LuU46XBbC7BChhw9iMlke3d E/tNtbeOjcx2XiRSrhj8MIh398zZ2+3Ovale/TVSw9DuN9L9kcHHGRY4opukQOMZiFxngwpOv gqMJy0Up1b81AP8mSO9gepUbbLslFXQdnzLLKGxMisQ2qhI33ilrbYFCKXm3VMKLx4KKZVvo2 CKEfVFNVgmKb0fWokg9sRGq93JIfY9ufMPIp5yYTR9FFOioL4AGteoV7dSuUoFjX1yVppqWmW WnOTHzGnQh3jX5IRFYBTLKqQxNBjGBA2ZH4WbALmEUcrYakwAK8ytwG0klztx7VSOLMPwrCtf lCUuWPUkTIOcR3UJPvNEJO/Se3ElpmgaTIIgFWGlYxiUMgbst3VPocHu8q3C7B5d78uAdY9s+ AFYbA4C/pi7ktcG7/y4kN/kC/AbAxToIIv5qZbeKQn3oCqBcC5jCe+BYjT4TgAf11/jwZ9eTx 6f+9y2LjbIKDHWsqlqNJYjazdvr/TbfsODWKA/h9q5O1Mg2CpWlPtc7B0xKFCtxVysbi+amNA WLkJ6VGxP9NNzrmVcT0xcr/9zsYtfwuTdWt7JIwRXt7KTfA+gvGZMSmSmGHwQZxaXyIADOU96 mODAlGispFbmS2h1TaMgRo933C8a5MI85kijwhHy4gugaGQh5OdCYL2QyhlhW3KhUw9h57qUK AWkjlz9Kz5FCfLA0QlraDa7WlAR8qwz17LvHJzUk04LXXs+G8lxV0aOY9quFyVtmhPurUeImp gz/76T9+Sz6jIr6cxOLT4EQkwzZgxbFiOP7+87xY8RCHrMZ6nd+E6CQpJONFW98zDxPAvhCsN X/+M9n8ulMyxmB3puEil7Z+lHl6jLt2hiuCGeVsiCzIfxiERbwfMF+e0nQ+vX+Y1EZsmXhx/G 1+VUJ96KJbJhXfEQCgC1o5KD7hOuc= X-UI-Loop:V01:SzhbSbuY93Y=:O5oZDNr1f4C/cX1lb0JYlFz+l8v2icTG/n10DwG77OE= Status: R X-Status: X-Keywords: X-UID: 7354 On 27/03/2014 18:53, Lars Hellstr=F6m wrote: > My reason for posting about it here on LATEX-L is twofold. For one, I > think it would be a good idea for the expl3 documenting system to > migrate to this more robust foundation, as I seem to recall there being > identifiers here and there in expl3 that the present system utterly > fails to handle correctly.=20 I'll come back to this below, but first I'll address your immediate question :-) > The second, more immediate reason is however > that I'd like a second opinion as to how well I've managed to follow th= e > expl3 naming conventions; if there is something I misnamed, then it > would be much better to fix it /before/ uploading a v1.0 to CTAN than > after (even if that is mostly for the sake of principles; I don't expec= t > a huge following anytime soon). I think 'mostly OK' is the verdict. I spot a few places things look wrong= : - \harmless_appendto_toks:nn - #2 is a toks, so N-type - \harmless_userboolean:nTF - #1 seems to be a single token, so again N-type - \__harmless_quat_split- (etc) - all missing an arg spec, which looks w-type to me I'd also suggest the 'sheep and goats' separation of all commands into fully expandable or \protected. (Note: moving the code to expl3 would require quite a bit of work, but that's a different question.) On the first point, about code documentation, a few comments seem to be required. First, while code docs are important to those of us writing packages, they are not actually that significant for most LaTeX users. At the moment it's entirely clear that l3doc is a 'series of hacks' which are there to work in 'l3in2e' mode, and which we can fully expect to completely revise if/when we have a proper stand-alone situation. Thus the aim is not to cover everything but to cover enough to allow us to work on other stuff. More broadly, there are big open questions that some of this is linked to. One is LICR-type input. As you'll see when we land our 'new' case changing functions, the team feeling on input methods for *new* code is to stick close to the engines rather than to the LaTeX2e approach. -- Joseph Wright