diff options
author | Karl Berry <karl@freefriends.org> | 2016-03-26 22:56:01 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2016-03-26 22:56:01 +0000 |
commit | acbc4b3c1d3629ae290305ff7c6056eb83d1151c (patch) | |
tree | 59c4ad13167b9bad138b2c231cbd6bc9f2c9c311 /Master/texmf-dist/tex/latex | |
parent | 473c539aefe98fc932ea0ed651464b9f91482938 (diff) |
l3 (26mar16)
git-svn-id: svn://tug.org/texlive/trunk@40146 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/latex')
42 files changed, 742 insertions, 717 deletions
diff --git a/Master/texmf-dist/tex/latex/l3build/l3build.lua b/Master/texmf-dist/tex/latex/l3build/l3build.lua index e6766737673..edb88994984 100644 --- a/Master/texmf-dist/tex/latex/l3build/l3build.lua +++ b/Master/texmf-dist/tex/latex/l3build/l3build.lua @@ -17,8 +17,8 @@ --]] -- Version information: should be identical to that in l3build.dtx -release_date = "2016/01/19" -release_ver = "6377" +release_date = "2016/03/26" +release_ver = "6466" -- "module" is a deprecated function in Lua 5.2: as we want the name -- for other purposes, and it should eventually be 'free', simply @@ -859,6 +859,8 @@ function formatlualog(logfile, newfile) if string.match(line, "^%.+\\mathon$") then return line, line end + -- LuaTeX identifies spaceskip glue + line = string.gsub(line,"%(\\spaceskip%) ", " ") -- Remove 'display' at end of display math boxes: -- LuaTeX omits this as it includes direction in all cases line = string.gsub(line, "(\\hbox%(.*), display$", "%1") @@ -1360,7 +1362,9 @@ help = help or function() print(" --engine|-e Sets the engine to use for running test") print(" --halt-on-error|-H Stops running tests after the first failure") print(" --version|-v Sets the version to insert into sources") + print(" --quiet|-q Suppresses TeX output when unpacking") print("") + print("See l3build.pdf for further details.") end function check(names) @@ -1498,7 +1502,7 @@ function ctan(standalone) dir, zipexe .. " " .. zipopts .. " -ll ".. zipname .. " " .. "." .. ( - (binfiles or exclude) and (" -x" .. binfiles .. " " .. exclude) + (binfiles or exclude) and (" -x" .. binfiles .. " " .. exclude) or "" ) ) diff --git a/Master/texmf-dist/tex/latex/l3build/regression-test.tex b/Master/texmf-dist/tex/latex/l3build/regression-test.tex index 96dc4320a58..a4256a227dc 100644 --- a/Master/texmf-dist/tex/latex/l3build/regression-test.tex +++ b/Master/texmf-dist/tex/latex/l3build/regression-test.tex @@ -70,7 +70,7 @@ \def\START{\LONGTYPEOUT{START-TEST-LOG^^J^^J% \STARTMESSAGE% ^^J^^JDon't change this file in any respect.% -^^J^^J\CTable^^J}} +^^J^^J}} \begingroup \catcode`\^^\=0 \catcode`\^^A=\catcode`\% diff --git a/Master/texmf-dist/tex/latex/l3experimental/l3sort/l3sort.sty b/Master/texmf-dist/tex/latex/l3experimental/l3sort/l3sort.sty index 498929faa53..4cfee22198c 100644 --- a/Master/texmf-dist/tex/latex/l3experimental/l3sort/l3sort.sty +++ b/Master/texmf-dist/tex/latex/l3experimental/l3sort/l3sort.sty @@ -46,8 +46,8 @@ %% %% ----------------------------------------------------------------------- %% -\RequirePackage{expl3}[2016/01/19] -\@ifpackagelater{expl3}{2016/01/19} +\RequirePackage{expl3}[2016/03/26] +\@ifpackagelater{expl3}{2016/03/26} {} {% \PackageError{l3sort}{Support package l3kernel too old} @@ -59,7 +59,7 @@ }% \endinput } -\GetIdInfo$Id: l3sort.dtx 6377 2016-01-19 22:28:13Z joseph $ +\GetIdInfo$Id: l3sort.dtx 6466 2016-03-26 16:23:41Z joseph $ {L3 Experimental sorting functions} \ProvidesExplPackage {\ExplFileName}{\ExplFileDate}{\ExplFileVersion}{\ExplFileDescription} @@ -139,7 +139,7 @@ \if_int_compare:w #3 < \l__sort_length_int #1 #2 { \tex_the:D \tex_toks:D #3 } \exp_after:wN \__sort_toks:NNw \exp_after:wN #1 \exp_after:wN #2 - \int_use:N \__int_eval:w #3 + \c_one \exp_after:wN ; + \__int_value:w \__int_eval:w #3 + \c_one \exp_after:wN ; \fi: } \cs_new_protected_nopar:Npn \__sort_level: diff --git a/Master/texmf-dist/tex/latex/l3experimental/l3str/l3flag.sty b/Master/texmf-dist/tex/latex/l3experimental/l3str/l3flag.sty index 7e5945af50f..9ff38bdc7c0 100644 --- a/Master/texmf-dist/tex/latex/l3experimental/l3str/l3flag.sty +++ b/Master/texmf-dist/tex/latex/l3experimental/l3str/l3flag.sty @@ -45,8 +45,8 @@ %% prior consultation with the LaTeX3 Project. %% %% ----------------------------------------------------------------------- -\RequirePackage{expl3}[2016/01/19] -\@ifpackagelater{expl3}{2016/01/19} +\RequirePackage{expl3}[2016/03/26] +\@ifpackagelater{expl3}{2016/03/26} {} {% \PackageError{l3flag}{Support package l3kernel too old} @@ -58,7 +58,7 @@ }% \endinput } -\GetIdInfo$Id: l3flag.dtx 6377 2016-01-19 22:28:13Z joseph $ +\GetIdInfo$Id: l3flag.dtx 6466 2016-03-26 16:23:41Z joseph $ {L3 Experimental flags} \ProvidesExplPackage {\ExplFileName}{\ExplFileDate}{\ExplFileVersion}{\ExplFileDescription} @@ -77,7 +77,7 @@ \fi: \cs_set_eq:cN { __flag_#2_#1: } \tex_undefined:D \exp_after:wN \__flag_clear:ww - \int_use:N \__int_eval:w \c_one + #1 ; + \__int_value:w \__int_eval:w \c_one + #1 ; #2 \q_stop } \cs_new_protected:Npn \flag_clear_new:n #1 @@ -101,7 +101,7 @@ \cs_new:Npn \__flag_height_loop:ww #1 ; #2 \q_stop { \if_cs_exist:w __flag_#2_#1: \cs_end: - \exp_after:wN \__flag_height_loop:ww \int_use:N \__int_eval:w \c_one + + \exp_after:wN \__flag_height_loop:ww \__int_value:w \__int_eval:w \c_one + \else: \exp_after:wN \__flag_height_end:ww \fi: diff --git a/Master/texmf-dist/tex/latex/l3experimental/l3str/l3regex-trace.sty b/Master/texmf-dist/tex/latex/l3experimental/l3str/l3regex-trace.sty index afdd2caefae..60ed114345a 100644 --- a/Master/texmf-dist/tex/latex/l3experimental/l3str/l3regex-trace.sty +++ b/Master/texmf-dist/tex/latex/l3experimental/l3str/l3regex-trace.sty @@ -45,8 +45,8 @@ %% prior consultation with the LaTeX3 Project. %% %% ----------------------------------------------------------------------- -\RequirePackage{expl3}[2016/01/19] -\@ifpackagelater{expl3}{2016/01/19} +\RequirePackage{expl3}[2016/03/26] +\@ifpackagelater{expl3}{2016/03/26} {} {% \PackageError{l3regex}{Support package l3kernel too old} @@ -58,7 +58,7 @@ }% \endinput } -\GetIdInfo$Id: l3regex.dtx 6377 2016-01-19 22:28:13Z joseph $ +\GetIdInfo$Id: l3regex.dtx 6466 2016-03-26 16:23:41Z joseph $ {L3 Experimental regular expressions} \ProvidesExplPackage {\ExplFileName}{\ExplFileDate}{\ExplFileVersion}{\ExplFileDescription} @@ -1952,7 +1952,7 @@ { \__int_value:w \tex_skip:D #1 } { \tex_the:D \tex_toks:D #1 } \exp_after:wN \__regex_match_one_active:w - \int_use:N \__int_eval:w #1 + \c_one \exp_after:wN ; + \__int_value:w \__int_eval:w #1 + \c_one \exp_after:wN ; \fi: } \cs_new_protected:Npn \__regex_query_set:nnn #1#2#3 @@ -2027,7 +2027,7 @@ \cs_new_protected:Npn \__regex_action_cost:n #1 { \exp_args:No \__regex_store_state:n - { \int_use:N \__int_eval:w \l__regex_current_state_int + #1 } + { \__int_value:w \__int_eval:w \l__regex_current_state_int + #1 } } \cs_new_protected:Npn \__regex_store_state:n #1 { @@ -2077,8 +2077,8 @@ \cs_new:Npn \__regex_query_range:nn #1#2 { \exp_after:wN \__regex_query_range_loop:ww - \int_use:N \__int_eval:w #1 \exp_after:wN ; - \int_use:N \__int_eval:w #2 ; + \__int_value:w \__int_eval:w #1 \exp_after:wN ; + \__int_value:w \__int_eval:w #2 ; \__prg_break_point: } \cs_new:Npn \__regex_query_range_loop:ww #1 ; #2 ; @@ -2089,7 +2089,7 @@ \fi: \tex_the:D \tex_toks:D #1 \exp_stop_f: \exp_after:wN \__regex_query_range_loop:ww - \int_use:N \__int_eval:w #1 + \c_one ; #2 ; + \__int_value:w \__int_eval:w #1 + \c_one ; #2 ; } \cs_new:Npn \__regex_query_submatch:n #1 { diff --git a/Master/texmf-dist/tex/latex/l3experimental/l3str/l3regex.sty b/Master/texmf-dist/tex/latex/l3experimental/l3str/l3regex.sty index 66d1317d434..37286265b16 100644 --- a/Master/texmf-dist/tex/latex/l3experimental/l3str/l3regex.sty +++ b/Master/texmf-dist/tex/latex/l3experimental/l3str/l3regex.sty @@ -45,8 +45,8 @@ %% prior consultation with the LaTeX3 Project. %% %% ----------------------------------------------------------------------- -\RequirePackage{expl3}[2016/01/19] -\@ifpackagelater{expl3}{2016/01/19} +\RequirePackage{expl3}[2016/03/26] +\@ifpackagelater{expl3}{2016/03/26} {} {% \PackageError{l3regex}{Support package l3kernel too old} @@ -58,7 +58,7 @@ }% \endinput } -\GetIdInfo$Id: l3regex.dtx 6377 2016-01-19 22:28:13Z joseph $ +\GetIdInfo$Id: l3regex.dtx 6466 2016-03-26 16:23:41Z joseph $ {L3 Experimental regular expressions} \ProvidesExplPackage {\ExplFileName}{\ExplFileDate}{\ExplFileVersion}{\ExplFileDescription} @@ -1928,7 +1928,7 @@ { \__int_value:w \tex_skip:D #1 } { \tex_the:D \tex_toks:D #1 } \exp_after:wN \__regex_match_one_active:w - \int_use:N \__int_eval:w #1 + \c_one \exp_after:wN ; + \__int_value:w \__int_eval:w #1 + \c_one \exp_after:wN ; \fi: } \cs_new_protected:Npn \__regex_query_set:nnn #1#2#3 @@ -2002,7 +2002,7 @@ \cs_new_protected:Npn \__regex_action_cost:n #1 { \exp_args:No \__regex_store_state:n - { \int_use:N \__int_eval:w \l__regex_current_state_int + #1 } + { \__int_value:w \__int_eval:w \l__regex_current_state_int + #1 } } \cs_new_protected:Npn \__regex_store_state:n #1 { @@ -2052,8 +2052,8 @@ \cs_new:Npn \__regex_query_range:nn #1#2 { \exp_after:wN \__regex_query_range_loop:ww - \int_use:N \__int_eval:w #1 \exp_after:wN ; - \int_use:N \__int_eval:w #2 ; + \__int_value:w \__int_eval:w #1 \exp_after:wN ; + \__int_value:w \__int_eval:w #2 ; \__prg_break_point: } \cs_new:Npn \__regex_query_range_loop:ww #1 ; #2 ; @@ -2064,7 +2064,7 @@ \fi: \tex_the:D \tex_toks:D #1 \exp_stop_f: \exp_after:wN \__regex_query_range_loop:ww - \int_use:N \__int_eval:w #1 + \c_one ; #2 ; + \__int_value:w \__int_eval:w #1 + \c_one ; #2 ; } \cs_new:Npn \__regex_query_submatch:n #1 { diff --git a/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-convert.sty b/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-convert.sty index eec15a9d29d..bedffef50f0 100644 --- a/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-convert.sty +++ b/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-convert.sty @@ -13,7 +13,7 @@ %% %% Do not distribute a modified version of this file. %% -%% File: l3str-convert.dtx Copyright (C) 2013-2015 The LaTeX3 Project +%% File: l3str-convert.dtx Copyright (C) 2013-2016 The LaTeX3 Project %% %% It may be distributed and/or modified under the conditions of the %% LaTeX Project Public License (LPPL), either version 1.3c of this @@ -46,7 +46,7 @@ %% %% ----------------------------------------------------------------------- \RequirePackage{expl3} -\GetIdInfo$Id: l3str-convert.dtx 6106 2015-09-26 08:54:30Z joseph $ +\GetIdInfo$Id: l3str-convert.dtx 6443 2016-03-24 10:59:09Z joseph $ {L3 Experimental string encoding conversions} \ProvidesExplPackage {\ExplFileName}{\ExplFileDate}{\ExplFileVersion}{\ExplFileDescription} @@ -97,7 +97,7 @@ \group_begin: \char_set_lccode:nn { `\* } { `\ } \char_set_lccode:nn { `\A } { `\A } -\tl_to_lowercase:n +\tex_lowercase:D { \group_end: \cs_new_protected:Npn \__str_gset_other:Nn #1#2 @@ -172,23 +172,15 @@ \fi: } \group_begin: - \char_set_catcode_other:n { \c_zero } \tl_set:Nx \l__str_internal_tl { \tl_to_str:n { 0123456789ABCDEF } } - \exp_args:No \tl_map_inline:nn { \l__str_internal_tl " } - { \char_set_lccode:nn {`#1} { \c_zero } } - \tl_map_inline:Nn \l__str_internal_tl - { - \tl_map_inline:Nn \l__str_internal_tl - { - \char_set_lccode:nn { \c_zero } {"#1##1} - \tl_to_lowercase:n - { - \tl_const:cx - { c__str_byte_ \int_eval:n {"#1##1} _tl } - { ^^@ #1 ##1 } - } - } - } + \tl_map_inline:Nn \l__str_internal_tl + { + \tl_map_inline:Nn \l__str_internal_tl + { + \tl_const:cx { c__str_byte_ \int_eval:n {"#1##1} _tl } + { \char_generate:nn { "#1##1 } { 12 } #1 ##1 } + } + } \group_end: \tl_const:cn { c__str_byte_-1_tl } { { } \use_none:n { } } \cs_new:Npn \__str_output_byte:n #1 @@ -197,7 +189,7 @@ { \exp_after:wN \exp_after:wN \exp_after:wN \use_i:nnn - \cs:w c__str_byte_ \int_use:N \__int_eval:w + \cs:w c__str_byte_ \__int_value:w \__int_eval:w } \cs_new:Npn \__str_output_hexadecimal:n #1 { \__str_output_hexadecimal:w #1 \__str_output_end: } @@ -205,7 +197,7 @@ { \exp_after:wN \exp_after:wN \exp_after:wN \use_none:n - \cs:w c__str_byte_ \int_use:N \__int_eval:w + \cs:w c__str_byte_ \__int_value:w \__int_eval:w } \cs_new_nopar:Npn \__str_output_end: { \__int_eval_end: _tl \cs_end: } @@ -472,8 +464,8 @@ \cs_new_protected:Npn \__str_encode_native_loop:w #1 \s__tl #2 \s__tl { \use_none_delimit_by_q_stop:w #2 \q_stop - \tex_lccode:D \l__str_internal_int \__int_eval:w #2 \__int_eval_end: - \tl_to_lowercase:n { \__tl_build_one:n { ^^@ } } + \exp_args:Nx \__tl_build_one:n + { \char_generate:nn {#2} {12} } \__str_encode_native_loop:w } } diff --git a/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-enc-iso88591.def b/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-enc-iso88591.def index 99de1b010fe..96322083f8f 100644 --- a/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-enc-iso88591.def +++ b/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-enc-iso88591.def @@ -13,7 +13,7 @@ %% %% Do not distribute a modified version of this file. %% -%% File: l3str-convert.dtx Copyright (C) 2013-2015 The LaTeX3 Project +%% File: l3str-convert.dtx Copyright (C) 2013-2016 The LaTeX3 Project %% %% It may be distributed and/or modified under the conditions of the %% LaTeX Project Public License (LPPL), either version 1.3c of this diff --git a/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-enc-iso885910.def b/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-enc-iso885910.def index cd8a90ba144..7e4a862344e 100644 --- a/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-enc-iso885910.def +++ b/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-enc-iso885910.def @@ -13,7 +13,7 @@ %% %% Do not distribute a modified version of this file. %% -%% File: l3str-convert.dtx Copyright (C) 2013-2015 The LaTeX3 Project +%% File: l3str-convert.dtx Copyright (C) 2013-2016 The LaTeX3 Project %% %% It may be distributed and/or modified under the conditions of the %% LaTeX Project Public License (LPPL), either version 1.3c of this diff --git a/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-enc-iso885911.def b/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-enc-iso885911.def index e77c1716c23..6fcf045535a 100644 --- a/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-enc-iso885911.def +++ b/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-enc-iso885911.def @@ -13,7 +13,7 @@ %% %% Do not distribute a modified version of this file. %% -%% File: l3str-convert.dtx Copyright (C) 2013-2015 The LaTeX3 Project +%% File: l3str-convert.dtx Copyright (C) 2013-2016 The LaTeX3 Project %% %% It may be distributed and/or modified under the conditions of the %% LaTeX Project Public License (LPPL), either version 1.3c of this diff --git a/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-enc-iso885913.def b/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-enc-iso885913.def index b5bfe82a6ea..2528a8f9feb 100644 --- a/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-enc-iso885913.def +++ b/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-enc-iso885913.def @@ -13,7 +13,7 @@ %% %% Do not distribute a modified version of this file. %% -%% File: l3str-convert.dtx Copyright (C) 2013-2015 The LaTeX3 Project +%% File: l3str-convert.dtx Copyright (C) 2013-2016 The LaTeX3 Project %% %% It may be distributed and/or modified under the conditions of the %% LaTeX Project Public License (LPPL), either version 1.3c of this diff --git a/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-enc-iso885914.def b/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-enc-iso885914.def index a3eeed87e07..b8c66c6283b 100644 --- a/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-enc-iso885914.def +++ b/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-enc-iso885914.def @@ -13,7 +13,7 @@ %% %% Do not distribute a modified version of this file. %% -%% File: l3str-convert.dtx Copyright (C) 2013-2015 The LaTeX3 Project +%% File: l3str-convert.dtx Copyright (C) 2013-2016 The LaTeX3 Project %% %% It may be distributed and/or modified under the conditions of the %% LaTeX Project Public License (LPPL), either version 1.3c of this diff --git a/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-enc-iso885915.def b/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-enc-iso885915.def index cdb0cdc7d76..3ab9c444dab 100644 --- a/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-enc-iso885915.def +++ b/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-enc-iso885915.def @@ -13,7 +13,7 @@ %% %% Do not distribute a modified version of this file. %% -%% File: l3str-convert.dtx Copyright (C) 2013-2015 The LaTeX3 Project +%% File: l3str-convert.dtx Copyright (C) 2013-2016 The LaTeX3 Project %% %% It may be distributed and/or modified under the conditions of the %% LaTeX Project Public License (LPPL), either version 1.3c of this diff --git a/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-enc-iso885916.def b/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-enc-iso885916.def index d2768180dd2..dfc1ad947b9 100644 --- a/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-enc-iso885916.def +++ b/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-enc-iso885916.def @@ -13,7 +13,7 @@ %% %% Do not distribute a modified version of this file. %% -%% File: l3str-convert.dtx Copyright (C) 2013-2015 The LaTeX3 Project +%% File: l3str-convert.dtx Copyright (C) 2013-2016 The LaTeX3 Project %% %% It may be distributed and/or modified under the conditions of the %% LaTeX Project Public License (LPPL), either version 1.3c of this diff --git a/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-enc-iso88592.def b/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-enc-iso88592.def index a213cac77af..aac1d299767 100644 --- a/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-enc-iso88592.def +++ b/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-enc-iso88592.def @@ -13,7 +13,7 @@ %% %% Do not distribute a modified version of this file. %% -%% File: l3str-convert.dtx Copyright (C) 2013-2015 The LaTeX3 Project +%% File: l3str-convert.dtx Copyright (C) 2013-2016 The LaTeX3 Project %% %% It may be distributed and/or modified under the conditions of the %% LaTeX Project Public License (LPPL), either version 1.3c of this diff --git a/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-enc-iso88593.def b/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-enc-iso88593.def index 035f036807d..f333229dd00 100644 --- a/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-enc-iso88593.def +++ b/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-enc-iso88593.def @@ -13,7 +13,7 @@ %% %% Do not distribute a modified version of this file. %% -%% File: l3str-convert.dtx Copyright (C) 2013-2015 The LaTeX3 Project +%% File: l3str-convert.dtx Copyright (C) 2013-2016 The LaTeX3 Project %% %% It may be distributed and/or modified under the conditions of the %% LaTeX Project Public License (LPPL), either version 1.3c of this diff --git a/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-enc-iso88594.def b/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-enc-iso88594.def index 56e89c1d093..e5ca8871aa4 100644 --- a/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-enc-iso88594.def +++ b/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-enc-iso88594.def @@ -13,7 +13,7 @@ %% %% Do not distribute a modified version of this file. %% -%% File: l3str-convert.dtx Copyright (C) 2013-2015 The LaTeX3 Project +%% File: l3str-convert.dtx Copyright (C) 2013-2016 The LaTeX3 Project %% %% It may be distributed and/or modified under the conditions of the %% LaTeX Project Public License (LPPL), either version 1.3c of this diff --git a/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-enc-iso88595.def b/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-enc-iso88595.def index a0c604da86c..d019f144949 100644 --- a/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-enc-iso88595.def +++ b/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-enc-iso88595.def @@ -13,7 +13,7 @@ %% %% Do not distribute a modified version of this file. %% -%% File: l3str-convert.dtx Copyright (C) 2013-2015 The LaTeX3 Project +%% File: l3str-convert.dtx Copyright (C) 2013-2016 The LaTeX3 Project %% %% It may be distributed and/or modified under the conditions of the %% LaTeX Project Public License (LPPL), either version 1.3c of this diff --git a/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-enc-iso88596.def b/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-enc-iso88596.def index d1fb24ca153..f2e9da49095 100644 --- a/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-enc-iso88596.def +++ b/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-enc-iso88596.def @@ -13,7 +13,7 @@ %% %% Do not distribute a modified version of this file. %% -%% File: l3str-convert.dtx Copyright (C) 2013-2015 The LaTeX3 Project +%% File: l3str-convert.dtx Copyright (C) 2013-2016 The LaTeX3 Project %% %% It may be distributed and/or modified under the conditions of the %% LaTeX Project Public License (LPPL), either version 1.3c of this diff --git a/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-enc-iso88597.def b/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-enc-iso88597.def index 63d1bfb7051..e36f926ceb1 100644 --- a/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-enc-iso88597.def +++ b/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-enc-iso88597.def @@ -13,7 +13,7 @@ %% %% Do not distribute a modified version of this file. %% -%% File: l3str-convert.dtx Copyright (C) 2013-2015 The LaTeX3 Project +%% File: l3str-convert.dtx Copyright (C) 2013-2016 The LaTeX3 Project %% %% It may be distributed and/or modified under the conditions of the %% LaTeX Project Public License (LPPL), either version 1.3c of this diff --git a/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-enc-iso88598.def b/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-enc-iso88598.def index 85f8bc71ed3..e8cb981a621 100644 --- a/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-enc-iso88598.def +++ b/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-enc-iso88598.def @@ -13,7 +13,7 @@ %% %% Do not distribute a modified version of this file. %% -%% File: l3str-convert.dtx Copyright (C) 2013-2015 The LaTeX3 Project +%% File: l3str-convert.dtx Copyright (C) 2013-2016 The LaTeX3 Project %% %% It may be distributed and/or modified under the conditions of the %% LaTeX Project Public License (LPPL), either version 1.3c of this diff --git a/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-enc-iso88599.def b/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-enc-iso88599.def index 0db19bc3cb7..8d46779b6e9 100644 --- a/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-enc-iso88599.def +++ b/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-enc-iso88599.def @@ -13,7 +13,7 @@ %% %% Do not distribute a modified version of this file. %% -%% File: l3str-convert.dtx Copyright (C) 2013-2015 The LaTeX3 Project +%% File: l3str-convert.dtx Copyright (C) 2013-2016 The LaTeX3 Project %% %% It may be distributed and/or modified under the conditions of the %% LaTeX Project Public License (LPPL), either version 1.3c of this diff --git a/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-enc-utf16.def b/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-enc-utf16.def index 009201a278f..e2b8568d358 100644 --- a/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-enc-utf16.def +++ b/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-enc-utf16.def @@ -13,7 +13,7 @@ %% %% Do not distribute a modified version of this file. %% -%% File: l3str-convert.dtx Copyright (C) 2013-2015 The LaTeX3 Project +%% File: l3str-convert.dtx Copyright (C) 2013-2016 The LaTeX3 Project %% %% It may be distributed and/or modified under the conditions of the %% LaTeX Project Public License (LPPL), either version 1.3c of this diff --git a/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-enc-utf32.def b/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-enc-utf32.def index 08730c09ae0..df8659954e7 100644 --- a/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-enc-utf32.def +++ b/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-enc-utf32.def @@ -13,7 +13,7 @@ %% %% Do not distribute a modified version of this file. %% -%% File: l3str-convert.dtx Copyright (C) 2013-2015 The LaTeX3 Project +%% File: l3str-convert.dtx Copyright (C) 2013-2016 The LaTeX3 Project %% %% It may be distributed and/or modified under the conditions of the %% LaTeX Project Public License (LPPL), either version 1.3c of this diff --git a/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-enc-utf8.def b/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-enc-utf8.def index ffb8e2fbea3..b1b0d554590 100644 --- a/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-enc-utf8.def +++ b/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-enc-utf8.def @@ -13,7 +13,7 @@ %% %% Do not distribute a modified version of this file. %% -%% File: l3str-convert.dtx Copyright (C) 2013-2015 The LaTeX3 Project +%% File: l3str-convert.dtx Copyright (C) 2013-2016 The LaTeX3 Project %% %% It may be distributed and/or modified under the conditions of the %% LaTeX Project Public License (LPPL), either version 1.3c of this @@ -144,7 +144,7 @@ \fi: \else: \exp_after:wN \__str_decode_utf_viii_continuation:wwN - \int_use:N \__int_eval:w `#1 - "C0 \exp_after:wN \__int_eval_end: + \__int_value:w \__int_eval:w `#1 - "C0 \exp_after:wN \__int_eval_end: \fi: \s__tl \use_none_delimit_by_q_stop:w {"80} {"800} {"10000} {"110000} \q_stop @@ -159,7 +159,7 @@ "C0 \exp_stop_f: #3 \exp_after:wN \__str_decode_utf_viii_aux:wNnnwN - \int_use:N \__int_eval:w + \__int_value:w \__int_eval:w #1 * "40 + `#3 - "80 \exp_after:wN \__int_eval_end: \else: @@ -189,7 +189,7 @@ \__str_decode_utf_viii_overflow:w #1 \fi: \exp_after:wN \__str_decode_utf_viii_continuation:wwN - \int_use:N \__int_eval:w #1 - #4 \exp_after:wN \__int_eval_end: + \__int_value:w \__int_eval:w #1 - #4 \exp_after:wN \__int_eval_end: \fi: \s__tl #2 {#4} #5 diff --git a/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-esc-hex.def b/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-esc-hex.def index 552f2e9e1ed..2999bf6abd6 100644 --- a/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-esc-hex.def +++ b/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-esc-hex.def @@ -13,7 +13,7 @@ %% %% Do not distribute a modified version of this file. %% -%% File: l3str-convert.dtx Copyright (C) 2013-2015 The LaTeX3 Project +%% File: l3str-convert.dtx Copyright (C) 2013-2016 The LaTeX3 Project %% %% It may be distributed and/or modified under the conditions of the %% LaTeX Project Public License (LPPL), either version 1.3c of this diff --git a/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-esc-name.def b/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-esc-name.def index a0a1dcc9b3c..35550296787 100644 --- a/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-esc-name.def +++ b/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-esc-name.def @@ -13,7 +13,7 @@ %% %% Do not distribute a modified version of this file. %% -%% File: l3str-convert.dtx Copyright (C) 2013-2015 The LaTeX3 Project +%% File: l3str-convert.dtx Copyright (C) 2013-2016 The LaTeX3 Project %% %% It may be distributed and/or modified under the conditions of the %% LaTeX Project Public License (LPPL), either version 1.3c of this diff --git a/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-esc-string.def b/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-esc-string.def index 5e9735441f6..28babc286f9 100644 --- a/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-esc-string.def +++ b/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-esc-string.def @@ -13,7 +13,7 @@ %% %% Do not distribute a modified version of this file. %% -%% File: l3str-convert.dtx Copyright (C) 2013-2015 The LaTeX3 Project +%% File: l3str-convert.dtx Copyright (C) 2013-2016 The LaTeX3 Project %% %% It may be distributed and/or modified under the conditions of the %% LaTeX Project Public License (LPPL), either version 1.3c of this @@ -49,7 +49,7 @@ \char_set_lccode:nn {`\*} {`\\} \char_set_catcode_other:N \^^J \char_set_catcode_other:N \^^M - \tl_to_lowercase:n + \tex_lowercase:D { \cs_new_protected_nopar:Npn \__str_convert_unescape_string: { diff --git a/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-esc-url.def b/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-esc-url.def index 3f61cb1b950..5fcd1eeb79c 100644 --- a/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-esc-url.def +++ b/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-esc-url.def @@ -13,7 +13,7 @@ %% %% Do not distribute a modified version of this file. %% -%% File: l3str-convert.dtx Copyright (C) 2013-2015 The LaTeX3 Project +%% File: l3str-convert.dtx Copyright (C) 2013-2016 The LaTeX3 Project %% %% It may be distributed and/or modified under the conditions of the %% LaTeX Project Public License (LPPL), either version 1.3c of this diff --git a/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-format.sty b/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-format.sty index ab454bf1ad2..961ff91b149 100644 --- a/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-format.sty +++ b/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-format.sty @@ -46,7 +46,7 @@ %% %% ----------------------------------------------------------------------- \RequirePackage{expl3} -\GetIdInfo$Id: l3str-format.dtx 6009 2015-09-18 08:09:21Z joseph $ +\GetIdInfo$Id: l3str-format.dtx 6439 2016-03-23 12:03:41Z joseph $ {L3 Experimental string formatting} \ProvidesExplPackage {\ExplFileName}{\ExplFileDate}{\ExplFileVersion}{\ExplFileDescription} @@ -371,42 +371,37 @@ } \cs_new:Npn \__str_format_fp_round:wn #1 ; #2 { \__fp_parse:n { round ( #1; , #2 - \__fp_exponent:w #1; ) } } -\group_begin: -\char_set_catcode_other:N E -\tl_to_lowercase:n +\cs_new:Npn \__str_format_fp_e:wn \s__fp \__fp_chk:w #1#2#3 ; #4 { - \group_end: - \cs_new:Npn \__str_format_fp_e:wn \s__fp \__fp_chk:w #1#2#3 ; #4 + \int_case:nnF {#1} { - \int_case:nnF {#1} - { - {0} { \use:nf { 0 . } { \prg_replicate:nn {#4} { 0 } } e 0 } - {2} { inf } - {3} { nan } - } - { - \exp_last_unbraced:Nf \__str_format_fp_e_aux:wn - \__str_format_fp_round:wn \s__fp \__fp_chk:w #1#2#3 ; { #4 + 1 } - {#4} - } + { 0 } { \use:nf { 0 . } { \prg_replicate:nn {#4} { 0 } } e 0 } + { 2 } { inf } + { 3 } { nan } } - \cs_new:Npn \__str_format_fp_e_aux:wn - \s__fp \__fp_chk:w #1#2 #3 #4#5#6#7 ; #8 { - \__str_format_put:fw { \int_eval:n { #3 - 1 } } - \__str_format_put:nw { e } - \int_compare:nNnTF {#8} > \c_sixteen - { - \__str_format_put:fw { \prg_replicate:nn { #8 - \c_fifteen } {0} } - \__str_format_put:fw { \use_none:n #4#5#6#7 } - } - { - \__str_format_put:fw - { \str_range:nnn { #4#5#6#7 0 } { 2 } { #8 + 1 } } - } - \__str_format_put:fw { \use_i:nnnn #4 . } - \use_none:n \s__stop + \exp_last_unbraced:Nf \__str_format_fp_e_aux:wn + \__str_format_fp_round:wn \s__fp \__fp_chk:w #1#2#3 ; { #4 + 1 } + {#4} + } + } +\cs_new:Npn \__str_format_fp_e_aux:wn + \s__fp \__fp_chk:w #1#2 #3 #4#5#6#7 ; #8 + { + \__str_format_put:fw { \int_eval:n { #3 - 1 } } + \__str_format_put:nw { e } + \int_compare:nNnTF {#8} > \c_sixteen + { + \__str_format_put:fw { \prg_replicate:nn { #8 - \c_fifteen } {0} } + \__str_format_put:fw { \use_none:n #4#5#6#7 } + } + { + \__str_format_put:fw + { \str_range:nnn { #4#5#6#7 0 } { 2 } { #8 + 1 } } } + \__str_format_put:fw { \use_i:nnnn #4 . } + \use_none:n \s__stop + } } \cs_new:Npn \__str_format_fp_f:wn \s__fp \__fp_chk:w #1#2#3 ; #4 { diff --git a/Master/texmf-dist/tex/latex/l3experimental/l3str/l3tl-analysis.sty b/Master/texmf-dist/tex/latex/l3experimental/l3str/l3tl-analysis.sty index 6d5715f7d48..3d5ca864417 100644 --- a/Master/texmf-dist/tex/latex/l3experimental/l3str/l3tl-analysis.sty +++ b/Master/texmf-dist/tex/latex/l3experimental/l3str/l3tl-analysis.sty @@ -13,7 +13,7 @@ %% %% Do not distribute a modified version of this file. %% -%% File: l3tl-analysis.dtx Copyright (C) 2011-2012,2015 The LaTeX3 Project +%% File: l3tl-analysis.dtx Copyright (C) 2011-2012,2015,2016 The LaTeX3 Project %% %% It may be distributed and/or modified under the conditions of the %% LaTeX Project Public License (LPPL), either version 1.3c of this @@ -46,7 +46,7 @@ %% %% ----------------------------------------------------------------------- \RequirePackage{expl3} -\GetIdInfo$Id: l3tl-analysis.dtx 6244 2015-11-09 13:33:20Z joseph $ +\GetIdInfo$Id: l3tl-analysis.dtx 6443 2016-03-24 10:59:09Z joseph $ {L3 Experimental token lists analysis} \ProvidesExplPackage {\ExplFileName}{\ExplFileDate}{\ExplFileVersion}{\ExplFileDescription} @@ -277,7 +277,7 @@ \exp_not:n { \fi: \fi: \fi: \fi: \fi: \fi: \fi: \fi: } \exp_not:N \__int_value:w `#1 \s__tl \exp_not:N \exp_after:wN \exp_not:N \__tl_analysis_b_normals:ww - \exp_not:N \int_use:N \exp_not:N \__int_eval:w \c_minus_one + + \exp_not:N \__int_value:w \exp_not:N \__int_eval:w \c_minus_one + } \cs_new:Npn \__tl_analysis_b_cs:Nww #1 { @@ -287,7 +287,7 @@ \cs_new:Npn \__tl_analysis_b_cs_test:ww #1 ; #2 ; #3 ; #4 ; { \exp_after:wN \__tl_analysis_b_normals:ww - \int_use:N \__int_eval:w + \__int_value:w \__int_eval:w \if_int_compare:w #1 = \c_zero #3 \else: @@ -295,7 +295,7 @@ \fi: - #2 \exp_after:wN ; - \int_use:N \__int_eval:w #4 + #1 ; + \__int_value:w \__int_eval:w #4 + #1 ; } \group_begin: \char_set_catcode_other:N A @@ -314,9 +314,9 @@ \else: 2 \fi: \if_int_odd:w \etex_gluestretch:D \tex_skip:D #1 \exp_stop_f: - \exp_after:wN \__tl_analysis_b_special_char:wN \int_use:N + \exp_after:wN \__tl_analysis_b_special_char:wN \__int_value:w \else: - \exp_after:wN \__tl_analysis_b_special_space:w \int_use:N + \exp_after:wN \__tl_analysis_b_special_space:w \__int_value:w \fi: \__int_eval:w \c_one + #1 \exp_after:wN ; \token_to_str:N diff --git a/Master/texmf-dist/tex/latex/l3experimental/l3str/l3tl-build.sty b/Master/texmf-dist/tex/latex/l3experimental/l3str/l3tl-build.sty index 7d38e2cc355..c9c22b3fd38 100644 --- a/Master/texmf-dist/tex/latex/l3experimental/l3str/l3tl-build.sty +++ b/Master/texmf-dist/tex/latex/l3experimental/l3str/l3tl-build.sty @@ -45,8 +45,8 @@ %% prior consultation with the LaTeX3 Project. %% %% ----------------------------------------------------------------------- -\RequirePackage{expl3}[2016/01/19] -\@ifpackagelater{expl3}{2016/01/19} +\RequirePackage{expl3}[2016/03/26] +\@ifpackagelater{expl3}{2016/03/26} {} {% \PackageError{l3tl-build}{Support package l3kernel too old} @@ -58,7 +58,7 @@ }% \endinput } -\GetIdInfo$Id: l3tl-build.dtx 6377 2016-01-19 22:28:13Z joseph $ +\GetIdInfo$Id: l3tl-build.dtx 6466 2016-03-26 16:23:41Z joseph $ {L3 Experimental token list construction} \ProvidesExplPackage {\ExplFileName}{\ExplFileDate}{\ExplFileVersion}{\ExplFileDescription} diff --git a/Master/texmf-dist/tex/latex/l3experimental/xgalley/l3galley.sty b/Master/texmf-dist/tex/latex/l3experimental/xgalley/l3galley.sty index f7ee4dc07a3..6f37ce57337 100644 --- a/Master/texmf-dist/tex/latex/l3experimental/xgalley/l3galley.sty +++ b/Master/texmf-dist/tex/latex/l3experimental/xgalley/l3galley.sty @@ -47,8 +47,8 @@ %% %% ----------------------------------------------------------------------- %% -\RequirePackage{expl3}[2016/01/19] -\@ifpackagelater{expl3}{2016/01/19} +\RequirePackage{expl3}[2016/03/26] +\@ifpackagelater{expl3}{2016/03/26} {} {% \PackageError{l3galley}{Support package l3kernel too old} @@ -60,7 +60,7 @@ }% \endinput } -\GetIdInfo$Id: l3galley.dtx 6377 2016-01-19 22:28:13Z joseph $ +\GetIdInfo$Id: l3galley.dtx 6466 2016-03-26 16:23:41Z joseph $ {L3 Experimental galley code} \ProvidesExplPackage {\ExplFileName}{\ExplFileDate}{\ExplFileVersion}{\ExplFileDescription} @@ -554,15 +554,15 @@ \__galley_parshape_set_cutouts: \tl_set:Nx \l__galley_tmp_tl { - \int_use:N \tex_parshape:D + \__int_value:w \tex_parshape:D \int_step_function:nnnN \c_one \c_one \tex_parshape:D \tmp } } \def\tmp#1{% \c_space_tl - \int_use:N \etex_parshapeindent:D #1 \c_space_tl \c_space_tl - \int_use:N \etex_parshapelength:D #1 \c_space_tl + \__int_value:w \etex_parshapeindent:D #1 \c_space_tl \c_space_tl + \__int_value:w \etex_parshapelength:D #1 \c_space_tl } \cs_new_protected_nopar:Npn \__galley_parshape_set_margins: { @@ -864,7 +864,7 @@ } } \cs_new:Npn \__galley_save_display_club_penalties:n #1 - { \int_use:N \etex_clubpenalties:D \__int_eval:w #1 \__int_eval_end: , } + { \__int_value:w \etex_clubpenalties:D \__int_eval:w #1 \__int_eval_end: , } \cs_new_protected:Npn \galley_save_display_widow_penalties:N #1 { \clist_set:Nx #1 @@ -875,7 +875,7 @@ } } \cs_new:Npn \__galley_save_display_widow_penalties:n #1 - { \int_use:N \etex_displaywidowpenalties:D \__int_eval:w #1 \__int_eval_end: , } + { \__int_value:w \etex_displaywidowpenalties:D \__int_eval:w #1 \__int_eval_end: , } \cs_new_protected:Npn \galley_save_widow_penalties:N #1 { \clist_set:Nx #1 @@ -886,9 +886,9 @@ } } \cs_new:Npn \__galley_save_widow_penalties:n #1 - { \int_use:N \etex_widowpenalties:D \__int_eval:w #1 \__int_eval_end: , } + { \__int_value:w \etex_widowpenalties:D \__int_eval:w #1 \__int_eval_end: , } \cs_new_protected_nopar:Npn \galley_interline_penalty: - { \int_use:N \etex_interlinepenalties:D \etex_interlinepenalties:D \c_zero } + { \__int_value:w \etex_interlinepenalties:D \etex_interlinepenalties:D \c_zero } \__msg_kernel_new:nnn { galley } { no-line-to-end } { There's~no~line~here~to~end. } \cs_set_nopar:Npn \clearpage diff --git a/Master/texmf-dist/tex/latex/l3kernel/expl3-code.tex b/Master/texmf-dist/tex/latex/l3kernel/expl3-code.tex index 048905cce52..8f1690fb2cf 100644 --- a/Master/texmf-dist/tex/latex/l3kernel/expl3-code.tex +++ b/Master/texmf-dist/tex/latex/l3kernel/expl3-code.tex @@ -82,8 +82,8 @@ %% ----------------------------------------------------------------------- \def\ExplFileName{expl3}% \def\ExplFileDescription{L3 programming layer}% -\def\ExplFileDate{2016/01/19}% -\def\ExplFileVersion{6377}% +\def\ExplFileDate{2016/03/26}% +\def\ExplFileVersion{6466}% \begingroup \def\next{\endgroup}% \expandafter\ifx\csname PackageError\endcsname\relax @@ -242,7 +242,7 @@ }% }% \endgroup -\GetIdInfo$Id: l3bootstrap.dtx 6339 2016-01-01 09:30:10Z joseph $ +\GetIdInfo$Id: l3bootstrap.dtx 6412 2016-02-12 21:45:29Z joseph $ {L3 Bootstrap code}% \begingroup \expandafter\ifx\csname directlua\endcsname\relax @@ -417,7 +417,7 @@ \tex_endlinechar:D = 32 \scan_stop: \bool_set_true:N \l__kernel_expl_bool } -%% File: l3names.dtx Copyright (C) 1990-2015 The LaTeX3 project +%% File: l3names.dtx Copyright (C) 1990-2016 The LaTeX3 project %% %% It may be distributed and/or modified under the conditions of the %% LaTeX Project Public License (LPPL), either version 1.3c of this @@ -449,7 +449,7 @@ %% prior consultation with the LaTeX3 Project. %% %% ----------------------------------------------------------------------- -\GetIdInfo$Id: l3names.dtx 6328 2015-12-21 12:41:32Z joseph $ +\GetIdInfo$Id: l3names.dtx 6433 2016-03-11 20:04:27Z joseph $ {L3 Namespace for primitives} \let \tex_global:D \global \let \tex_let:D \let @@ -904,6 +904,7 @@ \__kernel_primitive:NN \pdfsetmatrix \pdftex_pdfsetmatrix:D \__kernel_primitive:NN \pdfstartlink \pdftex_pdfstartlink:D \__kernel_primitive:NN \pdfstartthread \pdftex_pdfstartthread:D + \__kernel_primitive:NN \pdfsuppressptexinfo \pdftex_pdfsuppressptexinfo:D \__kernel_primitive:NN \pdfthread \pdftex_pdfthread:D \__kernel_primitive:NN \pdfthreadmargin \pdftex_pdfthreadmargin:D \__kernel_primitive:NN \pdftrailer \pdftex_pdftrailer:D @@ -987,6 +988,7 @@ \__kernel_primitive:NN \XeTeXfindvariationbyname \xetex_findvariationbyname:D \__kernel_primitive:NN \XeTeXfirstfontchar \xetex_firstfontchar:D \__kernel_primitive:NN \XeTeXfonttype \xetex_fonttype:D + \__kernel_primitive:NN \XeTeXgenerateactualtext \xetex_generateactualtext:D \__kernel_primitive:NN \XeTeXglyph \xetex_glyph:D \__kernel_primitive:NN \XeTeXglyphbounds \xetex_glyphbounds:D \__kernel_primitive:NN \XeTeXglyphindex \xetex_glyphindex:D @@ -1028,6 +1030,7 @@ \__kernel_primitive:NN \aligntab \luatex_aligntab:D \__kernel_primitive:NN \attribute \luatex_attribute:D \__kernel_primitive:NN \attributedef \luatex_attributedef:D + \__kernel_primitive:NN \begincsname \luatex_begincsname:D \__kernel_primitive:NN \catcodetable \luatex_catcodetable:D \__kernel_primitive:NN \clearmarks \luatex_clearmarks:D \__kernel_primitive:NN \crampeddisplaystyle \luatex_crampeddisplaystyle:D @@ -1038,7 +1041,10 @@ \__kernel_primitive:NN \dviextension \luatex_dviextension:D \__kernel_primitive:NN \dvifeedback \luatex_dvifeedback:D \__kernel_primitive:NN \dvivariable \luatex_dvivariable:D + \__kernel_primitive:NN \etoksapp \luatex_etoksapp:D + \__kernel_primitive:NN \etokspre \luatex_etokspre:D \__kernel_primitive:NN \expanded \luatex_expanded:D + \__kernel_primitive:NN \firstvalidlanguage \luatex_firstvalidlanguage:D \__kernel_primitive:NN \fontid \luatex_fontid:D \__kernel_primitive:NN \formatname \luatex_formatname:D \__kernel_primitive:NN \hjcode \luatex_hjcode:D @@ -1046,6 +1052,7 @@ \__kernel_primitive:NN \hyphenationmin \luatex_hypenationmin:D \__kernel_primitive:NN \gleaders \luatex_gleaders:D \__kernel_primitive:NN \initcatcodetable \luatex_initcatcodetable:D + \__kernel_primitive:NN \lastnamedcs \luatex_lastnamedcs:D \__kernel_primitive:NN \latelua \luatex_latelua:D \__kernel_primitive:NN \letcharcode \luatex_letcharcode:D \__kernel_primitive:NN \luaescapestring \luatex_luaescapestring:D @@ -1062,7 +1069,7 @@ \__kernel_primitive:NN \nohrule \luatex_nohrule:D \__kernel_primitive:NN \nokerns \luatex_nokerns:D \__kernel_primitive:NN \noligs \luatex_noligs:D - \__kernel_primitive:NN \nospace \luatex_nospace:D + \__kernel_primitive:NN \nospaces \luatex_nospaces:D \__kernel_primitive:NN \novrule \luatex_novrule:D \__kernel_primitive:NN \outputbox \luatex_outputbox:D \__kernel_primitive:NN \pageleftoffset \luatex_pageleftoffset:D @@ -1081,6 +1088,8 @@ \__kernel_primitive:NN \suppresslongerror \luatex_suppresslongerror:D \__kernel_primitive:NN \suppressmathparerror \luatex_suppressmathparerror:D \__kernel_primitive:NN \suppressoutererror \luatex_suppressoutererror:D + \__kernel_primitive:NN \toksapp \luatex_toksapp:D + \__kernel_primitive:NN \tokspre \luatex_tokspre:D \__kernel_primitive:NN \tpack \luatex_tpack:D \__kernel_primitive:NN \vpack \luatex_vpack:D \__kernel_primitive:NN \bodydir \luatex_bodydir:D @@ -1101,6 +1110,8 @@ \__kernel_primitive:NN \copyfont \pdftex_copyfont:D \__kernel_primitive:NN \draftmode \pdftex_draftmode:D \__kernel_primitive:NN \expandglyphsinfont \pdftex_fontexpand:D + \__kernel_primitive:NN \ifabsdim \pdftex_ifabsdim:D + \__kernel_primitive:NN \ifabsnum \pdftex_ifabsnum:D \__kernel_primitive:NN \ignoreligaturesinfont \pdftex_ignoreligaturesinfont:D \__kernel_primitive:NN \insertht \pdftex_insertht:D \__kernel_primitive:NN \lastsavedboxresourceindex \pdftex_pdflastxform:D @@ -1121,6 +1132,7 @@ \__kernel_primitive:NN \saveboxresource \pdftex_pdfxform:D \__kernel_primitive:NN \saveimageresource \pdftex_pdfximage:D \__kernel_primitive:NN \setrandomseed \pdftex_setrandomseed:D + \__kernel_primitive:NN \tracingfonts \pdftex_tracingfonts:D \__kernel_primitive:NN \uniformdeviate \pdftex_uniformdeviate:D \__kernel_primitive:NN \Uchar \utex_char:D \__kernel_primitive:NN \Ucharcat \utex_charcat:D @@ -1316,6 +1328,15 @@ \tex_let:D \tex_input:D \@@input \tex_let:D \tex_italiccorrection:D \@@italiccorr \tex_let:D \tex_underline:D \@@underline + \tex_let:D \pdftex_tracingfonts:D \tex_undefined:D + \etex_ifdefined:D \pdftracingfonts + \tex_let:D \pdftex_tracingfonts:D \pdftracingfonts + \tex_else:D + \etex_ifdefined:D \luatex_directlua:D + \luatex_directlua:D { tex.enableprimitives("@@", {"tracingfonts"}) } + \tex_let:D \pdftex_tracingfonts:D \luatextracingfonts + \tex_fi:D + \tex_fi:D \tex_fi:D \etex_ifdefined:D \luatexsuppressfontnotfounderror \tex_let:D \luatex_alignmark:D \luatexalignmark @@ -2664,7 +2685,7 @@ \exp_after:wN \exp_not:N \cs:w :: #1 \cs_end: \__cs_generate_internal_variant_loop:n } -%% File: l3tl.dtx Copyright (C) 1990-2015 The LaTeX3 Project +%% File: l3tl.dtx Copyright (C) 1990-2016 The LaTeX3 Project %% %% It may be distributed and/or modified under the conditions of the %% LaTeX Project Public License (LPPL), either version 1.3c of this @@ -2696,7 +2717,7 @@ %% prior consultation with the LaTeX3 Project. %% %% ----------------------------------------------------------------------- -\GetIdInfo$Id: l3tl.dtx 6121 2015-09-29 20:31:06Z bruno $ +\GetIdInfo$Id: l3tl.dtx 6465 2016-03-26 16:15:09Z joseph $ {L3 Token lists} \cs_new_protected:Npn \tl_new:N #1 { @@ -2971,10 +2992,6 @@ } } \group_end: -\cs_new_protected:Npn \tl_to_lowercase:n #1 - { \tex_lowercase:D {#1} } -\cs_new_protected:Npn \tl_to_uppercase:n #1 - { \tex_uppercase:D {#1} } \cs_new_protected_nopar:Npn \tl_replace_once:Nnn { \__tl_replace:NnNNNnn \q_mark ? \__tl_replace_wrap:w \tl_set:Nx } \cs_new_protected_nopar:Npn \tl_greplace_once:Nnn @@ -3581,7 +3598,11 @@ \tl_new:N \g_tmpb_tl \tl_new:N \l_tmpa_tl \tl_new:N \l_tmpb_tl -%% File: l3str.dtx Copyright (C) 2011-2015 The LaTeX3 Project +\cs_new_protected:Npn \tl_to_lowercase:n #1 + { \tex_lowercase:D {#1} } +\cs_new_protected:Npn \tl_to_uppercase:n #1 + { \tex_uppercase:D {#1} } +%% File: l3str.dtx Copyright (C) 2011-2016 The LaTeX3 Project %% %% It may be distributed and/or modified under the conditions of the %% LaTeX Project Public License (LPPL), either version 1.3c of this @@ -3613,7 +3634,7 @@ %% prior consultation with the LaTeX3 Project. %% %% ----------------------------------------------------------------------- -\GetIdInfo$Id: l3str.dtx 6357 2016-01-03 08:42:55Z joseph $ +\GetIdInfo$Id: l3str.dtx 6441 2016-03-24 10:11:59Z joseph $ {L3 Strings} \group_begin: \cs_set_protected:Npn \__str_tmp:n #1 @@ -3821,7 +3842,7 @@ \cs_new:Npn \__str_item:nn #1#2 { \exp_after:wN \__str_item:w - \int_use:N \__int_eval:w #2 \exp_after:wN ; + \__int_value:w \__int_eval:w #2 \exp_after:wN ; \__int_value:w \__str_count:n {#1} ; #1 \q_stop } @@ -3834,7 +3855,7 @@ { \exp_after:wN \use_i_delimit_by_q_stop:nw \exp:w \exp_after:wN \__str_skip_exp_end:w - \int_use:N \__int_eval:w #1 + #2 ; + \__int_value:w \__int_eval:w #1 + #2 ; } } { @@ -3852,12 +3873,12 @@ \exp_after:wN \__str_skip_loop:wNNNNNNNN \else: \exp_after:wN \__str_skip_end:w - \int_use:N \__int_eval:w + \__int_value:w \__int_eval:w \fi: #1 ; } \cs_new:Npn \__str_skip_loop:wNNNNNNNN #1; #2#3#4#5#6#7#8#9 - { \exp_after:wN \__str_skip_exp_end:w \int_use:N \__int_eval:w #1 - \c_eight ; } + { \exp_after:wN \__str_skip_exp_end:w \__int_value:w \__int_eval:w #1 - \c_eight ; } \cs_new:Npn \__str_skip_end:w #1 ; { \exp_after:wN \__str_skip_end:NNNNNNNN @@ -3880,8 +3901,8 @@ { \exp_after:wN \__str_range:w \__int_value:w \__str_count:n {#1} \exp_after:wN ; - \int_use:N \__int_eval:w #2 - \c_one \exp_after:wN ; - \int_use:N \__int_eval:w #3 ; + \__int_value:w \__int_eval:w #2 - \c_one \exp_after:wN ; + \__int_value:w \__int_eval:w #3 ; #1 \q_stop } \cs_new:Npn \__str_range:w #1; #2; #3; @@ -3893,7 +3914,7 @@ \cs_new:Npn \__str_range:nnw #1#2 { \exp_after:wN \__str_collect_delimit_by_q_stop:w - \int_use:N \__int_eval:w #2 - #1 \exp_after:wN ; + \__int_value:w \__int_eval:w #2 - #1 \exp_after:wN ; \exp:w \__str_skip_exp_end:w #1 ; } \cs_new:Npn \__str_range_normalize:nn #1#2 @@ -3929,7 +3950,7 @@ \cs_new:Npn \__str_collect_loop:wnNNNNNNN #1; #2 #3#4#5#6#7#8#9 { \exp_after:wN \__str_collect_loop:wn - \int_use:N \__int_eval:w #1 - \c_seven ; + \__int_value:w \__int_eval:w #1 - \c_seven ; { #2 #3#4#5#6#7#8#9 } } \cs_new:Npn \__str_collect_end:wn #1 ; @@ -4042,7 +4063,12 @@ \cs_new:Npn \__str_change_case_aux:nn #1#2 { \__str_change_case_loop:nw {#2} #1 \q_recursion_tail \q_recursion_stop + \__str_change_case_result:n { } } +\cs_new:Npn \__str_change_case_output:nw #1#2 \__str_change_case_result:n #3 + { #2 \__str_change_case_result:n { #3 #1 } } +\cs_generate_variant:Nn \__str_change_case_output:nw { f } +\cs_new:Npn \__str_change_case_end:wn #1 \__str_change_case_result:n #2 { #2 } \cs_new:Npn \__str_change_case_loop:nw #1#2 \q_recursion_stop { \tl_if_head_is_space:nTF {#2} @@ -4053,14 +4079,18 @@ \use:x { \cs_new:Npn \exp_not:N \__str_change_case_space:n ##1 \c_space_tl } { - \c_space_tl + \__str_change_case_output:nw { ~ } \__str_change_case_loop:nw {#1} } \cs_new:Npn \__str_change_case_char:nN #1#2 { - \quark_if_recursion_tail_stop:N #2 + \quark_if_recursion_tail_stop_do:Nn #2 + { \__str_change_case_end:wn } \cs_if_exist:cTF { c__unicode_ #1 _ #2 _tl } - { \tl_to_str:c { c__unicode_ #1 _ #2 _tl } } + { + \__str_change_case_output:fw + { \tl_to_str:c { c__unicode_ #1 _ #2 _tl } } + } { \__str_change_case_char_aux:nN {#1} #2 } \__str_change_case_loop:nw {#1} } @@ -4069,17 +4099,19 @@ \cs_new:Npn \__str_change_case_char_aux:nN #1#2 { \int_compare:nNnTF { \use:c { __str_lookup_ #1 :N } #2 } = { 0 } - { #2 } + { \__str_change_case_output:nw {#2} } { - \utex_char:D \use:c { __str_lookup_ #1 :N } #2 ~ + \__str_change_case_output:fw + { \utex_char:D \use:c { __str_lookup_ #1 :N } #2 ~ } } } - \cs_new_protected:Npn \__str_lookup_lower:N #1 { \tex_lccode:D `#1 } - \cs_new_protected:Npn \__str_lookup_upper:N #1 { \tex_uccode:D `#1 } - \cs_new_eq:NN \__str_lookup_fold:N \__str_lookup_lower:N + \cs_set_protected:Npn \__str_lookup_lower:N #1 { \tex_lccode:D `#1 } + \cs_set_protected:Npn \__str_lookup_upper:N #1 { \tex_uccode:D `#1 } + \cs_set_eq:NN \__str_lookup_fold:N \__str_lookup_lower:N } { - \cs_new:Npn \__str_change_case_char_aux:nN #1#2 { #2 } + \cs_new:Npn \__str_change_case_char_aux:nN #1#2 + { \__str_change_case_output:nw {#2} } } \str_const:Nx \c_ampersand_str { \cs_to_str:N \& } \str_const:Nx \c_atsign_str { \cs_to_str:N \@ } @@ -4821,7 +4853,7 @@ %% prior consultation with the LaTeX3 Project. %% %% ----------------------------------------------------------------------- -\GetIdInfo$Id: l3int.dtx 6366 2016-01-05 22:18:59Z joseph $ +\GetIdInfo$Id: l3int.dtx 6441 2016-03-24 10:11:59Z joseph $ {L3 Integers} \cs_new_eq:NN \__int_value:w \tex_number:D \cs_new_eq:NN \__int_eval:w \etex_numexpr:D @@ -4833,7 +4865,7 @@ \cs_new:Npn \int_abs:n #1 { \__int_value:w \exp_after:wN \__int_abs:N - \int_use:N \__int_eval:w #1 \__int_eval_end: + \__int_value:w \__int_eval:w #1 \__int_eval_end: \exp_stop_f: } \cs_new:Npn \__int_abs:N #1 @@ -4841,16 +4873,16 @@ \cs_set:Npn \int_max:nn #1#2 { \__int_value:w \exp_after:wN \__int_maxmin:wwN - \int_use:N \__int_eval:w #1 \exp_after:wN ; - \int_use:N \__int_eval:w #2 ; + \__int_value:w \__int_eval:w #1 \exp_after:wN ; + \__int_value:w \__int_eval:w #2 ; > \exp_stop_f: } \cs_set:Npn \int_min:nn #1#2 { \__int_value:w \exp_after:wN \__int_maxmin:wwN - \int_use:N \__int_eval:w #1 \exp_after:wN ; - \int_use:N \__int_eval:w #2 ; + \__int_value:w \__int_eval:w #1 \exp_after:wN ; + \__int_value:w \__int_eval:w #2 ; < \exp_stop_f: } @@ -4864,10 +4896,10 @@ } \cs_new:Npn \int_div_truncate:nn #1#2 { - \int_use:N \__int_eval:w + \__int_value:w \__int_eval:w \exp_after:wN \__int_div_truncate:NwNw - \int_use:N \__int_eval:w #1 \exp_after:wN ; - \int_use:N \__int_eval:w #2 ; + \__int_value:w \__int_eval:w #1 \exp_after:wN ; + \__int_value:w \__int_eval:w #2 ; \__int_eval_end: } \cs_new:Npn \__int_div_truncate:NwNw #1#2; #3#4; @@ -5003,7 +5035,7 @@ \prg_new_conditional:Npnn \int_compare:n #1 { p , T , F , TF } { \exp_after:wN \__int_compare:w - \int_use:N \__int_eval:w #1 \__prg_compare_error: + \__int_value:w \__int_eval:w #1 \__prg_compare_error: } \cs_new:Npn \__int_compare:w #1 \__prg_compare_error: { @@ -5165,9 +5197,9 @@ \cs_new:Npn \int_step_function:nnnN #1#2#3 { \exp_after:wN \__int_step:wwwN - \int_use:N \__int_eval:w #1 \exp_after:wN ; - \int_use:N \__int_eval:w #2 \exp_after:wN ; - \int_use:N \__int_eval:w #3 ; + \__int_value:w \__int_eval:w #1 \exp_after:wN ; + \__int_value:w \__int_eval:w #2 \exp_after:wN ; + \__int_value:w \__int_eval:w #3 ; } \cs_new:Npn \__int_step:wwwN #1; #2; #3; #4 { @@ -6648,7 +6680,7 @@ \clist_new:N \l_tmpb_clist \clist_new:N \g_tmpa_clist \clist_new:N \g_tmpb_clist -%% File: l3token.dtx Copyright (C) 2005-2015 The LaTeX3 Project +%% File: l3token.dtx Copyright (C) 2005-2016 The LaTeX3 Project %% %% It may be distributed and/or modified under the conditions of the %% LaTeX Project Public License (LPPL), either version 1.3c of this @@ -6680,7 +6712,7 @@ %% prior consultation with the LaTeX3 Project. %% %% ----------------------------------------------------------------------- -\GetIdInfo$Id: l3token.dtx 6249 2015-11-11 08:40:42Z joseph $ +\GetIdInfo$Id: l3token.dtx 6465 2016-03-26 16:15:09Z joseph $ {L3 Experimental token manipulation} \cs_new_protected:Npn \char_set_catcode:nn #1#2 { @@ -6797,6 +6829,157 @@ \seq_new:N \l_char_active_seq \seq_set_split:Nnn \l_char_special_seq { } { \" \$ \& \^ \_ \~ } +\group_begin: + \char_set_catcode_active:N \^^@ + \cs_set_protected:Npn \__char_tmp:nN #1#2 + { + \cs_new_protected:cpn { #1 :nN } ##1 + { + \group_begin: + \char_set_catcode_active:n { ##1 } + \char_set_lccode:nn { `\^^@ } { ##1 } + \tex_lowercase:D { \group_end: #2 ^^@ } + } + \cs_new_protected:cpx { #1 :NN } ##1 + { \exp_not:c { #1 : nN } { `##1 } } + } + \__char_tmp:nN { char_set_active_eq } \cs_set_eq:NN + \__char_tmp:nN { char_gset_active_eq } \cs_gset_eq:NN +\group_end: +\cs_generate_variant:Nn \char_set_active_eq:NN { Nc } +\cs_generate_variant:Nn \char_gset_active_eq:NN { Nc } +\cs_generate_variant:Nn \char_set_active_eq:nN { nc } +\cs_generate_variant:Nn \char_gset_active_eq:nN { nc } +\cs_new:Npn \char_generate:nn #1#2 + { + \exp:w \exp_after:wN \__char_generate_aux:w + \__int_value:w \__int_eval:w #1 \exp_after:wN ; + \__int_value:w \__int_eval:w #2 ; + } +\cs_new:Npn \__char_generate:nn #1#2 + { + \exp:w \exp_after:wN + \__char_generate_aux:nnw \exp_after:wN + { \__int_value:w \__int_eval:w #1 \exp_after:wN } + {#2} \exp_end: + } +\cs_new:Npn \__char_generate_aux:w #1 ; #2 ; + { + \if_int_compare:w #2 = \c_thirteen + \__msg_kernel_expandable_error:nn { kernel } { char-active } + \else: + \if_int_compare:w #2 = \c_ten + \if_int_compare:w #1 = \c_zero + \__msg_kernel_expandable_error:nn { kernel } { char-null-space } + \else: + \__msg_kernel_expandable_error:nn { kernel } { char-space } + \fi: + \else: + \if_int_odd:w 0 + \if_int_compare:w #2 < \c_one 1 \fi: + \if_int_compare:w #2 = \c_five 1 \fi: + \if_int_compare:w #2 = \c_nine 1 \fi: + \if_int_compare:w #2 > \c_thirteen 1 \fi: \exp_stop_f: + \__msg_kernel_expandable_error:nn { kernel } + { char-invalid-catcode } + \else: + \if_int_odd:w 0 + \if_int_compare:w #1 < \c_zero 1 \fi: + \if_int_compare:w #1 > \c__char_max_int 1 \fi: \exp_stop_f: + \__msg_kernel_expandable_error:nn { kernel } + { char-out-of-range } + \else: + \__char_generate_aux:nnw {#1} {#2} + \fi: + \fi: + \fi: + \fi: + \exp_end: + } +\tl_new:N \l__char_tmp_tl +\group_begin: + \char_set_catcode_active:N \^^L + \cs_set_nopar:Npn ^^L { } + \char_set_catcode_other:n { 0 } + \if_int_odd:w 0 + \cs_if_exist:NT \luatex_directlua:D { 1 } + \cs_if_exist:NT \utex_charcat:D { 1 } \exp_stop_f: + \int_const:Nn \c__char_max_int { 1114111 } + \cs_if_exist:NTF \luatex_directlua:D + { + \cs_new:Npn \__char_generate_aux:nnw #1#2#3 \exp_end: + { + #3 + \exp_after:wN \exp_end: + \luatex_directlua:D { l3kernel.charcat(#1, #2) } + } + } + { + \cs_new:Npn \__char_generate_aux:nnw #1#2#3 \exp_end: + { + #3 + \exp_after:wN \exp_end: + \utex_charcat:D #1 ~ #2 ~ + } + } + \else: + \int_const:Nn \c__char_max_int { 255 } + \tl_set:Nn \l__char_tmp_tl { \exp_not:N \or: } + \char_set_catcode_group_begin:n { 0 } % { + \tl_put_right:Nn \l__char_tmp_tl { ^^@ \if_false: } } + \char_set_catcode_group_end:n { 0 } + \tl_put_right:Nn \l__char_tmp_tl { { \fi: \exp_not:N \or: ^^@ } % } + \tl_set:Nx \l__char_tmp_tl { \l__char_tmp_tl } + \char_set_catcode_math_toggle:n { 0 } + \tl_put_right:Nn \l__char_tmp_tl { \or: ^^@ } + \char_set_catcode_alignment:n { 0 } + \tl_put_right:Nn \l__char_tmp_tl { \or: ^^@ } + \tl_put_right:Nn \l__char_tmp_tl { \or: } + \char_set_catcode_parameter:n { 0 } + \tl_put_right:Nn \l__char_tmp_tl { \or: ^^@ } + \char_set_catcode_math_superscript:n { 0 } + \tl_put_right:Nn \l__char_tmp_tl { \or: ^^@ } + \char_set_catcode_math_subscript:n { 0 } + \tl_put_right:Nn \l__char_tmp_tl { \or: ^^@ } + \tl_put_right:Nn \l__char_tmp_tl { \or: } + \char_set_catcode_space:n { 0 } + \tl_put_right:No \l__char_tmp_tl { \use:n { \or: } ^^@ } + \char_set_catcode_letter:n { 0 } + \tl_put_right:Nn \l__char_tmp_tl { \or: ^^@ } + \char_set_catcode_other:n { 0 } + \tl_put_right:Nn \l__char_tmp_tl { \or: ^^@ } + \char_set_catcode_active:n { 0 } + \tl_put_right:Nn \l__char_tmp_tl { \or: ^^@ } + \cs_set_protected:Npn \__char_tmp:n #1 + { + \char_set_lccode:nn { 0 } {#1} + \char_set_lccode:nn { 32 } {#1} + \exp_args:Nx \tex_lowercase:D + { + \tl_const:Nn + \exp_not:c { c__char_ \__int_to_roman:w #1 _tl } + { \exp_not:o \l__char_tmp_tl } + } + } + \int_step_function:nnnN { 0 } { 1 } { 11 } \__char_tmp:n + \group_begin: + \tl_replace_once:Nnn \l__char_tmp_tl { ^^@ } { \ERROR } + \__char_tmp:n { 12 } + \group_end: + \int_step_function:nnnN { 13 } { 1 } { 255 } \__char_tmp:n + \cs_new:Npn \__char_generate_aux:nnw #1#2#3 \exp_end: + { + #3 + \exp_after:wN \exp_after:wN + \exp_after:wN \exp_end: + \exp_after:wN \exp_after:wN + \if_case:w #2 + \exp_last_unbraced:Nv \exp_stop_f: + { c__char_ \__int_to_roman:w #1 _tl } + \fi: + } + \fi: +\group_end: \cs_new_protected:Npn \token_new:Nn #1#2 { \cs_new_eq:NN #1 #2 } \group_begin: \__chk_if_free_cs:N \c_group_begin_token @@ -7563,7 +7746,7 @@ { \prop_map_function:NN #1 \__msg_show_item:nn } } \cs_generate_variant:Nn \prop_show:N { c } -%% File: l3msg.dtx Copyright (C) 2009-2015 The LaTeX3 Project +%% File: l3msg.dtx Copyright (C) 2009-2016 The LaTeX3 Project %% %% It may be distributed and/or modified under the conditions of the %% LaTeX Project Public License (LPPL), either version 1.3c of this @@ -7595,7 +7778,7 @@ %% prior consultation with the LaTeX3 Project. %% %% ----------------------------------------------------------------------- -\GetIdInfo$Id: l3msg.dtx 6113 2015-09-28 21:30:11Z bruno $ +\GetIdInfo$Id: l3msg.dtx 6464 2016-03-26 13:03:37Z bruno $ {L3 Messages} \tl_new:N \l__msg_internal_tl \tl_const:Nn \c__msg_text_prefix_tl { msg~text~>~ } @@ -8072,7 +8255,7 @@ { Message~'#2'~for~module~'#1'~already~defined. } { \c__msg_coding_error_text_tl - LaTeX~was~asked~to~define~a~new~message~called~'#2'\ + LaTeX~was~asked~to~define~a~new~message~called~'#2'\\ by~the~module~'#1':~this~message~already~exists. \c__msg_return_text_tl } @@ -8110,6 +8293,16 @@ #2~arguments.~ TeX~allows~between~0~and~9~arguments~for~a~single~function. } +\__msg_kernel_new:nnn { kernel } { char-active } + { Cannot~generate~active~chars. } +\__msg_kernel_new:nnn { kernel } { char-invalid-catcode } + { Invalid~catcode~for~char~generation. } +\__msg_kernel_new:nnn { kernel } { char-null-space } + { Cannot~generate~null~char~as~a~space. } +\__msg_kernel_new:nnn { kernel } { char-out-of-range } + { Charcode~requested~out~of~engine~range. } +\__msg_kernel_new:nnn { kernel } { char-space } + { Cannot~generate~space~chars. } \__msg_kernel_new:nnnn { kernel } { command-already-defined } { Control~sequence~#1~already~defined. } { @@ -8136,7 +8329,7 @@ \__msg_kernel_new:nnnn { kernel } { out-of-registers } { No~room~for~a~new~#1. } { - TeX~only~supports~\int_use:N \c_max_register_int \ + TeX~only~supports~\int_use:N \c_max_register_int \ % of~each~type.~All~the~#1~registers~have~been~used.~ This~run~will~be~aborted~now. } @@ -8253,7 +8446,6 @@ \group_begin: \cs_set_protected:Npn \__msg_tmp:w #1#2 { - \group_end: \cs_new:Npn \__msg_expandable_error:n ##1 { \exp:w @@ -8261,15 +8453,13 @@ \exp_after:wN \__msg_expandable_error:w \exp_after:wN \exp_after:wN \exp_after:wN \exp_end: - \use:n { #2 #1 ##1 } #1 + \use:n { #1 #2 ##1 } #2 } - \cs_new:Npn \__msg_expandable_error:w ##1 #1 ##2 #1 {##1} + \cs_new:Npn \__msg_expandable_error:w ##1 #2 ##2 #2 {##1} } -\group_begin: -\char_set_catcode_math_superscript:N \^ -\char_set_lccode:nn { `^ } { `\ } -\tex_lowercase:D - { \group_end: \exp_args:NNc \__msg_tmp:w ^ } { LaTeX3~error: } +\exp_args:Ncx \__msg_tmp:w { LaTeX3~error: } + { \char_generate:nn { `\ } { 7 } } +\group_end: \cs_new:Npn \__msg_kernel_expandable_error:nnnnnn #1#2#3#4#5#6 { \exp_args:Nf \__msg_expandable_error:n @@ -8379,7 +8569,7 @@ \\ > \ \ \tl_to_str:n {#1} \ \ => \ \ \tl_to_str:n {#2} } -%% File: l3file.dtx Copyright (C) 1990-2015 The LaTeX3 Project +%% File: l3file.dtx Copyright (C) 1990-2016 The LaTeX3 Project %% %% It may be distributed and/or modified under the conditions of the %% LaTeX Project Public License (LPPL), either version 1.3c of this @@ -8411,7 +8601,7 @@ %% prior consultation with the LaTeX3 Project. %% %% ----------------------------------------------------------------------- -\GetIdInfo$Id: l3file.dtx 6317 2015-12-03 16:25:17Z joseph $ +\GetIdInfo$Id: l3file.dtx 6458 2016-03-25 21:19:04Z joseph $ {L3 File and I/O operations} \tl_new:N \g_file_current_name_tl \cs_if_exist:NT \@currname @@ -8790,11 +8980,7 @@ \tl_new:N \l__iow_wrap_tl \tl_new:N \l__iow_newline_tl \bool_new:N \l__iow_line_start_bool -\group_begin: - \char_set_catcode_other:N \* - \char_set_lccode:nn {`\*} {`\ } - \tex_lowercase:D { \tl_const:Nn \c_catcode_other_space_tl { * } } -\group_end: +\tl_const:Nx \c_catcode_other_space_tl { \char_generate:nn { `\ } { 12 } } \group_begin: \int_set_eq:NN \tex_escapechar:D \c_minus_one \tl_const:Nx \c__iow_wrap_marker_tl @@ -10303,7 +10489,7 @@ { \__keys_value_requirement:nn { forbidden } { true } } \cs_new_protected_nopar:cpn { \c__keys_props_root_tl .value_required: } { \__keys_value_requirement:nn { required } { true } } -%% File: l3fp.dtx Copyright (C) 2011-2015 The LaTeX3 Project +%% File: l3fp.dtx Copyright (C) 2011-2016 The LaTeX3 Project %% %% It may be distributed and/or modified under the conditions of the %% LaTeX Project Public License (LPPL), either version 1.3c of this @@ -10336,9 +10522,9 @@ %% %% ----------------------------------------------------------------------- %% -\GetIdInfo$Id: l3fp.dtx 5890 2015-08-25 07:47:22Z joseph $ +\GetIdInfo$Id: l3fp.dtx 6465 2016-03-26 16:15:09Z joseph $ {L3 Floating points} -%% File: l3fp-aux.dtx Copyright(C) 2011-2014 The LaTeX3 Project +%% File: l3fp-aux.dtx Copyright(C) 2011-2014,2016 The LaTeX3 Project %% %% It may be distributed and/or modified under the conditions of the %% LaTeX Project Public License (LPPL), either version 1.3c of this @@ -10621,7 +10807,7 @@ } \cs_new:Npn \__fp_array_count:n #1 { - \int_use:N \__int_eval:w \c_zero + \__int_value:w \__int_eval:w \c_zero \__fp_array_count_loop:Nw #1 { ? \__prg_break: } ; \__prg_break_point: \__int_eval_end: @@ -10862,7 +11048,7 @@ { Invalid~operation~ #1 (#2) } \__msg_kernel_new:nnn { kernel } { fp-invalid-ii } { Invalid~operation~ (#1) #3 (#2) } -%% File: l3fp-round.dtx Copyright(C) 2011-2012,2014,2015 The LaTeX3 Project +%% File: l3fp-round.dtx Copyright(C) 2011-2012,2014-2016 The LaTeX3 Project %% %% It may be distributed and/or modified under the conditions of the %% LaTeX Project Public License (LPPL), either version 1.3c of this @@ -10968,7 +11154,7 @@ \exp_after:wN \__fp_round:NNN \exp_after:wN #1 \exp_after:wN #2 - \int_use:N \__int_eval:w + \__int_value:w \__int_eval:w \if_int_odd:w 0 \if_meaning:w 0 #3 1 \fi: \if_meaning:w 5 #3 1 \fi: \exp_stop_f: @@ -11085,11 +11271,11 @@ \cs_new:Npn \__fp_round_normal:NnnwNNnn #1#2#3#4; #5#6 { \exp_after:wN \__fp_round_normal:NNwNnn - \int_use:N \__int_eval:w + \__int_value:w \__int_eval:w \if_int_compare:w #2 > \c_zero 1 \__int_value:w #2 \exp_after:wN \__fp_round_pack:Nw - \int_use:N \__int_eval:w 1#3 + + \__int_value:w \__int_eval:w 1#3 + \else: \if_int_compare:w #3 > \c_zero 1 \__int_value:w #3 + @@ -11128,7 +11314,7 @@ \else: \exp_after:wN \__fp_round_special_aux:Nw \exp_after:wN #4 - \int_use:N \__int_eval:w \c_one + \__int_value:w \__int_eval:w \c_one \if_meaning:w 1 #1 -#6 \else: +#5 \fi: \fi: ; @@ -11138,7 +11324,7 @@ \exp_after:wN \__fp_exp_after_o:w \exp:w \exp_end_continue_f:w \__fp_sanitize:Nw #1#2; {1000}{0000}{0000}{0000}; } -%% File: l3fp-parse.dtx Copyright (C) 2011-2015 The LaTeX3 Project +%% File: l3fp-parse.dtx Copyright (C) 2011-2016 The LaTeX3 Project %% %% It may be distributed and/or modified under the conditions of the %% LaTeX Project Public License (LPPL), either version 1.3c of this @@ -11312,7 +11498,7 @@ \exp_after:wN #1 \exp:w \exp_end_continue_f:w \exp_after:wN \__fp_sanitize:wN - \int_use:N \__int_eval:w \c_zero \__fp_parse_trim_zeros:N + \__int_value:w \__int_eval:w \c_zero \__fp_parse_trim_zeros:N } \cs_new:Npn \__fp_parse_one_other:NN #1 #2 { @@ -11445,7 +11631,7 @@ \cs_new:Npn \__fp_parse_small:N #1 { \exp_after:wN \__fp_parse_pack_leading:NNNNNww - \int_use:N \__int_eval:w 1 \token_to_str:N #1 + \__int_value:w \__int_eval:w 1 \token_to_str:N #1 \exp_after:wN \__fp_parse_small_leading:wwNN \__int_value:w 1 \exp_after:wN \__fp_parse_digits_vii:N @@ -11456,7 +11642,7 @@ #1 #2 \exp_after:wN \__fp_parse_pack_trailing:NNNNNNww \exp_after:wN \c_zero - \int_use:N \__int_eval:w 1 + \__int_value:w \__int_eval:w 1 \if_int_compare:w \c_nine < 1 \token_to_str:N #4 \exp_stop_f: \token_to_str:N #4 \exp_after:wN \__fp_parse_small_trailing:wwNN @@ -11505,7 +11691,7 @@ { + \c_eight - #3 \exp_after:wN \__fp_parse_pack_leading:NNNNNww - \int_use:N \__int_eval:w 1 #1 + \__int_value:w \__int_eval:w 1 #1 \if_int_compare:w \c_nine < 1 \token_to_str:N #4 \exp_stop_f: \exp_after:wN \__fp_parse_large_trailing:wwNN \__int_value:w 1 \token_to_str:N #4 @@ -11536,14 +11722,14 @@ \if_int_compare:w \c_nine < 1 \token_to_str:N #4 \exp_stop_f: \exp_after:wN \__fp_parse_pack_trailing:NNNNNNww \exp_after:wN \c_eight - \int_use:N \__int_eval:w 1 #1 \token_to_str:N #4 + \__int_value:w \__int_eval:w 1 #1 \token_to_str:N #4 \exp_after:wN \__fp_parse_large_round:NN \exp_after:wN #4 \exp:w \else: \exp_after:wN \__fp_parse_pack_trailing:NNNNNNww - \int_use:N \__int_eval:w \c_seven - #3 \exp_stop_f: - \int_use:N \__int_eval:w 1 #1 + \__int_value:w \__int_eval:w \c_seven - #3 \exp_stop_f: + \__int_value:w \__int_eval:w 1 #1 \if:w . \exp_not:N #4 \exp_after:wN \__fp_parse_small_trailing:wwNN \__int_value:w 1 @@ -11589,7 +11775,7 @@ \cs_new:Npn \__fp_parse_round_after:wN #1; #2 { + #2 \exp_after:wN ; - \int_use:N \__int_eval:w #1 + \__fp_parse_exponent:N + \__int_value:w \__int_eval:w #1 + \__fp_parse_exponent:N } \cs_new:Npn \__fp_parse_small_round:NN #1#2 { @@ -11599,9 +11785,9 @@ \exp_after:wN 0 \exp_after:wN #1 \exp_after:wN #2 - \int_use:N \__int_eval:w + \__int_value:w \__int_eval:w \exp_after:wN \__fp_parse_round_after:wN - \int_use:N \__int_eval:w \c_zero * \__int_eval:w \c_zero + \__int_value:w \__int_eval:w \c_zero * \__int_eval:w \c_zero \exp_after:wN \__fp_parse_round_loop:N \exp:w \else: @@ -11617,9 +11803,9 @@ \exp_after:wN 0 \exp_after:wN #1 \exp_after:wN #2 - \int_use:N \__int_eval:w + \__int_value:w \__int_eval:w \exp_after:wN \__fp_parse_large_round_aux:wNN - \int_use:N \__int_eval:w \c_one + \__int_value:w \__int_eval:w \c_one \exp_after:wN \__fp_parse_round_loop:N \else: %^^A could be dot, or e, or other \exp_after:wN \__fp_parse_large_round_test:NN @@ -11642,7 +11828,7 @@ { + #2 \exp_after:wN \__fp_parse_round_after:wN - \int_use:N \__int_eval:w #1 + \__int_value:w \__int_eval:w #1 \if:w . \exp_not:N #3 + \c_zero * \__int_eval:w \c_zero \exp_after:wN \__fp_parse_round_loop:N @@ -11781,7 +11967,7 @@ \exp_after:wN #1 \exp:w \exp_end_continue_f:w \exp_after:wN \__fp_sanitize:wN - \int_use:N \__int_eval:w \c_zero \__fp_parse_strim_zeros:N + \__int_value:w \__int_eval:w \c_zero \__fp_parse_strim_zeros:N } \group_begin: \char_set_catcode_letter:N ( @@ -12678,7 +12864,7 @@ \__fp_exp_after_array_f:w #3 \s__fp_stop #4 #1 } -%% File: l3fp-basics.dtx Copyright (C) 2011-2014 The LaTeX3 Project +%% File: l3fp-basics.dtx Copyright (C) 2011-2014,2016 The LaTeX3 Project %% %% It may be distributed and/or modified under the conditions of the %% LaTeX Project Public License (LPPL), either version 1.3c of this @@ -12805,7 +12991,7 @@ { \exp_after:wN \__fp_sanitize:Nw \exp_after:wN #1 - \int_use:N \__int_eval:w + \__int_value:w \__int_eval:w \if_int_compare:w #2 > #5 \exp_stop_f: #2 \exp_after:wN \__fp_add_big_i_o:wNww \__int_value:w - @@ -12834,9 +13020,9 @@ \cs_new:Npn \__fp_add_significand_o:NnnwnnnnN #1 #2#3 #4; #5#6#7#8 { \exp_after:wN \__fp_add_significand_test_o:N - \int_use:N \__int_eval:w 1#5#6 + #2 + \__int_value:w \__int_eval:w 1#5#6 + #2 \exp_after:wN \__fp_add_significand_pack:NNNNNNN - \int_use:N \__int_eval:w 1#7#8 + #3 ; #1 + \__int_value:w \__int_eval:w 1#7#8 + #3 ; #1 } \cs_new:Npn \__fp_add_significand_pack:NNNNNNN #1 #2#3#4#5#6#7 { @@ -12857,9 +13043,9 @@ #1; #2; #3#4 ; #5#6 { \exp_after:wN \__fp_basics_pack_high:NNNNNw - \int_use:N \__int_eval:w 1 #1 + \__int_value:w \__int_eval:w 1 #1 \exp_after:wN \__fp_basics_pack_low:NNNNNw - \int_use:N \__int_eval:w 1 #2 #3#4 + \__int_value:w \__int_eval:w 1 #2 #3#4 + \__fp_round:NNN #6 #4 #5 \exp_after:wN ; } @@ -12868,9 +13054,9 @@ { + \c_one \exp_after:wN \__fp_basics_pack_weird_high:NNNNNNNNw - \int_use:N \__int_eval:w 1 1 #1 + \__int_value:w \__int_eval:w 1 1 #1 \exp_after:wN \__fp_basics_pack_weird_low:NNNNw - \int_use:N \__int_eval:w 1 #2#3 + + \__int_value:w \__int_eval:w 1 #2#3 + \exp_after:wN \__fp_round:NNN \exp_after:wN #6 \exp_after:wN #3 @@ -12892,20 +13078,20 @@ \cs_new:Npn \__fp_sub_npos_ii_o:Nnwnw #1 #2; #3; { \exp_after:wN \__fp_sub_npos_i_o:Nnwnw - \int_use:N \__int_eval:w \c_two - #1 \__int_eval_end: + \__int_value:w \__int_eval:w \c_two - #1 \__int_eval_end: #3; #2; } \cs_new:Npn \__fp_sub_npos_i_o:Nnwnw #1 #2#3; #4#5; { \exp_after:wN \__fp_sanitize:Nw \exp_after:wN #1 - \int_use:N \__int_eval:w + \__int_value:w \__int_eval:w #2 \if_int_compare:w #2 = #4 \exp_stop_f: \exp_after:wN \__fp_sub_back_near_o:nnnnnnnnN \else: \exp_after:wN \__fp_decimate:nNnnnn \exp_after:wN - { \int_use:N \__int_eval:w #2 - #4 - \c_one \exp_after:wN } + { \__int_value:w \__int_eval:w #2 - #4 - \c_one \exp_after:wN } \exp_after:wN \__fp_sub_back_far_o:NnnwnnnnN \fi: #5 @@ -12915,9 +13101,9 @@ \cs_new:Npn \__fp_sub_back_near_o:nnnnnnnnN #1#2#3#4 #5#6#7#8 #9 { \exp_after:wN \__fp_sub_back_near_after:wNNNNw - \int_use:N \__int_eval:w 10#5#6 - #1#2 - \c_eleven + \__int_value:w \__int_eval:w 10#5#6 - #1#2 - \c_eleven \exp_after:wN \__fp_sub_back_near_pack:NNNNNNw - \int_use:N \__int_eval:w 11#7#8 - #3#4 \exp_after:wN ; + \__int_value:w \__int_eval:w 11#7#8 - #3#4 \exp_after:wN ; } \cs_new:Npn \__fp_sub_back_near_pack:NNNNNNw #1#2#3#4#5#6#7 ; { + #1#2 ; {#3#4#5#6} {#7} ; } @@ -12990,9 +13176,9 @@ { - \c_one \exp_after:wN \__fp_sub_back_near_after:wNNNNw - \int_use:N \__int_eval:w 1#30 - #1 - \c_eleven + \__int_value:w \__int_eval:w 1#30 - #1 - \c_eleven \exp_after:wN \__fp_sub_back_near_pack:NNNNNNw - \int_use:N \__int_eval:w 11 0000 0000 + #40 - #2 + \__int_value:w \__int_eval:w 11 0000 0000 + #40 - #2 - \exp_after:wN \__fp_round_neg:NNN \exp_after:wN #6 \use_none:nnnnnnn #2 #5 @@ -13008,9 +13194,9 @@ \cs_new:Npn \__fp_sub_back_very_far_ii_o:nnNwwNN #1#2 ; #3 ; #4 ~ #5; #6#7 { \exp_after:wN \__fp_basics_pack_high:NNNNNw - \int_use:N \__int_eval:w 1#4 - #1 - \c_one + \__int_value:w \__int_eval:w 1#4 - #1 - \c_one \exp_after:wN \__fp_basics_pack_low:NNNNNw - \int_use:N \__int_eval:w 2#5 - #2 + \__int_value:w \__int_eval:w 2#5 - #2 - \exp_after:wN \__fp_round_neg:NNN \exp_after:wN #7 \__int_value:w @@ -13070,7 +13256,7 @@ { \exp_after:wN \__fp_sanitize:Nw \exp_after:wN #1 - \int_use:N \__int_eval:w + \__int_value:w \__int_eval:w #4 + #8 \__fp_mul_significand_o:nnnnNnnnn #5 #1 #9 } @@ -13078,19 +13264,19 @@ { \exp_after:wN \__fp_mul_significand_test_f:NNN \exp_after:wN #5 - \int_use:N \__int_eval:w 99990000 + #1*#6 + + \__int_value:w \__int_eval:w 99990000 + #1*#6 + \exp_after:wN \__fp_mul_significand_keep:NNNNNw - \int_use:N \__int_eval:w 99990000 + #1*#7 + #2*#6 + + \__int_value:w \__int_eval:w 99990000 + #1*#7 + #2*#6 + \exp_after:wN \__fp_mul_significand_keep:NNNNNw - \int_use:N \__int_eval:w 99990000 + #1*#8 + #2*#7 + #3*#6 + + \__int_value:w \__int_eval:w 99990000 + #1*#8 + #2*#7 + #3*#6 + \exp_after:wN \__fp_mul_significand_drop:NNNNNw - \int_use:N \__int_eval:w 99990000 + #1*#9 + #2*#8 + #3*#7 + #4*#6 + + \__int_value:w \__int_eval:w 99990000 + #1*#9 + #2*#8 + #3*#7 + #4*#6 + \exp_after:wN \__fp_mul_significand_drop:NNNNNw - \int_use:N \__int_eval:w 99990000 + #2*#9 + #3*#8 + #4*#7 + + \__int_value:w \__int_eval:w 99990000 + #2*#9 + #3*#8 + #4*#7 + \exp_after:wN \__fp_mul_significand_drop:NNNNNw - \int_use:N \__int_eval:w 99990000 + #3*#9 + #4*#8 + + \__int_value:w \__int_eval:w 99990000 + #3*#9 + #4*#8 + \exp_after:wN \__fp_mul_significand_drop:NNNNNw - \int_use:N \__int_eval:w 100000000 + #4*#9 ; + \__int_value:w \__int_eval:w 100000000 + #4*#9 ; ; \exp_after:wN ; } \cs_new:Npn \__fp_mul_significand_drop:NNNNNw #1#2#3#4#5 #6; @@ -13109,9 +13295,9 @@ \cs_new:Npn \__fp_mul_significand_large_f:NwwNNNN #1 #2; #3; #4#5#6#7; + { \exp_after:wN \__fp_basics_pack_high:NNNNNw - \int_use:N \__int_eval:w 1#2 + \__int_value:w \__int_eval:w 1#2 \exp_after:wN \__fp_basics_pack_low:NNNNNw - \int_use:N \__int_eval:w 1#3#4#5#6#7 + \__int_value:w \__int_eval:w 1#3#4#5#6#7 + \exp_after:wN \__fp_round:NNN \exp_after:wN #1 \exp_after:wN #7 @@ -13121,9 +13307,9 @@ { - \c_one \exp_after:wN \__fp_basics_pack_high:NNNNNw - \int_use:N \__int_eval:w 1#3#4 + \__int_value:w \__int_eval:w 1#3#4 \exp_after:wN \__fp_basics_pack_low:NNNNNw - \int_use:N \__int_eval:w 1#5#6#7 + \__int_value:w \__int_eval:w 1#5#6#7 + \exp_after:wN \__fp_round:NNN \exp_after:wN #1 \exp_after:wN #7 @@ -13149,10 +13335,10 @@ { \exp_after:wN \__fp_sanitize:Nw \exp_after:wN #1 - \int_use:N \__int_eval:w + \__int_value:w \__int_eval:w #3 - #6 \exp_after:wN \__fp_div_significand_i_o:wnnw - \int_use:N \__int_eval:w #7 \use_i:nnnn #8 + \c_one ; + \__int_value:w \__int_eval:w #7 \use_i:nnnn #8 + \c_one ; #4 {#7}{#8}#9 ; #1 @@ -13160,9 +13346,9 @@ \cs_new:Npn \__fp_div_significand_i_o:wnnw #1 ; #2#3 #4 ; { \exp_after:wN \__fp_div_significand_test_o:w - \int_use:N \__int_eval:w + \__int_value:w \__int_eval:w \exp_after:wN \__fp_div_significand_calc:wwnnnnnnn - \int_use:N \__int_eval:w 999999 + #2 #3 0 / #1 ; + \__int_value:w \__int_eval:w 999999 + #2 #3 0 / #1 ; #2 #3 ; #4 { \exp_after:wN \__fp_div_significand_ii:wwn \__int_value:w #1 } @@ -13182,16 +13368,16 @@ { 1 1 #1 #9 \exp_after:wN ; - \int_use:N \__int_eval:w \c__fp_Bigg_leading_shift_int + \__int_value:w \__int_eval:w \c__fp_Bigg_leading_shift_int + #2 - #1 * #5 - #5#60 \exp_after:wN \__fp_pack_Bigg:NNNNNNw - \int_use:N \__int_eval:w \c__fp_Bigg_middle_shift_int + \__int_value:w \__int_eval:w \c__fp_Bigg_middle_shift_int + #3 - #1 * #6 - #70 \exp_after:wN \__fp_pack_Bigg:NNNNNNw - \int_use:N \__int_eval:w \c__fp_Bigg_middle_shift_int + \__int_value:w \__int_eval:w \c__fp_Bigg_middle_shift_int + #4 - #1 * #7 - #80 \exp_after:wN \__fp_pack_Bigg:NNNNNNw - \int_use:N \__int_eval:w \c__fp_Bigg_trailing_shift_int + \__int_value:w \__int_eval:w \c__fp_Bigg_trailing_shift_int - #1 * #8 ; {#5}{#6}{#7}{#8} } @@ -13199,31 +13385,31 @@ { 1 0 #1 #9 \exp_after:wN ; - \int_use:N \__int_eval:w \c__fp_Bigg_leading_shift_int + \__int_value:w \__int_eval:w \c__fp_Bigg_leading_shift_int + #2 - #1 * #5 \exp_after:wN \__fp_pack_Bigg:NNNNNNw - \int_use:N \__int_eval:w \c__fp_Bigg_middle_shift_int + \__int_value:w \__int_eval:w \c__fp_Bigg_middle_shift_int + #3 - #1 * #6 \exp_after:wN \__fp_pack_Bigg:NNNNNNw - \int_use:N \__int_eval:w \c__fp_Bigg_middle_shift_int + \__int_value:w \__int_eval:w \c__fp_Bigg_middle_shift_int + #4 - #1 * #7 \exp_after:wN \__fp_pack_Bigg:NNNNNNw - \int_use:N \__int_eval:w \c__fp_Bigg_trailing_shift_int + \__int_value:w \__int_eval:w \c__fp_Bigg_trailing_shift_int - #1 * #8 ; {#5}{#6}{#7}{#8} } \cs_new:Npn \__fp_div_significand_ii:wwn #1; #2;#3 { \exp_after:wN \__fp_div_significand_pack:NNN - \int_use:N \__int_eval:w + \__int_value:w \__int_eval:w \exp_after:wN \__fp_div_significand_calc:wwnnnnnnn - \int_use:N \__int_eval:w 999999 + #2 #3 0 / #1 ; #2 #3 ; + \__int_value:w \__int_eval:w 999999 + #2 #3 0 / #1 ; #2 #3 ; } \cs_new:Npn \__fp_div_significand_iii:wwnnnnn #1; #2;#3#4#5 #6#7 { 0 \exp_after:wN \__fp_div_significand_iv:wwnnnnnnn - \int_use:N \__int_eval:w (\c_two * #2 #3) / #6 #7 ; % <- P + \__int_value:w \__int_eval:w (\c_two * #2 #3) / #6 #7 ; % <- P #2 ; {#3} {#4} {#5} {#6} {#7} } @@ -13231,11 +13417,11 @@ { + \c_five * #1 \exp_after:wN \__fp_div_significand_vi:Nw - \int_use:N \__int_eval:w -20 + 2*#2#3 - #1*#6#7 + + \__int_value:w \__int_eval:w -20 + 2*#2#3 - #1*#6#7 + \exp_after:wN \__fp_div_significand_v:NN - \int_use:N \__int_eval:w 199980 + 2*#4 - #1*#8 + + \__int_value:w \__int_eval:w 199980 + 2*#4 - #1*#8 + \exp_after:wN \__fp_div_significand_v:NN - \int_use:N \__int_eval:w 200000 + 2*#5 - #1*#9 ; + \__int_value:w \__int_eval:w 200000 + 2*#5 - #1*#9 ; } \cs_new:Npn \__fp_div_significand_v:NN #1#2 { #1#2 \__int_eval_end: + } \cs_new:Npn \__fp_div_significand_vi:Nw #1#2; @@ -13261,9 +13447,9 @@ 0 #1; #2; #3; #4#5#6#7#8; #9 { \exp_after:wN \__fp_basics_pack_high:NNNNNw - \int_use:N \__int_eval:w 1 #1#2 + \__int_value:w \__int_eval:w 1 #1#2 \exp_after:wN \__fp_basics_pack_low:NNNNNw - \int_use:N \__int_eval:w 1 #3#4#5#6#7 + \__int_value:w \__int_eval:w 1 #3#4#5#6#7 + \__fp_round:NNN #9 #7 #8 \exp_after:wN ; } @@ -13272,9 +13458,9 @@ { + \c_one \exp_after:wN \__fp_basics_pack_weird_high:NNNNNNNNw - \int_use:N \__int_eval:w 1 #1 #2 + \__int_value:w \__int_eval:w 1 #1 #2 \exp_after:wN \__fp_basics_pack_weird_low:NNNNw - \int_use:N \__int_eval:w 1 #3 #4 #5 #6 + + \__int_value:w \__int_eval:w 1 #3 #4 #5 #6 + \exp_after:wN \__fp_round:NNN \exp_after:wN #9 \exp_after:wN #6 @@ -13295,7 +13481,7 @@ { \exp_after:wN \__fp_sanitize:Nw \exp_after:wN 0 - \int_use:N \__int_eval:w + \__int_value:w \__int_eval:w \if_int_odd:w #1 \exp_stop_f: \exp_after:wN \__fp_sqrt_npos_auxi_o:wwnnN \fi: @@ -13316,11 +13502,11 @@ { \if_int_compare:w #1 = #2 \exp_stop_f: \exp_after:wN \__fp_sqrt_auxi_o:NNNNwnnN - \int_use:N \__int_eval:w 9999 9999 + + \__int_value:w \__int_eval:w 9999 9999 + \exp_after:wN \__fp_use_none_until_s:w \fi: \exp_after:wN \__fp_sqrt_Newton_o:wwn - \int_use:N \__int_eval:w (#1 + #3 * 1 0000 0000 / #1) / \c_two ; + \__int_value:w \__int_eval:w (#1 + #3 * 1 0000 0000 / #1) / \c_two ; #1; {#3} } \cs_new:Npn \__fp_sqrt_auxi_o:NNNNwnnN 1 #1#2#3#4#5; @@ -13332,32 +13518,32 @@ \cs_new:Npn \__fp_sqrt_auxii_o:NnnnnnnnN #1 #2#3#4#5#6 #7#8#9 { \exp_after:wN #1 - \int_use:N \__int_eval:w \c__fp_big_leading_shift_int + \__int_value:w \__int_eval:w \c__fp_big_leading_shift_int + #7 - #2 * #2 \exp_after:wN \__fp_pack_big:NNNNNNw - \int_use:N \__int_eval:w \c__fp_big_middle_shift_int + \__int_value:w \__int_eval:w \c__fp_big_middle_shift_int - 2 * #2 * #3 \exp_after:wN \__fp_pack_big:NNNNNNw - \int_use:N \__int_eval:w \c__fp_big_middle_shift_int + \__int_value:w \__int_eval:w \c__fp_big_middle_shift_int + #8 - #3 * #3 - 2 * #2 * #4 \exp_after:wN \__fp_pack_big:NNNNNNw - \int_use:N \__int_eval:w \c__fp_big_middle_shift_int + \__int_value:w \__int_eval:w \c__fp_big_middle_shift_int - 2 * #3 * #4 - 2 * #2 * #5 \exp_after:wN \__fp_pack_big:NNNNNNw - \int_use:N \__int_eval:w \c__fp_big_middle_shift_int + \__int_value:w \__int_eval:w \c__fp_big_middle_shift_int + #9 000 0000 - #4 * #4 - 2 * #3 * #5 - 2 * #2 * #6 \exp_after:wN \__fp_pack_big:NNNNNNw - \int_use:N \__int_eval:w \c__fp_big_middle_shift_int + \__int_value:w \__int_eval:w \c__fp_big_middle_shift_int - 2 * #4 * #5 - 2 * #3 * #6 \exp_after:wN \__fp_pack_big:NNNNNNw - \int_use:N \__int_eval:w \c__fp_big_middle_shift_int + \__int_value:w \__int_eval:w \c__fp_big_middle_shift_int - #5 * #5 - 2 * #4 * #6 \exp_after:wN \__fp_pack_big:NNNNNNw - \int_use:N \__int_eval:w + \__int_value:w \__int_eval:w \c__fp_big_middle_shift_int - 2 * #5 * #6 \exp_after:wN \__fp_pack_big:NNNNNNw - \int_use:N \__int_eval:w + \__int_value:w \__int_eval:w \c__fp_big_trailing_shift_int - #6 * #6 ; % ( @@ -13369,18 +13555,18 @@ { \if_int_compare:w #1 > \c_one \exp_after:wN \__fp_sqrt_auxiv_o:NNNNNw - \int_use:N \__int_eval:w (#1#2 %) + \__int_value:w \__int_eval:w (#1#2 %) \else: \if_int_compare:w #1#2 > \c_one \exp_after:wN \__fp_sqrt_auxv_o:NNNNNw - \int_use:N \__int_eval:w (#1#2#3 %) + \__int_value:w \__int_eval:w (#1#2#3 %) \else: \if_int_compare:w #1#2#3 > \c_one \exp_after:wN \__fp_sqrt_auxvi_o:NNNNNw - \int_use:N \__int_eval:w (#1#2#3#4 %) + \__int_value:w \__int_eval:w (#1#2#3#4 %) \else: \exp_after:wN \__fp_sqrt_auxvii_o:NNNNNw - \int_use:N \__int_eval:w (#1#2#3#4#5 %) + \__int_value:w \__int_eval:w (#1#2#3#4#5 %) \fi: \fi: \fi: @@ -13401,11 +13587,11 @@ \cs_new:Npn \__fp_sqrt_auxviii_o:nnnnnnn #1#2 #3#4#5#6#7 { \exp_after:wN \__fp_sqrt_auxix_o:wnwnw - \int_use:N \__int_eval:w #3 + \__int_value:w \__int_eval:w #3 \exp_after:wN \__fp_basics_pack_low:NNNNNw - \int_use:N \__int_eval:w #1 + 1#4#5 + \__int_value:w \__int_eval:w #1 + 1#4#5 \exp_after:wN \__fp_basics_pack_low:NNNNNw - \int_use:N \__int_eval:w #2 + 1#6#7 ; + \__int_value:w \__int_eval:w #2 + 1#6#7 ; } \cs_new:Npn \__fp_sqrt_auxix_o:wnwnw #1; #2#3; #4#5; { @@ -13415,7 +13601,7 @@ \cs_new:Npn \__fp_sqrt_auxx_o:Nnnnnnnn #1#2#3 #4#5#6#7#8 { \exp_after:wN \__fp_sqrt_auxxi_o:wwnnN - \int_use:N \__int_eval:w + \__int_value:w \__int_eval:w (#8 + 2499) / 5000 * 5000 ; {#4} {#5} {#6} {#7} ; } @@ -13454,9 +13640,9 @@ \cs_new:Npn \__fp_sqrt_auxxiv_o:wnnnnnnnN #1; #2#3#4#5#6 #7#8#9 { \exp_after:wN \__fp_basics_pack_high:NNNNNw - \int_use:N \__int_eval:w 1 0000 0000 + #2#3 + \__int_value:w \__int_eval:w 1 0000 0000 + #2#3 \exp_after:wN \__fp_basics_pack_low:NNNNNw - \int_use:N \__int_eval:w 1 0000 0000 + \__int_value:w \__int_eval:w 1 0000 0000 + #4#5 \if_int_compare:w #6 > #1 \exp_stop_f: + \c_one \fi: + \exp_after:wN \__fp_round:NNN @@ -13465,7 +13651,7 @@ \__int_value:w \exp_after:wN \use_i:nn \exp_after:wN \__fp_round_digit:Nw - \int_use:N \__int_eval:w #6 + 19999 - #1 ; + \__int_value:w \__int_eval:w #6 + 19999 - #1 ; \exp_after:wN ; } \cs_new:Npn \__fp_set_sign_o:w #1 \s__fp \__fp_chk:w #2#3#4; @ @@ -13478,7 +13664,7 @@ \if_case:w #3 \exp_stop_f: #1 \or: 1 \or: 0 \fi: \exp_stop_f: #4; } -%% File: l3fp-extended.dtx Copyright (C) 2011-2014 The LaTeX3 Project +%% File: l3fp-extended.dtx Copyright (C) 2011-2014,2016 The LaTeX3 Project %% %% It may be distributed and/or modified under the conditions of the %% LaTeX Project Public License (LPPL), either version 1.3c of this @@ -13517,36 +13703,36 @@ \cs_new:Npn \__fp_fixed_add_one:wN #1#2; #3 { \exp_after:wN #3 \exp_after:wN - { \int_use:N \__int_eval:w \c_ten_thousand + #1 } #2 ; + { \__int_value:w \__int_eval:w \c_ten_thousand + #1 } #2 ; } \cs_new:Npn \__fp_fixed_div_myriad:wn #1#2#3#4#5#6; { \exp_after:wN \__fp_fixed_mul_after:wwn - \int_use:N \__int_eval:w \c__fp_leading_shift_int + \__int_value:w \__int_eval:w \c__fp_leading_shift_int \exp_after:wN \__fp_pack:NNNNNw - \int_use:N \__int_eval:w \c__fp_trailing_shift_int + \__int_value:w \__int_eval:w \c__fp_trailing_shift_int + #1 ; {#2}{#3}{#4}{#5}; } \cs_new:Npn \__fp_fixed_mul_after:wwn #1; #2; #3 { #3 {#1} #2; } \cs_new:Npn \__fp_fixed_mul_short:wwn #1#2#3#4#5#6; #7#8#9; { \exp_after:wN \__fp_fixed_mul_after:wwn - \int_use:N \__int_eval:w \c__fp_leading_shift_int + \__int_value:w \__int_eval:w \c__fp_leading_shift_int + #1*#7 \exp_after:wN \__fp_pack:NNNNNw - \int_use:N \__int_eval:w \c__fp_middle_shift_int + \__int_value:w \__int_eval:w \c__fp_middle_shift_int + #1*#8 + #2*#7 \exp_after:wN \__fp_pack:NNNNNw - \int_use:N \__int_eval:w \c__fp_middle_shift_int + \__int_value:w \__int_eval:w \c__fp_middle_shift_int + #1*#9 + #2*#8 + #3*#7 \exp_after:wN \__fp_pack:NNNNNw - \int_use:N \__int_eval:w \c__fp_middle_shift_int + \__int_value:w \__int_eval:w \c__fp_middle_shift_int + #2*#9 + #3*#8 + #4*#7 \exp_after:wN \__fp_pack:NNNNNw - \int_use:N \__int_eval:w \c__fp_middle_shift_int + \__int_value:w \__int_eval:w \c__fp_middle_shift_int + #3*#9 + #4*#8 + #5*#7 \exp_after:wN \__fp_pack:NNNNNw - \int_use:N \__int_eval:w \c__fp_trailing_shift_int + \__int_value:w \__int_eval:w \c__fp_trailing_shift_int + #4*#9 + #5*#8 + #6*#7 + ( #5*#9 + #6*#8 + #6*#9 / \c_ten_thousand ) / \c_ten_thousand ; ; @@ -13555,7 +13741,7 @@ { \exp_after:wN \__fp_fixed_div_int_after:Nw \exp_after:wN #8 - \int_use:N \__int_eval:w \c_minus_one + \__int_value:w \__int_eval:w \c_minus_one \__fp_fixed_div_int:wnN #1; {#7} \__fp_fixed_div_int_auxi:wnn #2; {#7} \__fp_fixed_div_int_auxi:wnn @@ -13567,7 +13753,7 @@ \cs_new:Npn \__fp_fixed_div_int:wnN #1; #2 #3 { \exp_after:wN #3 - \int_use:N \__int_eval:w #1 / #2 - \c_one ; + \__int_value:w \__int_eval:w #1 / #2 - \c_one ; {#2} {#1} } @@ -13575,9 +13761,9 @@ { + #1 \exp_after:wN \__fp_fixed_div_int_pack:Nw - \int_use:N \__int_eval:w 9999 + \__int_value:w \__int_eval:w 9999 \exp_after:wN \__fp_fixed_div_int:wnN - \int_use:N \__int_eval:w #3 - #1*#2 \__int_eval_end: + \__int_value:w \__int_eval:w #3 - #1*#2 \__int_eval_end: } \cs_new:Npn \__fp_fixed_div_int_auxii:wnn #1; #2 #3 { + #1 + \c_two ; } \cs_new:Npn \__fp_fixed_div_int_pack:Nw #1 #2; { + #1; {#2} } @@ -13587,16 +13773,16 @@ \cs_new:Npn \__fp_fixed_add:Nnnnnwnn #1 #2#3#4#5 #6; #7#8 { \exp_after:wN \__fp_fixed_add_after:NNNNNwn - \int_use:N \__int_eval:w 9 9999 9998 + #2#3 #1 #7#8 + \__int_value:w \__int_eval:w 9 9999 9998 + #2#3 #1 #7#8 \exp_after:wN \__fp_fixed_add_pack:NNNNNwn - \int_use:N \__int_eval:w 1 9999 9998 + #4#5 + \__int_value:w \__int_eval:w 1 9999 9998 + #4#5 \__fp_fixed_add:nnNnnnwn #6 #1 } \cs_new:Npn \__fp_fixed_add:nnNnnnwn #1#2 #3 #4#5 #6#7 ; #8 { #3 #4#5 \exp_after:wN \__fp_fixed_add_pack:NNNNNwn - \int_use:N \__int_eval:w 2 0000 0000 #3 #6#7 + #1#2 ; {#8} ; + \__int_value:w \__int_eval:w 2 0000 0000 #3 #6#7 + #1#2 ; {#8} ; } \cs_new:Npn \__fp_fixed_add_pack:NNNNNwn #1 #2#3#4#5 #6; #7 { + #1 ; {#7} {#2#3#4#5} {#6} } @@ -13605,21 +13791,21 @@ \cs_new:Npn \__fp_fixed_mul:wwn #1#2#3#4 #5; #6#7#8#9 { \exp_after:wN \__fp_fixed_mul_after:wwn - \int_use:N \__int_eval:w \c__fp_leading_shift_int + \__int_value:w \__int_eval:w \c__fp_leading_shift_int \exp_after:wN \__fp_pack:NNNNNw - \int_use:N \__int_eval:w \c__fp_middle_shift_int + \__int_value:w \__int_eval:w \c__fp_middle_shift_int + #1*#6 \exp_after:wN \__fp_pack:NNNNNw - \int_use:N \__int_eval:w \c__fp_middle_shift_int + \__int_value:w \__int_eval:w \c__fp_middle_shift_int + #1*#7 + #2*#6 \exp_after:wN \__fp_pack:NNNNNw - \int_use:N \__int_eval:w \c__fp_middle_shift_int + \__int_value:w \__int_eval:w \c__fp_middle_shift_int + #1*#8 + #2*#7 + #3*#6 \exp_after:wN \__fp_pack:NNNNNw - \int_use:N \__int_eval:w \c__fp_middle_shift_int + \__int_value:w \__int_eval:w \c__fp_middle_shift_int + #1*#9 + #2*#8 + #3*#7 + #4*#6 \exp_after:wN \__fp_pack:NNNNNw - \int_use:N \__int_eval:w \c__fp_trailing_shift_int + \__int_value:w \__int_eval:w \c__fp_trailing_shift_int + #2*#9 + #3*#8 + #4*#7 + ( #3*#9 + #4*#8 + \__fp_fixed_mul:nnnnnnnw #5 {#6}{#7} {#1}{#2} @@ -13632,9 +13818,9 @@ \cs_new:Npn \__fp_fixed_mul_add:wwwn #1; #2; #3#4#5#6#7#8; { \exp_after:wN \__fp_fixed_mul_after:wwn - \int_use:N \__int_eval:w \c__fp_big_leading_shift_int + \__int_value:w \__int_eval:w \c__fp_big_leading_shift_int \exp_after:wN \__fp_pack_big:NNNNNNw - \int_use:N \__int_eval:w \c__fp_big_middle_shift_int + #3 #4 + \__int_value:w \__int_eval:w \c__fp_big_middle_shift_int + #3 #4 \__fp_fixed_mul_add:Nwnnnwnnn + + #5 #6 ; #2 ; #1 ; #2 ; + + #7 #8 ; ; @@ -13642,9 +13828,9 @@ \cs_new:Npn \__fp_fixed_mul_sub_back:wwwn #1; #2; #3#4#5#6#7#8; { \exp_after:wN \__fp_fixed_mul_after:wwn - \int_use:N \__int_eval:w \c__fp_big_leading_shift_int + \__int_value:w \__int_eval:w \c__fp_big_leading_shift_int \exp_after:wN \__fp_pack_big:NNNNNNw - \int_use:N \__int_eval:w \c__fp_big_middle_shift_int + #3 #4 + \__int_value:w \__int_eval:w \c__fp_big_middle_shift_int + #3 #4 \__fp_fixed_mul_add:Nwnnnwnnn - + #5 #6 ; #2 ; #1 ; #2 ; - + #7 #8 ; ; @@ -13652,9 +13838,9 @@ \cs_new:Npn \__fp_fixed_one_minus_mul:wwn #1; #2; { \exp_after:wN \__fp_fixed_mul_after:wwn - \int_use:N \__int_eval:w \c__fp_big_leading_shift_int + \__int_value:w \__int_eval:w \c__fp_big_leading_shift_int \exp_after:wN \__fp_pack_big:NNNNNNw - \int_use:N \__int_eval:w \c__fp_big_middle_shift_int + 1 0000 0000 + \__int_value:w \__int_eval:w \c__fp_big_middle_shift_int + 1 0000 0000 \__fp_fixed_mul_add:Nwnnnwnnn - ; #2 ; #1 ; #2 ; - ; ; @@ -13663,20 +13849,20 @@ { #1 #7*#3 \exp_after:wN \__fp_pack_big:NNNNNNw - \int_use:N \__int_eval:w \c__fp_big_middle_shift_int + \__int_value:w \__int_eval:w \c__fp_big_middle_shift_int #1 #7*#4 #1 #8*#3 \exp_after:wN \__fp_pack_big:NNNNNNw - \int_use:N \__int_eval:w \c__fp_big_middle_shift_int + \__int_value:w \__int_eval:w \c__fp_big_middle_shift_int #1 #7*#5 #1 #8*#4 #1 #9*#3 #2 \exp_after:wN \__fp_pack_big:NNNNNNw - \int_use:N \__int_eval:w \c__fp_big_middle_shift_int + \__int_value:w \__int_eval:w \c__fp_big_middle_shift_int #1 \__fp_fixed_mul_add:nnnnwnnnn {#7}{#8}{#9} } \cs_new:Npn \__fp_fixed_mul_add:nnnnwnnnn #1#2#3#4#5; #6#7#8#9 { ( #1*#9 + #2*#8 + #3*#7 + #4*#6 ) \exp_after:wN \__fp_pack_big:NNNNNNw - \int_use:N \__int_eval:w \c__fp_big_trailing_shift_int + \__int_value:w \__int_eval:w \c__fp_big_trailing_shift_int \__fp_fixed_mul_add:nnnnwnnwN { #6 + #4*#7 + #3*#8 + #2*#9 + #1 } { #7 + #4*#8 + #3*#9 + #2 } @@ -13691,7 +13877,7 @@ \cs_new:Npn \__fp_ep_to_fixed:wwn #1,#2 { \exp_after:wN \__fp_ep_to_fixed_auxi:www - \int_use:N \__int_eval:w 1 0000 0000 + #2 \exp_after:wN ; + \__int_value:w \__int_eval:w 1 0000 0000 + #2 \exp_after:wN ; \exp:w \exp_end_continue_f:w \prg_replicate:nn { \c_four - \int_max:nn {#1} { -32 } } { 0 } ; } @@ -13709,10 +13895,10 @@ \cs_new:Npn \__fp_ep_to_ep:wwN #1,#2#3#4#5#6#7; #8 { \exp_after:wN #8 - \int_use:N \__int_eval:w #1 + \c_four + \__int_value:w \__int_eval:w #1 + \c_four \exp_after:wN \use_i:nn \exp_after:wN \__fp_ep_to_ep_loop:N - \int_use:N \__int_eval:w 1 0000 0000 + #2 \__int_eval_end: + \__int_value:w \__int_eval:w 1 0000 0000 + #2 \__int_eval_end: #3#4#5#6#7 ; ; ! } \cs_new:Npn \__fp_ep_to_ep_loop:N #1 @@ -13768,7 +13954,7 @@ \cs_new:Npn \__fp_ep_mul_raw:wwwwN #1,#2; #3,#4; #5 { \__fp_fixed_mul:wwn #2; #4; - { \exp_after:wN #5 \int_use:N \__int_eval:w #1 + #3 , } + { \exp_after:wN #5 \__int_value:w \__int_eval:w #1 + #3 , } } \cs_new:Npn \__fp_ep_div:wwwwn #1,#2; #3,#4; { @@ -13782,15 +13968,15 @@ \cs_new:Npn \__fp_ep_div_esti:wwwwn #1,#2#3; #4, { \exp_after:wN \__fp_ep_div_estii:wwnnwwn - \int_use:N \__int_eval:w 10 0000 0000 / ( #2 + \c_one ) + \__int_value:w \__int_eval:w 10 0000 0000 / ( #2 + \c_one ) \exp_after:wN ; - \int_use:N \__int_eval:w #4 - #1 + \c_one , + \__int_value:w \__int_eval:w #4 - #1 + \c_one , {#2} #3; } \cs_new:Npn \__fp_ep_div_estii:wwnnwwn #1; #2,#3#4#5; #6; #7 { \exp_after:wN \__fp_ep_div_estiii:NNNNNwwwn - \int_use:N \__int_eval:w 10 0000 0000 - 1750 + \__int_value:w \__int_eval:w 10 0000 0000 - 1750 + #1 000 + (10 0000 0000 / #3 - #1) * (1000 - #4 / 10) ; {#3}{#4}#5; #6; { #7 #2, } } @@ -13803,11 +13989,11 @@ \cs_new:Npn \__fp_ep_div_epsi:wnNNNNNn #1#2#3#4#5#6; { \exp_after:wN \__fp_ep_div_epsii:wwnNNNNNn - \int_use:N \__int_eval:w 1 9998 - #2 + \__int_value:w \__int_eval:w 1 9998 - #2 \exp_after:wN \__fp_ep_div_eps_pack:NNNNNw - \int_use:N \__int_eval:w 1 9999 9998 - #3#4 + \__int_value:w \__int_eval:w 1 9999 9998 - #3#4 \exp_after:wN \__fp_ep_div_eps_pack:NNNNNw - \int_use:N \__int_eval:w 2 0000 0000 - #5#6 ; ; + \__int_value:w \__int_eval:w 2 0000 0000 - #5#6 ; ; } \cs_new:Npn \__fp_ep_div_eps_pack:NNNNNw #1#2#3#4#5#6; { + #1 ; {#2#3#4#5} {#6} } @@ -13831,7 +14017,7 @@ \cs_new:Npn \__fp_ep_isqrt_auxi:wwn #1, { \exp_after:wN \__fp_ep_isqrt_auxii:wwnnnwn - \int_use:N \__int_eval:w + \__int_value:w \__int_eval:w \int_if_odd:nTF {#1} { (\c_one - #1) / \c_two , 535 , { 0 } { } } { \c_one - #1 / \c_two , 168 , { } { 0 } } @@ -13847,15 +14033,15 @@ \exp_after:wN \__fp_ep_isqrt_estii:wwwnnwn \fi: \exp_after:wN \__fp_ep_isqrt_esti:wwwnnwn - \int_use:N \__int_eval:w + \__int_value:w \__int_eval:w (#1 + 1 0050 0000 #4 / (#1 * #3)) / \c_two , #1, #3, {#4} } \cs_new:Npn \__fp_ep_isqrt_estii:wwwnnwn #1, #2, #3, #4#5 { \exp_after:wN \__fp_ep_isqrt_estiii:NNNNNwwwn - \int_use:N \__int_eval:w 1000 0000 + #2 * #2 #5 * \c_five - \exp_after:wN , \int_use:N \__int_eval:w 10000 + #2 ; + \__int_value:w \__int_eval:w 1000 0000 + #2 * #2 #5 * \c_five + \exp_after:wN , \__int_value:w \__int_eval:w 10000 + #2 ; } \cs_new:Npn \__fp_ep_isqrt_estiii:NNNNNwwwn 1#1#2#3#4#5#6, 1#7#8; #9; { @@ -13898,7 +14084,7 @@ \exp_after:wN \exp_after:wN \exp_after:wN \__fp_fixed_to_loop:N \exp_after:wN \use_none:n - \int_use:N \__int_eval:w + \__int_value:w \__int_eval:w 1 0000 0000 + #1 \exp_after:wN \__fp_use_none_stop_f:n \__int_value:w 1#2 \exp_after:wN \__fp_use_none_stop_f:n \__int_value:w 1#3#4 \exp_after:wN \__fp_use_none_stop_f:n @@ -13943,11 +14129,11 @@ \cs_new:Npn \__fp_fixed_to_float_round_up:wnnnnw ; #1#2#3#4 ; { \exp_after:wN \__fp_basics_pack_high:NNNNNw - \int_use:N \__int_eval:w 1 #1#2 + \__int_value:w \__int_eval:w 1 #1#2 \exp_after:wN \__fp_basics_pack_low:NNNNNw - \int_use:N \__int_eval:w 1 #3#4 + \c_one ; + \__int_value:w \__int_eval:w 1 #3#4 + \c_one ; } -%% File: l3fp-expo.dtx Copyright (C) 2011-2014 The LaTeX3 Project +%% File: l3fp-expo.dtx Copyright (C) 2011-2014,2016 The LaTeX3 Project %% %% It may be distributed and/or modified under the conditions of the %% LaTeX Project Public License (LPPL), either version 1.3c of this @@ -14013,7 +14199,7 @@ 0 \fi: \exp_after:wN \exp_stop_f: - \int_use:N \__int_eval:w % for the exponent + \__int_value:w \__int_eval:w % for the exponent \__fp_ln_significand:NNNNnnnN #2#3 \__fp_ln_exponent:wn {#1} } @@ -14043,11 +14229,11 @@ \cs:w c__fp_ln_ \__int_to_roman:w #1 _fixed_tl \exp_after:wN \cs_end: \__int_value:w \exp_after:wN \__fp_ln_x_iv:wnnnnnnnn - \int_use:N \__int_eval:w + \__int_value:w \__int_eval:w \exp_after:wN \__fp_ln_x_iii_var:NNNNNw - \int_use:N \__int_eval:w 9999 9990 + #1*#2#3 + + \__int_value:w \__int_eval:w 9999 9990 + #1*#2#3 + \exp_after:wN \__fp_ln_x_iii:NNNNNNw - \int_use:N \__int_eval:w 10 0000 0000 + #1*#4#5 ; + \__int_value:w \__int_eval:w 10 0000 0000 + #1*#4#5 ; {20000} {0000} {0000} {0000} } %^^A todo: reoptimize (a generalization attempt failed). \cs_new:Npn \__fp_ln_x_iii:NNNNNNw #1#2 #3#4#5#6 #7; @@ -14060,7 +14246,7 @@ \cs_new:Npn \__fp_ln_x_iv:wnnnnnnnn #1; #2#3#4#5 #6#7#8#9 { \exp_after:wN \__fp_div_significand_pack:NNN - \int_use:N \__int_eval:w + \__int_value:w \__int_eval:w \__fp_ln_div_i:w #1 ; #6 #7 ; {#8} {#9} {#2} {#3} {#4} {#5} @@ -14073,20 +14259,20 @@ \cs_new:Npn \__fp_ln_div_i:w #1; { \exp_after:wN \__fp_div_significand_calc:wwnnnnnnn - \int_use:N \__int_eval:w 999999 + 2 0000 0000 / #1 ; % Q1 + \__int_value:w \__int_eval:w 999999 + 2 0000 0000 / #1 ; % Q1 } \cs_new:Npn \__fp_ln_div_ii:wwn #1; #2;#3 % y; B1;B2 <- for k=1 { \exp_after:wN \__fp_div_significand_pack:NNN - \int_use:N \__int_eval:w + \__int_value:w \__int_eval:w \exp_after:wN \__fp_div_significand_calc:wwnnnnnnn - \int_use:N \__int_eval:w 999999 + #2 #3 / #1 ; % Q2 + \__int_value:w \__int_eval:w 999999 + #2 #3 / #1 ; % Q2 #2 #3 ; } \cs_new:Npn \__fp_ln_div_vi:wwn #1; #2;#3#4#5 #6#7#8#9 %y;F1;F2F3F4x1x2x3x4 { \exp_after:wN \__fp_div_significand_pack:NNN - \int_use:N \__int_eval:w 1000000 + #2 #3 / #1 ; % Q6 + \__int_value:w \__int_eval:w 1000000 + #2 #3 / #1 ; % Q6 } \cs_new:Npn \__fp_ln_div_after:Nw #1#2; { @@ -14103,39 +14289,39 @@ \exp_after:wN \__fp_ln_t_large:NNw \exp_after:wN + % <sign> \exp_after:wN #1 - \int_use:N \__int_eval:w 9999 - #2 \exp_after:wN ; - \int_use:N \__int_eval:w 9999 - #3 \exp_after:wN ; - \int_use:N \__int_eval:w 9999 - #4 \exp_after:wN ; - \int_use:N \__int_eval:w 9999 - #5 \exp_after:wN ; - \int_use:N \__int_eval:w 9999 - #6 \exp_after:wN ; - \int_use:N \__int_eval:w 1 0000 - #7 ; + \__int_value:w \__int_eval:w 9999 - #2 \exp_after:wN ; + \__int_value:w \__int_eval:w 9999 - #3 \exp_after:wN ; + \__int_value:w \__int_eval:w 9999 - #4 \exp_after:wN ; + \__int_value:w \__int_eval:w 9999 - #5 \exp_after:wN ; + \__int_value:w \__int_eval:w 9999 - #6 \exp_after:wN ; + \__int_value:w \__int_eval:w 1 0000 - #7 ; } \cs_new:Npn \__fp_ln_t_large:NNw #1 #2 #3; #4; #5; #6; #7; #8; { \exp_after:wN \__fp_ln_square_t_after:w - \int_use:N \__int_eval:w 9999 0000 + #3*#3 + \__int_value:w \__int_eval:w 9999 0000 + #3*#3 \exp_after:wN \__fp_ln_square_t_pack:NNNNNw - \int_use:N \__int_eval:w 9999 0000 + 2*#3*#4 + \__int_value:w \__int_eval:w 9999 0000 + 2*#3*#4 \exp_after:wN \__fp_ln_square_t_pack:NNNNNw - \int_use:N \__int_eval:w 9999 0000 + 2*#3*#5 + #4*#4 + \__int_value:w \__int_eval:w 9999 0000 + 2*#3*#5 + #4*#4 \exp_after:wN \__fp_ln_square_t_pack:NNNNNw - \int_use:N \__int_eval:w 9999 0000 + 2*#3*#6 + 2*#4*#5 + \__int_value:w \__int_eval:w 9999 0000 + 2*#3*#6 + 2*#4*#5 \exp_after:wN \__fp_ln_square_t_pack:NNNNNw - \int_use:N \__int_eval:w 1 0000 0000 + 2*#3*#7 + 2*#4*#6 + #5*#5 + \__int_value:w \__int_eval:w 1 0000 0000 + 2*#3*#7 + 2*#4*#6 + #5*#5 + (2*#3*#8 + 2*#4*#7 + 2*#5*#6) / 1 0000 % ; ; ; \exp_after:wN \__fp_ln_twice_t_after:w - \int_use:N \__int_eval:w -1 + 2*#3 + \__int_value:w \__int_eval:w -1 + 2*#3 \exp_after:wN \__fp_ln_twice_t_pack:Nw - \int_use:N \__int_eval:w 9999 + 2*#4 + \__int_value:w \__int_eval:w 9999 + 2*#4 \exp_after:wN \__fp_ln_twice_t_pack:Nw - \int_use:N \__int_eval:w 9999 + 2*#5 + \__int_value:w \__int_eval:w 9999 + 2*#5 \exp_after:wN \__fp_ln_twice_t_pack:Nw - \int_use:N \__int_eval:w 9999 + 2*#6 + \__int_value:w \__int_eval:w 9999 + 2*#6 \exp_after:wN \__fp_ln_twice_t_pack:Nw - \int_use:N \__int_eval:w 9999 + 2*#7 + \__int_value:w \__int_eval:w 9999 + 2*#7 \exp_after:wN \__fp_ln_twice_t_pack:Nw - \int_use:N \__int_eval:w 10000 + 2*#8 ; ; + \__int_value:w \__int_eval:w 10000 + 2*#8 ; ; { \__fp_ln_c:NwNw #1 } #2 } @@ -14157,7 +14343,7 @@ \__fp_fixed_mul:wwn #3; { \exp_after:wN \__fp_ln_Taylor_loop:www - \int_use:N \__int_eval:w #1 - \c_two ; + \__int_value:w \__int_eval:w #1 - \c_two ; } #3; } @@ -14165,7 +14351,7 @@ { \fi: \exp_after:wN \__fp_fixed_mul:wwn - \exp_after:wN { \int_use:N \__int_eval:w 10000 + #2 } #3; + \exp_after:wN { \__int_value:w \__int_eval:w 10000 + #2 } #3; } \cs_new:Npn \__fp_ln_c:NwNw #1 #2; #3 { @@ -14247,7 +14433,7 @@ \if_int_compare:w #4 < - \c_eight \c_one \exp_after:wN \__fp_add_big_i_o:wNww - \int_use:N \__int_eval:w \c_one - #4 ; + \__int_value:w \__int_eval:w \c_one - #4 ; 0 {1000}{0000}{0000}{0000} ; #5; \exp:w \else: @@ -14300,7 +14486,7 @@ \__fp_fixed_mul:wwn #2 ; { \exp_after:wN \__fp_exp_Taylor_loop:www - \int_use:N \__int_eval:w #1 - 1 ; + \__int_value:w \__int_eval:w #1 - 1 ; #2 ; } } @@ -14532,21 +14718,21 @@ \cs_new:Npn \__fp_pow_exponent:Nwnnnnnw #1#2; #3#4#5#6#7#8; { %^^A todo: use that in ln. \exp_after:wN \__fp_fixed_mul_after:wwn - \int_use:N \__int_eval:w \c__fp_leading_shift_int + \__int_value:w \__int_eval:w \c__fp_leading_shift_int \exp_after:wN \__fp_pack:NNNNNw - \int_use:N \__int_eval:w \c__fp_middle_shift_int + \__int_value:w \__int_eval:w \c__fp_middle_shift_int #1#2*23025 - #1 #3 \exp_after:wN \__fp_pack:NNNNNw - \int_use:N \__int_eval:w \c__fp_middle_shift_int + \__int_value:w \__int_eval:w \c__fp_middle_shift_int #1 #2*8509 - #1 #4 \exp_after:wN \__fp_pack:NNNNNw - \int_use:N \__int_eval:w \c__fp_middle_shift_int + \__int_value:w \__int_eval:w \c__fp_middle_shift_int #1 #2*2994 - #1 #5 \exp_after:wN \__fp_pack:NNNNNw - \int_use:N \__int_eval:w \c__fp_middle_shift_int + \__int_value:w \__int_eval:w \c__fp_middle_shift_int #1 #2*0456 - #1 #6 \exp_after:wN \__fp_pack:NNNNNw - \int_use:N \__int_eval:w \c__fp_trailing_shift_int + \__int_value:w \__int_eval:w \c__fp_trailing_shift_int #1 #2*8401 - #1 #7 #1 ( #2*7991 - #8 ) / 1 0000 ; ; } @@ -14562,7 +14748,7 @@ \fi: \fi: #7 \exp_after:wN ; - \int_use:N \__int_eval:w 10 0000 + #1 \__int_eval_end: + \__int_value:w \__int_eval:w 10 0000 + #1 \__int_eval_end: #2#3#4#5#6 0000 0000 0000 0000 0000 0000 ; %^^A todo: how many 0? } \cs_new:Npn \__fp_pow_C_overflow:w #1; #2; #3 @@ -14614,7 +14800,7 @@ \exp_after:wN \s__fp \exp_after:wN \__fp_chk:w \exp_after:wN #2 - \int_use:N \__int_eval:w \c_two - #3 \__int_eval_end: + \__int_value:w \__int_eval:w \c_two - #3 \__int_eval_end: } \cs_new:Npn \__fp_pow_neg_case:w \s__fp \__fp_chk:w #1#2#3; { @@ -14660,7 +14846,7 @@ \c_one \fi: } -%% File: l3fp-trig.dtx Copyright (C) 2011-2014 The LaTeX3 Project +%% File: l3fp-trig.dtx Copyright (C) 2011-2014,2016 The LaTeX3 Project %% %% It may be distributed and/or modified under the conditions of the %% LaTeX Project Public License (LPPL), either version 1.3c of this @@ -14796,7 +14982,7 @@ \exp_after:wN #2 \exp_after:wN #3 \exp_after:wN #4 - \int_use:N \__int_eval:w #5 + \__int_value:w \__int_eval:w #5 \exp_after:wN \exp_after:wN \exp_after:wN \exp_after:wN \if_int_compare:w #7 > #1 \c_zero \c_one #1 \__fp_trig_large:ww \__fp_trigd_large:ww @@ -14828,7 +15014,7 @@ \cs_new:Npn \__fp_trigd_large_auxi:nnnnwNNNN #1#2#3#4#5; #6#7#8#9 { \exp_after:wN \__fp_trigd_large_auxii:wNw - \int_use:N \__int_eval:w #1 + #2 + \__int_value:w \__int_eval:w #1 + #2 - (#1 + #2 - \c_four) / \c_nine * \c_nine \__int_eval_end: #3; #4; #5{#6#7#8#9}; @@ -14837,7 +15023,7 @@ { + (#1#2 - \c_four) / \c_nine * \c_two \exp_after:wN \__fp_trigd_large_auxiii:www - \int_use:N \__int_eval:w #1#2 + \__int_value:w \__int_eval:w #1#2 - (#1#2 - \c_four) / \c_nine * \c_nine \__int_eval_end: #3 ; } \cs_new:Npn \__fp_trigd_large_auxiii:www #1; #2; #3! @@ -15019,8 +15205,8 @@ \cs_new:Npn \__fp_trig_large:ww #1, #2#3#4#5#6; { \exp_after:wN \__fp_trig_large_auxi:wwwwww - \int_use:N \__int_eval:w (#1 - 32) / 64 \exp_after:wN , - \int_use:N \__int_eval:w (#1 - 4) / 8 \exp_after:wN , + \__int_value:w \__int_eval:w (#1 - 32) / 64 \exp_after:wN , + \__int_value:w \__int_eval:w (#1 - 4) / 8 \exp_after:wN , \__int_value:w #1 \__fp_trig_inverse_two_pi: ; {#2}{#3}{#4}{#5} ; } @@ -15043,7 +15229,7 @@ { \exp_after:wN \__fp_use_i_until_s:nw \exp_after:wN \__fp_trig_large_auxvii:w - \int_use:N \__int_eval:w \c__fp_leading_shift_int + \__int_value:w \__int_eval:w \c__fp_leading_shift_int \prg_replicate:nn { \c_thirteen } { \__fp_trig_large_auxvi:wnnnnnnnn } + \c__fp_trailing_shift_int - \c__fp_middle_shift_int @@ -15053,7 +15239,7 @@ \cs_new:Npn \__fp_trig_large_auxvi:wnnnnnnnn #1; #2#3#4#5#6#7#8#9 { \exp_after:wN \__fp_trig_large_pack:NNNNNw - \int_use:N \__int_eval:w \c__fp_middle_shift_int + \__int_value:w \__int_eval:w \c__fp_middle_shift_int + #2*#9 + #3*#8 + #4*#7 + #5*#6 #1; {#2}{#3}{#4}{#5} {#7}{#8}{#9} } @@ -15062,7 +15248,7 @@ \cs_new:Npn \__fp_trig_large_auxvii:w #1#2#3 { \exp_after:wN \__fp_trig_large_auxviii:ww - \int_use:N \__int_eval:w (#1#2#3 - 62) / 125 ; + \__int_value:w \__int_eval:w (#1#2#3 - 62) / 125 ; #1#2#3 } \cs_new:Npn \__fp_trig_large_auxviii:ww #1; @@ -15080,7 +15266,7 @@ { \exp_after:wN \__fp_use_i_until_s:nw \exp_after:wN \__fp_trig_large_auxxi:w - \int_use:N \__int_eval:w \c__fp_leading_shift_int + \__int_value:w \__int_eval:w \c__fp_leading_shift_int \prg_replicate:nn { \c_thirteen } { \__fp_trig_large_auxx:wNNNNN } + \c__fp_trailing_shift_int - \c__fp_middle_shift_int @@ -15089,14 +15275,14 @@ \cs_new:Npn \__fp_trig_large_auxx:wNNNNN #1; #2 #3#4#5#6 { \exp_after:wN \__fp_trig_large_pack:NNNNNw - \int_use:N \__int_eval:w \c__fp_middle_shift_int + \__int_value:w \__int_eval:w \c__fp_middle_shift_int #2 \c_eight * #3#4#5#6 #1; #2 } \cs_new:Npn \__fp_trig_large_auxxi:w #1; { \exp_after:wN \__fp_ep_mul_raw:wwwwN - \int_use:N \__int_eval:w \c_zero \__fp_ep_to_ep_loop:N #1 ; ; ! + \__int_value:w \__int_eval:w \c_zero \__fp_ep_to_ep_loop:N #1 ; ; ! 0,{7853}{9816}{3397}{4483}{0961}{5661}; \__fp_trig_small:ww } @@ -15150,7 +15336,7 @@ { \exp_after:wN \__fp_sanitize:Nw \exp_after:wN #2 - \int_use:N \__int_eval:w #1 + \__int_value:w \__int_eval:w #1 } #2 } @@ -15194,7 +15380,7 @@ { \exp_after:wN \__fp_sanitize:Nw \exp_after:wN #1 - \int_use:N \__int_eval:w \__fp_ep_to_float:wwN + \__int_value:w \__int_eval:w \__fp_ep_to_float:wwN } #1 } @@ -15247,7 +15433,7 @@ { \exp_after:wN \__fp_atan_combine_o:NwwwwwN \exp_after:wN #2 - \int_use:N \__int_eval:w + \__int_value:w \__int_eval:w \if_meaning:w 2 #5 \c_seven - \fi: #3 \exp_after:wN ; \c__fp_one_fixed_tl ; {0000}{0000}{0000}{0000}{0000}{0000}; @@ -15264,7 +15450,7 @@ { \exp_after:wN \__fp_atan_combine_o:NwwwwwN \exp_after:wN #1 - \int_use:N \__int_eval:w + \__int_value:w \__int_eval:w \if_meaning:w 2 #4 \c_seven - \__int_eval:w \fi: @@ -15319,7 +15505,7 @@ \__fp_rrot:www \__fp_fixed_mul_sub_back:wwwn #2; #3; { \exp_after:wN \__fp_atan_Taylor_loop:www - \int_use:N \__int_eval:w #1 - \c_two ; + \__int_value:w \__int_eval:w #1 - \c_two ; } #3; } @@ -15330,7 +15516,7 @@ { \exp_after:wN \__fp_sanitize:Nw \exp_after:wN #1 - \int_use:N \__int_eval:w + \__int_value:w \__int_eval:w \if_meaning:w 0 #2 \exp_after:wN \use_i:nn \else: @@ -15341,7 +15527,7 @@ \__fp_fixed_mul:wwn #3; #4; { \exp_after:wN \__fp_atan_combine_aux:ww - \int_use:N \__int_eval:w #2 / \c_two ; #2; + \__int_value:w \__int_eval:w #2 / \c_two ; #2; } } { #7 \__fp_fixed_to_float:wN \__fp_fixed_to_float_rad:wN } @@ -15470,7 +15656,7 @@ { \__fp_asin_auxi_o:NnNww #1 {#3} #4 } } } -%% File: l3fp-convert.dtx Copyright(C) 2011-2014 The LaTeX3 Project +%% File: l3fp-convert.dtx Copyright(C) 2011-2014,2016 The LaTeX3 Project %% %% It may be distributed and/or modified under the conditions of the %% LaTeX Project Public License (LPPL), either version 1.3c of this @@ -15519,50 +15705,44 @@ \exp_after:wN \__fp_to_scientific_dispatch:w \exp:w \exp_end_continue_f:w \__fp_parse:n } -\group_begin: -\char_set_catcode_other:N E -\tl_to_lowercase:n +\cs_new:Npn \__fp_to_scientific_dispatch:w \s__fp \__fp_chk:w #1#2 { - \group_end: - \cs_new:Npn \__fp_to_scientific_dispatch:w \s__fp \__fp_chk:w #1#2 - { - \if_meaning:w 2 #2 \exp_after:wN - \exp:w \exp_end_continue_f:w \fi: - \if_case:w #1 \exp_stop_f: - \__fp_case_return:nw { 0 } - \or: \exp_after:wN \__fp_to_scientific_normal:wnnnnn - \or: - \__fp_case_use:nw - { - \__fp_invalid_operation:nnw - { - \exp_after:wN 1 - \exp_after:wN E - \int_use:N \c__fp_max_exponent_int - } - { fp_to_scientific } - } - \or: - \__fp_case_use:nw + \if_meaning:w 2 #2 \exp_after:wN - \exp:w \exp_end_continue_f:w \fi: + \if_case:w #1 \exp_stop_f: + \__fp_case_return:nw { 0 } + \or: \exp_after:wN \__fp_to_scientific_normal:wnnnnn + \or: + \__fp_case_use:nw + { + \__fp_invalid_operation:nnw { - \__fp_invalid_operation:nnw - { 0 } - { fp_to_scientific } + \exp_after:wN 1 + \exp_after:wN e + \int_use:N \c__fp_max_exponent_int } - \fi: - \s__fp \__fp_chk:w #1 #2 - } - \cs_new:Npn \__fp_to_scientific_normal:wnnnnn - \s__fp \__fp_chk:w 1 #1 #2 #3#4#5#6 ; - { - \if_int_compare:w #2 = \c_one - \exp_after:wN \__fp_to_scientific_normal:wNw - \else: - \exp_after:wN \__fp_to_scientific_normal:wNw - \exp_after:wN E - \int_use:N \__int_eval:w #2 - \c_one - \fi: - ; #3 #4 #5 #6 ; - } + { fp_to_scientific } + } + \or: + \__fp_case_use:nw + { + \__fp_invalid_operation:nnw + { 0 } + { fp_to_scientific } + } + \fi: + \s__fp \__fp_chk:w #1 #2 + } +\cs_new:Npn \__fp_to_scientific_normal:wnnnnn + \s__fp \__fp_chk:w 1 #1 #2 #3#4#5#6 ; + { + \if_int_compare:w #2 = \c_one + \exp_after:wN \__fp_to_scientific_normal:wNw + \else: + \exp_after:wN \__fp_to_scientific_normal:wNw + \exp_after:wN e + \__int_value:w \__int_eval:w #2 - \c_one + \fi: + ; #3 #4 #5 #6 ; } \cs_new:Npn \__fp_to_scientific_normal:wNw #1 ; #2#3; { \__fp_trim_zeros:w #2.#3 ; #1 } @@ -15648,8 +15828,8 @@ \if_case:w #1 \exp_stop_f: \__fp_case_return:nw { 0 } \or: \exp_after:wN \__fp_to_tl_normal:nnnnn - \or: \__fp_case_return:nw { \tl_to_str:n {inf} } - \else: \__fp_case_return:nw { \tl_to_str:n {nan} } + \or: \__fp_case_return:nw { inf } + \else: \__fp_case_return:nw { nan } \fi: } \cs_new:Npn \__fp_to_tl_normal:nnnnn #1 @@ -15667,11 +15847,11 @@ \fi: \s__fp \__fp_chk:w 1 0 {#1} } -\cs_new:Npx \fp_to_dim:N #1 - { \exp_not:N \fp_to_decimal:N #1 \tl_to_str:n {pt} } +\cs_new:Npn \fp_to_dim:N #1 + { \fp_to_decimal:N #1 pt } \cs_generate_variant:Nn \fp_to_dim:N { c } -\cs_new:Npx \fp_to_dim:n #1 - { \exp_not:N \fp_to_decimal:n {#1} \tl_to_str:n {pt} } +\cs_new:Npn \fp_to_dim:n #1 + { \fp_to_decimal:n {#1} pt } \cs_new:Npn \fp_to_int:N #1 { \exp_after:wN \__fp_to_int_dispatch:w #1 } \cs_generate_variant:Nn \fp_to_int:N { c } \cs_new_nopar:Npn \fp_to_int:n @@ -15697,7 +15877,7 @@ \__fp_case_return:nw { \exp_after:wN \c_zero_fp } \else: \exp_after:wN \__fp_from_dim:wNw - \int_use:N \__int_eval:w #1 - \c_four + \__int_value:w \__int_eval:w #1 - \c_four \if_meaning:w - #2 \exp_after:wN , \exp_after:wN 2 \__int_value:w \else: @@ -16077,7 +16257,7 @@ \cs_generate_variant:Nn \vbox_unpack_clear:N { c } \cs_new_protected:Npn \vbox_set_split_to_ht:NNn #1#2#3 { \tex_setbox:D #1 \tex_vsplit:D #2 to \__dim_eval:w #3 \__dim_eval_end: } -%% File: l3coffins.dtx Copyright(C) 2010-2015 The LaTeX3 Project +%% File: l3coffins.dtx Copyright(C) 2010-2016 The LaTeX3 Project %% %% It may be distributed and/or modified under the conditions of the %% LaTeX Project Public License (LPPL), either version 1.3c of this @@ -16110,7 +16290,7 @@ %% %% ----------------------------------------------------------------------- %% -\GetIdInfo$Id: l3coffins.dtx 5789 2015-08-06 02:32:11Z bruno $ +\GetIdInfo$Id: l3coffins.dtx 6440 2016-03-24 09:59:29Z joseph $ {L3 Coffin code layer} \box_new:N \l__coffin_internal_box \dim_new:N \l__coffin_internal_dim @@ -16368,13 +16548,13 @@ \cs_new_protected:Npn \__coffin_update_corners:N #1 { \prop_put:cnx { l__coffin_corners_ \__int_value:w #1 _prop } { tl } - { { 0 pt } { \dim_use:N \box_ht:N #1 } } + { { 0 pt } { \dim_eval:n { \box_ht:N #1 } } } \prop_put:cnx { l__coffin_corners_ \__int_value:w #1 _prop } { tr } - { { \dim_use:N \box_wd:N #1 } { \dim_use:N \box_ht:N #1 } } + { { \dim_eval:n { \box_wd:N #1 } } { \dim_eval:n { \box_ht:N #1 } } } \prop_put:cnx { l__coffin_corners_ \__int_value:w #1 _prop } { bl } { { 0 pt } { \dim_eval:n { - \box_dp:N #1 } } } \prop_put:cnx { l__coffin_corners_ \__int_value:w #1 _prop } { br } - { { \dim_use:N \box_wd:N #1 } { \dim_eval:n { - \box_dp:N #1 } } } + { { \dim_eval:n { \box_wd:N #1 } } { \dim_eval:n { -\box_dp:N #1 } } } } \cs_new_protected:Npn \__coffin_update_poles:N #1 { @@ -16385,7 +16565,7 @@ } \prop_put:cnx { l__coffin_poles_ \__int_value:w #1 _prop } { r } { - { \dim_use:N \box_wd:N #1 } + { \dim_eval:n { \box_wd:N #1 } } { 0 pt } { 0 pt } { 1000 pt } } \prop_put:cnx { l__coffin_poles_ \__int_value:w #1 _prop } { vc } @@ -16398,7 +16578,7 @@ \prop_put:cnx { l__coffin_poles_ \__int_value:w #1 _prop } { t } { { 0 pt } - { \dim_use:N \box_ht:N #1 } + { \dim_eval:n { \box_ht:N #1 } } { 1000 pt } { 0 pt } } @@ -17115,7 +17295,7 @@ \cs_new_eq:NN \pdftex_if_engine_p: \c_true_bool } \cs_set_eq:NN \c_job_name_tl \c_sys_jobname_str -%% File: l3candidates.dtx Copyright(C) 2012-2016 The LaTeX3 Project +%% File: l3candidates.dtx Copyright (C) 2012-2016 The LaTeX3 Project %% %% It may be distributed and/or modified under the conditions of the %% LaTeX Project Public License (LPPL), either version 1.3c of this @@ -17148,7 +17328,7 @@ %% %% ----------------------------------------------------------------------- %% -\GetIdInfo$Id: l3candidates.dtx 6376 2016-01-14 08:36:20Z joseph $ +\GetIdInfo$Id: l3candidates.dtx 6456 2016-03-25 21:09:37Z joseph $ {L3 Experimental additions to l3kernel} \cs_new_protected_nopar:Npn \cs_log:N { \__msg_log_next: \cs_show:N } @@ -17594,14 +17774,14 @@ \cs_new_protected:Npn \__coffin_set_bounding:N #1 { \prop_put:Nnx \l__coffin_bounding_prop { tl } - { { 0 pt } { \dim_use:N \box_ht:N #1 } } + { { 0 pt } { \dim_eval:n { \box_ht:N #1 } } } \prop_put:Nnx \l__coffin_bounding_prop { tr } - { { \dim_use:N \box_wd:N #1 } { \dim_use:N \box_ht:N #1 } } - \dim_set:Nn \l__coffin_internal_dim { - \box_dp:N #1 } + { { \dim_eval:n { \box_wd:N #1 } } { \dim_eval:n { \box_ht:N #1 } } } + \dim_set:Nn \l__coffin_internal_dim { -\box_dp:N #1 } \prop_put:Nnx \l__coffin_bounding_prop { bl } { { 0 pt } { \dim_use:N \l__coffin_internal_dim } } \prop_put:Nnx \l__coffin_bounding_prop { br } - { { \dim_use:N \box_wd:N #1 } { \dim_use:N \l__coffin_internal_dim } } + { { \dim_eval:n { \box_wd:N #1 } } { \dim_use:N \l__coffin_internal_dim } } } \cs_new_protected:Npn \__coffin_rotate_bounding:nnn #1#2#3 { @@ -18245,11 +18425,11 @@ \int_compare:nNnTF { `#2 } > { "80 } { \int_compare:nNnTF { `#2 } < { "E0 } - { \__tl_change_case_char_UTFiix:nNNN {#1} #2 } + { \__tl_change_case_char_UTFviii:nNNN {#1} #2 } { \int_compare:nNnTF { `#2 } < { "F0 } - { \__tl_change_case_char_UTFiix:nNNNN {#1} #2 } - { \__tl_change_case_char_UTFiix:nNNNNN {#1} #2 } + { \__tl_change_case_char_UTFviii:nNNNN {#1} #2 } + { \__tl_change_case_char_UTFviii:nNNNNN {#1} #2 } } } { \__tl_change_case_char_auxi:nN {#1} #2 } @@ -18270,7 +18450,9 @@ \int_compare:nNnTF { \use:c { __tl_lookup_ #1 :N } #2 } = { 0 } { \exp_stop_f: #2 } { - \utex_char:D \use:c { __tl_lookup_ #1 :N } #2 + \char_generate:nn + { \use:c { __tl_lookup_ #1 :N } #2 } + { \char_value_catcode:n { \use:c { __tl_lookup_ #1 :N } #2 } } } } \cs_new_protected:Npn \__tl_lookup_lower:N #1 { \tex_lccode:D `#1 } @@ -18279,13 +18461,13 @@ } { \cs_new:Npn \__tl_change_case_char_auxii:nN #1#2 { \exp_stop_f: #2 } - \cs_new:Npn \__tl_change_case_char_UTFiix:nNNN #1#2#3#4 - { \__tl_change_case_char_UTFiix:nnN {#1} {#2#4} #3 } - \cs_new:Npn \__tl_change_case_char_UTFiix:nNNNN #1#2#3#4#5 - { \__tl_change_case_char_UTFiix:nnN {#1} {#2#4#5} #3 } - \cs_new:Npn \__tl_change_case_char_UTFiix:nNNNNN #1#2#3#4#5#6 - { \__tl_change_case_char_UTFiix:nnN {#1} {#2#4#5#6} #3 } - \cs_new:Npn \__tl_change_case_char_UTFiix:nnN #1#2#3 + \cs_new:Npn \__tl_change_case_char_UTFviii:nNNN #1#2#3#4 + { \__tl_change_case_char_UTFviii:nnN {#1} {#2#4} #3 } + \cs_new:Npn \__tl_change_case_char_UTFviii:nNNNN #1#2#3#4#5 + { \__tl_change_case_char_UTFviii:nnN {#1} {#2#4#5} #3 } + \cs_new:Npn \__tl_change_case_char_UTFviii:nNNNNN #1#2#3#4#5#6 + { \__tl_change_case_char_UTFviii:nnN {#1} {#2#4#5#6} #3 } + \cs_new:Npn \__tl_change_case_char_UTFviii:nnN #1#2#3 { \cs_if_exist:cTF { c__unicode_ #1 _ \tl_to_str:n {#2} _tl } { @@ -18598,34 +18780,34 @@ { \__tl_change_case_output:Vwn \c__unicode_upper_Eszett_tl } {#2} } -\cs_new:Npn \__unicode_codepoint_to_UTFiix:n #1 +\cs_new:Npn \__unicode_codepoint_to_UTFviii:n #1 { - \exp_args:Nf \__unicode_codepoint_to_UTFiix_auxi:n + \exp_args:Nf \__unicode_codepoint_to_UTFviii_auxi:n { \int_eval:n {#1} } } -\cs_new:Npn \__unicode_codepoint_to_UTFiix_auxi:n #1 +\cs_new:Npn \__unicode_codepoint_to_UTFviii_auxi:n #1 { \if_int_compare:w #1 > "80 ~ \if_int_compare:w #1 < "800 ~ 2 - \__unicode_codepoint_to_UTFiix_auxii:Nnn C {#1} { 64 } - \__unicode_codepoint_to_UTFiix_auxiii:n {#1} + \__unicode_codepoint_to_UTFviii_auxii:Nnn C {#1} { 64 } + \__unicode_codepoint_to_UTFviii_auxiii:n {#1} \else: \if_int_compare:w #1 < "10000 ~ 3 - \__unicode_codepoint_to_UTFiix_auxii:Nnn E {#1} { 64 * 64 } - \__unicode_codepoint_to_UTFiix_auxiii:n {#1} - \__unicode_codepoint_to_UTFiix_auxiii:n + \__unicode_codepoint_to_UTFviii_auxii:Nnn E {#1} { 64 * 64 } + \__unicode_codepoint_to_UTFviii_auxiii:n {#1} + \__unicode_codepoint_to_UTFviii_auxiii:n { \int_div_truncate:nn {#1} { 64 } } \else: 4 - \__unicode_codepoint_to_UTFiix_auxii:Nnn F + \__unicode_codepoint_to_UTFviii_auxii:Nnn F {#1} { 64 * 64 * 64 } - \__unicode_codepoint_to_UTFiix_auxiii:n + \__unicode_codepoint_to_UTFviii_auxiii:n { \int_div_truncate:nn {#1} { 64 * 64 } } - \__unicode_codepoint_to_UTFiix_auxiii:n + \__unicode_codepoint_to_UTFviii_auxiii:n { \int_div_truncate:nn {#1} { 64 } } - \__unicode_codepoint_to_UTFiix_auxiii:n {#1} + \__unicode_codepoint_to_UTFviii_auxiii:n {#1} \fi: \fi: @@ -18633,9 +18815,9 @@ 1 {#1} \fi: } -\cs_new:Npn \__unicode_codepoint_to_UTFiix_auxii:Nnn #1#2#3 +\cs_new:Npn \__unicode_codepoint_to_UTFviii_auxii:Nnn #1#2#3 { { \int_eval:n { "#10 + \int_div_truncate:nn {#2} {#3} } } } -\cs_new:Npn \__unicode_codepoint_to_UTFiix_auxiii:n #1 +\cs_new:Npn \__unicode_codepoint_to_UTFviii_auxiii:n #1 { { \int_eval:n { \int_mod:nn {#1} { 64 } + 128 } } } \cs_if_exist:NTF \utex_char:D { @@ -18651,7 +18833,7 @@ { \utex_char:D "0069 ~ \utex_char:D "0307 ~ \utex_char:D "0303 ~ } } \tl_const:Nx \c__unicode_dot_above_tl { \utex_char:D "0307 ~ } - \tl_const:Nx \c__unicode_upper_Eszett_tl { \utex_char:D "1E9E ~} + \tl_const:Nx \c__unicode_upper_Eszett_tl { \utex_char:D "1E9E ~ } } { \tl_const:Nn \c__unicode_std_sigma_tl { } @@ -18667,20 +18849,21 @@ { \tl_const:Nx #1 { \utex_char:D "#2 ~ } } } { - \char_set_catcode_active:N . - \char_set_catcode_active:N ! \cs_set_protected:Npn \__tl_tmp:w #1#2 { \group_begin: \cs_set_protected:Npn \__tl_tmp:w ##1##2##3 { - \char_set_lccode:nn { `\. } {##2} - \char_set_lccode:nn { `\! } {##3} - \tex_lowercase:D - { \tl_const:Nn #1 { . ! } } + \tl_const:Nx #1 + { + \exp_after:wN \exp_after:wN \exp_after:wN + \exp_not:N \__char_generate:nn {##2} { 13 } + \exp_after:wN \exp_after:wN \exp_after:wN + \exp_not:N \__char_generate:nn {##3} { 13 } + } } \tl_set:Nx \l__tl_internal_a_tl - { \__unicode_codepoint_to_UTFiix:n {"#2} } + { \__unicode_codepoint_to_UTFviii:n {"#2} } \exp_after:wN \__tl_tmp:w \l__tl_internal_a_tl \group_end: } @@ -18691,10 +18874,6 @@ \__tl_tmp:w \c__unicode_I_ogonek_tl { 012E } \group_end: \group_begin: - \char_set_catcode_active:N . - \char_set_catcode_active:N ! - \char_set_catcode_active:N ; - \char_set_catcode_active:N , \bool_if:nT { \sys_if_engine_pdftex_p: || \sys_if_engine_uptex_p: @@ -18705,24 +18884,39 @@ \quark_if_recursion_tail_stop:n {#1} \tl_set:Nx \l__tl_internal_a_tl { - \__unicode_codepoint_to_UTFiix:n {"#1} - \__unicode_codepoint_to_UTFiix:n {"#2} + \__unicode_codepoint_to_UTFviii:n {"#1} + \__unicode_codepoint_to_UTFviii:n {"#2} } \exp_after:wN \__tl_tmp:w \l__tl_internal_a_tl \__tl_loop:nn } \cs_set_protected:Npn \__tl_tmp:w #1#2#3#4#5#6 { - \char_set_lccode:nn { `\. } {#2} - \char_set_lccode:nn { `\! } {#3} - \char_set_lccode:nn { `\; } {#5} - \char_set_lccode:nn { `\, } {#6} - \tex_lowercase:D + \tl_const:cx + { + c__unicode_lower_ + \char_generate:nn {#2} { 12 } + \char_generate:nn {#3} { 12 } + _tl + } + { + \exp_after:wN \exp_after:wN \exp_after:wN + \exp_not:N \__char_generate:nn {#5} { 13 } + \exp_after:wN \exp_after:wN \exp_after:wN + \exp_not:N \__char_generate:nn {#6} { 13 } + } + \tl_const:cx { - \tl_const:cn { c__unicode_lower_ \tl_to_str:n { . ! } _tl } - { ; , } - \tl_const:cn { c__unicode_upper_ \tl_to_str:n { ; , } _tl } - { . ! } + c__unicode_upper_ + \char_generate:nn {#5} { 12 } + \char_generate:nn {#6} { 12 } + _tl + } + { + \exp_after:wN \exp_after:wN \exp_after:wN + \exp_not:N \__char_generate:nn {#2} { 13 } + \exp_after:wN \exp_after:wN \exp_after:wN + \exp_not:N \__char_generate:nn {#3} { 13 } } } \__tl_loop:nn @@ -18832,17 +19026,17 @@ \group_begin: \cs_set_protected:Npn \__tl_tmp:w ##1##2##3 { - \char_set_lccode:nn { `\. } {##2} - \char_set_lccode:nn { `\! } {##3} - \tex_lowercase:D + \tl_const:cx { - \tl_const:cn - { c__unicode_ #3 _ \tl_to_str:n { . ! } _tl } + c__unicode_ #3 _ + \char_generate:nn {##2} { 12 } + \char_generate:nn {##3} { 12 } + _tl } - { #2 } + {#2} } \tl_set:Nx \l__tl_internal_a_tl - { \__unicode_codepoint_to_UTFiix:n { "#1 } } + { \__unicode_codepoint_to_UTFviii:n { "#1 } } \exp_after:wN \__tl_tmp:w \l__tl_internal_a_tl \group_end: } @@ -18855,8 +19049,8 @@ \cs_set_protected:Npn \__tl_change_case_setup:NN #1#2 { \quark_if_recursion_tail_stop:N #1 - \tl_const:cn { c__tl_change_case_lower_ \token_to_str:N #1 _tl } { #2 } - \tl_const:cn { c__tl_change_case_upper_ \token_to_str:N #2 _tl } { #1 } + \tl_const:cn { c__tl_change_case_lower_ \token_to_str:N #1 _tl } { #2 } + \tl_const:cn { c__tl_change_case_upper_ \token_to_str:N #2 _tl } { #1 } \__tl_change_case_setup:NN } \__tl_change_case_setup:NN @@ -18864,6 +19058,7 @@ \AE \ae \DH \dh \DJ \dj + \IJ \ij \L \l \NG \ng \O \o @@ -18872,11 +19067,12 @@ \TH \th \q_recursion_tail ? \q_recursion_stop - \tl_const:cn { c__tl_change_case_upper_ \token_to_str:N \i _tl } { I } - \tl_const:cn { c__tl_change_case_upper_ \token_to_str:N \j _tl } { J } + \tl_const:cn { c__tl_change_case_upper_ \token_to_str:N \i _tl } { I } + \tl_const:cn { c__tl_change_case_upper_ \token_to_str:N \j _tl } { J } \group_end: \tl_new:N \l_tl_case_change_accents_tl -\tl_set:Nn \l_tl_case_change_accents_tl { \" \^ \' \` \. \c \u \~ \H \v } +\tl_set:Nn \l_tl_case_change_accents_tl + { \" \' \. \^ \` \~ \c \H \k \r \t \u \v } \cs_new:Npn \__tl_mixed_case:nn #1#2 { \etex_unexpanded:D \exp_after:wN @@ -19064,160 +19260,6 @@ \cs_new_protected_nopar:Npn \tl_log:n { \__msg_log_next: \tl_show:n } \group_begin: - \char_set_catcode_active:N \^^@ - \cs_set_protected:Npn \__char_tmp:nN #1#2 - { - \cs_new_protected:cpn { #1 :nN } ##1 - { - \group_begin: - \char_set_catcode_active:n { ##1 } - \char_set_lccode:nn { `\^^@ } { ##1 } - \tex_lowercase:D { \group_end: #2 ^^@ } - } - \cs_new_protected:cpx { #1 :NN } ##1 - { \exp_not:c { #1 : nN } { `##1 } } - } - \__char_tmp:nN { char_set_active_eq } \cs_set_eq:NN - \__char_tmp:nN { char_gset_active_eq } \cs_gset_eq:NN -\group_end: -\cs_generate_variant:Nn \char_set_active_eq:NN { Nc } -\cs_generate_variant:Nn \char_gset_active_eq:NN { Nc } -\cs_generate_variant:Nn \char_set_active_eq:nN { nc } -\cs_generate_variant:Nn \char_gset_active_eq:nN { nc } -\cs_new:Npn \char_generate:nn #1#2 - { - \exp:w \exp_after:wN \__char_generate_aux:w - \int_use:N \__int_eval:w #1 \exp_after:wN ; - \int_use:N \__int_eval:w #2 ; - } -\cs_new:Npn \__char_generate_aux:w #1 ; #2 ; - { - \if_int_compare:w #2 = \c_thirteen - \__msg_kernel_expandable_error:nn { kernel } { char-active } - \else: - \if_int_compare:w #2 = \c_ten - \if_int_compare:w #1 = \c_zero - \__msg_kernel_expandable_error:nn { kernel } { char-null-space } - \else: - \__msg_kernel_expandable_error:nn { kernel } { char-space } - \fi: - \else: - \if_int_odd:w 0 - \if_int_compare:w #2 < \c_one 1 \fi: - \if_int_compare:w #2 = \c_five 1 \fi: - \if_int_compare:w #2 = \c_nine 1 \fi: - \if_int_compare:w #2 > \c_thirteen 1 \fi: \exp_stop_f: - \__msg_kernel_expandable_error:nn { kernel } - { char-invalid-catcode } - \else: - \if_int_odd:w 0 - \if_int_compare:w #1 < \c_zero 1 \fi: - \if_int_compare:w #1 > \c__char_max_int 1 \fi: \exp_stop_f: - \__msg_kernel_expandable_error:nn { kernel } - { char-out-of-range } - \else: - \__char_generate_aux:nnw {#1} {#2} - \fi: - \fi: - \fi: - \fi: - \exp_end: - } -\tl_new:N \l__char_tmp_tl -\group_begin: - \char_set_catcode_active:N \^^L - \cs_set_nopar:Npn ^^L { } - \char_set_catcode_other:n { 0 } - \if_int_odd:w 0 - \cs_if_exist:NT \luatex_directlua:D { 1 } - \cs_if_exist:NT \utex_charcat:D { 1 } \exp_stop_f: - \int_const:Nn \c__char_max_int { 1114111 } - \cs_if_exist:NTF \luatex_directlua:D - { - \cs_new:Npn \__char_generate_aux:nnw #1#2#3 \exp_end: - { - #3 - \exp_after:wN \exp_end: - \luatex_directlua:D { l3kernel.charcat(#1, #2) } - } - } - { - \cs_new:Npn \__char_generate_aux:nnw #1#2#3 \exp_end: - { - #3 - \exp_after:wN \exp_end: - \utex_charcat:D #1 ~ #2 ~ - } - } - \else: - \int_const:Nn \c__char_max_int { 255 } - \tl_set:Nn \l__char_tmp_tl { \exp_not:N \or: } - \char_set_catcode_group_begin:n { 0 } % { - \tl_put_right:Nn \l__char_tmp_tl { ^^@ \if_false: } } - \char_set_catcode_group_end:n { 0 } - \tl_put_right:Nn \l__char_tmp_tl { { \fi: \exp_not:N \or: ^^@ } % } - \tl_set:Nx \l__char_tmp_tl { \l__char_tmp_tl } - \char_set_catcode_math_toggle:n { 0 } - \tl_put_right:Nn \l__char_tmp_tl { \or: ^^@ } - \char_set_catcode_alignment:n { 0 } - \tl_put_right:Nn \l__char_tmp_tl { \or: ^^@ } - \tl_put_right:Nn \l__char_tmp_tl { \or: } - \char_set_catcode_parameter:n { 0 } - \tl_put_right:Nn \l__char_tmp_tl { \or: ^^@ } - \char_set_catcode_math_superscript:n { 0 } - \tl_put_right:Nn \l__char_tmp_tl { \or: ^^@ } - \char_set_catcode_math_subscript:n { 0 } - \tl_put_right:Nn \l__char_tmp_tl { \or: ^^@ } - \tl_put_right:Nn \l__char_tmp_tl { \or: } - \char_set_catcode_space:n { 0 } - \tl_put_right:No \l__char_tmp_tl { \use:n { \or: } ^^@ } - \char_set_catcode_letter:n { 0 } - \tl_put_right:Nn \l__char_tmp_tl { \or: ^^@ } - \char_set_catcode_other:n { 0 } - \tl_put_right:Nn \l__char_tmp_tl { \or: ^^@ } - \char_set_catcode_active:n { 0 } - \tl_put_right:Nn \l__char_tmp_tl { \or: ^^@ } - \cs_set_protected:Npn \__char_tmp:n #1 - { - \char_set_lccode:nn { 0 } {#1} - \char_set_lccode:nn { 32 } {#1} - \exp_args:Nx \tex_lowercase:D - { - \tl_const:Nn - \exp_not:c { c__char_ \__int_to_roman:w #1 _tl } - { \exp_not:o \l__char_tmp_tl } - } - } - \int_step_function:nnnN { 0 } { 1 } { 11 } \__char_tmp:n - \group_begin: - \tl_replace_once:Nnn \l__char_tmp_tl { ^^@ } { \ERROR } - \__char_tmp:n { 12 } - \group_end: - \int_step_function:nnnN { 13 } { 1 } { 255 } \__char_tmp:n - \cs_new:Npn \__char_generate_aux:nnw #1#2#3 \exp_end: - { - #3 - \exp_after:wN \exp_after:wN - \exp_after:wN \exp_end: - \exp_after:wN \exp_after:wN - \if_case:w #2 - \exp_last_unbraced:Nv \exp_stop_f: - { c__char_ \__int_to_roman:w #1 _tl } - \fi: - } - \fi: -\group_end: -\__msg_kernel_new:nnn { kernel } { char-active } - { Cannot~generate~active~chars. } -\__msg_kernel_new:nnn { kernel } { char-invalid-catcode } - { Invalid~catcode~for~char~generation. } -\__msg_kernel_new:nnn { kernel } { char-null-space } - { Cannot~generate~null~char~as~a~space. } -\__msg_kernel_new:nnn { kernel } { char-out-of-range } - { Charcode~requested~out~of~engine~range. } -\__msg_kernel_new:nnn { kernel } { char-space } - { Cannot~generate~space~chars. } -\group_begin: \cs_set_protected:Npn \__peek_tmp:w #1 \q_stop { \cs_new_protected_nopar:Npn \__peek_execute_branches_N_type: @@ -19255,7 +19297,7 @@ { \__peek_token_generic:NNT \__peek_execute_branches_N_type: \scan_stop: } \cs_new_protected_nopar:Npn \peek_N_type:F { \__peek_token_generic:NNF \__peek_execute_branches_N_type: \scan_stop: } -%% File: l3luatex.dtx Copyright (C) 2010-2015 The LaTeX3 Project +%% File: l3luatex.dtx Copyright (C) 2010-2016 The LaTeX3 Project %% %% It may be distributed and/or modified under the conditions of the %% LaTeX Project Public License (LPPL), either version 1.3c of this @@ -19287,7 +19329,7 @@ %% prior consultation with the LaTeX3 Project. %% %% ----------------------------------------------------------------------- -\GetIdInfo$Id: l3luatex.dtx 6250 2015-11-11 13:45:38Z joseph $ +\GetIdInfo$Id: l3luatex.dtx 6465 2016-03-26 16:15:09Z joseph $ {L3 Experimental LuaTeX-specific functions} \cs_new:Npn \lua_now_x:n #1 { \luatex_directlua:D {#1} } \cs_new:Npn \lua_now:n #1 { \lua_now_x:n { \exp_not: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 ebc170e2f19..8fa1e2c5b2f 100644 --- a/Master/texmf-dist/tex/latex/l3kernel/expl3-generic.tex +++ b/Master/texmf-dist/tex/latex/l3kernel/expl3-generic.tex @@ -47,8 +47,8 @@ %% ----------------------------------------------------------------------- \def\ExplFileName{expl3}% \def\ExplFileDescription{L3 programming layer}% -\def\ExplFileDate{2016/01/19}% -\def\ExplFileVersion{6377}% +\def\ExplFileDate{2016/03/26}% +\def\ExplFileVersion{6466}% \let\ExplLoaderFileVersion\ExplFileVersion \begingroup \def\tempa{LaTeX2e}% diff --git a/Master/texmf-dist/tex/latex/l3kernel/expl3.lua b/Master/texmf-dist/tex/latex/l3kernel/expl3.lua index c8f78ed2ce3..e3ee46ccdea 100644 --- a/Master/texmf-dist/tex/latex/l3kernel/expl3.lua +++ b/Master/texmf-dist/tex/latex/l3kernel/expl3.lua @@ -13,7 +13,7 @@ -- -- Do not distribute a modified version of this file. -- --- File: l3luatex.dtx Copyright (C) 2010-2015 The LaTeX3 Project +-- File: l3luatex.dtx Copyright (C) 2010-2016 The LaTeX3 Project -- -- It may be distributed and/or modified under the conditions of the -- LaTeX Project Public License (LPPL), either version 1.3c of this @@ -50,7 +50,7 @@ local tex_setcatcode = tex.setcatcode local tex_sprint = tex.sprint local tex_write = tex.write local unicode_utf8_char = unicode.utf8.char -local function strcmp(A, B) +local function strcmp (A, B) if A == B then tex_write("0") elseif A < B then @@ -61,7 +61,7 @@ local function strcmp(A, B) end l3kernel.strcmp = strcmp local charcat_table = l3kernel.charcat_table or 1 -local function charcat(charcode, catcode) +local function charcat (charcode, catcode) tex_setcatcode(charcat_table, charcode, catcode) tex_sprint(charcat_table, unicode_utf8_char(charcode)) end diff --git a/Master/texmf-dist/tex/latex/l3kernel/expl3.sty b/Master/texmf-dist/tex/latex/l3kernel/expl3.sty index 843acbfeca7..9db718ade91 100644 --- a/Master/texmf-dist/tex/latex/l3kernel/expl3.sty +++ b/Master/texmf-dist/tex/latex/l3kernel/expl3.sty @@ -47,8 +47,8 @@ %% ----------------------------------------------------------------------- \def\ExplFileName{expl3}% \def\ExplFileDescription{L3 programming layer}% -\def\ExplFileDate{2016/01/19}% -\def\ExplFileVersion{6377}% +\def\ExplFileDate{2016/03/26}% +\def\ExplFileVersion{6466}% \let\ExplLoaderFileVersion\ExplFileVersion \ProvidesPackage{\ExplFileName} [% diff --git a/Master/texmf-dist/tex/latex/l3kernel/l3doc.cls b/Master/texmf-dist/tex/latex/l3kernel/l3doc.cls index ed1d01cec9d..05d51452e27 100644 --- a/Master/texmf-dist/tex/latex/l3kernel/l3doc.cls +++ b/Master/texmf-dist/tex/latex/l3kernel/l3doc.cls @@ -13,7 +13,7 @@ %% %% Do not distribute a modified version of this file. %% -%% File: l3doc.dtx Copyright (C) 1990-2015 The LaTeX3 project +%% File: l3doc.dtx Copyright (C) 1990-2016 The LaTeX3 project %% %% It may be distributed and/or modified under the conditions of the %% LaTeX Project Public License (LPPL), either version 1.3c of this @@ -50,7 +50,7 @@ \let \fileversionOld \ExplFileVersion \let \filedescriptionOld \ExplFileDescription \RequirePackage{expl3,xparse,calc} -\GetIdInfo$Id: l3doc.dtx 6037 2015-09-23 12:41:15Z joseph $ +\GetIdInfo$Id: l3doc.dtx 6448 2016-03-25 12:27:53Z bruno $ {L3 Experimental documentation class} \ProvidesExplClass {\ExplFileName}{\ExplFileDate}{\ExplFileVersion}{\ExplFileDescription} @@ -1405,7 +1405,6 @@ \cs_set_eq:NN \@evenfoot \@oddfoot } \group_begin: - \char_set_catcode_escape:N \/ \char_set_catcode_other:N \^^A \char_set_catcode_active:N \^^S \char_set_catcode_active:N \^^B @@ -1421,7 +1420,7 @@ \group_end: \cs_set_protected:Npn \xmacro@code #1 ^^A ^^S^^S^^S^^S ^^Bend ^^Lmacrocode^^R - { \__codedoc_xmacro_code:n {#1} /end{macrocode} } + { \__codedoc_xmacro_code:n {#1} \end{macrocode} } } \group_begin: \char_set_catcode_active:N \< diff --git a/Master/texmf-dist/tex/latex/l3packages/l3keys2e/l3keys2e.sty b/Master/texmf-dist/tex/latex/l3packages/l3keys2e/l3keys2e.sty index 7a73a3992b0..75cc7440606 100644 --- a/Master/texmf-dist/tex/latex/l3packages/l3keys2e/l3keys2e.sty +++ b/Master/texmf-dist/tex/latex/l3packages/l3keys2e/l3keys2e.sty @@ -46,8 +46,8 @@ %% %% ----------------------------------------------------------------------- %% -\RequirePackage{expl3}[2016/01/19] -\@ifpackagelater{expl3}{2016/01/19} +\RequirePackage{expl3}[2016/03/26] +\@ifpackagelater{expl3}{2016/03/26} {} {% \PackageError{l3keys2e}{Support package l3kernel too old} @@ -61,8 +61,8 @@ } \def\ExplFileName{l3keys2e} \def\ExplFileDescription{LaTeX2e option processing using LaTeX3 keys} -\def\ExplFileDate{2016/01/19} -\def\ExplFileVersion{6377} +\def\ExplFileDate{2016/03/26} +\def\ExplFileVersion{6466} \ProvidesExplPackage {\ExplFileName}{\ExplFileDate}{\ExplFileVersion}{\ExplFileDescription} \cs_generate_variant:Nn \clist_put_right:Nn { Nv } diff --git a/Master/texmf-dist/tex/latex/l3packages/xfrac/xfrac.sty b/Master/texmf-dist/tex/latex/l3packages/xfrac/xfrac.sty index 46caf08faf1..10ac44aee76 100644 --- a/Master/texmf-dist/tex/latex/l3packages/xfrac/xfrac.sty +++ b/Master/texmf-dist/tex/latex/l3packages/xfrac/xfrac.sty @@ -47,8 +47,8 @@ %% %% ----------------------------------------------------------------------- %% -\RequirePackage{expl3}[2016/01/19] -\@ifpackagelater{expl3}{2016/01/19} +\RequirePackage{expl3}[2016/03/26] +\@ifpackagelater{expl3}{2016/03/26} {} {% \PackageError{xfrac}{Support package l3kernel too old} @@ -63,8 +63,8 @@ \RequirePackage{amstext,graphicx,l3keys2e,textcomp,xparse,xtemplate} \def\ExplFileName{xfrac} \def\ExplFileDescription{L3 Experimental split-level fractions} -\def\ExplFileDate{2016/01/19} -\def\ExplFileVersion{6377} +\def\ExplFileDate{2016/03/26} +\def\ExplFileVersion{6466} \ProvidesExplPackage {\ExplFileName}{\ExplFileDate}{\ExplFileVersion}{\ExplFileDescription} \keys_define:nn { xfrac } diff --git a/Master/texmf-dist/tex/latex/l3packages/xparse/xparse.sty b/Master/texmf-dist/tex/latex/l3packages/xparse/xparse.sty index 01b6243fff0..ba0540c21cf 100644 --- a/Master/texmf-dist/tex/latex/l3packages/xparse/xparse.sty +++ b/Master/texmf-dist/tex/latex/l3packages/xparse/xparse.sty @@ -50,8 +50,8 @@ %% %% ----------------------------------------------------------------------- %% -\RequirePackage{expl3}[2016/01/19] -\@ifpackagelater{expl3}{2016/01/19} +\RequirePackage{expl3}[2016/03/26] +\@ifpackagelater{expl3}{2016/03/26} {} {% \PackageError{xparse}{Support package l3kernel too old} @@ -65,8 +65,8 @@ } \def\ExplFileName{xparse} \def\ExplFileDescription{L3 Experimental document command parser} -\def\ExplFileDate{2016/01/19} -\def\ExplFileVersion{6377} +\def\ExplFileDate{2016/03/26} +\def\ExplFileVersion{6466} \ProvidesExplPackage {\ExplFileName}{\ExplFileDate}{\ExplFileVersion}{\ExplFileDescription} \tl_const:Nx \c__xparse_no_value_tl @@ -723,13 +723,8 @@ } \token_if_eq_catcode:NNTF + #1 { - \group_begin: - \char_set_lccode:nn { `A } { `#1 } - \tex_lowercase:D - { - \group_end: - \l__xparse_fn_tl A - } + \exp_after:wN \exp_after:wN \exp_after:wN + \l__xparse_fn_tl \char_generate:nn { `#1 } { 11 } } { \exp_after:wN \l__xparse_fn_tl @@ -1135,10 +1130,8 @@ { \__xparse_grab_v_group_end: \__xparse_add_arg:o \c__xparse_no_value_tl - \group_begin: - \char_set_lccode:nn { `\# } { \tex_endlinechar:D } - \tex_lowercase:D - { \group_end: \peek_meaning_remove:NTF ## } + \exp_after:wN \exp_after:wN \exp_after:wN + \peek_meaning_remove:NTF \char_generate:nn { \tex_endlinechar:D } { 6 } { \__msg_kernel_error:nnxxx { xparse } { verbatim-newline } { \exp_after:wN \token_to_str:N \l__xparse_fn_tl } diff --git a/Master/texmf-dist/tex/latex/l3packages/xtemplate/xtemplate.sty b/Master/texmf-dist/tex/latex/l3packages/xtemplate/xtemplate.sty index 00e7c3e19b1..9caca5a9c6e 100644 --- a/Master/texmf-dist/tex/latex/l3packages/xtemplate/xtemplate.sty +++ b/Master/texmf-dist/tex/latex/l3packages/xtemplate/xtemplate.sty @@ -50,8 +50,8 @@ %% %% ----------------------------------------------------------------------- %% -\RequirePackage{expl3}[2016/01/19] -\@ifpackagelater{expl3}{2016/01/19} +\RequirePackage{expl3}[2016/03/26] +\@ifpackagelater{expl3}{2016/03/26} {} {% \PackageError{xtemplate}{Support package l3kernel too old} @@ -65,8 +65,8 @@ } \def\ExplFileName{xtemplate} \def\ExplFileDescription{L3 Experimental prototype document functions} -\def\ExplFileDate{2016/01/19} -\def\ExplFileVersion{6377} +\def\ExplFileDate{2016/03/26} +\def\ExplFileVersion{6466} \ProvidesExplPackage {\ExplFileName}{\ExplFileDate}{\ExplFileVersion}{\ExplFileDescription} \tl_const:Nn \c__xtemplate_code_root_tl { template~code~>~ } |