From 196b15af94eff4414ebb478beb2aacd7cc3eadaa Mon Sep 17 00:00:00 2001 From: Norbert Preining Date: Thu, 6 Apr 2023 16:00:59 +0900 Subject: Update cont-sys.mkxl, add .mkiv --- .../texmf-dist/tex/context/texlive/cont-sys.mkiv | 34 ++++++++++++++++++++++ .../texmf-dist/tex/context/texlive/cont-sys.mkxl | 18 ++---------- 2 files changed, 37 insertions(+), 15 deletions(-) create mode 100644 Master/texmf-dist/tex/context/texlive/cont-sys.mkiv 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}{}{} -- cgit v1.2.3