summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/context
diff options
context:
space:
mode:
authorNorbert Preining <preining@logic.at>2023-04-08 00:15:21 +0000
committerNorbert Preining <preining@logic.at>2023-04-08 00:15:21 +0000
commit829e3770847f293b5d29fd16abc7982146db4d70 (patch)
tree005efbb65d6f3b4918af10f534bb9d696f39e964 /Master/texmf-dist/tex/context
parent4048d3e4adbdde70bb2da13a70d18706e258b045 (diff)
Adjust paper size configuration for ConTeXt
- ship a file texmf-dist/tex/context/texlive/cont-sys.mkxl that invalidates the cache based on changes to the ls-R files - remove mtxrun/context calls from tlmgr.pl - adjust TLPaper.pm to use context-papersize.tex Code provided by Max Chernoff git-svn-id: svn://tug.org/texlive/trunk@66798 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/context')
-rw-r--r--Master/texmf-dist/tex/context/texlive/cont-sys.mkxl46
1 files changed, 46 insertions, 0 deletions
diff --git a/Master/texmf-dist/tex/context/texlive/cont-sys.mkxl b/Master/texmf-dist/tex/context/texlive/cont-sys.mkxl
new file mode 100644
index 00000000000..73c619f41d6
--- /dev/null
+++ b/Master/texmf-dist/tex/context/texlive/cont-sys.mkxl
@@ -0,0 +1,46 @@
+% 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 pcall = pcall
+ local resolve = resolvers.resolve
+ local time = os.time
+ local totime = utilities.parsers.totime
+
+ 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 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
+
+ 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}{}{}