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 p8JIl8CS021683 for ; Mon, 19 Sep 2011 20:47:10 +0200 Received: (qmail 27644 invoked by alias); 19 Sep 2011 18:47:03 -0000 Delivered-To: GMX delivery to rainer.schoepf@gmx.net Received: (qmail invoked by alias); 19 Sep 2011 18:47:03 -0000 Received: from relay2.uni-heidelberg.de (EHLO relay2.uni-heidelberg.de) [129.206.210.211] by mx0.gmx.net (mx052) with SMTP; 19 Sep 2011 20:47:03 +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 p8JIiKUm018090 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Mon, 19 Sep 2011 20:44:20 +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 p8JH4XUo018389; Mon, 19 Sep 2011 20:44:19 +0200 Received: by LISTSERV.UNI-HEIDELBERG.DE (LISTSERV-TCP/IP release 16.0) with spool id 1632837 for LATEX-L@LISTSERV.UNI-HEIDELBERG.DE; Mon, 19 Sep 2011 20:44:19 +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 p8JIiJNO027576 for ; Mon, 19 Sep 2011 20:44:19 +0200 Received: from moutng.kundenserver.de (moutng.kundenserver.de [212.227.17.10]) by relay.uni-heidelberg.de (8.14.1/8.14.1) with ESMTP id p8JIhoeT017282 for ; Mon, 19 Sep 2011 20:43:56 +0200 Received: from mittelbach-online.de (p3EE3ECA0.dip.t-dialin.net [62.227.236.160]) by mrelayeu.kundenserver.de (node=mreu3) with ESMTP (Nemesis) id 0M7hzg-1RIrzR3cQ4-00vrK3; Mon, 19 Sep 2011 20:43:50 +0200 Received: by mittelbach-online.de (Postfix, from userid 783) id DE8751F40A78; Mon, 19 Sep 2011 20:43:42 +0200 (CEST) X-Spam-Checker-Version: SpamAssassin 3.2.5 (2008-06-10) on Marlowe X-Spam-Status: No, score=-1.4 required=5.0 tests=ALL_TRUSTED,AWL autolearn=unavailable version=3.2.5 Received: from [127.0.0.1] (unknown [192.168.123.104]) (Authenticated sender: frank) by mittelbach-online.de (Postfix) with ESMTPSA id 98E1D1F40A78 for ; Mon, 19 Sep 2011 20:43:37 +0200 (CEST) User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:6.0.2) Gecko/20110902 Thunderbird/6.0.2 MIME-Version: 1.0 References: <4E6D0C75.6090500@morningstar2.co.uk> <13xqgkr6dq2cr.dlg@nililand.de> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-Antivirus: avast! (VPS 110919-0, 19.09.2011), Outbound message X-Antivirus-Status: Clean X-Provags-ID: V02:K0:vOXhbt68CYPnGQ664tltnjzb0yKwry+AdUOVlxOADnf ubiONqizrA4vQq2UzA4/ntfyLGwFy9chFd1xVWQUcYRGmbH2MK JDHza1XSAo9cTRrxAGScnyY0OlRT2HKP5qHHdKCqfLozxVBH77 nobhrKolfz/IGHSRBXdTmVIENoVya1U4cizjdN0guWjrxCuLaU gAd8G1kvQookXDPLObkwlNTZKOw6QAPcili85yRiSoxHsbXNNK 04vg7s4OuZhQbOGFhmagzpd8qTAvnAnk3ytCH93azmRV0SjOOW m22PtngvMQ8TAkG/poEYIl4jkw19SmULha9yd/cW4KY/R99x+O nvp8plNk/CcMRM+m78f4dD7Tz4nH1wDuA2AEO0JmO Message-ID: <4E778D59.4090105@latex-project.org> Date: Mon, 19 Sep 2011 20:43:37 +0200 Reply-To: Mailing list for the LaTeX3 project Sender: Mailing list for the LaTeX3 project From: Frank Mittelbach Subject: Re: Scratch variables To: LATEX-L@listserv.uni-heidelberg.de In-Reply-To: <13xqgkr6dq2cr.dlg@nililand.de> Precedence: list List-Help: , List-Unsubscribe: List-Subscribe: List-Owner: List-Archive: X-GMX-Antispam: 0 (eXpurgate); Detail=5D7Q89H36p7zYQev1Bv5lawyulDRL8ctAf+h0oHPe8MIrxXPKzaKFXYxEMqh5mbMnwfz3 ZfeVty8ncglKg8DEA6H3GWxBkEwCmPk1Fbr6+4IPgvxVZqDRiDCXMH7kEYqFd6dLMJtbkjeUp6KD 8yumeAHABlVoVyKNM7OukeiBi4KsHrDrjLb77AGEfjz2Jm3qJNp6bYzrMc=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: 6884 Am 18.09.2011 14:57, schrieb Ulrike Fischer: > Am Sun, 11 Sep 2011 20:31:01 +0100 schrieb Joseph Wright: > >> Hello all, >> >> Currently, provision of scratch variables (such as \l_tmpa_tl) is >> somewhat inconsistent in expl3. However, it is also not entirely clear >> if these 'general scratch' variables are really idea in any case. Do >> people see a general need for these variables, or will most users expect >> to define their own scratch space in all cases? > > Well on the one side I still feel the urge to avoid to waste > ressources. that shows how long you work with TeX I guess ;-) --- we oldtimers do have this urge, don't we? > But on the other side at soon as user input is involved > it can get difficult to be sure that code from other packages don't > meddle with the scratch variables. So actually I use them only > seldom. I think bottom line we don't really need them any more these days. The only reason why I would keep them is that for fast access to variables when experimenting/developing (without needing to declare somehting first), but for proper packages it is far better come up with your own private scratch names. If you think about: if every package needs, say, 10 scratch variables of some sort, and a document load 20 packages, then you blow away a total of 200 names/registers. With as minimum of eTeX as the underlying engine you have how much of those? thousands. and even if the higher registers are not precisely as performant as the first 256 allocated, for most documents you will never ever exceed them and even if. Fact is, as Heiko pointed out, a lot of the subtle bugs in package and kernel interaction in 2.09 and 2e have been due to reusing things like \count@ \next etc and then suddenly creating dependencies that much later bombed out very unexpectedly frank