summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/context/base/core-ctx.tex
diff options
context:
space:
mode:
authorTaco Hoekwater <taco@elvenkind.com>2008-06-12 10:42:53 +0000
committerTaco Hoekwater <taco@elvenkind.com>2008-06-12 10:42:53 +0000
commit0d01365d53c456d246da0ca1f0b3cd9868f02b35 (patch)
tree01a655c8028e17cfb371456b299c1848fe08c05b /Master/texmf-dist/tex/context/base/core-ctx.tex
parent44f3714442da07fdfc36a7f2a8dcd5d4294c5d26 (diff)
ConTeXt release 2008.05.21
git-svn-id: svn://tug.org/texlive/trunk@8691 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/context/base/core-ctx.tex')
-rw-r--r--Master/texmf-dist/tex/context/base/core-ctx.tex22
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}