summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2023-04-06 16:00:59 +0900
committerNorbert Preining <norbert@preining.info>2023-04-07 12:52:51 +0900
commit196b15af94eff4414ebb478beb2aacd7cc3eadaa (patch)
treec79b8f682b671a9c4aeee314b5c424ad566f519f
parenta0719a65a46db59d07274a935e6961e386240bd4 (diff)
Update cont-sys.mkxl, add .mkiv
-rw-r--r--Master/texmf-dist/tex/context/texlive/cont-sys.mkiv34
-rw-r--r--Master/texmf-dist/tex/context/texlive/cont-sys.mkxl18
2 files changed, 37 insertions, 15 deletions
diff --git a/Master/texmf-dist/tex/context/texlive/cont-sys.mkiv b/Master/texmf-dist/tex/context/texlive/cont-sys.mkiv
new file mode 100644
index 00000000000..647e07358b5
--- /dev/null
+++ b/Master/texmf-dist/tex/context/texlive/cont-sys.mkiv
@@ -0,0 +1,34 @@
+% Update the ConTeXt filename cache if the system ls-R files are modified
+\startluacode
+ local addsuffix = file.addsuffix
+ local attributes = lfs.attributes
+ local difftime = os.difftime
+ local file_join = file.join
+ local getfirstreadablefile = caches.getfirstreadablefile
+ local gethashes = resolvers.gethashes
+ local hashed = caches.hashed
+ local ipairs = ipairs
+ local resolve = resolvers.resolve
+
+ local stale = false
+ for _, tree in ipairs(gethashes()) do
+ local lsR_path = file_join(resolve(tree.name), "ls-R")
+ local lsR_time = attributes(lsR_path, "modification")
+
+ local hash = hashed(tree.name)
+ local hash_path = getfirstreadablefile(addsuffix(hash, "lua"), "trees")
+ local hash_time = attributes(hash_path, "modification")
+
+ if lsR_time and hash_time and difftime(lsR_time, hash_time) > 0 then
+ stale = true
+ end
+ end
+
+ if stale then
+ resolvers.renewcache()
+ resolvers.load()
+ end
+\stopluacode
+
+% % Set the default paper size
+\readsysfile{context-papersize.tex}{}{}
diff --git a/Master/texmf-dist/tex/context/texlive/cont-sys.mkxl b/Master/texmf-dist/tex/context/texlive/cont-sys.mkxl
index 73c619f41d6..647e07358b5 100644
--- a/Master/texmf-dist/tex/context/texlive/cont-sys.mkxl
+++ b/Master/texmf-dist/tex/context/texlive/cont-sys.mkxl
@@ -8,10 +8,7 @@
local gethashes = resolvers.gethashes
local hashed = caches.hashed
local ipairs = ipairs
- local pcall = pcall
local resolve = resolvers.resolve
- local time = os.time
- local totime = utilities.parsers.totime
local stale = false
for _, tree in ipairs(gethashes()) do
@@ -19,17 +16,8 @@
local lsR_time = attributes(lsR_path, "modification")
local hash = hashed(tree.name)
- local path = getfirstreadablefile(addsuffix(hash, "lua"), "trees")
-
- local state, blob = pcall(loadfile, path)
- local hash_time
-
- if blob then
- local data = blob()
- if data then
- hash_time = time(totime(data.date .. " " .. data.time))
- end
- end
+ local hash_path = getfirstreadablefile(addsuffix(hash, "lua"), "trees")
+ local hash_time = attributes(hash_path, "modification")
if lsR_time and hash_time and difftime(lsR_time, hash_time) > 0 then
stale = true
@@ -42,5 +30,5 @@
end
\stopluacode
-% Set the default paper size
+% % Set the default paper size
\readsysfile{context-papersize.tex}{}{}