From 5c433e6e8accaa4bc9ebe0a094b925fe11a8edf5 Mon Sep 17 00:00:00 2001 From: Hans Hagen Date: Wed, 12 Sep 2018 01:13:39 +0200 Subject: 2018-09-12 00:46:00 --- scripts/context/lua/mtx-context.lua | 20 ++++++++++---------- scripts/context/lua/mtx-patterns.lua | 1 + scripts/context/lua/mtxrun.lua | 32 ++++++++++++++++++++++++-------- scripts/context/stubs/mswin/mtxrun.lua | 32 ++++++++++++++++++++++++-------- scripts/context/stubs/unix/mtxrun | 32 ++++++++++++++++++++++++-------- scripts/context/stubs/win64/mtxrun.lua | 32 ++++++++++++++++++++++++-------- 6 files changed, 107 insertions(+), 42 deletions(-) (limited to 'scripts') diff --git a/scripts/context/lua/mtx-context.lua b/scripts/context/lua/mtx-context.lua index f380dc6ff..4244dfc83 100644 --- a/scripts/context/lua/mtx-context.lua +++ b/scripts/context/lua/mtx-context.lua @@ -596,7 +596,7 @@ function scripts.context.run(ctxdata,filename) local a_nofile = getargument("nofile") local a_engine = getargument("engine") -- - local files = environment.files or { } + local files = environment.filenames or { } -- local filelist, mainfile -- @@ -1185,7 +1185,7 @@ function scripts.context.make(name) if not getargument("fast") then -- as in texexec scripts.context.generate() end - local list = (name and { name }) or (environment.files[1] and environment.files) or defaultformats + local list = (name and { name }) or (environment.filenames[1] and environment.filenames) or defaultformats local engine = getargument("engine") or "luatex" if getargument("jit") or getargument("jiton") then engine = "luajittex" @@ -1205,7 +1205,7 @@ end function scripts.context.ctx() local ctxdata = ctxrunner.new() - ctxdata.jobname = environment.files[1] + ctxdata.jobname = environment.filenames[1] ctxrunner.checkfile(ctxdata,getargument("ctx")) ctxrunner.checkflags(ctxdata) scripts.context.run(ctxdata) @@ -1213,7 +1213,7 @@ end function scripts.context.autoctx() local ctxdata = nil - local files = environment.files + local files = environment.filenames local firstfile = #files > 0 and files[1] if firstfile then local suffix = filesuffix(firstfile) @@ -1248,7 +1248,7 @@ end -- local loaded = false -- -- function scripts.context.metapost() --- local filename = environment.files[1] or "" +-- local filename = environment.filenames[1] or "" -- if not loaded then -- dofile(resolvers.findfile("mlib-run.lua")) -- loaded = true @@ -1265,7 +1265,7 @@ end -- local jobname = "mtx-context-metapost" -- local tempname = fileaddsuffix(jobname,"tex") -- io.savedata(tempname,format(template,"metafun",filename)) --- environment.files[1] = tempname +-- environment.filenames[1] = tempname -- setargument("result",resultname) -- setargument("once",true) -- scripts.context.run() @@ -1792,14 +1792,14 @@ elseif getargument("expert") then elseif getargument("showmodules") or getargument("modules") then scripts.context.modules() elseif getargument("showextras") or getargument("extras") then - scripts.context.extras(environment.files[1] or getargument("extras")) + scripts.context.extras(environment.filenames[1] or getargument("extras")) elseif getargument("extra") then scripts.context.extra() elseif getargument("exporthelp") then - -- application.export(getargument("exporthelp"),environment.files[1]) + -- application.export(getargument("exporthelp"),environment.filenames[1]) application.export() elseif getargument("help") then - if environment.files[1] == "extras" then + if environment.filenames[1] == "extras" then scripts.context.extras() else application.help("basic") @@ -1810,7 +1810,7 @@ elseif getargument("showdirectives") or getargument("directives") == true then scripts.context.directives() elseif getargument("showlogcategories") then scripts.context.logcategories() -elseif environment.files[1] or getargument("nofile") then +elseif environment.filenames[1] or getargument("nofile") then scripts.context.timed(scripts.context.autoctx) elseif getargument("pipe") then scripts.context.timed(scripts.context.pipe) diff --git a/scripts/context/lua/mtx-patterns.lua b/scripts/context/lua/mtx-patterns.lua index d16912e4f..262dbe2bc 100644 --- a/scripts/context/lua/mtx-patterns.lua +++ b/scripts/context/lua/mtx-patterns.lua @@ -691,6 +691,7 @@ end -- mtxrun --script pattern --check hyph-*.tex -- mtxrun --script pattern --check --path=c:/data/develop/svn-hyphen/trunk/hyph-utf8/tex/generic/hyph-utf8/patterns -- mtxrun --script pattern --convert --path=c:/data/develop/svn-hyphen/trunk/hyph-utf8/tex/generic/hyph-utf8/patterns/tex --destination=e:/tmp/patterns +-- mtxrun --script pattern --convert --path=c:/repositories/tex-hyphen/hyph-utf8/tex/generic/hyph-utf8/patterns/tex --destination=e:/tmp/patterns -- -- use this call: -- diff --git a/scripts/context/lua/mtxrun.lua b/scripts/context/lua/mtxrun.lua index de6b27514..1965a79d5 100644 --- a/scripts/context/lua/mtxrun.lua +++ b/scripts/context/lua/mtxrun.lua @@ -10955,7 +10955,7 @@ package.loaded["util-soc-imp-tp"] = package.loaded["util-soc-imp-tp"] or true local setmetatable,next,type,tonumber=setmetatable,next,type,tonumber -local find,upper=string.find,string,upper +local find,upper=string.find,string.upper local socket=socket or require("socket") local ltn12=ltn12 or require("ltn12") local skipsocket=socket.skip @@ -11834,12 +11834,12 @@ do -- create closure to overcome 200 locals limit package.loaded["util-soc-imp-smtp"] = package.loaded["util-soc-imp-smtp"] or true --- original size: 7013, stripped down to: 6090 +-- original size: 7018, stripped down to: 6095 local type,setmetatable,next=type,setmetatable,next local find,lower,format=string.find,string.lower,string.format -local osdate,osgetenv=os.data,os.getenv +local osdate,osgetenv=os.date,os.getenv local random=math.random local socket=socket or require("socket") local headers=socket.headers or require("socket.headers") @@ -12058,7 +12058,7 @@ function smtp.message(message) end end smtp.send=protectsocket(function(mail) - local snd=opensmtp(mail.server,mail.port,mail.create) + local snd=opensmtp(smtp,mail.server,mail.port,mail.create) local ext=snd:greet(mail.domain) snd:auth(mail.user,mail.password,ext) snd:send(mail) @@ -15128,7 +15128,7 @@ do -- create closure to overcome 200 locals limit package.loaded["luat-env"] = package.loaded["luat-env"] or true --- original size: 5788, stripped down to: 4125 +-- original size: 6134, stripped down to: 4402 if not modules then modules={} end modules ['luat-env']={ version=1.001, @@ -15138,6 +15138,7 @@ package.loaded["luat-env"] = package.loaded["luat-env"] or true license="see context related readme files" } local rawset,rawget,loadfile=rawset,rawget,loadfile +local gsub=string.gsub local trace_locating=false trackers.register("resolvers.locating",function(v) trace_locating=v end) local report_lua=logs.reporter("resolvers","lua") local luautilities=utilities.lua @@ -15273,6 +15274,19 @@ function environment.loadluafile(filename,version) end return false end +environment.filenames=setmetatable({},{ + __index=function(t,k) + local v=environment.files[k] + if v then + return (gsub(v,"%.+$","")) + end + end, + __newindex=function(t,k) + end, + __len=function(t) + return #environment.files + end, +} ) end -- of closure @@ -23259,7 +23273,7 @@ do -- create closure to overcome 200 locals limit package.loaded["data-tre"] = package.loaded["data-tre"] or true --- original size: 8479, stripped down to: 5580 +-- original size: 8478, stripped down to: 5611 if not modules then modules={} end modules ['data-tre']={ version=1.001, @@ -23336,7 +23350,9 @@ function resolvers.locators.tree(specification) end function resolvers.hashers.tree(specification) local name=specification.filename + if trace_locating then report_trees("analyzing %a",name) + end resolvers.methodhandler("hashers",name) resolvers.generators.file(specification) end @@ -24594,8 +24610,8 @@ end -- of closure -- used libraries : l-lua.lua l-macro.lua l-sandbox.lua l-package.lua l-lpeg.lua l-function.lua l-string.lua l-table.lua l-io.lua l-number.lua l-set.lua l-os.lua l-file.lua l-gzip.lua l-md5.lua l-sha.lua l-url.lua l-dir.lua l-boolean.lua l-unicode.lua l-math.lua util-str.lua util-tab.lua util-fil.lua util-sac.lua util-sto.lua util-prs.lua util-fmt.lua util-soc-imp-reset.lua util-soc-imp-socket.lua util-soc-imp-copas.lua util-soc-imp-ltn12.lua util-soc-imp-mime.lua util-soc-imp-url.lua util-soc-imp-headers.lua util-soc-imp-tp.lua util-soc-imp-http.lua util-soc-imp-ftp.lua util-soc-imp-smtp.lua trac-set.lua trac-log.lua trac-inf.lua trac-pro.lua util-lua.lua util-deb.lua util-tpl.lua util-sbx.lua util-mrg.lua util-env.lua luat-env.lua lxml-tab.lua lxml-lpt.lua lxml-mis.lua lxml-aux.lua lxml-xml.lua trac-xml.lua data-ini.lua data-exp.lua data-env.lua data-tmp.lua data-met.lua data-res.lua data-pre.lua data-inp.lua data-out.lua data-fil.lua data-con.lua data-use.lua data-zip.lua data-tre.lua data-sch.lua data-lua.lua data-aux.lua data-tmf.lua data-lst.lua util-lib.lua luat-sta.lua luat-fmt.lua -- skipped libraries : - --- original bytes : 983027 --- stripped bytes : 347254 +-- original bytes : 983377 +-- stripped bytes : 347291 -- end library merge diff --git a/scripts/context/stubs/mswin/mtxrun.lua b/scripts/context/stubs/mswin/mtxrun.lua index de6b27514..1965a79d5 100644 --- a/scripts/context/stubs/mswin/mtxrun.lua +++ b/scripts/context/stubs/mswin/mtxrun.lua @@ -10955,7 +10955,7 @@ package.loaded["util-soc-imp-tp"] = package.loaded["util-soc-imp-tp"] or true local setmetatable,next,type,tonumber=setmetatable,next,type,tonumber -local find,upper=string.find,string,upper +local find,upper=string.find,string.upper local socket=socket or require("socket") local ltn12=ltn12 or require("ltn12") local skipsocket=socket.skip @@ -11834,12 +11834,12 @@ do -- create closure to overcome 200 locals limit package.loaded["util-soc-imp-smtp"] = package.loaded["util-soc-imp-smtp"] or true --- original size: 7013, stripped down to: 6090 +-- original size: 7018, stripped down to: 6095 local type,setmetatable,next=type,setmetatable,next local find,lower,format=string.find,string.lower,string.format -local osdate,osgetenv=os.data,os.getenv +local osdate,osgetenv=os.date,os.getenv local random=math.random local socket=socket or require("socket") local headers=socket.headers or require("socket.headers") @@ -12058,7 +12058,7 @@ function smtp.message(message) end end smtp.send=protectsocket(function(mail) - local snd=opensmtp(mail.server,mail.port,mail.create) + local snd=opensmtp(smtp,mail.server,mail.port,mail.create) local ext=snd:greet(mail.domain) snd:auth(mail.user,mail.password,ext) snd:send(mail) @@ -15128,7 +15128,7 @@ do -- create closure to overcome 200 locals limit package.loaded["luat-env"] = package.loaded["luat-env"] or true --- original size: 5788, stripped down to: 4125 +-- original size: 6134, stripped down to: 4402 if not modules then modules={} end modules ['luat-env']={ version=1.001, @@ -15138,6 +15138,7 @@ package.loaded["luat-env"] = package.loaded["luat-env"] or true license="see context related readme files" } local rawset,rawget,loadfile=rawset,rawget,loadfile +local gsub=string.gsub local trace_locating=false trackers.register("resolvers.locating",function(v) trace_locating=v end) local report_lua=logs.reporter("resolvers","lua") local luautilities=utilities.lua @@ -15273,6 +15274,19 @@ function environment.loadluafile(filename,version) end return false end +environment.filenames=setmetatable({},{ + __index=function(t,k) + local v=environment.files[k] + if v then + return (gsub(v,"%.+$","")) + end + end, + __newindex=function(t,k) + end, + __len=function(t) + return #environment.files + end, +} ) end -- of closure @@ -23259,7 +23273,7 @@ do -- create closure to overcome 200 locals limit package.loaded["data-tre"] = package.loaded["data-tre"] or true --- original size: 8479, stripped down to: 5580 +-- original size: 8478, stripped down to: 5611 if not modules then modules={} end modules ['data-tre']={ version=1.001, @@ -23336,7 +23350,9 @@ function resolvers.locators.tree(specification) end function resolvers.hashers.tree(specification) local name=specification.filename + if trace_locating then report_trees("analyzing %a",name) + end resolvers.methodhandler("hashers",name) resolvers.generators.file(specification) end @@ -24594,8 +24610,8 @@ end -- of closure -- used libraries : l-lua.lua l-macro.lua l-sandbox.lua l-package.lua l-lpeg.lua l-function.lua l-string.lua l-table.lua l-io.lua l-number.lua l-set.lua l-os.lua l-file.lua l-gzip.lua l-md5.lua l-sha.lua l-url.lua l-dir.lua l-boolean.lua l-unicode.lua l-math.lua util-str.lua util-tab.lua util-fil.lua util-sac.lua util-sto.lua util-prs.lua util-fmt.lua util-soc-imp-reset.lua util-soc-imp-socket.lua util-soc-imp-copas.lua util-soc-imp-ltn12.lua util-soc-imp-mime.lua util-soc-imp-url.lua util-soc-imp-headers.lua util-soc-imp-tp.lua util-soc-imp-http.lua util-soc-imp-ftp.lua util-soc-imp-smtp.lua trac-set.lua trac-log.lua trac-inf.lua trac-pro.lua util-lua.lua util-deb.lua util-tpl.lua util-sbx.lua util-mrg.lua util-env.lua luat-env.lua lxml-tab.lua lxml-lpt.lua lxml-mis.lua lxml-aux.lua lxml-xml.lua trac-xml.lua data-ini.lua data-exp.lua data-env.lua data-tmp.lua data-met.lua data-res.lua data-pre.lua data-inp.lua data-out.lua data-fil.lua data-con.lua data-use.lua data-zip.lua data-tre.lua data-sch.lua data-lua.lua data-aux.lua data-tmf.lua data-lst.lua util-lib.lua luat-sta.lua luat-fmt.lua -- skipped libraries : - --- original bytes : 983027 --- stripped bytes : 347254 +-- original bytes : 983377 +-- stripped bytes : 347291 -- end library merge diff --git a/scripts/context/stubs/unix/mtxrun b/scripts/context/stubs/unix/mtxrun index de6b27514..1965a79d5 100644 --- a/scripts/context/stubs/unix/mtxrun +++ b/scripts/context/stubs/unix/mtxrun @@ -10955,7 +10955,7 @@ package.loaded["util-soc-imp-tp"] = package.loaded["util-soc-imp-tp"] or true local setmetatable,next,type,tonumber=setmetatable,next,type,tonumber -local find,upper=string.find,string,upper +local find,upper=string.find,string.upper local socket=socket or require("socket") local ltn12=ltn12 or require("ltn12") local skipsocket=socket.skip @@ -11834,12 +11834,12 @@ do -- create closure to overcome 200 locals limit package.loaded["util-soc-imp-smtp"] = package.loaded["util-soc-imp-smtp"] or true --- original size: 7013, stripped down to: 6090 +-- original size: 7018, stripped down to: 6095 local type,setmetatable,next=type,setmetatable,next local find,lower,format=string.find,string.lower,string.format -local osdate,osgetenv=os.data,os.getenv +local osdate,osgetenv=os.date,os.getenv local random=math.random local socket=socket or require("socket") local headers=socket.headers or require("socket.headers") @@ -12058,7 +12058,7 @@ function smtp.message(message) end end smtp.send=protectsocket(function(mail) - local snd=opensmtp(mail.server,mail.port,mail.create) + local snd=opensmtp(smtp,mail.server,mail.port,mail.create) local ext=snd:greet(mail.domain) snd:auth(mail.user,mail.password,ext) snd:send(mail) @@ -15128,7 +15128,7 @@ do -- create closure to overcome 200 locals limit package.loaded["luat-env"] = package.loaded["luat-env"] or true --- original size: 5788, stripped down to: 4125 +-- original size: 6134, stripped down to: 4402 if not modules then modules={} end modules ['luat-env']={ version=1.001, @@ -15138,6 +15138,7 @@ package.loaded["luat-env"] = package.loaded["luat-env"] or true license="see context related readme files" } local rawset,rawget,loadfile=rawset,rawget,loadfile +local gsub=string.gsub local trace_locating=false trackers.register("resolvers.locating",function(v) trace_locating=v end) local report_lua=logs.reporter("resolvers","lua") local luautilities=utilities.lua @@ -15273,6 +15274,19 @@ function environment.loadluafile(filename,version) end return false end +environment.filenames=setmetatable({},{ + __index=function(t,k) + local v=environment.files[k] + if v then + return (gsub(v,"%.+$","")) + end + end, + __newindex=function(t,k) + end, + __len=function(t) + return #environment.files + end, +} ) end -- of closure @@ -23259,7 +23273,7 @@ do -- create closure to overcome 200 locals limit package.loaded["data-tre"] = package.loaded["data-tre"] or true --- original size: 8479, stripped down to: 5580 +-- original size: 8478, stripped down to: 5611 if not modules then modules={} end modules ['data-tre']={ version=1.001, @@ -23336,7 +23350,9 @@ function resolvers.locators.tree(specification) end function resolvers.hashers.tree(specification) local name=specification.filename + if trace_locating then report_trees("analyzing %a",name) + end resolvers.methodhandler("hashers",name) resolvers.generators.file(specification) end @@ -24594,8 +24610,8 @@ end -- of closure -- used libraries : l-lua.lua l-macro.lua l-sandbox.lua l-package.lua l-lpeg.lua l-function.lua l-string.lua l-table.lua l-io.lua l-number.lua l-set.lua l-os.lua l-file.lua l-gzip.lua l-md5.lua l-sha.lua l-url.lua l-dir.lua l-boolean.lua l-unicode.lua l-math.lua util-str.lua util-tab.lua util-fil.lua util-sac.lua util-sto.lua util-prs.lua util-fmt.lua util-soc-imp-reset.lua util-soc-imp-socket.lua util-soc-imp-copas.lua util-soc-imp-ltn12.lua util-soc-imp-mime.lua util-soc-imp-url.lua util-soc-imp-headers.lua util-soc-imp-tp.lua util-soc-imp-http.lua util-soc-imp-ftp.lua util-soc-imp-smtp.lua trac-set.lua trac-log.lua trac-inf.lua trac-pro.lua util-lua.lua util-deb.lua util-tpl.lua util-sbx.lua util-mrg.lua util-env.lua luat-env.lua lxml-tab.lua lxml-lpt.lua lxml-mis.lua lxml-aux.lua lxml-xml.lua trac-xml.lua data-ini.lua data-exp.lua data-env.lua data-tmp.lua data-met.lua data-res.lua data-pre.lua data-inp.lua data-out.lua data-fil.lua data-con.lua data-use.lua data-zip.lua data-tre.lua data-sch.lua data-lua.lua data-aux.lua data-tmf.lua data-lst.lua util-lib.lua luat-sta.lua luat-fmt.lua -- skipped libraries : - --- original bytes : 983027 --- stripped bytes : 347254 +-- original bytes : 983377 +-- stripped bytes : 347291 -- end library merge diff --git a/scripts/context/stubs/win64/mtxrun.lua b/scripts/context/stubs/win64/mtxrun.lua index de6b27514..1965a79d5 100644 --- a/scripts/context/stubs/win64/mtxrun.lua +++ b/scripts/context/stubs/win64/mtxrun.lua @@ -10955,7 +10955,7 @@ package.loaded["util-soc-imp-tp"] = package.loaded["util-soc-imp-tp"] or true local setmetatable,next,type,tonumber=setmetatable,next,type,tonumber -local find,upper=string.find,string,upper +local find,upper=string.find,string.upper local socket=socket or require("socket") local ltn12=ltn12 or require("ltn12") local skipsocket=socket.skip @@ -11834,12 +11834,12 @@ do -- create closure to overcome 200 locals limit package.loaded["util-soc-imp-smtp"] = package.loaded["util-soc-imp-smtp"] or true --- original size: 7013, stripped down to: 6090 +-- original size: 7018, stripped down to: 6095 local type,setmetatable,next=type,setmetatable,next local find,lower,format=string.find,string.lower,string.format -local osdate,osgetenv=os.data,os.getenv +local osdate,osgetenv=os.date,os.getenv local random=math.random local socket=socket or require("socket") local headers=socket.headers or require("socket.headers") @@ -12058,7 +12058,7 @@ function smtp.message(message) end end smtp.send=protectsocket(function(mail) - local snd=opensmtp(mail.server,mail.port,mail.create) + local snd=opensmtp(smtp,mail.server,mail.port,mail.create) local ext=snd:greet(mail.domain) snd:auth(mail.user,mail.password,ext) snd:send(mail) @@ -15128,7 +15128,7 @@ do -- create closure to overcome 200 locals limit package.loaded["luat-env"] = package.loaded["luat-env"] or true --- original size: 5788, stripped down to: 4125 +-- original size: 6134, stripped down to: 4402 if not modules then modules={} end modules ['luat-env']={ version=1.001, @@ -15138,6 +15138,7 @@ package.loaded["luat-env"] = package.loaded["luat-env"] or true license="see context related readme files" } local rawset,rawget,loadfile=rawset,rawget,loadfile +local gsub=string.gsub local trace_locating=false trackers.register("resolvers.locating",function(v) trace_locating=v end) local report_lua=logs.reporter("resolvers","lua") local luautilities=utilities.lua @@ -15273,6 +15274,19 @@ function environment.loadluafile(filename,version) end return false end +environment.filenames=setmetatable({},{ + __index=function(t,k) + local v=environment.files[k] + if v then + return (gsub(v,"%.+$","")) + end + end, + __newindex=function(t,k) + end, + __len=function(t) + return #environment.files + end, +} ) end -- of closure @@ -23259,7 +23273,7 @@ do -- create closure to overcome 200 locals limit package.loaded["data-tre"] = package.loaded["data-tre"] or true --- original size: 8479, stripped down to: 5580 +-- original size: 8478, stripped down to: 5611 if not modules then modules={} end modules ['data-tre']={ version=1.001, @@ -23336,7 +23350,9 @@ function resolvers.locators.tree(specification) end function resolvers.hashers.tree(specification) local name=specification.filename + if trace_locating then report_trees("analyzing %a",name) + end resolvers.methodhandler("hashers",name) resolvers.generators.file(specification) end @@ -24594,8 +24610,8 @@ end -- of closure -- used libraries : l-lua.lua l-macro.lua l-sandbox.lua l-package.lua l-lpeg.lua l-function.lua l-string.lua l-table.lua l-io.lua l-number.lua l-set.lua l-os.lua l-file.lua l-gzip.lua l-md5.lua l-sha.lua l-url.lua l-dir.lua l-boolean.lua l-unicode.lua l-math.lua util-str.lua util-tab.lua util-fil.lua util-sac.lua util-sto.lua util-prs.lua util-fmt.lua util-soc-imp-reset.lua util-soc-imp-socket.lua util-soc-imp-copas.lua util-soc-imp-ltn12.lua util-soc-imp-mime.lua util-soc-imp-url.lua util-soc-imp-headers.lua util-soc-imp-tp.lua util-soc-imp-http.lua util-soc-imp-ftp.lua util-soc-imp-smtp.lua trac-set.lua trac-log.lua trac-inf.lua trac-pro.lua util-lua.lua util-deb.lua util-tpl.lua util-sbx.lua util-mrg.lua util-env.lua luat-env.lua lxml-tab.lua lxml-lpt.lua lxml-mis.lua lxml-aux.lua lxml-xml.lua trac-xml.lua data-ini.lua data-exp.lua data-env.lua data-tmp.lua data-met.lua data-res.lua data-pre.lua data-inp.lua data-out.lua data-fil.lua data-con.lua data-use.lua data-zip.lua data-tre.lua data-sch.lua data-lua.lua data-aux.lua data-tmf.lua data-lst.lua util-lib.lua luat-sta.lua luat-fmt.lua -- skipped libraries : - --- original bytes : 983027 --- stripped bytes : 347254 +-- original bytes : 983377 +-- stripped bytes : 347291 -- end library merge -- cgit v1.2.3