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 q16Cjuxo030109 for ; Mon, 6 Feb 2012 13:45:57 +0100 Received: (qmail 4533 invoked by alias); 6 Feb 2012 12:45:51 -0000 Delivered-To: GMX delivery to rainer.schoepf@gmx.net Received: (qmail invoked by alias); 06 Feb 2012 12:45:51 -0000 Received: from relay.uni-heidelberg.de (EHLO relay.uni-heidelberg.de) [129.206.100.212] by mx0.gmx.net (mx073) with SMTP; 06 Feb 2012 13:45:51 +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 q16Ci1v5032028 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Mon, 6 Feb 2012 13:44:01 +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 q16CgGQd014479; Mon, 6 Feb 2012 13:44:00 +0100 Received: by LISTSERV.UNI-HEIDELBERG.DE (LISTSERV-TCP/IP release 16.0) with spool id 1985796 for LATEX-L@LISTSERV.UNI-HEIDELBERG.DE; Mon, 6 Feb 2012 13:41:12 +0100 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 q16CfCZJ018550 for ; Mon, 6 Feb 2012 13:41:12 +0100 Received: from neptune.ucc.ie (neptune.ucc.ie [143.239.153.183]) by relay.uni-heidelberg.de (8.14.1/8.14.1) with ESMTP id q16Ceqpe027045 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO) for ; Mon, 6 Feb 2012 13:40:57 +0100 Received: from csmvddesktop (csmvddesktop.ucc.ie [143.239.74.97]) (using TLSv1 with cipher DHE-RSA-AES128-SHA (128/128 bits)) (No client certificate requested) (Authenticated sender: dongen) by neptune.ucc.ie (Postfix) with ESMTPSA id D73222003F for ; Mon, 6 Feb 2012 12:41:13 +0000 (GMT) References: <4F2BFFA6.1020306@morningstar2.co.uk> <20120203155926.GA30436@csmvddesktop> <20120205160826.GA6939@csmvddesktop> <20120206054259.GB9462@csmvddesktop> <20120206105103.GA10777@csmvddesktop> <20120206111933.GA11183@csmvddesktop> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.5.21 (2010-09-15) Message-ID: <20120206124541.GA11773@csmvddesktop> Date: Mon, 6 Feb 2012 12:45:41 +0000 Reply-To: Mailing list for the LaTeX3 project Sender: Mailing list for the LaTeX3 project From: dongen Subject: Re: Mapping Functions Versions for All and Some To: LATEX-L@listserv.uni-heidelberg.de In-Reply-To: Precedence: list List-Help: , List-Unsubscribe: List-Subscribe: List-Owner: List-Archive: X-GMX-Antispam: 0 (eXpurgate); Detail=5D7Q89H36p42lhgaIAOef8vfEUQBIZIwSpg6gR//8KyxEJe+63GRMCAhyeso0a4GvGnx/ 2I62Z4BchnPm3wyJkek1Dev7kt+x2rggMuBVAhjfvttTnAd65lkvlSxcNFXuRyOc8LYqH6MiEnx/ uHbmqVqluL75Bclps1NjaHQQFNduW9aOX8ZaBa6DLeDfCwqM/OglKQd8ak=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: 7030 * Bruno Le Floch [2012-02-06 06:36:23 -0500]: Hi Bruno, : The problem is that you \tl_use:N \l_expr_tl before defining \f:n. If : you look at which line the error occurs, this is the line. To display : a token list to the terminal (or log file), use one of the lines : : \tl_show:N \l_expr_tl : \iow_term:x { \tl_to_str:N \l_expr_tl } : \iow_log:x { \tl_to_str:N \l_expr_tl } : : Those differ in the details, but give you the information without : expanding the token list: the last two lines convert the token list to : a string of characters before printing them to the terminal or the log : file. On the other hand, \tl_use:N is like typing the token list in : your file. It will then be run as normal code, in particular expanding : macros, including \f:n which is not defined yet. : : > In my recurrence equation implementation, defining \f:n _after_ the : > substitution is possible, but it requires a bit more work. Does \f:n : > have to be known at substitution time? : : It does not have to be defined at substitution time, but at use time. : See below. Thanks. I think I solved this problem. An level of expansion had to be prevented. The substitution went fine, but when the regular expression was inserted in the body of a macro definition the resulting \f:n was evaluated:-) Adding a \c{exp_not:N} before the \c{\u{l_recurrence_name_tl}:n}} dif the trick. I'm still working on the other problems. Also I have to properly read your last comments, but this will have to wait until after my 2 p.m. lecture. Thanks again for your help. Regards, Marc