Received: from mout.gmx.net (mout.gmx.net [212.227.17.22]) by h1439878.stratoserver.net (8.14.4/8.14.4/Debian-2ubuntu2.1) with ESMTP id w02CoT3H014334 for ; Tue, 2 Jan 2018 13:50:30 +0100 Received: from relay.uni-heidelberg.de ([129.206.100.212]) by mx-ha.gmx.net (mxgmx115 [212.227.17.5]) with ESMTPS (Nemesis) id 1MTQMm-1eMZTw1oi4-00UUfq for ; Tue, 02 Jan 2018 13:50:24 +0100 Received: from listserv.uni-heidelberg.de (listserv.uni-heidelberg.de [129.206.100.94]) by relay.uni-heidelberg.de (8.15.2/8.15.2) with ESMTP id w02CoNs0023046; Tue, 2 Jan 2018 13:50:24 +0100 Received: from listserv (localhost [127.0.0.1]) by listserv.uni-heidelberg.de (Postfix) with ESMTP id CD6D91272E8; Tue, 2 Jan 2018 13:50:23 +0100 (CET) Received: by LISTSERV.UNI-HEIDELBERG.DE (LISTSERV-TCP/IP release 16.0) with spool id 23099634 for LATEX-L@LISTSERV.UNI-HEIDELBERG.DE; Tue, 2 Jan 2018 13:50:23 +0100 Delivered-To: LATEX-L@listserv.uni-heidelberg.de Received: from relay.uni-heidelberg.de (relay.uni-heidelberg.de [129.206.100.212]) by listserv.uni-heidelberg.de (Postfix) with ESMTP id B6A3B126CC4 for ; Tue, 2 Jan 2018 13:50:23 +0100 (CET) Received: from mail-qk0-f182.google.com (mail-qk0-f182.google.com [209.85.220.182]) by relay.uni-heidelberg.de (8.15.2/8.15.2) with ESMTPS id w02CoI3S022970 (version=TLSv1.2 cipher=AES256-GCM-SHA384 bits=256 verify=FAIL) for ; Tue, 2 Jan 2018 13:50:20 +0100 Received: by mail-qk0-f182.google.com with SMTP id g81so31460957qke.1 for ; Tue, 02 Jan 2018 04:50:20 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:subject:to:references:from:message-id:date :user-agent:mime-version:in-reply-to:content-language :content-transfer-encoding; bh=mOTugCGM6/uLaQeoBeHHkI5hVS3JoekSDJewPfW3ziU=; b=S1Am5FIeD/EsUEmMQGZpyMdWyfGsXWyNsyVydO9gYhs7f6r4iz7e98dROFNdMDKaSu bcDnNfVIZHSrNWFiZBEtw4kinIwHQBn48Q3oMfndu0EqllsKkvt2veOVogRYvXBjiG/J 2EUgIm1ZmF9QesIWmHo/Nxb2/53/22dLe6kFYvJ8OrUUzG3bAq6EtO/kY+1KvULnLV66 pnR2lr420hmhKyibSPYNbuhW8HSFMIPulq99jOBccsI/T3Xwb3zLhH3laMrbTmzlNh2Y e2GEl9rHUQhJ3OhzCxUAcZzZU2ClGYWcR8FWF5vHn1PuUkTp+UJ0B2CvZ/jaYdr5kmeA FkLw== X-Gm-Message-State: AKGB3mLWeLRr8SXiLfO58KUcMrLY9q6NVEo7IPD/FXRqLNMLH3O5/djA fmRRZCLmhXfRaAF5njsQ9cAY0S7S X-Google-Smtp-Source: ACJfBouFKT2wie7YxCUr4braj7EgB7beWwu1elus3SPL09viBeLjciXPUrV09X1NtTCYjJK6jetgeg== X-Received: by 10.55.151.3 with SMTP id z3mr14992256qkd.74.1514897417239; Tue, 02 Jan 2018 04:50:17 -0800 (PST) Received: from [192.168.1.76] (c-73-194-2-191.hsd1.nj.comcast.net. [73.194.2.191]) by smtp.gmail.com with ESMTPSA id 135sm29880qkj.95.2018.01.02.04.50.16 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Tue, 02 Jan 2018 04:50:16 -0800 (PST) References: <20180102112145.GA6009@hzdr.de> User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.5.0 MIME-Version: 1.0 Content-Type: text/plain; charset=iso-8859-15 Content-Language: en-US Content-Transfer-Encoding: 7bit Message-ID: <43411874-1ad9-2448-81af-8a0dd51e86d4@gmail.com> Date: Tue, 2 Jan 2018 07:50:15 -0500 Reply-To: Mailing list for the LaTeX3 project Sender: Mailing list for the LaTeX3 project From: Bruno Le Floch Subject: Re: generating variants of conditionals To: LATEX-L@LISTSERV.UNI-HEIDELBERG.DE In-Reply-To: <20180102112145.GA6009@hzdr.de> Precedence: list List-Help: , List-Unsubscribe: List-Subscribe: List-Owner: List-Archive: Envelope-To: X-GMX-Antispam: 0 (Mail was not recognized as spam); Detail=V3; X-UI-Filterresults: notjunk:1;V01:K0:qUZGNxdXyfM=:ny2IcS+ds1FoMYxYfYLQkRSSBB SPJsINI0Wdo5rNsx7BF6a3E8KC2Qp13WOmj/nYaX/YLWcmegrHYZNHpbFqo1YeX/tRAwSno6y AcNFQZt8nXml+L2pYU0qFGj2dXH5NheejB4jK6GOcP0VO2VvqywsicKZr/DXZZ1IbtWkWsKtJ UPyxwBe4Ix07HvQYqCuoGTXoHiHgv5KmWMxlaSMGKYtSw4OP2Ir8/flJPIdSIbCwZ288rRLnG /IJevs7b5qVXX0fpofUemEi2LWvZtV+7t/PDYHlCVbMW5mwZvQGNY24oUdNYbpSeBhGFV7iON Tb4MCLZf0LpT1Qlxf3BEtYZ6+EopLylgblZNftCYvPfh7+IoZoraCZJqfr9uo2pE6oMpMPm8D 65za0sz6WX8cWmxeX9x5zBBTZtYBD0G67G2MEWIMZvxTOYGTcPK88OA202ozvsdwHd8hRi2m9 Qm2UW1w1XJhMo80vjdR5gQkd8nyhKl+L9WhyY/mOuPwJxcAZyVvmBkrxnrx0+t6Bug0Nwa81C yWKAbieki9A0vXL/v84NKaOsa0+Wpf3cL1ocHCNKsi5QObZ0nAcGvGXhGlaxh+B+BbH7TgKn7 phg2f/cLF87UlutBu87FAzZzpnQs85A4Hr7Tz7aXnVdyweSvaHslTg0JCdqY1P2/nekwKvl8s aO9P/PHhvdX8eQpRWR0tpN2Vtds+BDRoNuf5mVgLddUK9H8Cb3NjY8NxTgzFrwU3YPkZJ7RBH OrKkW7BCP2sCJFAmFhJVUHMrwQtJXfejywxAXdzeCJFbo2ACU+k3REC1CDBmZk1wMXgvN0/ez X9pd5Ur99sOk9+FuWyNykgBP5xMlGU1O5cW5MEMpSmwyjtmSzsqRiVsjpwljDg8AZLS936yn5 j10BQsw8jmg7AbJxCnRpB1C9Ou2xvs0hPGgG9AxI8pbDxR9BqWOFKE57ns+wOBLdUMTe7LD5A LZ8YdEhr9JS/T568SDcYr7LQkc5RlNLM+KnweEiAoK3m1aDjEk9Uq64rtWyIrcxs3aHXLVBlk SxG3KjoQ7herG/p8y/PpDNLpMDVEjQUQAnctvFb7La3ItivuhJfV3yrgZNNd1jzfjGQ3ncIZV uo4/jvEmGbUUTQJoruawnsIxB8wldMQrj/AIFguH2B/XdX2pSrL7jm92VJrnoxU91DAId+Yx3 zE/hNjlX0JLaYL3MezlYbSunPJU93S687v4NpYPdV9VHA6VLz/d2SQjtLtT7ihapcR1J3NfTM CNauhkKPfcqr/kQaDOvS1TQ2NYYXL8+sSTBR9IAJB/wjDZlwc5qEAci/vwo0yb6bcV13a93hg ENVqIpG10DXtwxg17/9z5Y6I4EGGlWMKXBLL/cszPsOWvmeEs2ymYTcsfyiTgin6S8W9SGT2W xavmdZHWNDFfOHmdabIX2QGJpiXE/M+Ompxu3AM2UEoGALl8WzijobBDo/CAB36Zg4fh8F/6I NbGEzC+msvbOZ5tUXt4ZBUx741ehLtWoDwGzXtoCSVShp5paw7pf1Tn2oyIklq6hn+6ud8jaq R9ZLoahgKTdDuPj8B5Q2DwTC5ACQYy+Lu8lYIOAP4MfWPbF1ArcDkxGLy2FsScetl5D+APK/g to/wf5N64GtoQCJeLlZzNfUX2d44gqLtub2Kqk7fpfnpA2ejIGPV51ULDG0CUz8363rUdt7aq dk= X-UI-Loop:V01:CWsh1g6OTRg=:qU3yirlP/HyU/eAipAOnEqxw4Uj4mW6GoH+GnbAmmXA= X-UI-Out-Filterresults: notjunk:1;V01:K0:s6w7yIoB7Qc=:l7Ko9+EY1bWWQlSRz1DAnK rgid8LW+xxW84MSLHj1exxd2c9lS4tJWqwRjdrI1mPuQncz65DqfL5y0bFyZr34t0eKSc2bXI vdbGEpIrj80uQ3tZC++v4D04ndD1RwaBMVAqyHTw/JebAVL0fxI+G0UhgSzZoH5vdeFSMoGee Br34JQ0CZbB7gfG2zbra6ZVTGltbfD0hReMnelmfuzsYdruhfCISOvltE5Pj3RvbBy8GN2LgU sbTmgw3kypYwB+L/C2lHtLeacE7tXu98H9wlWdUBegl6ccs2jLzJhQuzYP9VWurKSlCWSqb3s EEdYR6r8Rmx1+KeWrdlE14xSOcD7Z3iywCDiP1IVvhEnuNGk9keCDLli0obmJv6Ytm0/KYr1J SQh9xcvZtPPOMzuOh2kFSo2CswFOxIsINveNijDimkbALmyVeNstIP2dKrvmHXwUh06FPkzN2 SU/tWDcW9PK60FaUzrwA3G9MK6fIpI8= X-Scanned-By: MIMEDefang 2.71 on 85.214.41.38 Status: R X-Status: X-Keywords: X-UID: 8012 Happy New Year to you too, On 01/02/2018 06:21 AM, Alexander Grahn wrote: > * Variant form 'cF' invalid for base form '\tl_if_blank:nF'. > > It is issued for the line of code > > \cs_generate_variant:Nn\tl_if_blank:nF{cF} > > that used to work without warning before. Which is the correct method for > generating variants of conditionals? This is not a warning for conditionals: there would be no warning for instance for \cs_generate_variant:Nn\tl_if_blank:nF{oF} The warning is for changing from n to N/c, or from N to n/o/V/v/f/x. In fact, your previous definition did not work: you almost certainly want a "v"-type variant. Let's see what "\tl_if_blank:cF {foo}" does with the definition you gave. First {foo} is changed to \foo. Then \tl_if_blank:nF is called with argument a token list containing a single token, \foo. Namely this is doing \tl_if_blank:nF { \foo }. That token list always contains a single item; it is never blank. So \tl_if_blank:cF is equivalent to \use_ii:nn. A v-type variant would do what you presumably want: turn { foo } to \foo then extract the contents of \foo and test if those are blank. We could try to improve the error message, but last time I looked it was hard to have as much information as I would have liked. In the very specific case of \tl_if_blank we could provide \tl_if_blank:NTF as a synonym of \tl_if_blank:VTF, so that users would naturally try to take a variant of \tl_if_blank:NTF to build \tl_if_blank:cTF. Best regards, Bruno