[latex3-commits] [latex3/latex3] main: Correct handling of "/" in \input at path (b337df398)

github at latex-project.org github at latex-project.org
Mon May 15 22:44:31 CEST 2023


Repository : https://github.com/latex3/latex3
On branch  : main
Link       : https://github.com/latex3/latex3/commit/b337df39876d0f0322d72c36f870f99f11b945b6

>---------------------------------------------------------------

commit b337df39876d0f0322d72c36f870f99f11b945b6
Author: Joseph Wright <joseph.wright at morningstar2.co.uk>
Date:   Mon May 15 21:44:31 2023 +0100

    Correct handling of "/" in \input at path
    
    Shows up in a 2e context, turns out the test here was wrong ...


>---------------------------------------------------------------

b337df39876d0f0322d72c36f870f99f11b945b6
 l3experimental/CHANGELOG.md      |  3 +++
 l3kernel/l3file.dtx              | 10 +++++-----
 l3kernel/testfiles/m3file001.lvt |  2 +-
 3 files changed, 9 insertions(+), 6 deletions(-)

diff --git a/l3experimental/CHANGELOG.md b/l3experimental/CHANGELOG.md
index 8622768af..91df2d150 100644
--- a/l3experimental/CHANGELOG.md
+++ b/l3experimental/CHANGELOG.md
@@ -11,6 +11,9 @@ this project uses date-based 'snapshot' version identifiers.
 - Require `\expanded` and 'pdfTeX extension' primitives,
   and thus TeX distributions from mid-2019 onward
 
+### Fixed
+- Treatment of trailing `/` in `\input at path`
+
 ## [2023-05-11]
 
 ### Changed
diff --git a/l3kernel/l3file.dtx b/l3kernel/l3file.dtx
index 61c30d041..b9284fb57 100644
--- a/l3kernel/l3file.dtx
+++ b/l3kernel/l3file.dtx
@@ -2817,7 +2817,7 @@
 %
 % \begin{macro}[EXP]{\file_full_name:n, \@@_full_name:n, \@@_full_name_aux:n}
 % \begin{macro}[EXP]{\@@_full_name_auxi:nn, \@@_full_name_auxii:nn}
-% \begin{macro}[EXP]{\@@_full_name_aux:Nnn}
+% \begin{macro}[EXP]{\@@_full_name_aux:Nnnn}
 % \begin{macro}[EXP]{\@@_full_name_aux:nN}
 % \begin{macro}[EXP]{\@@_full_name_aux:nnN}
 % \begin{macro}[EXP]{\@@_name_cleanup:w}
@@ -2887,11 +2887,11 @@
     \tl_if_blank:nTF {#2}
       {
         \seq_map_tokens:Nn \l_file_search_path_seq
-          { \@@_full_name_aux:Nnn \seq_map_break:n {#1} }
+          { \@@_full_name_aux:Nnnn \seq_map_break:n {#1} { / } }
         \cs_if_exist:NT \input at path
           {
             \tl_map_tokens:Nn \input at path
-              { \@@_full_name_aux:Nnn \tl_map_break:n {#1} }
+              { \@@_full_name_aux:Nnnn \tl_map_break:n {#1} { } }
           }
         \@@_name_end:
       }
@@ -2901,8 +2901,8 @@
 %   Two pars to the auxiliary here so we can avoid doing quoting
 %   twice in the event we find the right file.
 %    \begin{macrocode}
-\cs_new:Npn \@@_full_name_aux:Nnn #1#2#3
-  { \exp_args:Ne \@@_full_name_aux:nN { \tl_to_str:n {#3} / #2 } #1 }
+\cs_new:Npn \@@_full_name_aux:Nnnn #1#2#3#4
+  { \exp_args:Ne \@@_full_name_aux:nN { \tl_to_str:n {#4} #3 #2 } #1 }
 \cs_new:Npn \@@_full_name_aux:nN #1
   { \exp_args:Nne \@@_full_name_aux:nnN {#1} { \@@_full_name_aux:n {#1} } }
 \cs_new:Npn \@@_full_name_aux:nnN #1 #2 #3
diff --git a/l3kernel/testfiles/m3file001.lvt b/l3kernel/testfiles/m3file001.lvt
index f43893c8b..7f4b77eb8 100644
--- a/l3kernel/testfiles/m3file001.lvt
+++ b/l3kernel/testfiles/m3file001.lvt
@@ -63,7 +63,7 @@
       \TYPE { l3:~\file_full_name:n { infolder.txt } }
     \group_end:
     \group_begin:
-      \cs_set:cpn { input at path } { {./testpath} }
+      \cs_set:cpn { input at path } { { ./testpath/ } }
       \TYPE { 2e:~\file_full_name:n { infolder.txt } }
     \group_end:
   }





More information about the latex3-commits mailing list.