summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/luatex/luaotfload/luaotfload-diagnostics.lua
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/tex/luatex/luaotfload/luaotfload-diagnostics.lua')
-rw-r--r--Master/texmf-dist/tex/luatex/luaotfload/luaotfload-diagnostics.lua52
1 files changed, 28 insertions, 24 deletions
diff --git a/Master/texmf-dist/tex/luatex/luaotfload/luaotfload-diagnostics.lua b/Master/texmf-dist/tex/luatex/luaotfload/luaotfload-diagnostics.lua
index 68ed18c456b..80e461ccac5 100644
--- a/Master/texmf-dist/tex/luatex/luaotfload/luaotfload-diagnostics.lua
+++ b/Master/texmf-dist/tex/luatex/luaotfload/luaotfload-diagnostics.lua
@@ -4,13 +4,11 @@
-- DESCRIPTION: functionality accessible by the --diagnose option
-- REQUIREMENTS: luaotfload-tool.lua
-- AUTHOR: Philipp Gesang (Phg), <phg42.2a@gmail.com>
--- VERSION: 2.4
--- CREATED: 2013-07-28 10:01:18+0200
+-- VERSION: 2.5
+-- MODIFIED: 2014-01-02 21:23:06+0100
-----------------------------------------------------------------------
--
local names = fonts.names
-local luatexstatus = status
-local status = config.luaotfload.status
local kpse = require "kpse"
local kpseexpand_path = kpse.expand_path
@@ -49,10 +47,15 @@ local lpeg = require "lpeg"
local C, Cg, Ct = lpeg.C, lpeg.Cg, lpeg.Ct
local lpegmatch = lpeg.match
+local report = luaotfload.log.report
local out = function (...)
- logs.names_report (false, 0, "diagnose", ...)
+ report (false, 0, "diagnose", ...)
end
+local parsers = luaotfload.parsers
+local stripslashes = parsers.stripslashes
+local splitcomma = parsers.splitcomma
+
local check_index = function (errcnt)
out "================= font names =================="
@@ -94,8 +97,9 @@ local check_index = function (errcnt)
return errcnt
end
-local verify_files = function (errcnt, status)
+local verify_files = function (errcnt)
out "================ verify files ================="
+ local status = config.luaotfload.status
local hashes = status.hashes
local notes = status.notes
if not hashes or #hashes == 0 then
@@ -163,8 +167,6 @@ local analyze_permissions = function (raw)
return lpegmatch (p_permissions, raw)
end
-local stripslashes = names.patterns.stripslashes
-
local get_permissions = function (t, location)
if stringsub (location, #location) == "/" then
--- strip trailing slashes (lfs idiosyncrasy on Win)
@@ -238,19 +240,23 @@ local check_conformance = function (spec, permissions, errcnt)
return errcnt
end
-local path = names.path
-
-local desired_permissions = {
- { "d", {"r","w"}, function () return caches.getwritablepath () end },
- { "d", {"r","w"}, path.globals.prefix },
- { "f", {"r","w"}, path.index.lua .. ".gz" },
- { "f", {"r","w"}, path.index.luc },
- { "f", {"r","w"}, path.lookups.lua },
- { "f", {"r","w"}, path.lookups.luc },
-}
+local desired_permissions
+local init_desired_permissions = function ()
+ inspect(config.luaotfload.paths)
+ local paths = config.luaotfload.paths
+ desired_permissions = {
+ { "d", {"r","w"}, function () return caches.getwritablepath () end },
+ { "d", {"r","w"}, paths.prefix },
+ { "f", {"r","w"}, paths.index_path_lua .. ".gz" },
+ { "f", {"r","w"}, paths.index_path_luc },
+ { "f", {"r","w"}, paths.lookup_path_lua },
+ { "f", {"r","w"}, paths.lookup_path_luc },
+ }
+end
local check_permissions = function (errcnt)
out [[=============== file permissions ==============]]
+ if not desired_permissions then init_desired_permissions () end
for i = 1, #desired_permissions do
local t, spec, path = unpack (desired_permissions[i])
if type (path) == "function" then
@@ -334,8 +340,7 @@ else
end
out ("Requesting <%s>.", request)
- local response, code, headers, status
- = https.request (request)
+ local response, code, headers, status = https.request (request)
if status ~= alright then
out "Request failed!"
return false
@@ -605,8 +610,6 @@ local anamneses = {
"permissions"
}
-local splitcomma = names.patterns.splitcomma
-
local diagnose = function (job)
local errcnt = 0
local asked = job.asked_diagnostics
@@ -628,7 +631,7 @@ local diagnose = function (job)
end
if asked.files == true then
- errcnt = verify_files (errcnt, status)
+ errcnt = verify_files (errcnt)
asked.files = nil
end
@@ -638,6 +641,7 @@ local diagnose = function (job)
end
if asked.repository == true then
+ local status = config.luaotfload.status
check_upstream (status.notes.revision)
asked.repository = nil
end
@@ -663,7 +667,7 @@ local diagnose = function (job)
carefully and get a clean version from CTAN or
github:
- × http://ctan.org/tex-archive/macros/luatex/generic/luaotfload
+ × http://www.ctan.org/pkg/luaotfload
× https://github.com/lualatex/luaotfload/releases
If you are uncertain as to how to proceed, then