- local function ivs_cache_save(id, fname)
- local savepath = path.localdir .. cache_dir
- if not lfs.isdir(savepath) then dir.mkdirs(savepath) end
- savepath = file.join(savepath, "ivs_" .. string.lower(file.nameonly(fname)) .. ".lua")
- local result = make_ivs_table(id, fname)
- if file.iswritable(savepath) then
- table.tofile(savepath, { checksum(fname), result },
- 'return', false, true, false )
- --ltjb.package_info_no_line('luatexja', "saved :'" .. savepath .. "'", '')
- print("saved :'" .. savepath .. "'", '')
- else
- --ltjb.package_warning_no_line('luatexja', "failed to save to '" .. savepath .. "'", '')
- print("failed to save to '" .. savepath .. "'", '')
- end
- return result
- end
-
- local function ivs_cache_load(cname, id, fname)
- local result = require(cname)
- local newsum = checksum(fname)
- if newsum~=result[1] then
- return ivs_cache_save(id, fname)
- else
- return result[2]
- end
- end
-