-- Compatibility layer for \meaning -- This reverts a change rearding the \meaning of user macros: -- LuaMetaTeX does not prefix prefixes in the meaning with a backslash. -- Necessary especially for etoolbox's patching commands local lmlt = luametalatex local primitive_meaning = { lmlt.primitive_tokens.expandafter, lmlt.primitive_tokens.relax, lmlt.primitive_tokens.meaning, } lmlt.luacmd("meaning", function() local peeked = token.peeknext() token.put_next(primitive_meaning) token.skipnextexpanded() if peeked.parameters == 0 then local stash = '' if peeked.protected then if token.scankeywordcs'protected' then token.skipnext() token.skipnext() stash = stash .. '\\protected ' print'protected' end end token.scankeyword'macro:' tex.sprint(-2, stash) tex.sprint(-2, 'macro:->') end end, "force", "global")