[latex3-commits] [l3svn] branch master updated: Track current file dir/name/ext (fixes #345)

noreply at latex-project.org noreply at latex-project.org
Wed Jun 21 10:45:41 CEST 2017


This is an automated email from the git hooks/post-receive script.

joseph pushed a commit to branch master
in repository l3svn.

The following commit(s) were added to refs/heads/master by this push:
       new  3fd3cf1   Track current file dir/name/ext (fixes #345)
3fd3cf1 is described below

commit 3fd3cf1ad13c06e4708358c3ec4968d9bf4e4d22
Author: Joseph Wright <joseph.wright at morningstar2.co.uk>
Date:   Wed Jun 21 09:44:22 2017 +0100

    Track current file dir/name/ext (fixes #345)
    
    This should give reasonable information in many cases.
    
    Still need to tidy up e.g. top level and \jobname limitations, etc.
    
    Probably in package mode should also pick up and work with currfile.
---
 l3kernel/expl3.dtx                      |    5 +-
 l3kernel/l3file.dtx                     |  130 +++++++++++++++++++++----------
 l3kernel/testfiles/m3expl001.luatex.tlg |   10 ++-
 l3kernel/testfiles/m3expl001.ptex.tlg   |   10 ++-
 l3kernel/testfiles/m3expl001.tlg        |   10 ++-
 l3kernel/testfiles/m3expl001.uptex.tlg  |   10 ++-
 l3kernel/testfiles/m3expl001.xetex.tlg  |   10 ++-
 l3kernel/testfiles/m3expl003.luatex.tlg |   10 ++-
 l3kernel/testfiles/m3expl003.ptex.tlg   |   10 ++-
 l3kernel/testfiles/m3expl003.tlg        |   10 ++-
 l3kernel/testfiles/m3expl003.uptex.tlg  |   10 ++-
 l3kernel/testfiles/m3expl003.xetex.tlg  |   10 ++-
 12 files changed, 183 insertions(+), 52 deletions(-)

diff --git a/l3kernel/expl3.dtx b/l3kernel/expl3.dtx
index 1ddfd63..5867249 100644
--- a/l3kernel/expl3.dtx
+++ b/l3kernel/expl3.dtx
@@ -1509,7 +1509,7 @@
 %    \begin{macrocode}
 \tl_put_left:Nn \@pushfilename
   {
-    \seq_gpush:Nx \g__file_stack_seq { \tl_to_str:N \@currname }
+    \exp_args:Nx \__file_input_push:n { \tl_to_str:N \@currname }
     \tl_put_left:Nx \l__expl_status_stack_tl
       {
         \bool_if:NTF \l__kernel_expl_bool
@@ -1530,8 +1530,7 @@
   }
 \tl_put_right:Nn \@popfilename
   {
-    \seq_gpop:NN \g__file_stack_seq \l__file_tmp_tl
-    \str_gset_eq:NN \g_file_current_name_str \l__file_tmp_tl
+    \__file_input_pop:
     \tl_if_empty:NTF \l__expl_status_stack_tl
       { \ExplSyntaxOff }
       { \exp_after:wN \__expl_status_pop:w \l__expl_status_stack_tl \q_stop }
diff --git a/l3kernel/l3file.dtx b/l3kernel/l3file.dtx
index 24cb485..51995d3 100644
--- a/l3kernel/l3file.dtx
+++ b/l3kernel/l3file.dtx
@@ -68,12 +68,19 @@
 %
 % \section{File operation functions}
 %
-% \begin{variable}[added = 2017-06-18]{\g_file_current_name_str}
-%   Contains the name of the current \LaTeX{} file. This variable
-%   should not be modified: it is intended for information only. It
-%   will be equal to \cs{c_sys_jobname_str} at the start of a \LaTeX{}
-%   run and will be modified each time a file is read using
-%   \cs{file_input:n}.
+% \begin{variable}[added = 2017-06-21]
+%   {
+%     \g_file_current_dir_str,
+%     \g_file_current_name_str,
+%     \g_file_current_ext_str
+%   }
+%   Contain the directory, name and extension of the current file. The
+%   directory will be empty if the file was loaded without an explicit
+%   path (\emph{i.e.}~if it is in the \TeX{} search path), and will
+%   \emph{not} end in |/| other than the case that it is exactly equal
+%   to the root directory. The \meta{name} and \meta{ext} parts together
+%   make up the file name, thus the \meta{name} part mahy be thought of
+%   as the \enquote{job name} for the current file.
 % \end{variable}
 %
 % \begin{variable}[added = 2017-06-18]{\l_file_search_path_seq}
@@ -608,16 +615,10 @@
 %   Used to test for the existence of files when opening.
 % \end{variable}
 %
-% \begin{variable}{\l__file_name_str, \l__file_path_str}
-%   Used to store and transfer the file name and (partial) file path
-%   whilst reading files.
-% \end{variable}
-%
-% \begin{variable}{\l__file_internal_name_tl}
-%   Used to return the full name of a file for internal use. This is
-%   set by \cs{file_if_exist:nTF} and \cs{__file_if_exist:nT}, and
-%   the value may then be used to load a file directly provided no
-%   further operations intervene.
+% \begin{variable}{\l__file_basename_str, \l__file_path_str}
+%   Used to store and transfer the file name (including extension)
+%   and (partial) file path whilst reading files. (The file base is the
+%   basename plus any preceeding directory name.)
 % \end{variable}
 %
 % \begin{function}[added = 2017-06-19]{\__file_name_sanitize:nN}
@@ -687,12 +688,19 @@
 %
 % \subsection{File operations}
 %
-% \begin{variable}{\g_file_current_name_str}
+% \begin{variable}
+%   {
+%     \g_file_current_dir_str ,
+%     \g_file_current_ext_str ,
+%     \g_file_current_name_str
+%   }
 %   The name of the current file should be available at all times.
 %   For the format the file name needs to be picked up at the start of the
 %   file. In \LaTeXe{} package mode the current file name is collected from
 %   \tn{@currname}.
 %    \begin{macrocode}
+\str_new:N \g_file_current_dir_str
+\str_new:N \g_file_current_ext_str
 \str_new:N \g_file_current_name_str
 %<*initex>
 \tex_everyjob:D \exp_after:wN
@@ -712,7 +720,8 @@
 %   The input list of files is stored as a sequence stack. In package
 %   mode we can recover the information from the details held by
 %   \LaTeXe{} (we must be in the preamble and loaded using \tn{usepackage}
-%   or \tn{RequirePackage}).
+%   or \tn{RequirePackage}). As \LaTeXe{} doesn't store directory and
+%   name separately, we stick to the same convention here.
 %    \begin{macrocode}
 \seq_new:N \g_@@_stack_seq
 %<*package>
@@ -721,7 +730,7 @@
     {
       \tl_if_blank:nTF {#1}
         {
-          \cs_set:Npn \@@_tmp:w ##1 " ##2 " ##3 \q_stop { ##2 }
+          \cs_set:Npn \@@_tmp:w ##1 " ##2 " ##3 \q_stop { { } {##2} {  } }
           \seq_gput_right:Nx \g_@@_stack_seq
             {
               \exp_after:wN \exp_after:wN \exp_after:wN
@@ -732,7 +741,7 @@
             }
         }
         {
-          \seq_gput_right:Nn \g_@@_stack_seq {#1}
+          \seq_gput_right:Nn \g_@@_stack_seq { { } {#1} {#2} }
           \@@_tmp:w
         }
     }
@@ -768,14 +777,24 @@
 %    \end{macrocode}
 % \end{variable}
 %
-% \begin{variable}{\l__file_name_str, \l__file_path_str}
-%   For storing the name and full path whilst passing data internally.
+% \begin{variable}{\l__file_basename_str, \l__file_path_str}
+%   For storing the basename and full path whilst passing data internally.
 %    \begin{macrocode}
-\str_new:N \l__file_name_str
+\str_new:N \l__file_basename_str
 \str_new:N \l__file_path_str
 %    \end{macrocode}
 % \end{variable}
 %
+% \begin{variable}{\l_@@_dir_str, \l_@@_ext_str, \l_@@_name_str}
+%   Used in parsing a path into parts: in contrast to the above, these are
+%   never used outside of the current module.
+%    \begin{macrocode}
+\str_new:N \l_@@_dir_str
+\str_new:N \l_@@_ext_str
+\str_new:N \l_@@_name_str
+%    \end{macrocode}
+% \end{variable}
+%
 % \begin{variable}{\l_file_search_path_seq}
 %   The current search path.
 %    \begin{macrocode}
@@ -866,8 +885,8 @@
 %    \begin{macrocode}
 \cs_new_protected:Npn \file_find:nN #1#2
   {
-    \__file_name_sanitize:nN {#1} \l__file_name_str
-    \__file_name_quote:VN \l__file_name_str \l__file_path_str
+    \__file_name_sanitize:nN {#1} \l__file_basename_str
+    \__file_name_quote:VN \l__file_basename_str \l__file_path_str
     \__ior_open:No \g_@@_internal_ior \l__file_path_str
     \ior_if_eof:NTF \g_@@_internal_ior
       { \@@_find_search:N #2 }
@@ -891,7 +910,7 @@
     \seq_map_inline:Nn \l_file_search_path_seq
       {
         \str_set:Nx \l__file_path_str
-          { \tl_to_str:n {##1} / \l__file_name_str }
+          { \tl_to_str:n {##1} / \l__file_basename_str }
         \__file_name_quote:VN \l__file_path_str \l__file_path_str
         \__ior_open:NV \g_@@_internal_ior \l__file_path_str
         \ior_if_eof:NF \g_@@_internal_ior
@@ -941,6 +960,9 @@
 % \begin{macro}[aux]{\@@_missing:n}
 % \begin{macro}[aux]{\@@_input:n, \@@_input:V}
 % \begin{macro}[aux]{\@@_input_aux:n, \@@_input_aux:o}
+% \begin{macro}[aux]{\@@_input_push:n}
+% \begin{macro}[aux]{\@@_input_pop:}
+% \begin{macro}[aux]{\@@_input_pop:nnn}
 %   Loading a file is done in a safe way, checking first that the file
 %   exists and loading only if it does.  Push the file name on the
 %   \cs{g_@@_stack_seq}, and add it to the file list, either
@@ -954,9 +976,9 @@
   }
 \cs_new_protected:Npn \@@_missing:n #1
   {
-    \__file_name_sanitize:nN {#1} \l__file_name_str
+    \__file_name_sanitize:nN {#1} \l__file_basename_str
     \__msg_kernel_error:nnx { kernel } { file-not-found }
-      { \l__file_name_str }
+      { \l__file_basename_str }
   }
 \cs_new_protected:Npn \@@_input:n #1
   {
@@ -975,14 +997,44 @@
       { \@addtofilelist {#1} }
       { \seq_gput_right:Nn \g_@@_record_seq {#1} }
 %</package>
-    \seq_gpush:No \g_@@_stack_seq \g_file_current_name_str
-    \tl_gset:Nn \g_file_current_name_str {#1}
+    \@@_input_push:n {#1}
     \tex_input:D #1 \c_space_tl
-    \seq_gpop:NN \g_@@_stack_seq \l_@@_tmp_tl
-    \tl_gset_eq:NN \g_file_current_name_str \l_@@_tmp_tl
+    \@@_input_pop:
   }
 \cs_generate_variant:Nn \@@_input_aux:n { o }
 %    \end{macrocode}
+%   Keeping a track of the file data is easy enough: we store the separated
+%   parts so we do not need to parse them twice.
+%    \begin{macrocode}
+\cs_new_protected:Npn \@@_input_push:n #1
+  {
+    \seq_gpush:Nx \g_@@_stack_seq
+      {
+        { \g_file_current_dir_str }
+        { \g_file_current_name_str }
+        { \g_file_current_ext_str }
+      }
+    \file_parse_path:nNNN {#1}
+      \l_@@_dir_str \l_@@_name_str \l_@@_ext_str
+    \str_gset_eq:NN \g_file_current_dir_str  \l_@@_dir_str
+    \str_gset_eq:NN \g_file_current_name_str \l_@@_name_str
+    \str_gset_eq:NN \g_file_current_ext_str  \l_@@_ext_str
+  }
+\cs_new_protected:Npn \@@_input_pop:
+  {
+    \seq_gpop:NN \g_@@_stack_seq \l_@@_tmp_tl
+    \exp_after:wN \@@_input_pop:nnn \l_@@_tmp_tl
+  }
+\cs_new_protected:Npn \@@_input_pop:nnn #1#2#3
+  {
+    \str_gset:Nn \g_file_current_dir_str  {#1}
+    \str_gset:Nn \g_file_current_name_str {#2}
+    \str_gset:Nn \g_file_current_ext_str  {#3}
+  }
+%    \end{macrocode}
+% \end{macro}
+% \end{macro}
+% \end{macro}
 % \end{macro}
 % \end{macro}
 % \end{macro}
@@ -1194,8 +1246,8 @@
     \file_find:nN {#2} \l__file_path_str
     \str_if_empty:NTF \l__file_path_str
       {
-        \__file_name_sanitize:nN {#2} \l__file_name_str
-        \__msg_kernel_error:nnx { kernel } { file-not-found } \l__file_name_str
+        \__file_name_sanitize:nN {#2} \l__file_basename_str
+        \__msg_kernel_error:nnx { kernel } { file-not-found } \l__file_basename_str
       }
       { \@@_open:No #1 \l__file_path_str }
   }
@@ -1209,7 +1261,7 @@
 %    \begin{macrocode}
 \prg_new_protected_conditional:Npnn \ior_open:Nn #1#2 { T , F , TF }
   {
-    \file_find:VN \l__file_name_str \l__file_path_str
+    \file_find:VN \l__file_basename_str \l__file_path_str
     \str_if_empty:NTF \l__file_path_str
       { \prg_return_false: }
       {
@@ -1551,10 +1603,10 @@
 %    \begin{macrocode}
 \cs_new_protected:Npn \iow_open:Nn #1#2
   {
-    \__file_name_sanitize:nN {#2} \l__file_name_str
+    \__file_name_sanitize:nN {#2} \l__file_basename_str
     \iow_close:N #1
     \seq_gpop:NNTF \g_@@_streams_seq \l_@@_stream_tl
-      { \@@_open_stream:NV #1 \l__file_name_str }
+      { \@@_open_stream:NV #1 \l__file_basename_str }
 %<*initex>
       { \__msg_kernel_fatal:nn { kernel } { output-streams-exhausted } }
 %</initex>
@@ -1562,7 +1614,7 @@
       {
         \@@_new:N #1
         \tl_set:Nx \l_@@_stream_tl { \int_eval:n {#1} }
-        \@@_open_stream:NV #1 \l__file_name_str 
+        \@@_open_stream:NV #1 \l__file_basename_str
       }
 %</package>
   }
@@ -1905,7 +1957,7 @@
 %   done, reset \cs{iow_indent:n} to its error definition: it only works
 %   in the first argument of \cs{iow_wrap:nnnN}.
 %    \begin{macrocode}
-%<*initex> 
+%<*initex>
       \tl_set:Nx \l_@@_wrap_tl {#1}
 %</initex>
 %<*package>
diff --git a/l3kernel/testfiles/m3expl001.luatex.tlg b/l3kernel/testfiles/m3expl001.luatex.tlg
index 3a73b88..8f2fd53 100644
--- a/l3kernel/testfiles/m3expl001.luatex.tlg
+++ b/l3kernel/testfiles/m3expl001.luatex.tlg
@@ -2836,12 +2836,17 @@ Defining \__msg_show_wrap_aux:w on line ...
 Defining \__msg_show_item:n on line ...
 Defining \__msg_show_item:nn on line ...
 Defining \__msg_show_item_unbraced:nn on line ...
+Defining \g_file_current_dir_str on line ...
+Defining \g_file_current_ext_str on line ...
 Defining \g_file_current_name_str on line ...
 Defining \g__file_stack_seq on line ...
 Defining \g__file_record_seq on line ...
 Defining \l__file_tmp_tl on line ...
-Defining \l__file_name_str on line ...
+Defining \l__file_basename_str on line ...
 Defining \l__file_path_str on line ...
+Defining \l__file_dir_str on line ...
+Defining \l__file_ext_str on line ...
+Defining \l__file_name_str on line ...
 Defining \l_file_search_path_seq on line ...
 Defining \l__file_saved_search_path_seq on line ...
 Defining \l__file_tmp_seq on line ...
@@ -2864,6 +2869,9 @@ Defining \__file_input:n on line ...
 Defining \__file_input:V on line ...
 Defining \__file_input_aux:n on line ...
 Defining \__file_input_aux:o on line ...
+Defining \__file_input_push:n on line ...
+Defining \__file_input_pop: on line ...
+Defining \__file_input_pop:nnn on line ...
 Defining \file_parse_path:nNNN on line ...
 Defining \__file_parse_path_auxi:w on line ...
 Defining \__file_parse_path_auxii:w on line ...
diff --git a/l3kernel/testfiles/m3expl001.ptex.tlg b/l3kernel/testfiles/m3expl001.ptex.tlg
index ca2b060..a469b30 100644
--- a/l3kernel/testfiles/m3expl001.ptex.tlg
+++ b/l3kernel/testfiles/m3expl001.ptex.tlg
@@ -2824,12 +2824,17 @@ Defining \__msg_show_wrap_aux:w on line ...
 Defining \__msg_show_item:n on line ...
 Defining \__msg_show_item:nn on line ...
 Defining \__msg_show_item_unbraced:nn on line ...
+Defining \g_file_current_dir_str on line ...
+Defining \g_file_current_ext_str on line ...
 Defining \g_file_current_name_str on line ...
 Defining \g__file_stack_seq on line ...
 Defining \g__file_record_seq on line ...
 Defining \l__file_tmp_tl on line ...
-Defining \l__file_name_str on line ...
+Defining \l__file_basename_str on line ...
 Defining \l__file_path_str on line ...
+Defining \l__file_dir_str on line ...
+Defining \l__file_ext_str on line ...
+Defining \l__file_name_str on line ...
 Defining \l_file_search_path_seq on line ...
 Defining \l__file_saved_search_path_seq on line ...
 Defining \l__file_tmp_seq on line ...
@@ -2852,6 +2857,9 @@ Defining \__file_input:n on line ...
 Defining \__file_input:V on line ...
 Defining \__file_input_aux:n on line ...
 Defining \__file_input_aux:o on line ...
+Defining \__file_input_push:n on line ...
+Defining \__file_input_pop: on line ...
+Defining \__file_input_pop:nnn on line ...
 Defining \file_parse_path:nNNN on line ...
 Defining \__file_parse_path_auxi:w on line ...
 Defining \__file_parse_path_auxii:w on line ...
diff --git a/l3kernel/testfiles/m3expl001.tlg b/l3kernel/testfiles/m3expl001.tlg
index 38884e9..7bd601e 100644
--- a/l3kernel/testfiles/m3expl001.tlg
+++ b/l3kernel/testfiles/m3expl001.tlg
@@ -2824,12 +2824,17 @@ Defining \__msg_show_wrap_aux:w on line ...
 Defining \__msg_show_item:n on line ...
 Defining \__msg_show_item:nn on line ...
 Defining \__msg_show_item_unbraced:nn on line ...
+Defining \g_file_current_dir_str on line ...
+Defining \g_file_current_ext_str on line ...
 Defining \g_file_current_name_str on line ...
 Defining \g__file_stack_seq on line ...
 Defining \g__file_record_seq on line ...
 Defining \l__file_tmp_tl on line ...
-Defining \l__file_name_str on line ...
+Defining \l__file_basename_str on line ...
 Defining \l__file_path_str on line ...
+Defining \l__file_dir_str on line ...
+Defining \l__file_ext_str on line ...
+Defining \l__file_name_str on line ...
 Defining \l_file_search_path_seq on line ...
 Defining \l__file_saved_search_path_seq on line ...
 Defining \l__file_tmp_seq on line ...
@@ -2852,6 +2857,9 @@ Defining \__file_input:n on line ...
 Defining \__file_input:V on line ...
 Defining \__file_input_aux:n on line ...
 Defining \__file_input_aux:o on line ...
+Defining \__file_input_push:n on line ...
+Defining \__file_input_pop: on line ...
+Defining \__file_input_pop:nnn on line ...
 Defining \file_parse_path:nNNN on line ...
 Defining \__file_parse_path_auxi:w on line ...
 Defining \__file_parse_path_auxii:w on line ...
diff --git a/l3kernel/testfiles/m3expl001.uptex.tlg b/l3kernel/testfiles/m3expl001.uptex.tlg
index e8c25a2..a86c59c 100644
--- a/l3kernel/testfiles/m3expl001.uptex.tlg
+++ b/l3kernel/testfiles/m3expl001.uptex.tlg
@@ -2824,12 +2824,17 @@ Defining \__msg_show_wrap_aux:w on line ...
 Defining \__msg_show_item:n on line ...
 Defining \__msg_show_item:nn on line ...
 Defining \__msg_show_item_unbraced:nn on line ...
+Defining \g_file_current_dir_str on line ...
+Defining \g_file_current_ext_str on line ...
 Defining \g_file_current_name_str on line ...
 Defining \g__file_stack_seq on line ...
 Defining \g__file_record_seq on line ...
 Defining \l__file_tmp_tl on line ...
-Defining \l__file_name_str on line ...
+Defining \l__file_basename_str on line ...
 Defining \l__file_path_str on line ...
+Defining \l__file_dir_str on line ...
+Defining \l__file_ext_str on line ...
+Defining \l__file_name_str on line ...
 Defining \l_file_search_path_seq on line ...
 Defining \l__file_saved_search_path_seq on line ...
 Defining \l__file_tmp_seq on line ...
@@ -2852,6 +2857,9 @@ Defining \__file_input:n on line ...
 Defining \__file_input:V on line ...
 Defining \__file_input_aux:n on line ...
 Defining \__file_input_aux:o on line ...
+Defining \__file_input_push:n on line ...
+Defining \__file_input_pop: on line ...
+Defining \__file_input_pop:nnn on line ...
 Defining \file_parse_path:nNNN on line ...
 Defining \__file_parse_path_auxi:w on line ...
 Defining \__file_parse_path_auxii:w on line ...
diff --git a/l3kernel/testfiles/m3expl001.xetex.tlg b/l3kernel/testfiles/m3expl001.xetex.tlg
index a1e4570..f614153 100644
--- a/l3kernel/testfiles/m3expl001.xetex.tlg
+++ b/l3kernel/testfiles/m3expl001.xetex.tlg
@@ -2834,12 +2834,17 @@ Defining \__msg_show_wrap_aux:w on line ...
 Defining \__msg_show_item:n on line ...
 Defining \__msg_show_item:nn on line ...
 Defining \__msg_show_item_unbraced:nn on line ...
+Defining \g_file_current_dir_str on line ...
+Defining \g_file_current_ext_str on line ...
 Defining \g_file_current_name_str on line ...
 Defining \g__file_stack_seq on line ...
 Defining \g__file_record_seq on line ...
 Defining \l__file_tmp_tl on line ...
-Defining \l__file_name_str on line ...
+Defining \l__file_basename_str on line ...
 Defining \l__file_path_str on line ...
+Defining \l__file_dir_str on line ...
+Defining \l__file_ext_str on line ...
+Defining \l__file_name_str on line ...
 Defining \l_file_search_path_seq on line ...
 Defining \l__file_saved_search_path_seq on line ...
 Defining \l__file_tmp_seq on line ...
@@ -2862,6 +2867,9 @@ Defining \__file_input:n on line ...
 Defining \__file_input:V on line ...
 Defining \__file_input_aux:n on line ...
 Defining \__file_input_aux:o on line ...
+Defining \__file_input_push:n on line ...
+Defining \__file_input_pop: on line ...
+Defining \__file_input_pop:nnn on line ...
 Defining \file_parse_path:nNNN on line ...
 Defining \__file_parse_path_auxi:w on line ...
 Defining \__file_parse_path_auxii:w on line ...
diff --git a/l3kernel/testfiles/m3expl003.luatex.tlg b/l3kernel/testfiles/m3expl003.luatex.tlg
index e9b96c3..8caa60f 100644
--- a/l3kernel/testfiles/m3expl003.luatex.tlg
+++ b/l3kernel/testfiles/m3expl003.luatex.tlg
@@ -2837,12 +2837,17 @@ Defining \__msg_show_wrap_aux:w on line ...
 Defining \__msg_show_item:n on line ...
 Defining \__msg_show_item:nn on line ...
 Defining \__msg_show_item_unbraced:nn on line ...
+Defining \g_file_current_dir_str on line ...
+Defining \g_file_current_ext_str on line ...
 Defining \g_file_current_name_str on line ...
 Defining \g__file_stack_seq on line ...
 Defining \g__file_record_seq on line ...
 Defining \l__file_tmp_tl on line ...
-Defining \l__file_name_str on line ...
+Defining \l__file_basename_str on line ...
 Defining \l__file_path_str on line ...
+Defining \l__file_dir_str on line ...
+Defining \l__file_ext_str on line ...
+Defining \l__file_name_str on line ...
 Defining \l_file_search_path_seq on line ...
 Defining \l__file_saved_search_path_seq on line ...
 Defining \l__file_tmp_seq on line ...
@@ -2865,6 +2870,9 @@ Defining \__file_input:n on line ...
 Defining \__file_input:V on line ...
 Defining \__file_input_aux:n on line ...
 Defining \__file_input_aux:o on line ...
+Defining \__file_input_push:n on line ...
+Defining \__file_input_pop: on line ...
+Defining \__file_input_pop:nnn on line ...
 Defining \file_parse_path:nNNN on line ...
 Defining \__file_parse_path_auxi:w on line ...
 Defining \__file_parse_path_auxii:w on line ...
diff --git a/l3kernel/testfiles/m3expl003.ptex.tlg b/l3kernel/testfiles/m3expl003.ptex.tlg
index 1066324..411107c 100644
--- a/l3kernel/testfiles/m3expl003.ptex.tlg
+++ b/l3kernel/testfiles/m3expl003.ptex.tlg
@@ -2825,12 +2825,17 @@ Defining \__msg_show_wrap_aux:w on line ...
 Defining \__msg_show_item:n on line ...
 Defining \__msg_show_item:nn on line ...
 Defining \__msg_show_item_unbraced:nn on line ...
+Defining \g_file_current_dir_str on line ...
+Defining \g_file_current_ext_str on line ...
 Defining \g_file_current_name_str on line ...
 Defining \g__file_stack_seq on line ...
 Defining \g__file_record_seq on line ...
 Defining \l__file_tmp_tl on line ...
-Defining \l__file_name_str on line ...
+Defining \l__file_basename_str on line ...
 Defining \l__file_path_str on line ...
+Defining \l__file_dir_str on line ...
+Defining \l__file_ext_str on line ...
+Defining \l__file_name_str on line ...
 Defining \l_file_search_path_seq on line ...
 Defining \l__file_saved_search_path_seq on line ...
 Defining \l__file_tmp_seq on line ...
@@ -2853,6 +2858,9 @@ Defining \__file_input:n on line ...
 Defining \__file_input:V on line ...
 Defining \__file_input_aux:n on line ...
 Defining \__file_input_aux:o on line ...
+Defining \__file_input_push:n on line ...
+Defining \__file_input_pop: on line ...
+Defining \__file_input_pop:nnn on line ...
 Defining \file_parse_path:nNNN on line ...
 Defining \__file_parse_path_auxi:w on line ...
 Defining \__file_parse_path_auxii:w on line ...
diff --git a/l3kernel/testfiles/m3expl003.tlg b/l3kernel/testfiles/m3expl003.tlg
index cfa2ef4..301537c 100644
--- a/l3kernel/testfiles/m3expl003.tlg
+++ b/l3kernel/testfiles/m3expl003.tlg
@@ -2825,12 +2825,17 @@ Defining \__msg_show_wrap_aux:w on line ...
 Defining \__msg_show_item:n on line ...
 Defining \__msg_show_item:nn on line ...
 Defining \__msg_show_item_unbraced:nn on line ...
+Defining \g_file_current_dir_str on line ...
+Defining \g_file_current_ext_str on line ...
 Defining \g_file_current_name_str on line ...
 Defining \g__file_stack_seq on line ...
 Defining \g__file_record_seq on line ...
 Defining \l__file_tmp_tl on line ...
-Defining \l__file_name_str on line ...
+Defining \l__file_basename_str on line ...
 Defining \l__file_path_str on line ...
+Defining \l__file_dir_str on line ...
+Defining \l__file_ext_str on line ...
+Defining \l__file_name_str on line ...
 Defining \l_file_search_path_seq on line ...
 Defining \l__file_saved_search_path_seq on line ...
 Defining \l__file_tmp_seq on line ...
@@ -2853,6 +2858,9 @@ Defining \__file_input:n on line ...
 Defining \__file_input:V on line ...
 Defining \__file_input_aux:n on line ...
 Defining \__file_input_aux:o on line ...
+Defining \__file_input_push:n on line ...
+Defining \__file_input_pop: on line ...
+Defining \__file_input_pop:nnn on line ...
 Defining \file_parse_path:nNNN on line ...
 Defining \__file_parse_path_auxi:w on line ...
 Defining \__file_parse_path_auxii:w on line ...
diff --git a/l3kernel/testfiles/m3expl003.uptex.tlg b/l3kernel/testfiles/m3expl003.uptex.tlg
index 15b6954..18a0553 100644
--- a/l3kernel/testfiles/m3expl003.uptex.tlg
+++ b/l3kernel/testfiles/m3expl003.uptex.tlg
@@ -2825,12 +2825,17 @@ Defining \__msg_show_wrap_aux:w on line ...
 Defining \__msg_show_item:n on line ...
 Defining \__msg_show_item:nn on line ...
 Defining \__msg_show_item_unbraced:nn on line ...
+Defining \g_file_current_dir_str on line ...
+Defining \g_file_current_ext_str on line ...
 Defining \g_file_current_name_str on line ...
 Defining \g__file_stack_seq on line ...
 Defining \g__file_record_seq on line ...
 Defining \l__file_tmp_tl on line ...
-Defining \l__file_name_str on line ...
+Defining \l__file_basename_str on line ...
 Defining \l__file_path_str on line ...
+Defining \l__file_dir_str on line ...
+Defining \l__file_ext_str on line ...
+Defining \l__file_name_str on line ...
 Defining \l_file_search_path_seq on line ...
 Defining \l__file_saved_search_path_seq on line ...
 Defining \l__file_tmp_seq on line ...
@@ -2853,6 +2858,9 @@ Defining \__file_input:n on line ...
 Defining \__file_input:V on line ...
 Defining \__file_input_aux:n on line ...
 Defining \__file_input_aux:o on line ...
+Defining \__file_input_push:n on line ...
+Defining \__file_input_pop: on line ...
+Defining \__file_input_pop:nnn on line ...
 Defining \file_parse_path:nNNN on line ...
 Defining \__file_parse_path_auxi:w on line ...
 Defining \__file_parse_path_auxii:w on line ...
diff --git a/l3kernel/testfiles/m3expl003.xetex.tlg b/l3kernel/testfiles/m3expl003.xetex.tlg
index a17d355..b3cda2f 100644
--- a/l3kernel/testfiles/m3expl003.xetex.tlg
+++ b/l3kernel/testfiles/m3expl003.xetex.tlg
@@ -2835,12 +2835,17 @@ Defining \__msg_show_wrap_aux:w on line ...
 Defining \__msg_show_item:n on line ...
 Defining \__msg_show_item:nn on line ...
 Defining \__msg_show_item_unbraced:nn on line ...
+Defining \g_file_current_dir_str on line ...
+Defining \g_file_current_ext_str on line ...
 Defining \g_file_current_name_str on line ...
 Defining \g__file_stack_seq on line ...
 Defining \g__file_record_seq on line ...
 Defining \l__file_tmp_tl on line ...
-Defining \l__file_name_str on line ...
+Defining \l__file_basename_str on line ...
 Defining \l__file_path_str on line ...
+Defining \l__file_dir_str on line ...
+Defining \l__file_ext_str on line ...
+Defining \l__file_name_str on line ...
 Defining \l_file_search_path_seq on line ...
 Defining \l__file_saved_search_path_seq on line ...
 Defining \l__file_tmp_seq on line ...
@@ -2863,6 +2868,9 @@ Defining \__file_input:n on line ...
 Defining \__file_input:V on line ...
 Defining \__file_input_aux:n on line ...
 Defining \__file_input_aux:o on line ...
+Defining \__file_input_push:n on line ...
+Defining \__file_input_pop: on line ...
+Defining \__file_input_pop:nnn on line ...
 Defining \file_parse_path:nNNN on line ...
 Defining \__file_parse_path_auxi:w on line ...
 Defining \__file_parse_path_auxii:w on line ...

-- 
To stop receiving notification emails like this one, please contact
the administrator of this repository.


More information about the latex3-commits mailing list