Return-Path: Received: from mout.gmx.net (mout.gmx.net [212.227.15.19]) by h2774747.stratoserver.net (8.15.2/8.15.2/Debian-3) with ESMTP id wBO8DXHA029146 for ; Mon, 24 Dec 2018 09:13:34 +0100 Received: from relay2.uni-heidelberg.de ([129.206.119.212]) by mx-ha.gmx.net (mxgmx016 [212.227.15.9]) with ESMTPS (Nemesis) id 1MeBhF-1hCKH234pr-00b7mc for ; Mon, 24 Dec 2018 09:13:27 +0100 Received: from listserv.uni-heidelberg.de ([129.206.100.94]) by relay2.uni-heidelberg.de with ESMTP; 24 Dec 2018 09:13:28 +0100 Received: from listserv (localhost [127.0.0.1]) by listserv.uni-heidelberg.de (Postfix) with ESMTP id 48B00127EC6; Mon, 24 Dec 2018 09:13:21 +0100 (CET) Received: by LISTSERV.UNI-HEIDELBERG.DE (LISTSERV-TCP/IP release 16.0) with spool id 32154204 for LATEX-L@LISTSERV.UNI-HEIDELBERG.DE; Mon, 24 Dec 2018 09:13:21 +0100 Delivered-To: latex-l@listserv.uni-heidelberg.de Received: from relay2.uni-heidelberg.de (relay2.uni-heidelberg.de [129.206.119.212]) by listserv.uni-heidelberg.de (Postfix) with ESMTP id 34E5A127EBD for ; Mon, 24 Dec 2018 09:13:21 +0100 (CET) X-IronPort-MID: 5401082 X-IronPort-RemoteIP: 209.85.128.42 X-IronPort-SenderGroup: UNKNOWNLIST X-IronPort-MailFlowPolicy: $ACCEPTED X-IronPort-Reputation: 2.7 IronPort-PHdr: =?us-ascii?q?9a23=3A7G7rLxGCfT56CeEDW0xvg51GYnJ96ZzpIg4Y7I?= =?us-ascii?q?YmgLtSc6Oluq7vJ1Hb+e400g+bR4jf4uMezffQsuXgVG0M7JKLvWoNNpBBBF?= =?us-ascii?q?cekctDuQsmDYaeDFHjaubwZnkmHd9CXRl+/2ygMU99F8P3ZlmUqXq3vnYJAh?= =?us-ascii?q?uqDQNuPazuH5LKycG+1uS84ZrWNhlJnzq0J6hyMQ62qi3es8AXhc1pLaNigg?= =?us-ascii?q?DRrC5ufOJbjXhtOUrVnxv44ZKo+4V/9i1Lp/8738tJUKG/YKFhCLIEVnIpNG?= =?us-ascii?q?c64MCtvh7GFFHd3HYXX2QInxYNODDrt0igDLH2tCay9vBw3CCLZ4vrS7FxWT?= =?us-ascii?q?mj46pvQhLyh2ELOmxx9mafkcF2gK9BxXDp7xVi347ZZp2UP/tib+vce90dX2?= =?us-ascii?q?9IQsdWUWRIHIq9a4IFC+dJM/xfqsHxoF4HrB32AgfJZqun1j5Thnawxq0nyO?= =?us-ascii?q?QmOQ7D1Q0kWdkJtTWcrdn4MrsTTfHg1LPBnlChJ7td3Tbw7pSNcwh0+6ndG+?= =?us-ascii?q?ItN5OLmQ9zTVCNlFibpI37MinAzOkJunnBqfdmVKevhm8rpgV7ryKggMsh2e?= =?us-ascii?q?yrzsoYzE7J8SJhzcM7P9q9HQRnYMWkGd1LtzyBN4xeTcYrQmUusyE/gO5j29?= =?us-ascii?q?bzbG0RxZIrygSKIeCGaIiBpAnjSf2RJh93gXtkfPS0gBP4oi3CgqXsE8Kz1l?= =?us-ascii?q?hNtC9MlNLB42sM2xLk4c+CUvJh/02l1G/VhTre4exFP0040JHjBcNwmOwIn4?= =?us-ascii?q?EI+QTZEyv/iR+wkamXM0Up++Sl7+7qeLqgqpLOf4Nzjwj/NOwplKndSawkMx?= =?us-ascii?q?MOVi6A+fmn1LrL8kjwQbEMhfoz2qXUq5HVI80Hq7XxWVcElNZ+rU/lX3H6ip?= =?us-ascii?q?wRhjEfIUhAeQ6bgoSMWRmGO/3+AfqlwhytnDpt2/HaL+jkC5TJIGLEleSpdr?= =?us-ascii?q?J85khAjQsrmIoHttQEV/dYeqK1BhWi0b6QRgU0OAG13ev9Xc9w0ooPAySSBK?= =?us-ascii?q?7cMK7TvVKM7O81LK+Aadxw2n61Jv476vrplXJ8l0UaePzjwZoMaHn+BfR7OE?= =?us-ascii?q?WeSXXpi9YFV2wNu0BtKY6iwE3HSjNVa3uoCugg5yo7AcS9DZrYRoeFj7mI3S?= =?us-ascii?q?P9FZpTLDMjaBjEATLjcIOKXO0JYSSZL5p6kzAKYrOmTpcoyRCksAKpg6oiNO?= =?us-ascii?q?ff/TcU8I7yzNUgrfOGjgk8rHYnaqbVm3HIVWx/mXkEAiM7zLwq61Io0U+NiO?= =?us-ascii?q?B5m6AKToEVvqIRFF1matiEiLYmQ9HqBlCfIpHTEw3gG4v+R2l2F4NUoZdGYl?= =?us-ascii?q?4hSYv8yEmbhWzyRedSzeTDBYRooPyCmSKtdoAtkzCek/N5x1g+HpkQbyv/2u?= =?us-ascii?q?gmplKVX8mQwyD73+6rbfhOg3KLrT3eizLI5AYBDkZxSfmXBChPIBKJ8pKpoB?= =?us-ascii?q?uFFebmCKx7YFIekojbe/cMMpuxygwYIZWrcNXGPzDrwzb2VUvOn+ncKtKtIj?= =?us-ascii?q?pV3T2BWhJdzUZOrTDfZFJ4XmD48irfFGA8TwuxJRm3oK8l8jXjCRZlqmPCJ1?= =?us-ascii?q?to077/o0RHv/GXRvIN075Bgx8P8G4rTnC62d+eS8CNowNwJuNBZ9J44FpG2W?= =?us-ascii?q?/dvQFnMdqsIvIqgFlWaAlxs070snc/Qoxdjcgnqm8rxwtuOOqZ1l1GbTaRwZ?= =?us-ascii?q?H3PPXeNGDz+Bmlb6Oe1EvZ1Z6a/aIG6fJwrFuG3knhDk0573BuyMVYyVOZ75?= =?us-ascii?q?TOSRUXCNf/Dhxx+B99qLXXJCI64sKc1HFhN7W1ri6X298tA7hAqF7odNNePa?= =?us-ascii?q?WYUQ7qRpdCVo7+dapzwQjvMkhXdPpf/6M1Ic68IuGL3Ke6ZqB9mjPjjWlG7I?= =?us-ascii?q?152E+W+GxwR72tvd5NzveG0w+ATzq5gk2mt5W9hYFfZThUBWqi0ijjLIFUb6?= =?us-ascii?q?x2O40MDC39Rq//jsU7nJPrV3NCoRS7AEga3cayZReIR1n03AkVykFO5HL7w2?= =?us-ascii?q?23yDt7lzxvpa2aln+roayqZF8MPWhFQ3NnhFHnLN2vjtwUa0OvahAgiBqv4U?= =?us-ascii?q?ujlvpr4Z9nJmyWen9mOi3/LmVsSKy17+PQbMtG6ZduuiJSAr3lPQKqD4Xlqh?= =?us-ascii?q?5f6BvNWnNEzWliJT6vs5T92Rd9jTDFdSshnD/iYch1gCznypncSPpWhGdUQS?= =?us-ascii?q?B5jXzIAwH5MYXzu9qTkJjHv6a1UGfzDpA=3D?= X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: =?us-ascii?q?A0AsHABRlCBcfyqAVdFjHQEBHwUBBgG?= =?us-ascii?q?BQggBAwGBfmxwBDKDfpVyiVdvj0UMAYRsgnIaBwEENQUMAQMBAQIBAQEBFAE?= =?us-ascii?q?BCQsLCCclDIVSASEVCAEbHgMSEA8CJgICIxEBBQEhAQ0IAQGDHoFpAQMVBJt?= =?us-ascii?q?6PIsZgRIFAReCdwWCRIFqChknDV6BNwIGCQEIeYs0gVc/gTiCPYVEgnOCVwK?= =?us-ascii?q?QLDSQawcCgWo7BI86BhiJewwFh1qaAgIEAgQFAgUPIYE9gXYzGiNQMYI7hgi?= =?us-ascii?q?KVzszj0sBAQ?= X-IronPort-AV: E=Sophos;i="5.56,391,1539640800"; d="scan'208";a="5401082" X-MGA-submission: =?us-ascii?q?MDEperkX3qP+pM+7qegMgI6at5f5uj9CLYvXGL?= =?us-ascii?q?ol+CoZX9S9jSJuPA0LRLDoRZjUGq6OMvLMbzHOsXRIyvWza0vAPY4S0/?= =?us-ascii?q?G6t1648tsUWpF7r60V2Lwv4Hwlj7YWXnlaDKvNPRnQR7VRI767CzEgMF?= =?us-ascii?q?UPlbTVaGTc+EGFyhRUbJg3Ag=3D=3D?= Received: from mail-wm1-f42.google.com ([209.85.128.42]) by relay2.uni-heidelberg.de with ESMTP/TLS/AES128-GCM-SHA256; 24 Dec 2018 09:13:21 +0100 Received: by mail-wm1-f42.google.com with SMTP id p6so11162284wmc.1 for ; Mon, 24 Dec 2018 00:13: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:to:from:subject:message-id:date:user-agent :mime-version:content-language:content-transfer-encoding; bh=HX3y873TmbmccuT5XRlzaU9rVptZcHBWWT76dPhOCNo=; b=QA9+5FqovSy9ec64J18vfZAwBIs+FRAaFquzwx8nzGAF/HtwQRMbTk2mkt0Fwl2E1P mwSOyoc+Djqwrj0Jt4lnoVmVuIJWDuTQgaeROnfkVMOc5qJAAE9t+tjgy32Viy8UfpK4 sBgpfeOQWbD+vwIYXUTQ07i3bHcBLJNdGLubLTx56VG0i8+iib4pq7PhUdUK7BXj7/x3 97H6+eKntrwRGhI0lXx5QZEsRtsDra38CYQXycbEv3EFeZsG9JCnyJQPAcVtzZTLYt4r Ck3JRD2v0oo40NISSuaqc14IWJtYr1c9faPoC4YBOTEguUseNP0c561YhZuVCycSMJrL UQHw== X-Gm-Message-State: AJcUukfo3rlaycvkHzOMQ1cObDD0jCMOUpJqnuUTLpcvPTwVaIRp4Iok GSl3zMzzKu/K0IrtHQqhP3G+0MxN4p8= X-Google-Smtp-Source: ALg8bN543jz/89Aj/FCIgsnSQFD691IBlerJP7Rag6USztg6c4qD+59ohpVSKdtqIP6ckC+Hq44+BQ== X-Received: by 2002:a7b:c44d:: with SMTP id l13mr11575363wmi.144.1545639199914; Mon, 24 Dec 2018 00:13:19 -0800 (PST) Received: from [192.168.1.100] ([5.232.143.64]) by smtp.gmail.com with ESMTPSA id g198sm27474154wmd.23.2018.12.24.00.13.18 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 24 Dec 2018 00:13:19 -0800 (PST) User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.3.0 MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: en-US Content-Transfer-Encoding: 7bit Message-ID: <35e5f75d-508a-056f-45dd-c91c35083a29@gmail.com> Date: Mon, 24 Dec 2018 11:43:15 +0330 Reply-To: Mailing list for the LaTeX3 project Sender: Mailing list for the LaTeX3 project From: Tisha Shusho Subject: What does this function place into the input stream? To: LATEX-L@LISTSERV.UNI-HEIDELBERG.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-Spam-Flag: NO X-UI-Filterresults: notjunk:1;V03:K0:BkjC9RqLYu4=:L47nshcP2FqvPy+XPGaRH9NpsH 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 == X-UI-Loop:V01:j2ZX+/iIkLI=:l+KDWgmbKRXRgDFCcJYulvrCQSXKTzowDdXix1BzpuA= X-Spam-Flag: NO X-UI-Out-Filterresults: notjunk:1;V03:K0:l4iSBVeqf/Y=:Gmy7dUNvIAxx6Xnr4BMIT8 pMKi398qSWn+IxzxnR0K333kMPelFxxIvSl6oAHD3tAXwnjL+9cUKIUcSOAhg+aiETMRc0dM/ qrJ6xXKABnuaZAZHEt4atUCy0dy+EH3oOZ2oQg401QCL55rSBfE4t3urUnDAakIcIcahhMF09 6uS8hF90YIRA1WLjzP2ySbH44NIDAlJd+Q5vNR4n3SDQPNyogQONZHhaQnIcHO7QXnG7pA926 GItVSIfwg5Hlhkx+BaXCOgRVcLavqJMy1z1/oEKydjaKZmanfxSSLaCB5oEqr/bKgHWCPHNhR swGgs2z8zQ1e//PPPZjqHZR4rHLG2j0uyfs/ifzKLPMzTc6Xg1F+eVMXR2/CF1NJR3IG+cIWQ 5a9KfNNcMiEyigNCWNg+3SN3zU3CXwXuuWGdLUN8oL3sn0tg4HnMaE11k8zYd X-Scanned-By: MIMEDefang 2.78 on 81.169.212.23 Status: R X-Status: X-Keywords: X-UID: 8132 Hello List, I am trying to understand the expl3 conventions by looking at its source files. However, I am not sure what the final code that is placed into the input stream by the following function (copied from `expl3-code.tex', 2018-12-12) is: \use:x { \prg_new_conditional:Npnn \exp_not:N \token_if_macro:N ##1 { p , T , F , TF } { \exp_not:N \exp_after:wN \exp_not:N \__token_if_macro_p:w \exp_not:N \token_to_meaning:N ##1 \tl_to_str:n { ma : } \exp_not:N \q_stop } \cs_new:Npn \exp_not:N \__token_if_macro_p:w ##1 \tl_to_str:n { ma } ##2 \c_colon_str ##3 \exp_not:N \q_stop } { \str_if_eq:nnTF { #2 } { cro } { \prg_return_true: } { \prg_return_false: } } As I understand, after the first level of expansion it becomes: \prg_new_conditional:Npnn \token_if_macro:N #1 % Line 1 { p , T , F , TF } % Line 2 { % Line 3 \exp_after:wN \__token_if_macro_p:w % Line 4 \token_to_meaning:N #1 ma: % Line 5 \q_stop % Line 6 } % Line 7 \cs_new:Npn \__token_if_macro_p:w % Line 8 #1 ma #2 : #3 \q_stop % Line 9 { % Line 10 \str_if_eq:nnTF { #2 } { cro } % Line 11 { \prg_return_true: } % Line 12 { \prg_return_false: } % Line 13 } The category codes of all characters in ma: (in line 5), ma (in line 9), and : (in line 9) are 12. Now let's suppose that the arguments are \aaa whose meaning is "zzz", bbb, and x respectively. So, after the second level of expansion, I think the following piece of code is placed into the input stream: \prg_new_conditional:Npnn \token_if_macro:N \aaa % Line 1 { p , T , F , TF } % Line 2 { % Line 3 \__token_if_macro_p:w % Line 4 zzzma: % Line 5 % Line 6 } % Line 7 \cs_new:Npn \__token_if_macro_p:w % Line 8 zzzmabbb:x % Line 9 { % Line 10 \str_if_eq:nnTF { bbb } { cro } % Line 11 { \prg_return_true: } % Line 12 { \prg_return_false: } % Line 13 } Shouldn't the token "\aaa" in Line 1 and zzz in line 5 and 9 be replaced with "#1", because the function \prg_new_conditional:Npnn expects a parameter to be there? Also, I am not quite sure about the expansion in Line 9. Any help would be gratefully appreciated. Thanks, Tisha