[latex3-commits] [git/LaTeX3-latex3-latex3] master: Correct handling of extensionless-files (74a590997)
Joseph Wright
joseph.wright at morningstar2.co.uk
Thu Oct 10 14:28:10 CEST 2019
Repository : https://github.com/latex3/latex3
On branch : master
Link : https://github.com/latex3/latex3/commit/74a5909972a7585fac9ed9691f92baee41ad3229
>---------------------------------------------------------------
commit 74a5909972a7585fac9ed9691f92baee41ad3229
Author: Joseph Wright <joseph.wright at morningstar2.co.uk>
Date: Thu Oct 10 13:28:10 2019 +0100
Correct handling of extensionless-files
>---------------------------------------------------------------
74a5909972a7585fac9ed9691f92baee41ad3229
l3kernel/CHANGELOG.md | 4 ++++
l3kernel/l3expan.dtx | 4 +++-
l3kernel/l3file.dtx | 20 +++++++++++++++++++-
l3kernel/testfiles/m3file001.luatex.tlg | 3 +++
l3kernel/testfiles/m3file001.lvt | 8 +++++++-
l3kernel/testfiles/m3file001.ptex.tlg | 3 +++
l3kernel/testfiles/m3file001.tlg | 3 +++
l3kernel/testfiles/m3file001.uptex.tlg | 3 +++
l3kernel/testfiles/m3file001.xetex.tlg | 3 +++
.../testfiles/{filetest.txt => support/filetest} | 0
.../{filetest.txt => support/filetest-noname} | 0
.../testfiles/{filetest.txt => support/filetest-tex} | 0
.../{filetest.txt => support/filetest-tex.tex} | 0
13 files changed, 48 insertions(+), 3 deletions(-)
diff --git a/l3kernel/CHANGELOG.md b/l3kernel/CHANGELOG.md
index ba109925d..88d2e1805 100644
--- a/l3kernel/CHANGELOG.md
+++ b/l3kernel/CHANGELOG.md
@@ -13,6 +13,10 @@ this project uses date-based 'snapshot' version identifiers.
to stable
- Accept 'traditional' class options for backend (`dvipdfmx`, `dvips`, etc.)
+### Fixed
+
+- Handling of files with no extension
+
## [2019-10-02]
### Fixed
diff --git a/l3kernel/l3expan.dtx b/l3kernel/l3expan.dtx
index 68b09cf9f..f636c5c31 100644
--- a/l3kernel/l3expan.dtx
+++ b/l3kernel/l3expan.dtx
@@ -467,6 +467,7 @@
% \exp_args:NVo,
% \exp_args:Nfo,
% \exp_args:Nff,
+% \exp_args:Nee,
% }
% \begin{syntax}
% \cs{exp_args:Noo} \meta{token} \Arg{tokens_1} \Arg{tokens_2}
@@ -2793,7 +2794,7 @@
% {
% \exp_args:Nnc, \exp_args:Nno, \exp_args:NnV, \exp_args:Nnv, \exp_args:Nne, \exp_args:Nnf,
% \exp_args:Noc, \exp_args:Noo, \exp_args:Nof,
-% \exp_args:NVo, \exp_args:Nfo, \exp_args:Nff,
+% \exp_args:NVo, \exp_args:Nfo, \exp_args:Nff, \exp_args:Nee
% }
% \begin{macro}
% {
@@ -2823,6 +2824,7 @@
\@@_tmp:w { Vo }
\@@_tmp:w { fo }
\@@_tmp:w { ff }
+\@@_tmp:w { ee }
\@@_tmp:w { Nx }
\@@_tmp:w { cx }
\@@_tmp:w { nx }
diff --git a/l3kernel/l3file.dtx b/l3kernel/l3file.dtx
index 153951ee7..72fec7dca 100644
--- a/l3kernel/l3file.dtx
+++ b/l3kernel/l3file.dtx
@@ -2642,8 +2642,26 @@
\cs_new:Npx \@@_file_ext_check_auxiii:nw #1#2 . #3 . #4 \q_stop
{
\exp_not:N \quark_if_nil:nTF {#3}
- { \exp_not:N \__kernel_file_name_quote:n { #1 \tl_to_str:n { .tex } } }
+ {
+ \exp_not:N \exp_args:Nee \exp_not:N \@@_file_ext_check_auxiv:nn
+ { \exp_not:N \__kernel_file_name_quote:n {#1} }
+ {
+ \exp_not:N \__kernel_file_name_quote:n
+ { #1 \tl_to_str:n { .tex } }
+ }
+ }
+ {#1}
+ }
+\cs_new:Npn \@@_file_ext_check_auxiv:nn #1#2
+ {
+ \tl_if_blank:eTF { \@@_file_size:n {#2} }
{#1}
+ {
+ \int_compare:nNnTF
+ { \@@_file_size:n {#1} } = { \@@_file_size:n {#2} }
+ {#2}
+ {#1}
+ }
}
% \end{macrocode}
% Deal with the fact that the primitive might not be available.
diff --git a/l3kernel/testfiles/m3file001.luatex.tlg b/l3kernel/testfiles/m3file001.luatex.tlg
index e1bcf94ce..36c642479 100644
--- a/l3kernel/testfiles/m3file001.luatex.tlg
+++ b/l3kernel/testfiles/m3file001.luatex.tlg
@@ -25,6 +25,9 @@ TEST 3: Getting the full name of files
> \l_A_tl=filetest.txt.
> \l_A_tl=filetest.txt.
> \l_A_tl=\q_no_value .
+> \l_A_tl=filetest.
+> \l_A_tl=filetest-noname.
+> \l_A_tl=filetest-tex.tex.
============================================================
============================================================
TEST 4: Loading a file
diff --git a/l3kernel/testfiles/m3file001.lvt b/l3kernel/testfiles/m3file001.lvt
index 170aea9ea..420ce8b65 100644
--- a/l3kernel/testfiles/m3file001.lvt
+++ b/l3kernel/testfiles/m3file001.lvt
@@ -1,5 +1,5 @@
%
-% Copyright (C) 2009-2012,2015,2017,2018 The LaTeX3 Project
+% Copyright (C) 2009-2012,2015,2017-2019 The LaTeX3 Project
%
\documentclass{minimal}
@@ -62,6 +62,12 @@
\tl_log:N \l_A_tl
\file_get_full_name:nN { NotAFile.xxx.yyy.zzz } \l_A_tl
\tl_log:N \l_A_tl
+ \file_get_full_name:nN { filetest } \l_A_tl
+ \tl_log:N \l_A_tl
+ \file_get_full_name:nN { filetest-noname } \l_A_tl
+ \tl_log:N \l_A_tl
+ \file_get_full_name:nN { filetest-tex } \l_A_tl
+ \tl_log:N \l_A_tl
}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
diff --git a/l3kernel/testfiles/m3file001.ptex.tlg b/l3kernel/testfiles/m3file001.ptex.tlg
index c162feba5..9f7712832 100644
--- a/l3kernel/testfiles/m3file001.ptex.tlg
+++ b/l3kernel/testfiles/m3file001.ptex.tlg
@@ -25,6 +25,9 @@ TEST 3: Getting the full name of files
> \l_A_tl=filetest.txt.
> \l_A_tl=filetest.txt.
> \l_A_tl=\q_no_value .
+> \l_A_tl=filetest.
+> \l_A_tl=filetest-noname.
+> \l_A_tl=filetest-tex.tex.
============================================================
============================================================
TEST 4: Loading a file
diff --git a/l3kernel/testfiles/m3file001.tlg b/l3kernel/testfiles/m3file001.tlg
index 570a13d35..dfc6cf74e 100644
--- a/l3kernel/testfiles/m3file001.tlg
+++ b/l3kernel/testfiles/m3file001.tlg
@@ -25,6 +25,9 @@ TEST 3: Getting the full name of files
> \l_A_tl=filetest.txt.
> \l_A_tl=filetest.txt.
> \l_A_tl=\q_no_value .
+> \l_A_tl=filetest.
+> \l_A_tl=filetest-noname.
+> \l_A_tl=filetest-tex.tex.
============================================================
============================================================
TEST 4: Loading a file
diff --git a/l3kernel/testfiles/m3file001.uptex.tlg b/l3kernel/testfiles/m3file001.uptex.tlg
index d9a5a78cb..91c722f18 100644
--- a/l3kernel/testfiles/m3file001.uptex.tlg
+++ b/l3kernel/testfiles/m3file001.uptex.tlg
@@ -25,6 +25,9 @@ TEST 3: Getting the full name of files
> \l_A_tl=filetest.txt.
> \l_A_tl=filetest.txt.
> \l_A_tl=\q_no_value .
+> \l_A_tl=filetest.
+> \l_A_tl=filetest-noname.
+> \l_A_tl=filetest-tex.tex.
============================================================
============================================================
TEST 4: Loading a file
diff --git a/l3kernel/testfiles/m3file001.xetex.tlg b/l3kernel/testfiles/m3file001.xetex.tlg
index 50c7c67ea..4d007d1e9 100644
--- a/l3kernel/testfiles/m3file001.xetex.tlg
+++ b/l3kernel/testfiles/m3file001.xetex.tlg
@@ -25,6 +25,9 @@ TEST 3: Getting the full name of files
> \l_A_tl=filetest.txt.
> \l_A_tl=filetest.txt.
> \l_A_tl=\q_no_value .
+> \l_A_tl=filetest.
+> \l_A_tl=filetest-noname.
+> \l_A_tl=filetest-tex.tex.
============================================================
============================================================
TEST 4: Loading a file
diff --git a/l3kernel/testfiles/filetest.txt b/l3kernel/testfiles/support/filetest
similarity index 100%
copy from l3kernel/testfiles/filetest.txt
copy to l3kernel/testfiles/support/filetest
diff --git a/l3kernel/testfiles/filetest.txt b/l3kernel/testfiles/support/filetest-noname
similarity index 100%
copy from l3kernel/testfiles/filetest.txt
copy to l3kernel/testfiles/support/filetest-noname
diff --git a/l3kernel/testfiles/filetest.txt b/l3kernel/testfiles/support/filetest-tex
similarity index 100%
copy from l3kernel/testfiles/filetest.txt
copy to l3kernel/testfiles/support/filetest-tex
diff --git a/l3kernel/testfiles/filetest.txt b/l3kernel/testfiles/support/filetest-tex.tex
similarity index 100%
copy from l3kernel/testfiles/filetest.txt
copy to l3kernel/testfiles/support/filetest-tex.tex
More information about the latex3-commits
mailing list