Warning: this is an htmlized version!
The original is here, and
the conversion rules are here.
#!/usr/bin/env lua5.1
-- This file:
--   http://anggtwu.net/LUA/Deps1.lua.html
--   http://anggtwu.net/LUA/Deps1.lua
--          (find-angg "LUA/Deps1.lua")
-- Author: Eduardo Ochs <eduardoochs@gmail.com>
--
-- (defun e () (interactive) (find-angg "LUA/Deps1.lua"))
--
-- Based on:     (find-angg ".emacs.templates" "find-cp-LUA-links")
-- Try:          (find-sh0 "~/LUA/Deps1.lua -runcps  Caepro4")
--               (find-sh0 "~/LUA/Deps1.lua -runcps    'Caepro4 ELpeg-cme1'")
-- (find-estring (find-sh0 "~/LUA/Deps1.lua -findanggs 'Caepro4 ELpeg-cme1'"))

-- «.run_options»	(to "run_options")
-- «.run_options-tests»	(to "run_options-tests")

Deps = Class {
  type = "Deps",
  from = function (mains)
      local s1 = Set.from(split(mains))
      local s2 = Set.from(keys(package.loaded))
      local s3 = Set.from(split("lpeg re"))
      return Deps {mains=mains, s1=s1, s2=s2, s3=s3}
    end,
  __index = {
    load = function (d)
        Path.prependtopath "~/LUA/?.lua"
        for _,name in ipairs(split(d.mains)) do require(name) end
        local s4 = Set.from(keys(package.loaded))
        d.s4 = s4
        return d
      end,
    cps = function (d, s, fmt)
        s = s or (d.s4 - d.s3 - d.s2)
        fmt = fmt or "cp -v ~/LUA/%s.lua ~/LATEX/"
        local f = function (name) return format(fmt, name) end
        return mapconcat(f, s:ks(), "\n")
      end,
    cpsto = function (d, s, dir) return d:cps(d, "cp -v ~/LUA/%s.lua "..dir) end,
    runcps    = function (d, ...) return getoutput(d:cps(...)) end,
    runcpsto  = function (d, ...) return getoutput(d:cpsto(...)) end,
    findanggs = function (d, s) return d:cps(s, '-- (find-angg "LUA/%s.lua")') end,
    listfiles = function (d, s) return d:cps(s, '%s.lua') end,
  },
}

--[[
* (eepitch-lua51)
* (eepitch-kill)
* (eepitch-lua51)
dofile "Deps1.lua"
d = Deps.from("Caepro4"):load()
= d:cps()
= d:runcps()
  s = d.s4 - d.s3 - d.s2
= s:ksc(" ")
= VTable(s:ks())

* (eepitch-lua52)
* (eepitch-kill)
* (eepitch-lua52)
dofile "Deps1.lua"
run_options("-listfiles", "ParseTikz1")
run_options("-runcps", "Caepro4")

--]]

-- «run_options»  (to ".run_options")
-- (find-es "lua5" "run_options")

run_options = function (a, b)
    if     a == nil          then return
    elseif a == "Deps1"      then return
    elseif a == "-runcps"    then print(Deps.from(b):load():runcps())
    elseif a == "-findanggs" then print(Deps.from(b):load():findanggs())
    elseif a == "-listfiles" then print(Deps.from(b):load():listfiles())
    else PP("Bad options:", a, b)
    end
  end

run_options(...)

-- «run_options-tests»  (to ".run_options-tests")
--[[
* (eepitch-lua51)
* (eepitch-kill)
* (eepitch-lua51)
dofile "Deps1.lua"
run_repl3_now()
run_options()
run_options("-runcps", "Caepro4")
run_options("-runcps", "dednat7load")
= PrintFunction.from(run_options)

--]]





-- Local Variables:
-- coding:  utf-8-unix
-- End: