summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/lualatex/piton/piton.sty
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/tex/lualatex/piton/piton.sty')
-rw-r--r--Master/texmf-dist/tex/lualatex/piton/piton.sty42
1 files changed, 30 insertions, 12 deletions
diff --git a/Master/texmf-dist/tex/lualatex/piton/piton.sty b/Master/texmf-dist/tex/lualatex/piton/piton.sty
index 28a9c2148a9..a6e37299a30 100644
--- a/Master/texmf-dist/tex/lualatex/piton/piton.sty
+++ b/Master/texmf-dist/tex/lualatex/piton/piton.sty
@@ -19,8 +19,8 @@
%% LaTeX version 2005/12/01 or later.
%% -------------------------------------------
%%
-\def\PitonFileVersion{2.7a}
-\def\PitonFileDate{2024/03/30}
+\def\PitonFileVersion{2.8}
+\def\PitonFileDate{2024/04/14}
\NeedsTeXFormat{LaTeX2e}
@@ -171,7 +171,7 @@
\str_new:N \l_piton_language_str
\str_set:Nn \l_piton_language_str { python }
\tl_new:N \g_piton_last_code_tl
-\str_new:N \l__piton_path_str
+\seq_new:N \l__piton_path_seq
\str_new:N \l__piton_path_write_str
\bool_new:N \l__piton_in_PitonOptions_bool
\bool_new:N \l__piton_in_PitonInputFile_bool
@@ -537,8 +537,15 @@
language .code:n =
\str_set:Nx \l_piton_language_str { \str_lowercase:n { #1 } } ,
language .value_required:n = true ,
- path .str_set:N = \l__piton_path_str ,
+ path .code:n =
+ \seq_clear:N \l__piton_path_seq
+ \clist_map_inline:nn { #1 }
+ {
+ \str_set:Nn \l_tmpa_str { ##1 }
+ \seq_put_right:No \l__piton_path_seq \l_tmpa_str
+ } ,
path .value_required:n = true ,
+ path .initial:n = . ,
path-write .str_set:N = \l__piton_path_write_str ,
path-write .value_required:n = true ,
gobble .int_set:N = \l__piton_gobble_int ,
@@ -994,20 +1001,31 @@
{ \keys_set:nn { PitonOptions } { #1 } }
{ }
}
-\NewDocumentCommand { \PitonInputFile } { d < > O { } m }
+\NewDocumentCommand { \PitonInputFileTF } { d < > O { } m m m }
{
\group_begin:
- \tl_if_empty:NTF \l__piton_path_str
- { \str_set:Nn \l__piton_file_name_str { #3 } }
+ \bool_set_false:N \l_tmpa_bool
+ \seq_map_inline:Nn \l__piton_path_seq
{
- \str_set_eq:NN \l__piton_file_name_str \l__piton_path_str
- \str_put_right:Nn \l__piton_file_name_str { / #3 }
+ \str_set:Nn \l__piton_file_name_str { ##1 / #3 }
+ \file_if_exist:nT { \l__piton_file_name_str }
+ {
+ \__piton_input_file:nn { #1 } { #2 }
+ \bool_set_true:N \l_tmpa_bool
+ \seq_map_break:
+ }
}
- \file_if_exist:nTF { \l__piton_file_name_str }
- { \__piton_input_file:nn { #1 } { #2 } }
- { \msg_error:nnn { piton } { Unknown~file } { #3 } }
+ \bool_if:NTF \l_tmpa_bool { #4 } { #5 }
\group_end:
}
+\cs_new_protected:Npn \__piton_unknown_file:n #1
+ { \msg_error:nnn { piton } { Unknown~file } { #1 } }
+\NewDocumentCommand { \PitonInputFile } { d < > O { } m }
+ { \PitonInputFileTF < #1 > [ #2 ] { #3 } { } { \__piton_unknown_file:n { #3 } } }
+\NewDocumentCommand { \PitonInputFileT } { d < > O { } m m }
+ { \PitonInputFileTF < #1 > [ #2 ] { #3 } { #4 } { \__piton_unknown_file:n { #3 } } }
+\NewDocumentCommand { \PitonInputFileF } { d < > O { } m m }
+ { \PitonInputFileTF < #1 > [ #2 ] { #3 } { } { #4 } }
\cs_new_protected:Npn \__piton_input_file:nn #1 #2
{
\tl_if_novalue:nF { #1 }