But actually \detokenize{\macro} expands to seven, not six tokens, with the last one a space token.
From dd6691d2549af9abbcbfff2412e5d4bcc5237f95 Mon Sep 17 00:00:00 2001
From: Yukai Chou <muzimuzhi@gmail.com>
Date: Sun, 28 May 2023 06:03:38 +0800
Subject: [PATCH] Add missing space token
---
tex-nutshell/tex-nutshell.tex | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/tex-nutshell/tex-nutshell.tex b/tex-nutshell/tex-nutshell.tex
index e3f63ed..a74e114 100644
--- a/tex-nutshell/tex-nutshell.tex
+++ b/tex-nutshell/tex-nutshell.tex
@@ -1343,7 +1343,7 @@ If it is~a~Lua\TeX/ only command then three *** are prefixed.
The `/<expandafters>.`\z`{|<text>};` syntax rule enables us to prepare \z`|<text>;` by
`\expandafter`(s). For example \i detokenize `\detokenize{\macro}` expands to
- `\`\c{12}`m`\c{12}`a`\c{12}`c`\c{12}`r`\c{12}`o`\c{12}. But if you need to detokenize
+ `\`\c{12}`m`\c{12}`a`\c{12}`c`\c{12}`r`\c{12}`o`\c{12}{\Blue\char9251}\c{10}. But if you need to detokenize
the `<replacement text>` of the `\macro` then use
`\detokenize\expandafter{\macro}`. Not only `\expandafter`s should be
here. The expand processor does full expansion here until an opening brace
--
2.40.1
Not sure if {\Blue\char9251}\c{10} is the write markup. The patch above introduces a bad box to be resolved.
On page 16, TeX in a Nutshell v0.9,
But actually
\detokenize{\macro}
expands to seven, not six tokens, with the last one a space token.Not sure if![image](https://github.com/olsak/tex-nutshell/assets/6376638/4d533dbb-86f5-4947-bf5a-7bc07dc107c0)
{\Blue\char9251}\c{10}
is the write markup. The patch above introduces a bad box to be resolved.