summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/latex/l3kernel
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2019-10-24 21:48:00 +0000
committerKarl Berry <karl@freefriends.org>2019-10-24 21:48:00 +0000
commita72677ceac3bac82e6a17901b433376a0d03c1db (patch)
tree25305a9d308bbccd28ca50ef28cb9f029cfe709c /Master/texmf-dist/tex/latex/l3kernel
parent5cd4c8b79f699fc468f015c16eed7a3fe971f499 (diff)
l3kernel (24oct19)
git-svn-id: svn://tug.org/texlive/trunk@52524 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/latex/l3kernel')
-rw-r--r--Master/texmf-dist/tex/latex/l3kernel/expl3-code.tex178
-rw-r--r--Master/texmf-dist/tex/latex/l3kernel/expl3-generic.tex2
-rw-r--r--Master/texmf-dist/tex/latex/l3kernel/expl3.ltx2
-rw-r--r--Master/texmf-dist/tex/latex/l3kernel/expl3.sty2
4 files changed, 88 insertions, 96 deletions
diff --git a/Master/texmf-dist/tex/latex/l3kernel/expl3-code.tex b/Master/texmf-dist/tex/latex/l3kernel/expl3-code.tex
index beba4ee3583..2ed1eb291df 100644
--- a/Master/texmf-dist/tex/latex/l3kernel/expl3-code.tex
+++ b/Master/texmf-dist/tex/latex/l3kernel/expl3-code.tex
@@ -65,7 +65,7 @@
%% and all files in that bundle must be distributed together.
%%
%% File: expl3.dtx
-\def\ExplFileDate{2019-10-21}%
+\def\ExplFileDate{2019-10-24}%
\begingroup
\def\next{\endgroup}%
\expandafter\ifx\csname PackageError\endcsname\relax
@@ -10392,7 +10392,7 @@
\tex_openin:D #1
\sys_if_engine_luatex:TF
{ {#2} }
- { #2 \scan_stop: }
+ { \exp_not:N \__kernel_file_name_quote:n {#2} \scan_stop: }
}
\cs_new_protected:Npn \ior_close:N #1
{
@@ -10567,10 +10567,7 @@
\cs_new_protected:Npn \iow_open:Nn #1#2
{
\tl_set:Nx \l__iow_file_name_tl
- {
- \__kernel_file_name_quote:e
- { \__kernel_file_name_sanitize:n {#2} }
- }
+ { \__kernel_file_name_sanitize:n {#2} }
\iow_close:N #1
\seq_gpop:NNTF \g__iow_streams_seq \l__iow_stream_tl
{ \__iow_open_stream:NV #1 \l__iow_file_name_tl }
@@ -10585,7 +10582,8 @@
{
\tex_global:D \tex_chardef:D #1 = \l__iow_stream_tl \scan_stop:
\prop_gput:NVn \g__iow_streams_prop #1 {#2}
- \tex_immediate:D \tex_openout:D #1 #2 \scan_stop:
+ \tex_immediate:D \tex_openout:D
+ #1 \__kernel_file_name_quote:n {#2} \scan_stop:
}
\cs_generate_variant:Nn \__iow_open_stream:Nn { NV }
\cs_new_protected:Npn \iow_close:N #1
@@ -11008,8 +11006,11 @@
{
\exp_args:Ne \__kernel_file_name_trim_spaces:n
{
- \__kernel_file_name_expand_loop:w #1
- \q_recursion_tail \q_recursion_stop
+ \exp_args:Ne \__kernel_file_name_strip_quotes:n
+ {
+ \__kernel_file_name_expand_loop:w #1
+ \q_recursion_tail \q_recursion_stop
+ }
}
}
\cs_new:Npn \__kernel_file_name_expand_loop:w #1 \q_recursion_stop
@@ -11058,6 +11059,26 @@
\c_space_tl
\exp_not:N \__kernel_file_name_expand_loop:w
}
+\cs_new:Npn \__kernel_file_name_strip_quotes:n #1
+ {
+ \__kernel_file_name_strip_quotes:nnnw {#1} { 0 } { }
+ #1 " \q_recursion_tail " \q_recursion_stop
+ }
+\cs_new:Npn \__kernel_file_name_strip_quotes:nnnw #1#2#3#4 "
+ {
+ \quark_if_recursion_tail_stop_do:nn {#4}
+ { \__kernel_file_name_strip_quotes:nnn {#1} {#2} {#3} }
+ \__kernel_file_name_strip_quotes:nnnw {#1} { #2 + 1 } { #3#4 }
+ }
+\cs_new:Npn \__kernel_file_name_strip_quotes:nnn #1#2#3
+ {
+ \int_if_even:nT {#2}
+ {
+ \__kernel_msg_expandable_error:nnn
+ { kernel } { unbalanced-quote-in-filename } {#1}
+ }
+ #3
+ }
\cs_new:Npn \__kernel_file_name_trim_spaces:n #1
{ \__kernel_file_name_trim_spaces:nw {#1} #1 . \q_nil . \q_stop }
\cs_new:Npn \__kernel_file_name_trim_spaces:nw #1#2 . #3 . #4 \q_stop
@@ -11073,27 +11094,8 @@
{ \__kernel_file_name_trim_spaces_aux:w #1 }
\cs_new:Npn \__kernel_file_name_trim_spaces_aux:w #1 \s_stop {#1}
\cs_new:Npn \__kernel_file_name_quote:n #1
- {
- \__kernel_file_name_quote_auxi:nnnw {#1} { 0 } { }
- #1 " \q_recursion_tail " \q_recursion_stop
- }
-\cs_generate_variant:Nn \__kernel_file_name_quote:n { e }
-\cs_new:Npn \__kernel_file_name_quote_auxi:nnnw #1#2#3#4 "
- {
- \quark_if_recursion_tail_stop_do:nn {#4}
- { \__kernel_file_name_quote_auxii:nnn {#1} {#2} {#3} }
- \__kernel_file_name_quote_auxi:nnnw {#1} { #2 + 1 } { #3#4 }
- }
-\cs_new:Npn \__kernel_file_name_quote_auxii:nnn #1#2#3
- {
- \int_if_even:nT {#2}
- {
- \__kernel_msg_expandable_error:nnn
- { kernel } { unbalanced-quote-in-filename } {#1}
- }
- \__kernel_file_name_quote_auxiii:nw {#3} #3 ~ \q_nil \q_stop
- }
-\cs_new:Npn \__kernel_file_name_quote_auxiii:nw #1 #2 ~ #3 \q_stop
+ { \__kernel_file_name_quote:nw {#1} #1 ~ \q_nil \q_stop }
+\cs_new:Npn \__kernel_file_name_quote:nw #1 #2 ~ #3 \q_stop
{
\quark_if_nil:nTF {#3}
{ #1 }
@@ -11116,18 +11118,22 @@
}
{ \prg_return_false: }
}
-\cs_new_protected:Npn \__file_get_aux:nnN #1#2#3
+\cs_new_protected:Npx \__file_get_aux:nnN #1#2#3
{
- \if_false: { \fi:
+ \exp_not:N \if_false: { \exp_not:N \fi:
\group_begin:
\int_set_eq:NN \tex_tracingnesting:D \c_zero_int
- \exp_args:No \tex_everyeof:D { \c__file_marker_tl }
+ \exp_not:N \exp_args:No \tex_everyeof:D
+ { \exp_not:N \c__file_marker_tl }
#2 \scan_stop:
- \exp_after:wN \__file_get_do:Nw
- \exp_after:wN #3
- \exp_after:wN \prg_do_nothing:
- \tex_input:D #1 \scan_stop:
- \if_false: } \fi:
+ \exp_not:N \exp_after:wN \exp_not:N \__file_get_do:Nw
+ \exp_not:N \exp_after:wN #3
+ \exp_not:N \exp_after:wN \exp_not:N \prg_do_nothing:
+ \exp_not:N \tex_input:D
+ \sys_if_engine_luatex:TF
+ { {#1} }
+ { \exp_not:N \__kernel_file_name_quote:n {#1} \scan_stop: }
+ \exp_not:N \if_false: } \exp_not:N \fi:
}
\exp_args:Nno \use:nn
{ \cs_new_protected:Npn \__file_get_do:Nw #1#2 }
@@ -11136,16 +11142,13 @@
\group_end:
\tl_set:No #1 {#2}
}
-\cs_new_eq:NN \__file_file_size:n \tex_filesize:D
+\cs_new_eq:NN \__file_size:n \tex_filesize:D
\sys_if_engine_luatex:T
{
- \cs_gset:Npn \__file_file_size:n #1
+ \cs_gset:Npn \__file_size:n #1
{
\lua_now:e
- {
- l3kernel.filesize
- ( " \lua_escape:e {#1} " )
- }
+ { l3kernel.filesize ( " \lua_escape:e {#1} " ) }
}
}
\cs_new:Npn \file_full_name:n #1
@@ -11155,75 +11158,64 @@
}
\cs_new:Npn \__file_full_name:n #1
{
- \exp_args:Ne \__file_full_name:nn
- { \__kernel_file_name_quote:n {#1} } {#1}
- }
-\cs_new:Npn \__file_full_name:nn #1#2
- {
\tl_if_blank:nF {#1}
{
- \tl_if_blank:eTF { \__file_file_size:n {#1} }
+ \tl_if_blank:eTF { \__file_size:n {#1} }
{
\seq_map_tokens:Nn \l_file_search_path_seq
- { \__file_full_name_aux:nn {#2} }
+ { \__file_full_name_aux:nn {#1} }
\cs_if_exist:NT \input@path
{
\tl_map_tokens:Nn \input@path
- { \__file_full_name_aux:nn {#2} }
+ { \__file_full_name_aux:nn {#1} }
}
- \__file_file_name_end:
+ \__file_name_end:
}
- { \__file_file_ext_check:n {#1} }
+ { \__file_ext_check:n {#1} }
}
}
\cs_new:Npn \__file_full_name_aux:nn #1#2
- {
- \exp_args:Ne \__file_full_name_aux:n
- { \__kernel_file_name_quote:e { \tl_to_str:n {#2} / #1 } }
- }
+ { \exp_args:Ne \__file_full_name_aux:n { \tl_to_str:n {#2} / #1 } }
\cs_new:Npn \__file_full_name_aux:n #1
{
- \tl_if_blank:eF { \__file_file_size:n {#1} }
+ \tl_if_blank:eF { \__file_size:n {#1} }
{
\seq_map_break:n
{
- \__file_file_ext_check:n {#1}
- \__file_file_name_cleanup:w
+ \__file_ext_check:n {#1}
+ \__file_name_cleanup:w
}
}
}
-\cs_new:Npn \__file_file_name_cleanup:w #1 \__file_file_name_end: { }
-\cs_new:Npn \__file_file_name_end: { }
-\cs_new:Npn \__file_file_ext_check:n #1
- { \__file_file_ext_check_auxi:nw {#1} #1 " #1 " \q_stop }
-\cs_new:Npn \__file_file_ext_check_auxi:nw #1#2 " #3 " #4 \q_stop
- { \__file_file_ext_check_auxii:nw {#1} #3 / \q_nil / \q_stop }
-\cs_new:Npn \__file_file_ext_check_auxii:nw #1#2 / #3 / #4 \q_stop
+\cs_new:Npn \__file_name_cleanup:w #1 \__file_name_end: { }
+\cs_new:Npn \__file_name_end: { }
+\cs_new:Npn \__file_ext_check:n #1
+ { \__file_ext_check:nw { / } #1 / \q_nil / \q_stop }
+\cs_new:Npn \__file_ext_check:nw #1 #2 / #3 / #4 \q_stop
{
\quark_if_nil:nTF {#3}
- { \__file_file_ext_check_auxiii:nw {#1} #2 . \q_nil . \q_stop }
- { \__file_file_ext_check_auxii:nw {#1} #3 / #4 \q_stop }
+ {
+ \exp_args:No \__file_ext_check:nnw
+ { \use_none:n #1 } {#2} #2 . \q_nil . \q_stop
+ }
+ { \__file_ext_check:nw { #1 #2 / } #3 / #4 \q_stop }
}
-\cs_new:Npx \__file_file_ext_check_auxiii:nw #1#2 . #3 . #4 \q_stop
+\cs_new:Npx \__file_ext_check:nnw #1#2#3 . #4 . #5 \q_stop
{
- \exp_not:N \quark_if_nil:nTF {#3}
+ \exp_not:N \quark_if_nil:nTF {#4}
{
- \exp_not:N \exp_args:Nee \exp_not:N \__file_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 } }
- }
+ \exp_not:N \__file_ext_check:nn
+ { #1 #2 } { #1 #2 \tl_to_str:n { .tex } }
}
- {#1}
+ { #1 #2 }
}
-\cs_new:Npn \__file_file_ext_check_auxiv:nn #1#2
+\cs_new:Npn \__file_ext_check:nn #1#2
{
- \tl_if_blank:eTF { \__file_file_size:n {#2} }
+ \tl_if_blank:eTF { \__file_size:n {#2} }
{#1}
{
\int_compare:nNnTF
- { \__file_file_size:n {#1} } = { \__file_file_size:n {#2} }
+ { \__file_size:n {#1} } = { \__file_size:n {#2} }
{#2}
{#1}
}
@@ -11302,10 +11294,7 @@
\cs_new_protected:Npn \__file_get_full_name_search:nN #1#2
{
\tl_set:Nx \l__file_full_name_tl
- {
- \__kernel_file_name_quote:e
- { \tl_to_str:n {#1} \l__file_base_name_tl }
- }
+ { \tl_to_str:n {#1} \l__file_base_name_tl }
\__kernel_ior_open:No \g__file_internal_ior \l__file_full_name_tl
\ior_if_eof:NF \g__file_internal_ior { #2 { \prg_break: } }
}
@@ -11493,14 +11482,17 @@
{ \__file_input:V \l__file_full_name_tl }
{ \__kernel_file_missing:n {#1} }
}
-\cs_new_protected:Npn \__file_input:n #1
+\cs_new_protected:Npx \__file_input:n #1
{
- \clist_if_exist:NTF \@filelist
- { \@addtofilelist {#1} }
- { \seq_gput_right:Nn \g__file_record_seq {#1} }
- \__file_input_push:n {#1}
- \tex_input:D #1 \c_space_tl
- \__file_input_pop:
+ \exp_not:N \clist_if_exist:NTF \exp_not:N \@filelist
+ { \exp_not:N \@addtofilelist {#1} }
+ { \seq_gput_right:Nn \exp_not:N \g__file_record_seq {#1} }
+ \exp_not:N \__file_input_push:n {#1}
+ \exp_not:N \tex_input:D
+ \sys_if_engine_luatex:TF
+ { {#1} }
+ { \exp_not:N \__kernel_file_name_quote:n {#1} \scan_stop: }
+ \exp_not:N \__file_input_pop:
}
\cs_generate_variant:Nn \__file_input:n { V }
\cs_new_protected:Npn \__file_input_push:n #1
diff --git a/Master/texmf-dist/tex/latex/l3kernel/expl3-generic.tex b/Master/texmf-dist/tex/latex/l3kernel/expl3-generic.tex
index 258765ae5fb..a836f70aec9 100644
--- a/Master/texmf-dist/tex/latex/l3kernel/expl3-generic.tex
+++ b/Master/texmf-dist/tex/latex/l3kernel/expl3-generic.tex
@@ -19,7 +19,7 @@
%% and all files in that bundle must be distributed together.
%%
%% File: expl3.dtx
-\def\ExplFileDate{2019-10-21}%
+\def\ExplFileDate{2019-10-24}%
\let\ExplLoaderFileDate\ExplFileDate
\begingroup
\def\tempa{LaTeX2e}%
diff --git a/Master/texmf-dist/tex/latex/l3kernel/expl3.ltx b/Master/texmf-dist/tex/latex/l3kernel/expl3.ltx
index 50a4d8b52b8..dbeefa3cf48 100644
--- a/Master/texmf-dist/tex/latex/l3kernel/expl3.ltx
+++ b/Master/texmf-dist/tex/latex/l3kernel/expl3.ltx
@@ -19,7 +19,7 @@
%% and all files in that bundle must be distributed together.
%%
%% File: expl3.dtx
-\def\ExplFileDate{2019-10-21}%
+\def\ExplFileDate{2019-10-24}%
\let\ExplLoaderFileDate\ExplFileDate
\everyjob\expandafter{\the\everyjob
\message{expl3 <\ExplFileDate> L3 programming layer}%
diff --git a/Master/texmf-dist/tex/latex/l3kernel/expl3.sty b/Master/texmf-dist/tex/latex/l3kernel/expl3.sty
index bf0dac992fd..9c6286928e6 100644
--- a/Master/texmf-dist/tex/latex/l3kernel/expl3.sty
+++ b/Master/texmf-dist/tex/latex/l3kernel/expl3.sty
@@ -19,7 +19,7 @@
%% and all files in that bundle must be distributed together.
%%
%% File: expl3.dtx
-\def\ExplFileDate{2019-10-21}%
+\def\ExplFileDate{2019-10-24}%
\let\ExplLoaderFileDate\ExplFileDate
\ProvidesPackage{expl3}
[%