summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Master/texmf-dist/tex/context/third/filter/t-filter.mkii27
-rw-r--r--Master/texmf-dist/tex/context/third/filter/t-filter.mkiv25
2 files changed, 31 insertions, 21 deletions
diff --git a/Master/texmf-dist/tex/context/third/filter/t-filter.mkii b/Master/texmf-dist/tex/context/third/filter/t-filter.mkii
index 699acbe3d2e..3bcb6c3095c 100644
--- a/Master/texmf-dist/tex/context/third/filter/t-filter.mkii
+++ b/Master/texmf-dist/tex/context/third/filter/t-filter.mkii
@@ -1,6 +1,6 @@
%D \module
%D [ file=t-filter,
-%D version=2012.05.01,
+%D version=2012.05.16,
%D title=\CONTEXT\ User Module,
%D subtitle=Filter,
%D author=Aditya Mahajan,
@@ -9,7 +9,7 @@
%D email=adityam <at> ieee <dot> org,
%D license=Simplified BSD License]
-\writestatus{loading}{Filter (ver: 2012.05.01)}
+\writestatus{loading}{Filter (ver: 2012.05.16)}
\ifx\undefined\normalexpanded \let\normalexpanded\expanded \fi
@@ -70,12 +70,13 @@
\def\m!externalfilter{t-filter}
-\setinterfacemessage\m!externalfilter{title} {\m!externalfilter}
-\setinterfacemessage\m!externalfilter{notfound} {file -- cannot be found}
-\setinterfacemessage\m!externalfilter{missing} {output file missing}
-\setinterfacemessage\m!externalfilter{forbidden} {Fatal Error: Cannot use absolute path -- as directory}
-\setinterfacemessage\m!externalfilter{slash} {Appending / to directory -- }
-\setinterfacemessage\m!externalfilter{reuse} {\c!state=\v!stop : Not running filter on file --}
+\setinterfacemessage\m!externalfilter{title} {\m!externalfilter}
+\setinterfacemessage\m!externalfilter{notfound} {file -- cannot be found}
+\setinterfacemessage\m!externalfilter{missing} {output file missing}
+\setinterfacemessage\m!externalfilter{missing_cache} {cached output file -- missing. Rerunning filter}
+\setinterfacemessage\m!externalfilter{forbidden} {Fatal Error: Cannot use absolute path -- as directory}
+\setinterfacemessage\m!externalfilter{slash} {Appending / to directory -- }
+\setinterfacemessage\m!externalfilter{reuse} {\c!state=\v!stop : Not running filter on file --}
%D \subject {Tracing Macros}
@@ -378,9 +379,13 @@
{\doifelse{\externalfilterparameter\c!state}\v!stop
{\showmessage\m!externalfilter{reuse}\externalfilter@input_file}
{\doifmode{*first}
- {\executesystemcommand
- {mtxrun --ifchanged=\externalfilter@input_file\space
- --direct \externalfilterparameter\c!filtercommand}}}}
+ {\doiffileelse{\externalfilter@output_file}
+ {\executesystemcommand
+ {mtxrun --ifchanged=\externalfilter@input_file\space
+ --direct \externalfilterparameter\c!filtercommand}}}
+ {\showmessage\m!externalfilter{missing_cache}\externalfilter@output_file
+ \executesystemcommand
+ {mtxrun --direct \externalfilterparameter\c!filtercommand}}}}
{\doifelse{\externalfilterparameter\c!cache}\v!force
{\doifmode{*first}
{\executesystemcommand
diff --git a/Master/texmf-dist/tex/context/third/filter/t-filter.mkiv b/Master/texmf-dist/tex/context/third/filter/t-filter.mkiv
index 8c3bd732492..3df7890d347 100644
--- a/Master/texmf-dist/tex/context/third/filter/t-filter.mkiv
+++ b/Master/texmf-dist/tex/context/third/filter/t-filter.mkiv
@@ -1,6 +1,6 @@
%D \module
%D [ file=t-filter,
-%D version=2012.05.06,
+%D version=2012.05.16,
%D title=\CONTEXT\ User Module,
%D subtitle=Filter,
%D author=Aditya Mahajan,
@@ -9,7 +9,7 @@
%D email=adityam <at> ieee <dot> org,
%D license=Simplified BSD License]
-\writestatus{loading}{Filter (ver: 2012.05.06)}
+\writestatus{loading}{Filter (ver: 2012.05.16)}
% For backward compatibility
\ifx\grabbufferdata\undefined \let\grabbufferdata \dostartbuffer \fi
@@ -73,12 +73,13 @@
\def\m!externalfilter{t-filter}
-\setinterfacemessage\m!externalfilter{title} {\m!externalfilter}
-\setinterfacemessage\m!externalfilter{notfound} {file -- cannot be found}
-\setinterfacemessage\m!externalfilter{missing} {output file missing}
-\setinterfacemessage\m!externalfilter{forbidden} {Fatal Error: Cannot use absolute path -- as directory}
-\setinterfacemessage\m!externalfilter{slash} {Appending / to directory -- }
-\setinterfacemessage\m!externalfilter{reuse} {\c!state=\v!stop : Not running filter on file --}
+\setinterfacemessage\m!externalfilter{title} {\m!externalfilter}
+\setinterfacemessage\m!externalfilter{notfound} {file -- cannot be found}
+\setinterfacemessage\m!externalfilter{missing} {output file missing}
+\setinterfacemessage\m!externalfilter{missing_cache} {cached output file -- missing. Rerunning filter}
+\setinterfacemessage\m!externalfilter{forbidden} {Fatal Error: Cannot use absolute path -- as directory}
+\setinterfacemessage\m!externalfilter{slash} {Appending / to directory -- }
+\setinterfacemessage\m!externalfilter{reuse} {\c!state=\v!stop : Not running filter on file --}
%D \subject {Tracing Macros}
@@ -396,8 +397,12 @@
\doifelse{\externalfilterparameter\c!cache}\v!yes
{\doifelse{\externalfilterparameter\c!state}\v!stop
{\showmessage\m!externalfilter{reuse}\externalfilter@input_file}
- {\ctxlua{job.files.run(\!!bs\externalfilter@input_file\!!es,
- \!!bs\externalfilterparameter\c!filtercommand\!!es)}}}
+ {\doiffileelse{\externalfilter@output_file}
+ {\ctxlua{job.files.run(\!!bs\externalfilter@input_file\!!es,
+ \!!bs\externalfilterparameter\c!filtercommand\!!es)}}
+ {\showmessage\m!externalfilter{missing_cache}\externalfilter@output_file
+ \executesystemcommand
+ {\externalfilterparameter\c!filtercommand}}}}
{\executesystemcommand
{\externalfilterparameter\c!filtercommand}}
\stoptexdefinition