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 p069NDmD011299 for ; Thu, 6 Jan 2011 10:23:14 +0100 Received: (qmail 15152 invoked by alias); 6 Jan 2011 09:23:08 -0000 Delivered-To: GMX delivery to rainer.schoepf@gmx.net Received: (qmail invoked by alias); 06 Jan 2011 09:23:07 -0000 Received: from relay.uni-heidelberg.de (EHLO relay.uni-heidelberg.de) [129.206.100.212] by mx0.gmx.net (mx048) with SMTP; 06 Jan 2011 10:23:07 +0100 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 p067ju3m030527 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Thu, 6 Jan 2011 08:45:57 +0100 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 p05N15l8001194; Thu, 6 Jan 2011 08:45:45 +0100 Received: by LISTSERV.UNI-HEIDELBERG.DE (LISTSERV-TCP/IP release 16.0) with spool id 770749 for LATEX-L@LISTSERV.UNI-HEIDELBERG.DE; Thu, 6 Jan 2011 08:45:45 +0100 Received: from relay2.uni-heidelberg.de (relay2.uni-heidelberg.de [129.206.210.211]) by listserv.uni-heidelberg.de (8.13.1/8.13.1) with ESMTP id p067jjN2003284 for ; Thu, 6 Jan 2011 08:45:45 +0100 Received: from mail-iy0-f177.google.com (mail-iy0-f177.google.com [209.85.210.177]) by relay2.uni-heidelberg.de (8.13.8/8.13.8) with ESMTP id p067jepc000687 for ; Thu, 6 Jan 2011 08:45:44 +0100 Received: by iyj21 with SMTP id 21so18054518iyj.22 for ; Wed, 05 Jan 2011 23:45:40 -0800 (PST) Received: by 10.231.192.7 with SMTP id do7mr1817311ibb.102.1294299940541; Wed, 05 Jan 2011 23:45:40 -0800 (PST) Received: from staff-250-9.wireless.adelaide.edu.au ([129.127.250.9]) by mx.google.com with ESMTPS id gy41sm21640053ibb.11.2011.01.05.23.45.36 (version=TLSv1/SSLv3 cipher=RC4-MD5); Wed, 05 Jan 2011 23:45:38 -0800 (PST) Content-Type: text/plain; charset=us-ascii Mime-Version: 1.0 (Apple Message framework v1081) References: <4D20D031.7040803@gmx.de> <4D20DAE9.3070306@morningstar2.co.uk> <4D21D4CA.70703@morningstar2.co.uk> <2F1A4A24-7C35-4C2A-8E80-115DCD9510DF@YAHOO.DE> <4D21F6CE.10504@morningstar2.co.uk> <19748.63170.237158.614517@morse.mittelbach-online.de> X-Mailer: Apple Mail (2.1081) X-Spam-Whitelist: Content-Transfer-Encoding: 8bit X-MIME-Autoconverted: from quoted-printable to 8bit by listserv.uni-heidelberg.de id p067jjN2003285 Message-ID: Date: Thu, 6 Jan 2011 18:15:33 +1030 Reply-To: Mailing list for the LaTeX3 project Sender: Mailing list for the LaTeX3 project From: Will Robertson Subject: Re: \int_eval:n versus \dim_eval:n/skip_eval:n [was Re: l3luatex module] To: LATEX-L@listserv.uni-heidelberg.de In-Reply-To: <19748.63170.237158.614517@morse.mittelbach-online.de> Precedence: list List-Help: , List-Unsubscribe: List-Subscribe: List-Owner: List-Archive: X-GMX-Antispam: 0 (Mail was not recognized as spam); Detail=5D7Q89H36p77e5KAPs1l6v/Sb97LojnDtMgfETrECMLUO9erHzOJe7j3G660N4yBY6XHH YPYtmQj6mbYUTZ3LnaFANLWrKE7/wIDhnv+VrW0hxOapLRUwuY9oBqo5h+Dh9B42XlFTMTKlXDju GaV8Q==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: 6528 On 06/01/2011, at 9:24 AM, Frank Mittelbach wrote: > I sure have changed my mind several times about how to think about :nox > argument specs. but these days I'm fairly convinced that one should without > execption think of them (and describe them) as manipulating the arguments > prior to passing them to the base function. So \int_eval:x would first do the > "edef" expansion on the argument and then pass it to \int_eval:n which would > do what? > > no I think it is perfectly okay to have commands that do something with their > "n" arguments in fact all of them do something with the argument content only > in some cases it involves expansion which you could also do "prior" to calling > the command using the ":nox" approach Absolute agreement from me; I think this is perhaps the only logical way to consider the whole argument scheme for expl3. (Earlier ideas did throw around notation for indicating various register inputs but as you say above things just get a bit messy.) > I think what is wrong is what you initially pointed out that \dim_eval:n > behaves differently ... but I think that would be best resolved by adding > \tex_the:D in the right place. At least that my current thinking on the topic. Oh! I was confused -- for some reason it was in my head that using \the before \glueexpr would strip it of its "plus minus" components. But this is not the case, of course. \the\glueexpr 1pt plus 1pt minus 1pt + 2pt plus -1pt minus 1pt\relax So I agree with you that adding \tex_the:D before \dim_eval and \skip_eval (and \muskip_eval which doesn't yet exist I think but it probably should) is the best idea. -- Will