diff options
author | Manuel Pégourié-Gonnard <mpg@elzevir.fr> | 2010-03-28 00:45:01 +0100 |
---|---|---|
committer | Manuel Pégourié-Gonnard <mpg@elzevir.fr> | 2010-03-28 00:45:01 +0100 |
commit | 7578e441dd20847113adcb9aa5ff29477278f8a4 (patch) | |
tree | 941a67611c1c4603b8f08e354b2f5e7aea649d7b | |
parent | ad8bcc3e4491d51e5ac37bf6ed7c7337a33c1fc3 (diff) | |
download | luatexbase-7578e441dd20847113adcb9aa5ff29477278f8a4.tar.gz |
Use loader in modutils.
-rw-r--r-- | Makefile | 2 | ||||
-rw-r--r-- | luatexbase-modutils.dtx | 54 |
2 files changed, 18 insertions, 38 deletions
@@ -98,7 +98,7 @@ check-loader: $(UNPACKED_LOADER) luatex --interaction=batchmode test-loader-plain.tex >/dev/null lualatex --interaction=batchmode test-loader-latex.tex >/dev/null -check-modutils: $(UNPACKED_MODUTILS) +check-modutils: $(UNPACKED_MODUTILS) $(LOADER_RUN) luatex --interaction=batchmode test-modutils-plain.tex >/dev/null lualatex --interaction=batchmode test-modutils-latex.tex >/dev/null diff --git a/luatexbase-modutils.dtx b/luatexbase-modutils.dtx index 5dcb8dc..4a1580b 100644 --- a/luatexbase-modutils.dtx +++ b/luatexbase-modutils.dtx @@ -206,6 +206,17 @@ and the derived files \catcode64 11 % \end{macrocode} % +% Load the package loader. +% +% \begin{macrocode} +\begingroup\expandafter\expandafter\expandafter\endgroup +\expandafter\ifx\csname RequirePackage\endcsname\relax + \input luatexbase-loader.sty +\else + \RequirePackage{luatexbase-loader} +\fi +% \end{macrocode} +% % \subsubsection{Main code} % % The \texttt{\string\luatexModuleError} macro is called by the lua function @@ -346,24 +357,6 @@ end % % \subsubsection{module loading and providing functions} % -% A small function to find a lua module file according to its name, with or -% without the \texttt{.lua} at the end of the filename. -% -% \begin{macrocode} - -function luatextra.find_module_file(name) - if string.sub(name, -4) ~= '.lua' then - name = name..'.lua' - end - path = kpse.find_file(name, 'tex') - if not path then - path = kpse.find_file(name, 'texmfscripts') - end - return path, name -end - -% \end{macrocode} -% % A small patch, for the \texttt{module} function to work in this file. I % can't understand why it doens't otherwise. % @@ -381,31 +374,18 @@ luatextra.module = module % \texttt{luatextra.provides\_module}. % % \begin{macrocode} - - function luatextra.use_module(name) if not name or luatextra.modules[name] then return end - local path, filename = luatextra.find_module_file(name) - if not path then - luatextra.internal_error(format("unable to find lua module %s", name)) - else - if path:sub(1,2) == "./" then - path = path:sub(3) - end - texio.write_nl('('..path) - dofile(path) - if not luatextra.modules[name] then - luatextra.internal_warning(format("You have requested module `%s',\n%s but the file %s does not provide it.", name, luatextra.internal_warning_spaces, filename)) - end - if not package.loaded[name] then - luatextra.module(name, package.seeall) - end - texio.write(')') + require(name) + if not luatextra.modules[name] then + luatextra.internal_warning(format("You have requested module `%s',\n%s but the file %s does not provide it.", name, luatextra.internal_warning_spaces, filename)) + end + if not package.loaded[name] then + luatextra.module(name, package.seeall) end end - % \end{macrocode} % % \end{macro} |