\def\inputluafile#1 {\directlua{dofile(kpse.find_file("#1"))}}

\inputluafile base.ptxlua

\def\ptx@lua{\directlua name {Internal PiTeX chunk}}

\newcatcodetable\luacatcodes{\#\%\^^M\~=12}
\newtoks\ptx@luacode_list
\newif\ifptx@luacode_store
% Mimicks a block (\newblock isn't defined yet
% and anyway it wouldn't be very useful).
\def\luacode{%
  \begingroup
  \catcodetable\luacatcodes
  \ifnext[
    {\ptx@luacode_store}
    {\ptx@luacode_store[]}}
\bgroup
\setcatcodes{\^^M=12}%
\long\gdef\ptx@luacode_store[#1]^^M#2\luacode/{% So line count is right.
  \endgroup%
  \ifemptystring{#1}%
    {\ptx@lua{#2}}%
    {\def#1{#2}}%
  }%
\egroup
