diff options
author | Context Git Mirror Bot <phg42.2a@gmail.com> | 2016-07-18 17:05:11 +0200 |
---|---|---|
committer | Context Git Mirror Bot <phg42.2a@gmail.com> | 2016-07-18 17:05:11 +0200 |
commit | 50928735daee408de73737b055b2535d96424824 (patch) | |
tree | a16ca5d16734b5bc146f053fe0368e61f4c72400 /tex/context/base/mkiv/strc-ref.lua | |
parent | 3eb2d078f0023266585aec42d98326d72567b9d6 (diff) | |
download | context-50928735daee408de73737b055b2535d96424824.tar.gz |
2016-07-18 16:51:00
Diffstat (limited to 'tex/context/base/mkiv/strc-ref.lua')
-rw-r--r-- | tex/context/base/mkiv/strc-ref.lua | 24 |
1 files changed, 17 insertions, 7 deletions
diff --git a/tex/context/base/mkiv/strc-ref.lua b/tex/context/base/mkiv/strc-ref.lua index 4cb74095b..b678bd0d7 100644 --- a/tex/context/base/mkiv/strc-ref.lua +++ b/tex/context/base/mkiv/strc-ref.lua @@ -20,6 +20,7 @@ local rawget, tonumber, type = rawget, tonumber, type local lpegmatch = lpeg.match local insert, remove, copytable = table.insert, table.remove, table.copy local formatters = string.formatters +local P, Cs, lpegmatch = lpeg.P, lpeg.Cs, lpeg.match local allocate = utilities.storage.allocate local mark = utilities.storage.mark @@ -33,9 +34,7 @@ local trace_empty = false trackers.register("structures.referencing.empt local check_duplicates = true -directives.register("structures.referencing.checkduplicates", function(v) - check_duplicates = v -end) +directives.register("structures.referencing.checkduplicates", function(v) check_duplicates = v end) local report_references = logs.reporter("references") local report_unknown = logs.reporter("references","unknown") @@ -580,13 +579,24 @@ end) -- urls -local urls = references.urls or { } -references.urls = urls -local urldata = urls.data or { } -urls.data = urldata +local urls = references.urls or { } +references.urls = urls +local urldata = urls.data or { } +urls.data = urldata + +local p_untexurl = Cs ( ( + P("\\")/"" * (P("%")/"%%" + P(1)) + + P(" ")/"%%20" + + P(1) +)^1 ) + +function urls.untex(url) + return lpegmatch(p_untexurl,url) or url +end function urls.define(name,url,file,description) if name and name ~= "" then + -- url = lpegmatch(replacer,url) urldata[name] = { url or "", file or "", description or url or file or ""} end end |