diff options
author | Hans Hagen <pragma@wxs.nl> | 2018-12-28 11:57:23 +0100 |
---|---|---|
committer | Context Git Mirror Bot <phg@phi-gamma.net> | 2018-12-28 11:57:23 +0100 |
commit | 2f8058544f8a3fead8186bdcb3835f1f67416cc3 (patch) | |
tree | 499caa2670374128935c3e4ef663a6a578703df1 /tex/context/base/mkiv/l-macro.lua | |
parent | 979450762f4ef3b885fd63984c91165726494564 (diff) | |
download | context-2f8058544f8a3fead8186bdcb3835f1f67416cc3.tar.gz |
2018-12-28 11:09:00
Diffstat (limited to 'tex/context/base/mkiv/l-macro.lua')
-rw-r--r-- | tex/context/base/mkiv/l-macro.lua | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/tex/context/base/mkiv/l-macro.lua b/tex/context/base/mkiv/l-macro.lua index a3a5bf4d9..24a3d07bc 100644 --- a/tex/context/base/mkiv/l-macro.lua +++ b/tex/context/base/mkiv/l-macro.lua @@ -19,8 +19,10 @@ local next, load, type = next, load, type local newline = S("\n\r")^1 local continue = P("\\") * newline +local whitespace = S(" \t\n\r") local spaces = S(" \t") + continue -local name = R("az","AZ","__","09")^1 +local nametoken = R("az","AZ","__","09") +local name = nametoken^1 local body = ((continue/"" + 1) - newline)^1 local lparent = P("(") local rparent = P(")") @@ -53,7 +55,9 @@ end -- todo: zero case -resolve = C(C(name) * arguments^-1) / function(raw,s,a) +local safeguard = P("local") * whitespace^1 * name * (whitespace + P("=")) + +resolve = safeguard + C(C(name) * (arguments^-1)) / function(raw,s,a) local d = definitions[s] if d then if a then |