[latex3-commits] [git/LaTeX3-latex3-latex3] master: Add \c_sys_engine_version_str (39cb3fa)
Joseph Wright
joseph.wright at morningstar2.co.uk
Wed May 2 23:10:00 CEST 2018
Repository : https://github.com/latex3/latex3
On branch : master
Link : https://github.com/latex3/latex3/commit/39cb3fa6e8fafc175f0b579fa2e76fdeb26f9c7d
>---------------------------------------------------------------
commit 39cb3fa6e8fafc175f0b579fa2e76fdeb26f9c7d
Author: Joseph Wright <joseph.wright at morningstar2.co.uk>
Date: Wed May 2 22:10:00 2018 +0100
Add \c_sys_engine_version_str
Thoughts on the nature of the string welcome!
>---------------------------------------------------------------
39cb3fa6e8fafc175f0b579fa2e76fdeb26f9c7d
l3kernel/l3candidates.dtx | 80 +++++++++++++++++++++++++++++++
l3kernel/testfiles/m3expl001.luatex.tlg | 1 +
l3kernel/testfiles/m3expl001.ptex.tlg | 1 +
l3kernel/testfiles/m3expl001.tlg | 1 +
l3kernel/testfiles/m3expl001.uptex.tlg | 1 +
l3kernel/testfiles/m3expl001.xetex.tlg | 1 +
l3kernel/testfiles/m3expl003.luatex.tlg | 1 +
l3kernel/testfiles/m3expl003.ptex.tlg | 1 +
l3kernel/testfiles/m3expl003.tlg | 1 +
l3kernel/testfiles/m3expl003.uptex.tlg | 1 +
l3kernel/testfiles/m3expl003.xetex.tlg | 1 +
11 files changed, 90 insertions(+)
diff --git a/l3kernel/l3candidates.dtx b/l3kernel/l3candidates.dtx
index c6f6e2f..aaaf525 100644
--- a/l3kernel/l3candidates.dtx
+++ b/l3kernel/l3candidates.dtx
@@ -695,6 +695,27 @@
%
% \section{Additions to \pkg{l3sys}}
%
+% \begin{variable}[added = 2018-05-02]{\c_sys_engine_version_str}
+% The version string of the current engine, in the same form as
+% given in the banner issued when running a job. For \pdfTeX{}
+% and \LuaTeX{} this is of the form
+% \begin{quote}
+% \meta{major}.\meta{minor}.\meta{revision}
+% \end{quote}
+% For \XeTeX{}, the form is
+% \begin{quote}
+% \meta{major}.\meta{minor}
+% \end{quote}
+% For \pTeX{} and \upTeX{}, only releases since \TeX{} Live 2018
+% make the data available, and the form is more complex, as it comprises
+% the \pTeX{} version, the \upTeX{} version and the e-\pTeX{} version.
+% \begin{quote}
+% p\meta{major}.\meta{minor}.\meta{revision}-u\meta{major}.\meta{minor}^^A
+% -\meta{epTeX}
+% \end{quote}
+% where the |u| part is only present for \upTeX{}.
+% \end{variable}
+%
% \begin{function}[added = 2017-05-27, EXP, pTF]{\sys_if_rand_exist:}
% \begin{syntax}
% \cs{sys_if_rand_exist_p:}
@@ -2530,6 +2551,65 @@
%<@@=sys>
% \end{macrocode}
%
+% \begin{variable}{\c_sys_engine_version_str}
+% Various different engines, various different ways to extract the
+% data!
+% \begin{macrocode}
+\str_const:Nx \c_sys_engine_version_str
+ {
+ \str_case:on \c_sys_engine_str
+ {
+ { pdftex }
+ {
+ \fp_eval:n { round(\int_use:N \tex_pdftexversion:D / 100 , 2) }
+ .
+ \tex_pdftexrevision:D
+ }
+ { ptex }
+ {
+ \cs_if_exist:NT \tex_ptexversion:D
+ {
+ p
+ \int_use:N \tex_ptexversion:D
+ \tex_ptexrevision:D
+ \int_use:N \tex_ptexminorversion:D
+ -
+ \int_use:N \tex_epTeXversion:D
+ }
+ }
+ { luatex }
+ {
+ \fp_eval:n { round(\int_use:N \tex_luatexversion:D / 100, 2) }
+ .
+ \tex_luatexrevision:D
+ }
+ { uptex }
+ {
+ \cs_if_exist:NT \tex_ptexversion:D
+ {
+ p
+ \int_use:N \tex_ptexversion:D
+ \tex_ptexrevision:D
+ \int_use:N \tex_ptexminorversion:D
+ -
+ u
+ \int_use:N \tex_uptexversion:D
+ \tex_uptexrevision:D
+ -
+ \int_use:N \tex_epTeXversion:D
+ }
+ }
+ { xetex }
+ {
+ \int_use:N \tex_XeTeXversion:D
+ .
+ \tex_XeTeXrevision:D
+ }
+ }
+ }
+% \end{macrocode}
+% \end{variable}
+%
% \begin{macro}[EXP, pTF]{\sys_if_rand_exist:}
% Currently, randomness exists under \pdfTeX{}, \LuaTeX{}, \pTeX{} and \upTeX{}.
% \begin{macrocode}
diff --git a/l3kernel/testfiles/m3expl001.luatex.tlg b/l3kernel/testfiles/m3expl001.luatex.tlg
index 6a580e9..6d20d4c 100644
--- a/l3kernel/testfiles/m3expl001.luatex.tlg
+++ b/l3kernel/testfiles/m3expl001.luatex.tlg
@@ -5732,6 +5732,7 @@ Defining \__seq_shuffle:NN on line ...
Defining \__seq_shuffle_item:n on line ...
Defining message LaTeX/kernel/shuffle-too-large on line ...
Defining \skip_split_finite_else_action:nnNN on line ...
+Defining \c_sys_engine_version_str on line ...
Defining \sys_if_rand_exist:T on line ...
Defining \sys_if_rand_exist:F on line ...
Defining \sys_if_rand_exist:TF on line ...
diff --git a/l3kernel/testfiles/m3expl001.ptex.tlg b/l3kernel/testfiles/m3expl001.ptex.tlg
index e1638f7..87588df 100644
--- a/l3kernel/testfiles/m3expl001.ptex.tlg
+++ b/l3kernel/testfiles/m3expl001.ptex.tlg
@@ -5725,6 +5725,7 @@ Defining \__seq_shuffle:NN on line ...
Defining \__seq_shuffle_item:n on line ...
Defining message LaTeX/kernel/shuffle-too-large on line ...
Defining \skip_split_finite_else_action:nnNN on line ...
+Defining \c_sys_engine_version_str on line ...
Defining \sys_if_rand_exist:T on line ...
Defining \sys_if_rand_exist:F on line ...
Defining \sys_if_rand_exist:TF on line ...
diff --git a/l3kernel/testfiles/m3expl001.tlg b/l3kernel/testfiles/m3expl001.tlg
index 3c353b9..9d80104 100644
--- a/l3kernel/testfiles/m3expl001.tlg
+++ b/l3kernel/testfiles/m3expl001.tlg
@@ -5725,6 +5725,7 @@ Defining \__seq_shuffle:NN on line ...
Defining \__seq_shuffle_item:n on line ...
Defining message LaTeX/kernel/shuffle-too-large on line ...
Defining \skip_split_finite_else_action:nnNN on line ...
+Defining \c_sys_engine_version_str on line ...
Defining \sys_if_rand_exist:T on line ...
Defining \sys_if_rand_exist:F on line ...
Defining \sys_if_rand_exist:TF on line ...
diff --git a/l3kernel/testfiles/m3expl001.uptex.tlg b/l3kernel/testfiles/m3expl001.uptex.tlg
index f303722..6010072 100644
--- a/l3kernel/testfiles/m3expl001.uptex.tlg
+++ b/l3kernel/testfiles/m3expl001.uptex.tlg
@@ -5723,6 +5723,7 @@ Defining \__seq_shuffle:NN on line ...
Defining \__seq_shuffle_item:n on line ...
Defining message LaTeX/kernel/shuffle-too-large on line ...
Defining \skip_split_finite_else_action:nnNN on line ...
+Defining \c_sys_engine_version_str on line ...
Defining \sys_if_rand_exist:T on line ...
Defining \sys_if_rand_exist:F on line ...
Defining \sys_if_rand_exist:TF on line ...
diff --git a/l3kernel/testfiles/m3expl001.xetex.tlg b/l3kernel/testfiles/m3expl001.xetex.tlg
index 6dfc094..f9ed97d 100644
--- a/l3kernel/testfiles/m3expl001.xetex.tlg
+++ b/l3kernel/testfiles/m3expl001.xetex.tlg
@@ -5698,6 +5698,7 @@ Defining \seq_const_from_clist:cn on line ...
Defining \seq_shuffle:N on line ...
Defining \seq_gshuffle:N on line ...
Defining \skip_split_finite_else_action:nnNN on line ...
+Defining \c_sys_engine_version_str on line ...
Defining \sys_if_rand_exist:T on line ...
Defining \sys_if_rand_exist:F on line ...
Defining \sys_if_rand_exist:TF on line ...
diff --git a/l3kernel/testfiles/m3expl003.luatex.tlg b/l3kernel/testfiles/m3expl003.luatex.tlg
index 6a580e9..6d20d4c 100644
--- a/l3kernel/testfiles/m3expl003.luatex.tlg
+++ b/l3kernel/testfiles/m3expl003.luatex.tlg
@@ -5732,6 +5732,7 @@ Defining \__seq_shuffle:NN on line ...
Defining \__seq_shuffle_item:n on line ...
Defining message LaTeX/kernel/shuffle-too-large on line ...
Defining \skip_split_finite_else_action:nnNN on line ...
+Defining \c_sys_engine_version_str on line ...
Defining \sys_if_rand_exist:T on line ...
Defining \sys_if_rand_exist:F on line ...
Defining \sys_if_rand_exist:TF on line ...
diff --git a/l3kernel/testfiles/m3expl003.ptex.tlg b/l3kernel/testfiles/m3expl003.ptex.tlg
index e1638f7..87588df 100644
--- a/l3kernel/testfiles/m3expl003.ptex.tlg
+++ b/l3kernel/testfiles/m3expl003.ptex.tlg
@@ -5725,6 +5725,7 @@ Defining \__seq_shuffle:NN on line ...
Defining \__seq_shuffle_item:n on line ...
Defining message LaTeX/kernel/shuffle-too-large on line ...
Defining \skip_split_finite_else_action:nnNN on line ...
+Defining \c_sys_engine_version_str on line ...
Defining \sys_if_rand_exist:T on line ...
Defining \sys_if_rand_exist:F on line ...
Defining \sys_if_rand_exist:TF on line ...
diff --git a/l3kernel/testfiles/m3expl003.tlg b/l3kernel/testfiles/m3expl003.tlg
index 3c353b9..9d80104 100644
--- a/l3kernel/testfiles/m3expl003.tlg
+++ b/l3kernel/testfiles/m3expl003.tlg
@@ -5725,6 +5725,7 @@ Defining \__seq_shuffle:NN on line ...
Defining \__seq_shuffle_item:n on line ...
Defining message LaTeX/kernel/shuffle-too-large on line ...
Defining \skip_split_finite_else_action:nnNN on line ...
+Defining \c_sys_engine_version_str on line ...
Defining \sys_if_rand_exist:T on line ...
Defining \sys_if_rand_exist:F on line ...
Defining \sys_if_rand_exist:TF on line ...
diff --git a/l3kernel/testfiles/m3expl003.uptex.tlg b/l3kernel/testfiles/m3expl003.uptex.tlg
index f303722..6010072 100644
--- a/l3kernel/testfiles/m3expl003.uptex.tlg
+++ b/l3kernel/testfiles/m3expl003.uptex.tlg
@@ -5723,6 +5723,7 @@ Defining \__seq_shuffle:NN on line ...
Defining \__seq_shuffle_item:n on line ...
Defining message LaTeX/kernel/shuffle-too-large on line ...
Defining \skip_split_finite_else_action:nnNN on line ...
+Defining \c_sys_engine_version_str on line ...
Defining \sys_if_rand_exist:T on line ...
Defining \sys_if_rand_exist:F on line ...
Defining \sys_if_rand_exist:TF on line ...
diff --git a/l3kernel/testfiles/m3expl003.xetex.tlg b/l3kernel/testfiles/m3expl003.xetex.tlg
index 6dfc094..f9ed97d 100644
--- a/l3kernel/testfiles/m3expl003.xetex.tlg
+++ b/l3kernel/testfiles/m3expl003.xetex.tlg
@@ -5698,6 +5698,7 @@ Defining \seq_const_from_clist:cn on line ...
Defining \seq_shuffle:N on line ...
Defining \seq_gshuffle:N on line ...
Defining \skip_split_finite_else_action:nnNN on line ...
+Defining \c_sys_engine_version_str on line ...
Defining \sys_if_rand_exist:T on line ...
Defining \sys_if_rand_exist:F on line ...
Defining \sys_if_rand_exist:TF on line ...
More information about the latex3-commits
mailing list