diff options
| author | Philipp Gesang <phg42.2a@gmail.com> | 2013-07-02 15:01:00 +0200 | 
|---|---|---|
| committer | Philipp Gesang <phg42.2a@gmail.com> | 2013-07-02 15:01:00 +0200 | 
| commit | 4a01814961fa764fc246f8f3976ccd830c54dadf (patch) | |
| tree | 60c6559fbe53b4b3d0d696076011b89050f3aea3 | |
| parent | e46b1ade1a0b4cabec661aa0f505efd03b9bdc5a (diff) | |
| download | luaotfload-4a01814961fa764fc246f8f3976ccd830c54dadf.tar.gz | |
restrict readable path stats to font cache
| -rw-r--r-- | luaotfload-database.lua | 35 | 
1 files changed, 25 insertions, 10 deletions
| diff --git a/luaotfload-database.lua b/luaotfload-database.lua index 4755396..39c6ab5 100644 --- a/luaotfload-database.lua +++ b/luaotfload-database.lua @@ -2006,7 +2006,7 @@ local collect_cache collect_cache = function (path, all, n, luanames,      return luanames, lucnames, rest, all  end -local getfontcachepath = function ( ) +local getwritablecachepath = function ( )      --- fonts.handlers.otf doesn’t exist outside a Luatex run,      --- so we have to improvise      local writable = caches.getwritablepath () @@ -2018,9 +2018,23 @@ local getfontcachepath = function ( )      end  end +local getreadablecachepaths = function ( ) +    local readables = caches.getreadablepaths () +    local result    = { } +    if readables then +        for i=1, #readables do +            local readable = readables[i] .. "/fonts" +            if lfsisdir (readable) then +                result[#result+1] = readable +            end +        end +    end +    return result +end +  --- unit -> unit  local purge_cache = function ( ) -    local writable_path = getfontcachepath () +    local writable_path = getwritablecachepath ()      local luanames, lucnames, rest = collect_cache(writable_path)      if logs.get_loglevel() > 1 then          print_cache("writable path", writable_path, luanames, lucnames, rest) @@ -2031,7 +2045,7 @@ end  --- unit -> unit  local erase_cache = function ( ) -    local writable_path = getfontcachepath () +    local writable_path = getwritablecachepath ()      local luanames, lucnames, rest, all = collect_cache(writable_path)      if logs.get_loglevel() > 1 then          print_cache("writable path", writable_path, luanames, lucnames, rest) @@ -2046,19 +2060,20 @@ end  --- unit -> unit  local show_cache = function ( ) -    local readable_paths = caches.getreadablepaths() -    local writable_path  = getfontcachepath () +    local readable_paths = getreadablecachepaths () +    local writable_path  = getwritablecachepath ()      local luanames, lucnames, rest = collect_cache(writable_path) -    separator() -    print_cache("writable path", writable_path, luanames, lucnames, rest) +    separator () +    print_cache ("writable path", writable_path, +                 luanames, lucnames, rest)      texiowrite_nl""      for i=1,#readable_paths do          local readable_path = readable_paths[i]          if readable_path ~= writable_path then -            local luanames, lucnames = collect_cache(readable_path) -            print_cache("readable path", -                readable_path,luanames,lucnames,rest) +            local luanames, lucnames = collect_cache (readable_path) +            print_cache ("readable path", +                         readable_path, luanames, lucnames, rest)          end      end      separator() | 
