diff options
Diffstat (limited to 'Master/texmf-dist/tex/context/base/core-ctx.tex')
-rw-r--r-- | Master/texmf-dist/tex/context/base/core-ctx.tex | 22 |
1 files changed, 17 insertions, 5 deletions
diff --git a/Master/texmf-dist/tex/context/base/core-ctx.tex b/Master/texmf-dist/tex/context/base/core-ctx.tex index 9cd3de2b9c2..22f2ded4ad6 100644 --- a/Master/texmf-dist/tex/context/base/core-ctx.tex +++ b/Master/texmf-dist/tex/context/base/core-ctx.tex @@ -17,6 +17,8 @@ %D overloades a few file reading macros and permits runtime %D conversion and job control. +% todo: rewrite in lua + \unprotect \chardef\preprocessmethod 2 % 0=no check 1=present_check 2=log_check @@ -77,19 +79,27 @@ \iftracefiles\writestatus\m!systems{preprocessing - no suffix}\fi \egroup \else\ifcase\preprocesslocal + % also ./ strippen \iftracefiles\writestatus\m!systems{preprocessing - check presence of \readfilename\preprocesssuffix}\fi \doifdefinedelse{fp..\readfilename} {\egroup \doiffileexistselse{\readfilename\preprocesssuffix} {\chardef\preprocessstate\plusone} {\chardef\preprocessstate\plustwo}}% - {\doifdefinedelse{fp..\splitoffbase}% + {\doifdefinedelse{fp.../\readfilename} {\egroup + \edef\readfilename{./\readfilename}% \doiffileexistselse{\readfilename\preprocesssuffix} {\chardef\preprocessstate\plusone} {\chardef\preprocessstate\plustwo}}% - {\egroup}}% + {\doifdefinedelse{fp..\splitoffbase}% + {\egroup + \doiffileexistselse{\readfilename\preprocesssuffix} + {\chardef\preprocessstate\plusone} + {\chardef\preprocessstate\plustwo}}% + {\egroup}}}% \else + % maybe just filecheck, why ctl \iftracefiles\writestatus\m!systems{preprocessing - check local presence of \readfilename\preprocesssuffix}\fi \doifdefinedelse{fp..\readfilename} {\egroup @@ -157,7 +167,7 @@ \iftracefiles\writestatus\m!systems{#1 located}\fi \def\next{#2\dodoreadfile}}% {\iftracefiles\writestatus\m!systems{cannot locate #1}\fi - \decrement\readlevel\relax + \advance\readlevel\minusone \ifnum\readlevel>\zerocount \edef\readfilename{\pathplusfile{\f!parentpath}{\readfilename}}% \def\next{\redoreadfile\readfilename{#2}{#3}}% @@ -184,13 +194,15 @@ \the\everybeforereadfile \ifcase\preprocessstate % no checking or not found when using method 1 - \normalinput\readfilename + \def\dodoreadfileindeed{\inputgivenfile\readfilename}% \or % found when using method 1 or 2 - \normalinput\readfilename\preprocesssuffix + \def\dodoreadfileindeed{\inputgivenfile{\readfilename\preprocesssuffix}}% \or % not found when using method 2 + \let\dodoreadfileindeed\relax \fi + \dodoreadfileindeed \relax \the\everyafterreadfile} |