Received: from mail.proteosys.com ([213.139.130.197]) by nummer-3.proteosys with Microsoft SMTPSVC(6.0.3790.3959); Sun, 9 Dec 2007 22:33:34 +0100 Received: by mail.proteosys.com (8.13.8/8.13.8) with ESMTP id lB9LXTpa014226 for ; Sun, 9 Dec 2007 22:33:29 +0100 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 lB9LQYIX030951 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Sun, 9 Dec 2007 22:26:34 +0100 Received: from listserv.uni-heidelberg.de (listserv.uni-heidelberg.de [129.206.100.94]) by listserv.uni-heidelberg.de (8.13.1/8.13.1) with ESMTP id lB8N176A007561; Sun, 9 Dec 2007 22:28:28 +0100 Received: by LISTSERV.UNI-HEIDELBERG.DE (LISTSERV-TCP/IP release 15.0) with spool id 210465 for LATEX-L@LISTSERV.UNI-HEIDELBERG.DE; Sun, 9 Dec 2007 22:28:28 +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 lB9LOwSR006321 for ; Sun, 9 Dec 2007 22:24:58 +0100 Received: from atlas.informatik.uni-freiburg.de (atlas.informatik.uni-freiburg.de [132.230.150.3]) by relay2.uni-heidelberg.de (8.13.8/8.13.8) with ESMTP id lB9LMqCf025784 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=FAIL) for ; Sun, 9 Dec 2007 22:22:56 +0100 Received: from remote239-33.home.uni-freiburg.de ([132.230.239.33] helo=irwin.vpn.uni-freiburg.de) by atlas.informatik.uni-freiburg.de with esmtpsa (TLSv1:AES256-SHA:256) (Exim 4.68) (envelope-from ) id 1J1Tck-0003oo-4l; Sun, 09 Dec 2007 22:24:23 +0100 Received: by irwin.vpn.uni-freiburg.de (Postfix, from userid 500) id 0492A4296; Sun, 9 Dec 2007 22:21:28 +0100 (CET) Mail-Followup-To: LATEX-L@LISTSERV.UNI-HEIDELBERG.DE, ntg-pdftex@ntg.nl References: <87k5nxw76i.fsf@buckbeak.hogwarts> <87tzmwkdnr.fsf@buckbeak.hogwarts> Mime-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Disposition: inline Content-Transfer-Encoding: 8bit X-Spam-Auto-Whitelist: Message-ID: <20071209212128.GA30932@irwin.vpn.uni-freiburg.de> Date: Sun, 9 Dec 2007 22:21:28 +0100 Reply-To: Mailing list for the LaTeX3 project Sender: Mailing list for the LaTeX3 project From: Heiko Oberdiek Subject: \expanded (was: Misleading cs names?) To: LATEX-L@LISTSERV.UNI-HEIDELBERG.DE In-Reply-To: Precedence: list List-Help: , List-Unsubscribe: List-Subscribe: List-Owner: List-Archive: X-ProteoSys-SPAM-Score: -2.599 () BAYES_00 X-Scanned-By: MIMEDefang 2.57 on 213.139.130.197 Return-Path: owner-latex-l@LISTSERV.UNI-HEIDELBERG.DE X-OriginalArrivalTime: 09 Dec 2007 21:33:34.0157 (UTC) FILETIME=[269AFFD0:01C83AAB] Status: R X-Status: X-Keywords: X-UID: 5107 Hello, On Sun, Dec 09, 2007 at 08:14:31PM +0100, Morten Høgholm wrote: > Usually the x expansion meant "uses \edef" and so they were all > non-expandable. But now that we have pdfeTeX'ed the l3 kernel, we have > functions doing full expansion like \numexpr and friends and \pdfstrcmp > (does \edef on both arguments) used in \tlist_if_eq:xxTF. This reminds me: > the notes from the Oldenburg meeting mentions an \expanded primitive: > \expanded > Expandable command returning the full expansion > of the tokens in . > So since this pretty much exists inside \pdfstrcmp as it is now, it could > go into pdfTeX 1.50 and we would be free of these problems. Except of > course, \expanded is already used a lot in ConTeXt with different > semantics. > > Any opinions from the ConTeXt/pdfTeX people here? I miss "\expanded", too. A workaround for a \detokenize with expanded argument: \pdfunescapehex{\pdfunescapehex{...}} For LuaTeX \pdf(|un)escapehex are defined in package `pdftexcmds': \pdf@unescapehex and \pdf@escapehex, both are expandable. Disadvantages of the workaround: * slower * no , but macro argument * detokenization happens. But I assume, you want only expansion, not detokenization? (then the latter can be achieved by \detokenize\expandafter{\expanded{...}}) Biggest problem is probably a good name: a) \expanded would be a nice name, but it clashes with ConTeXt. I remember trouble with \unexpanded :-( b) It would belong to e-TeX, but there isn't a e-TeX prefix: \etexexpanded or \etexexpand c) pdfTeX's convention with prefix "\pdf" (see \pdfstrcmp, \pdfescape*): \pdfexpanded or \pdfexpand d) longer names My preference is c) to avoid trouble with macro name clashes. I can live with a), then my package etexcmds would get a new macro \etex@expanded. Yours sincerely Heiko PS: ntg-pdftex list added.