From baa7f8e9f03bccf6f383eab72d2945fb6a2e110d Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Tue, 12 Oct 2010 00:07:26 +0000 Subject: expl3 2072 (10oct10) git-svn-id: svn://tug.org/texlive/trunk@20059 c570f23f-e606-0410-a88d-b1316a301751 --- Master/texmf-dist/tex/latex/expl3/expl3.sty | 5 +- Master/texmf-dist/tex/latex/expl3/l3basics.sty | 12 +- Master/texmf-dist/tex/latex/expl3/l3clist.sty | 2 +- Master/texmf-dist/tex/latex/expl3/l3int.sty | 665 +++++++++++++++++++----- Master/texmf-dist/tex/latex/expl3/l3intexpr.sty | 228 -------- Master/texmf-dist/tex/latex/expl3/l3io.sty | 18 +- Master/texmf-dist/tex/latex/expl3/l3keys.sty | 4 +- Master/texmf-dist/tex/latex/expl3/l3msg.sty | 127 ++--- Master/texmf-dist/tex/latex/expl3/l3names.sty | 18 +- Master/texmf-dist/tex/latex/expl3/l3num.sty | 4 +- Master/texmf-dist/tex/latex/expl3/l3prg.sty | 52 +- Master/texmf-dist/tex/latex/expl3/l3skip.sty | 27 +- Master/texmf-dist/tex/latex/expl3/l3tl.sty | 6 +- Master/texmf-dist/tex/latex/expl3/l3token.sty | 34 +- 14 files changed, 693 insertions(+), 509 deletions(-) delete mode 100644 Master/texmf-dist/tex/latex/expl3/l3intexpr.sty (limited to 'Master/texmf-dist/tex/latex/expl3') diff --git a/Master/texmf-dist/tex/latex/expl3/expl3.sty b/Master/texmf-dist/tex/latex/expl3/expl3.sty index 1c4c346d8a7..3a14c072444 100644 --- a/Master/texmf-dist/tex/latex/expl3/expl3.sty +++ b/Master/texmf-dist/tex/latex/expl3/expl3.sty @@ -49,7 +49,7 @@ %% %% ----------------------------------------------------------------------- \RequirePackage{l3names} -\GetIdInfo$Id: expl3.dtx 2022 2010-09-16 13:00:35Z joseph $ +\GetIdInfo$Id: expl3.dtx 2056 2010-10-02 17:31:05Z will $ {L3 Experimental code bundle wrapper}% \ProvidesExplPackage {\filename}{\filedate}{\fileversion}{\filedescription} @@ -68,11 +68,10 @@ l3basics, l3expan, l3tl, - l3intexpr, + l3int, l3quark, l3seq, l3toks, - l3int, l3prg, l3clist, l3token, diff --git a/Master/texmf-dist/tex/latex/expl3/l3basics.sty b/Master/texmf-dist/tex/latex/expl3/l3basics.sty index d128e2fa1f3..1c0e8c5243b 100644 --- a/Master/texmf-dist/tex/latex/expl3/l3basics.sty +++ b/Master/texmf-dist/tex/latex/expl3/l3basics.sty @@ -48,7 +48,7 @@ %% %% ----------------------------------------------------------------------- \RequirePackage{l3names} -\GetIdInfo$Id: l3basics.dtx 2037 2010-09-20 21:22:45Z joseph $ +\GetIdInfo$Id: l3basics.dtx 2063 2010-10-03 08:26:49Z mittelba $ {L3 Experimental basic definitions} \ProvidesExplPackage {\filename}{\filedate}{\fileversion}{\filedescription} @@ -410,9 +410,8 @@ \cs_set_protected_nopar:Npn \chk_if_free_cs:N #1{ \cs_if_free:NF #1 { - \msg_kernel_bug:x {Command~name~`\token_to_str:N #1'~ - already~defined!~ - Current~meaning:~\token_to_meaning:N #1 + \msg_kernel_bug:x {Command~name~`\token_to_str:N #1'~already~defined!~ + Current~meaning: \\ \c_space_tl \c_space_tl \token_to_meaning:N #1 } } \cs_record_meaning:N#1 @@ -428,9 +427,8 @@ { \msg_kernel_bug:x { - Command~name~`\token_to_str:N #1'~ - already~defined!~ - Current~meaning:~\token_to_meaning:N #1 + Command~name~`\token_to_str:N #1'~already~defined!~ + Current~meaning: \\ \c_space_tl \c_space_tl \token_to_meaning:N #1 } } } diff --git a/Master/texmf-dist/tex/latex/expl3/l3clist.sty b/Master/texmf-dist/tex/latex/expl3/l3clist.sty index 257c7209ba8..2e40898a0dc 100644 --- a/Master/texmf-dist/tex/latex/expl3/l3clist.sty +++ b/Master/texmf-dist/tex/latex/expl3/l3clist.sty @@ -48,7 +48,7 @@ %% %% ----------------------------------------------------------------------- \RequirePackage{l3names} -\GetIdInfo$Id: l3clist.dtx 2037 2010-09-20 21:22:45Z joseph $ +\GetIdInfo$Id: l3clist.dtx 2071 2010-10-09 09:48:48Z joseph $ {L3 Experimental comma separated lists} \ProvidesExplPackage {\filename}{\filedate}{\fileversion}{\filedescription} diff --git a/Master/texmf-dist/tex/latex/expl3/l3int.sty b/Master/texmf-dist/tex/latex/expl3/l3int.sty index 44c910a145c..230ff5aed01 100644 --- a/Master/texmf-dist/tex/latex/expl3/l3int.sty +++ b/Master/texmf-dist/tex/latex/expl3/l3int.sty @@ -48,26 +48,47 @@ %% %% ----------------------------------------------------------------------- \RequirePackage{l3names} -\GetIdInfo$Id: l3int.dtx 2029 2010-09-19 13:59:02Z joseph $ +\GetIdInfo$Id: l3int.dtx 2070 2010-10-09 06:55:11Z joseph $ {L3 Experimental Integer module} \ProvidesExplPackage {\filename}{\filedate}{\fileversion}{\filedescription} \package_check_loaded_expl: +\cs_set_eq:NN \int_value:w \tex_number:D +\cs_set_eq:NN \int_eval:w \etex_numexpr:D +\cs_set_protected:Npn \int_eval_end: {\tex_relax:D} +\cs_set_eq:NN \if_int_compare:w \tex_ifnum:D +\cs_new_eq:NN \if_num:w \tex_ifnum:D +\cs_set_eq:NN \if_int_odd:w \tex_ifodd:D +\cs_new_eq:NN \if_case:w \tex_ifcase:D \cs_new_eq:NN \int_to_roman:w \tex_romannumeral:D -\cs_new_eq:NN \int_to_number:w \tex_number:D \cs_new_eq:NN \int_advance:w \tex_advance:D +\cs_set:Npn \int_eval:n #1{ + \int_value:w \int_eval:w #1\int_eval_end: +} \cs_new_protected_nopar:Npn \int_new:N #1 { \chk_if_free_cs:N #1 \newcount #1 } \cs_generate_variant:Nn \int_new:N {c} -\cs_new_protected_nopar:Npn \int_set:Nn #1#2{#1 \intexpr_eval:w #2\intexpr_eval_end: +\cs_new_protected_nopar:Npn \int_set:Nn #1#2{#1 \int_eval:w #2\int_eval_end: } \cs_new_protected_nopar:Npn \int_gset:Nn { \pref_global:D \int_set:Nn } \cs_generate_variant:Nn\int_set:Nn {cn} \cs_generate_variant:Nn\int_gset:Nn {cn} +\cs_new_protected_nopar:Npn \int_set_eq:NN #1#2 { + \int_set:Nn #1 {#2} +} +\cs_generate_variant:Nn \int_set_eq:NN { c } +\cs_generate_variant:Nn \int_set_eq:NN { Nc } +\cs_generate_variant:Nn \int_set_eq:NN { cc } +\cs_new_protected_nopar:Npn \int_gset_eq:NN #1#2 { + \int_gset:Nn #1 {#2} +} +\cs_generate_variant:Nn \int_gset_eq:NN { c } +\cs_generate_variant:Nn \int_gset_eq:NN { Nc } +\cs_generate_variant:Nn \int_gset_eq:NN { cc } \cs_new_protected_nopar:Npn \int_incr:N #1{\int_advance:w#1\c_one } \cs_new_protected_nopar:Npn \int_decr:N #1{\int_advance:w#1\c_minus_one @@ -91,10 +112,10 @@ \cs_new_protected_nopar:Npn \int_gzero:N #1 {\pref_global:D #1=\c_zero} \cs_generate_variant:Nn \int_gzero:N {c} \cs_new_protected_nopar:Npn \int_add:Nn #1#2{ - \int_advance:w #1 by \intexpr_eval:w #2\intexpr_eval_end: + \int_advance:w #1 by \int_eval:w #2\int_eval_end: } \cs_new_nopar:Npn \int_sub:Nn #1#2{ - \int_advance:w #1-\intexpr_eval:w #2\intexpr_eval_end: + \int_advance:w #1-\int_eval:w #2\int_eval_end: } \cs_new_protected_nopar:Npn \int_gadd:Nn { \pref_global:D @@ -110,7 +131,7 @@ \cs_new_nopar:Npn \int_use:c #1{\int_use:N \cs:w#1\cs_end:} \cs_new_eq:NN \int_show:N \kernel_register_show:N \cs_new_eq:NN \int_show:c \kernel_register_show:c -\cs_new_nopar:Npn \int_to_arabic:n #1{ \intexpr_eval:n{#1}} +\cs_new_nopar:Npn \int_to_arabic:n #1{ \int_eval:n{#1}} \cs_new_protected_nopar:Npn \int_roman_lcuc_mapping:Nnn #1#2#3{ \cs_set_nopar:cpn {int_to_lc_roman_#1:}{#2} \cs_set_nopar:cpn {int_to_uc_roman_#1:}{#3} @@ -125,51 +146,98 @@ \int_roman_lcuc_mapping:Nnn Q \use_none:nn \use_none:nn \cs_new_nopar:Npn \int_to_roman:n #1 { \exp_after:wN \int_to_roman_lcuc:NN \exp_after:wN l - \int_to_roman:w \intexpr_eval:n {#1} Q + \int_to_roman:w \int_eval:n {#1} Q } \cs_new_nopar:Npn \int_to_Roman:n #1 { \exp_after:wN \int_to_roman_lcuc:NN \exp_after:wN u - \int_to_roman:w \intexpr_eval:n {#1} Q + \int_to_roman:w \int_eval:n {#1} Q } \cs_new_nopar:Npn \int_to_roman_lcuc:NN #1#2{ \use:c {int_to_#1c_roman_#2:} \int_to_roman_lcuc:NN #1 } +\cs_new_nopar:Npn \int_convert_to_symbols:nnn #1#2#3 { + \int_compare:nNnTF {#1} > {#2} + { + \exp_args:Nf \int_convert_to_symbols:nnn + { \int_div_truncate:nn { #1 - 1 } {#2} } {#2} {#3} + \exp_args:Nf \prg_case_int:nnn + { \int_eval:n { 1 + \int_mod:nn { #1 - 1 } {#2} } } + {#3} { } + } + { \exp_args:Nf \prg_case_int:nnn { \int_eval:n {#1} } {#3} { } } +} \cs_set_nopar:Npn \int_convert_number_with_rule:nnN #1#2#3{ - \intexpr_compare:nNnTF {#1}>{#2} + \int_compare:nNnTF {#1}>{#2} { \exp_args:Nf \int_convert_number_with_rule:nnN - { \intexpr_div_truncate:nn {#1-1}{#2} }{#2} + { \int_div_truncate:nn {#1-1}{#2} }{#2} #3 - \exp_args:Nf #3 { \intexpr_eval:n{1+\intexpr_mod:nn {#1-1}{#2}} } + \exp_args:Nf #3 { \int_eval:n{1+\int_mod:nn {#1-1}{#2}} } } - { \exp_args:Nf #3{ \intexpr_eval:n{#1} } } + { \exp_args:Nf #3{ \int_eval:n{#1} } } } -\cs_new_nopar:Npn \int_alph_default_conversion_rule:n #1{ - \if_case:w #1 - \or: a\or: b\or: c\or: d\or: e\or: f - \or: g\or: h\or: i\or: j\or: k\or: l - \or: m\or: n\or: o\or: p\or: q\or: r - \or: s\or: t\or: u\or: v\or: w\or: x - \or: y\or: z - \fi: -} -\cs_new_nopar:Npn \int_Alph_default_conversion_rule:n #1{ - \if_case:w #1 - \or: A\or: B\or: C\or: D\or: E\or: F - \or: G\or: H\or: I\or: J\or: K\or: L - \or: M\or: N\or: O\or: P\or: Q\or: R - \or: S\or: T\or: U\or: V\or: W\or: X - \or: Y\or: Z - \fi: -} -\cs_new_nopar:Npn \int_to_alph:n #1{ - \int_convert_number_with_rule:nnN {#1}{26} - \int_alph_default_conversion_rule:n +\cs_new_nopar:Npn \int_to_alph:n #1 { + \int_convert_to_symbols:nnn {#1} { 26 } + { + { 1 } { a } + { 2 } { b } + { 3 } { c } + { 4 } { d } + { 5 } { e } + { 6 } { f } + { 7 } { g } + { 8 } { h } + { 9 } { i } + { 10 } { j } + { 11 } { k } + { 12 } { l } + { 13 } { m } + { 14 } { n } + { 15 } { o } + { 16 } { p } + { 17 } { q } + { 18 } { r } + { 19 } { s } + { 20 } { t } + { 21 } { u } + { 22 } { v } + { 23 } { w } + { 24 } { x } + { 25 } { y } + { 26 } { z } + } } -\cs_new_nopar:Npn \int_to_Alph:n #1{ - \int_convert_number_with_rule:nnN {#1}{26} - \int_Alph_default_conversion_rule:n +\cs_new_nopar:Npn \int_to_Alph:n #1 { + \int_convert_to_symbols:nnn {#1} { 26 } + { + { 1 } { A } + { 2 } { B } + { 3 } { C } + { 4 } { D } + { 5 } { E } + { 6 } { F } + { 7 } { G } + { 8 } { H } + { 9 } { I } + { 10 } { J } + { 11 } { K } + { 12 } { L } + { 13 } { M } + { 14 } { N } + { 15 } { O } + { 16 } { P } + { 17 } { Q } + { 18 } { R } + { 19 } { S } + { 20 } { T } + { 21 } { U } + { 22 } { V } + { 23 } { W } + { 24 } { X } + { 25 } { Y } + { 26 } { Z } + } } \cs_new_nopar:Npn \int_to_symbol:n #1{ \mode_if_math:TF @@ -214,21 +282,390 @@ \int_new:N \g_tmpa_int \int_new:N \g_tmpb_int \cs_set_nopar:Npn \int_pre_eval_one_arg:Nn #1#2{ - \exp_args:Nf#1{\intexpr_eval:n{#2}}} + \exp_args:Nf#1{\int_eval:n{#2}}} \cs_set_nopar:Npn \int_pre_eval_two_args:Nnn #1#2#3{ - \exp_args:Nff#1{\intexpr_eval:n{#2}}{\intexpr_eval:n{#3}} + \exp_args:Nff#1{\int_eval:n{#2}}{\int_eval:n{#3}} +} +\cs_new_nopar:Npn \int_from_roman:n #1 { + \tl_if_blank:nF {#1} + { + \tex_expandafter:D \int_from_roman_end:w + \tex_number:D \etex_numexpr:D + \int_from_roman_aux:NN #1 Q \q_stop + } +} +\cs_new_nopar:Npn \int_from_roman_aux:NN #1#2 { + \str_if_eq:nnTF {#1} { Q } + {#1#2} + { + \str_if_eq:nnTF {#2} { Q } + { + \cs_if_exist:cF { c_int_from_roman_ #1 _int } + { \int_from_roman_clean_up:w } + + + \use:c { c_int_from_roman_ #1 _int } + #2 + } + { + \cs_if_exist:cF { c_int_from_roman_ #1 _int } + { \int_from_roman_clean_up:w } + \cs_if_exist:cF { c_int_from_roman_ #2 _int } + { \int_from_roman_clean_up:w } + \int_compare:nNnTF + { \use:c { c_int_from_roman_ #1 _int } } + < + { \use:c { c_int_from_roman_ #2 _int } } + { + + \use:c { c_int_from_roman_ #2 _int } + - \use:c { c_int_from_roman_ #1 _int } + \int_from_roman_aux:NN + } + { + + \use:c { c_int_from_roman_ #1 _int } + \int_from_roman_aux:NN #2 + } + } + } +} +\cs_new_nopar:Npn \int_from_roman_end:w #1 Q #2 \q_stop { + \tl_if_empty:nTF {#2} {#1} {#2} +} +\cs_new_nopar:Npn \int_from_roman_clean_up:w #1 Q { + 0 Q -1 } +\cs_new:Npn \int_convert_from_base_ten:nn #1#2 { + \int_compare:nNnTF {#1} < { 0 } + { + - + \exp_args:Nnf \int_convert_from_base_ten_aux:nnn + { } { \int_eval:n { 0 - ( #1 ) } } {#2} + } + { + \exp_args:Nnf \int_convert_from_base_ten_aux:nnn + { } { \int_eval:n {#1} } {#2} + } +} +\cs_new:Npn \int_convert_from_base_ten_aux:nnn #1#2#3 { + \int_compare:nNnTF {#2} < {#3} + { + \int_convert_number_to_letter:n {#2} + #1 + } + { + \exp_args:Nff \int_convert_from_base_ten_aux:nnn + { + \int_convert_number_to_letter:n + { \int_mod:nn {#2} {#3} } + #1 + } + { \int_div_truncate:nn {#2} {#3} } + {#3} + } +} +\cs_new:Npn \int_convert_number_to_letter:n #1 { + \prg_case_int:nnn { #1 - 9 } + { + { 1 } { A } + { 2 } { B } + { 3 } { C } + { 4 } { D } + { 5 } { E } + { 6 } { F } + { 7 } { G } + { 8 } { H } + { 9 } { I } + { 10 } { J } + { 11 } { K } + { 12 } { L } + { 13 } { M } + { 14 } { N } + { 15 } { O } + { 16 } { P } + { 17 } { Q } + { 18 } { R } + { 19 } { S } + { 20 } { T } + { 21 } { U } + { 22 } { V } + { 23 } { W } + { 24 } { X } + { 25 } { Y } + { 26 } { Z } + } + {#1} +} +\cs_new:Npn \int_convert_to_base_ten:nn #1#2 { + \int_eval:n + { + \int_get_sign:n {#1} + \exp_args:Nf \int_convert_to_base_ten_aux:nn + { \int_get_digits:n {#1} } {#2} + } +} +\cs_new:Npn \int_convert_to_base_ten_aux:nn #1#2 { + \int_convert_to_base_ten_aux:nnN { 0 } { #2 } #1 \q_nil +} +\cs_new:Npn \int_convert_to_base_ten_aux:nnN #1#2#3 { + \quark_if_nil:NTF #3 + {#1} + { + \exp_args:Nf \int_convert_to_base_ten_aux:nnN + { \int_eval:n { #1 * #2 + \int_convert_to_base_ten_aux:N #3 } } + {#2} + } +} +\cs_new:Npn \int_convert_to_base_ten_aux:N #1 { + \int_compare:nNnTF { `#1 } < { 58 } + {#1} + { + \int_eval:n + { `#1 - \int_compare:nNnTF { `#1 } < { 91 } { 55 } { 87 } } + } +} +\cs_new:Npn \int_get_sign_and_digits:n #1 { + \int_get_sign_and_digits_aux:nNNN {#1} + \c_true_bool \c_true_bool \c_true_bool +} +\cs_new:Npn \int_get_sign:n #1 { + \int_get_sign_and_digits_aux:nNNN {#1} + \c_true_bool \c_true_bool \c_false_bool +} +\cs_new:Npn \int_get_digits:n #1 { + \int_get_sign_and_digits_aux:nNNN {#1} + \c_true_bool \c_false_bool \c_true_bool +} +\cs_new:Npn \int_get_sign_and_digits_aux:nNNN #1#2#3#4 { + \tl_if_head_eq_charcode:fNTF {#1} - + { + \bool_if:NTF #2 + { + \int_get_sign_and_digits_aux:oNNN + { \use_none:n #1 } \c_false_bool #3#4 + } + { + \int_get_sign_and_digits_aux:oNNN + { \use_none:n #1 } \c_true_bool #3#4 + } + } + { + \tl_if_head_eq_charcode:fNTF {#1} + + { \int_get_sign_and_digits_aux:oNNN { \use_none:n #1 } #2#3#4 } + { + \bool_if:NT #3 { \bool_if:NF #2 - } + \bool_if:NT #4 {#1} + } + } +} +\cs_generate_variant:Nn \int_get_sign_and_digits_aux:nNNN { o } +\cs_new:Npn \int_from_binary:n #1 { + \int_convert_to_base_ten:nn {#1} { 2 } +} +\cs_new:Npn \int_from_hexadecimal:n #1 { + \int_convert_to_base_ten:nn {#1} { 16 } +} +\cs_new:Npn \int_from_octal:n #1 { + \int_convert_to_base_ten:nn {#1} { 8 } +} +\cs_new:Npn \int_to_binary:n #1 { + \int_convert_from_base_ten:nn {#1} { 2 } +} +\cs_new:Npn \int_to_hexadecimal:n #1 { + \int_convert_from_base_ten:nn {#1} { 16 } } +\cs_new:Npn \int_to_octal:n #1 { + \int_convert_from_base_ten:nn {#1} { 8 } +} +\cs_new:Npn \int_from_alph:n #1 { + \int_eval:n + { + \int_get_sign:n {#1} + \exp_args:Nf \int_from_alph_aux:n + { \int_get_digits:n {#1} } + } +} +\cs_new:Npn \int_from_alph_aux:n #1 { + \int_from_alph_aux:nN { 0 } #1 \q_nil +} +\cs_new:Npn \int_from_alph_aux:nN #1#2 { + \quark_if_nil:NTF #2 + {#1} + { + \exp_args:Nf \int_from_alph_aux:nN + { \int_eval:n { #1 * 26 + \int_from_alph_aux:N #2 } } + } +} +\cs_new:Npn \int_from_alph_aux:N #1 { + \int_eval:n + { `#1 - \int_compare:nNnTF { `#1 } < { 91 } { 64 } { 96 } } +} +\prg_set_conditional:Npnn \int_compare:n #1{p,TF,T,F}{ + \exp_after:wN \int_compare_auxi:w \int_value:w + \int_eval:w #1\q_stop +} +\cs_set:Npn \int_compare_auxi:w #1#2\q_stop{ + \exp_after:wN \int_compare_auxii:w \tex_romannumeral:D + \if:w #1- \else: -\fi: #1#2 \q_mark #1#2 \q_stop +} +\cs_set:Npn \int_compare_auxii:w #1#2#3\q_mark{ + \use:c{ + int_compare_ + #1 \if_meaning:w =#2 = \fi: + :w} +} +\cs_set:cpn {int_compare_=:w} #1=#2\q_stop{ + \if_int_compare:w #1=\int_eval:w #2 \int_eval_end: + \prg_return_true: \else: \prg_return_false: \fi: +} +\cs_set:cpn {int_compare_==:w} #1==#2\q_stop{ + \if_int_compare:w #1=\int_eval:w #2 \int_eval_end: + \prg_return_true: \else: \prg_return_false: \fi: +} +\cs_set:cpn {int_compare_!=:w} #1!=#2\q_stop{ + \if_int_compare:w #1=\int_eval:w #2 \int_eval_end: + \prg_return_false: \else: \prg_return_true: \fi: +} +\cs_set:cpn {int_compare_<:w} #1<#2\q_stop{ + \if_int_compare:w #1<\int_eval:w #2 \int_eval_end: + \prg_return_true: \else: \prg_return_false: \fi: +} +\cs_set:cpn {int_compare_>:w} #1>#2\q_stop{ + \if_int_compare:w #1>\int_eval:w #2 \int_eval_end: + \prg_return_true: \else: \prg_return_false: \fi: +} +\cs_set:cpn {int_compare_<=:w} #1<=#2\q_stop{ + \if_int_compare:w #1>\int_eval:w #2 \int_eval_end: + \prg_return_false: \else: \prg_return_true: \fi: +} +\cs_set:cpn {int_compare_>=:w} #1>=#2\q_stop{ + \if_int_compare:w #1<\int_eval:w #2 \int_eval_end: + \prg_return_false: \else: \prg_return_true: \fi: +} +\prg_set_conditional:Npnn \int_compare:nNn #1#2#3{p}{ + \if_int_compare:w \int_eval:w #1 #2 \int_eval:w #3 + \int_eval_end: + \prg_return_true: \else: \prg_return_false: \fi: +} +\cs_set_nopar:Npn \int_compare:nNnT #1#2#3 { + \tex_ifnum:D \etex_numexpr:D #1 #2 \etex_numexpr:D #3 \scan_stop: + \tex_expandafter:D \use:n + \tex_else:D + \tex_expandafter:D \use_none:n + \tex_fi:D +} +\cs_set_nopar:Npn \int_compare:nNnF #1#2#3 { + \tex_ifnum:D \etex_numexpr:D #1 #2 \etex_numexpr:D #3 \scan_stop: + \tex_expandafter:D \use_none:n + \tex_else:D + \tex_expandafter:D \use:n + \tex_fi:D +} +\cs_set_nopar:Npn \int_compare:nNnTF #1#2#3 { + \tex_ifnum:D \etex_numexpr:D #1 #2 \etex_numexpr:D #3 \scan_stop: + \tex_expandafter:D \use_i:nn + \tex_else:D + \tex_expandafter:D \use_ii:nn + \tex_fi:D +} +\cs_set:Npn \int_abs:n #1{ + \int_value:w + \if_int_compare:w \int_eval:w #1<\c_zero + - + \fi: + \int_eval:w #1\int_eval_end: +} +\cs_set:Npn \int_max:nn #1#2{ + \int_value:w \int_eval:w + \if_int_compare:w + \int_eval:w #1>\int_eval:w #2\int_eval_end: + #1 + \else: + #2 + \fi: + \int_eval_end: +} +\cs_set:Npn \int_min:nn #1#2{ + \int_value:w \int_eval:w + \if_int_compare:w + \int_eval:w #1<\int_eval:w #2\int_eval_end: + #1 + \else: + #2 + \fi: + \int_eval_end: +} +\cs_set:Npn \int_div_truncate:nn #1#2 { + \int_value:w \int_eval:w + \if_int_compare:w \int_eval:w #1 = \c_zero + 0 + \else: + (#1 + \if_int_compare:w \int_eval:w #1 < \c_zero + \if_int_compare:w \int_eval:w #2 < \c_zero + -( #2 + + \else: + +( #2 - + \fi: + \else: + \if_int_compare:w \int_eval:w #2 < \c_zero + +( #2 + + \else: + -( #2 - + \fi: + \fi: + 1)/2) + \fi: + /(#2) + \int_eval_end: +} +\cs_set:Npn \int_div_round:nn #1#2 {\int_eval:n{(#1)/(#2)}} +\cs_set:Npn \int_mod:nn #1#2 { + \int_value:w + \int_eval:w + #1 - \int_div_truncate:nn {#1}{#2} * (#2) + \int_eval_end: +} +\prg_set_conditional:Npnn \int_if_odd:n #1 {p,TF,T,F} { + \if_int_odd:w \int_eval:w #1\int_eval_end: + \prg_return_true: \else: \prg_return_false: \fi: +} +\prg_set_conditional:Npnn \int_if_even:n #1 {p,TF,T,F} { + \if_int_odd:w \int_eval:w #1\int_eval_end: + \prg_return_false: \else: \prg_return_true: \fi: +} +\cs_set:Npn \int_while_do:nn #1#2{ + \int_compare:nT {#1}{#2 \int_while_do:nn {#1}{#2}} +} +\cs_set:Npn \int_until_do:nn #1#2{ + \int_compare:nF {#1}{#2 \int_until_do:nn {#1}{#2}} +} +\cs_set:Npn \int_do_while:nn #1#2{ + #2 \int_compare:nT {#1}{\int_do_while:nNnn {#1}{#2}} +} +\cs_set:Npn \int_do_until:nn #1#2{ + #2 \int_compare:nF {#1}{\int_do_until:nn {#1}{#2}} +} +\cs_set:Npn \int_while_do:nNnn #1#2#3#4{ + \int_compare:nNnT {#1}#2{#3}{#4 \int_while_do:nNnn {#1}#2{#3}{#4}} +} +\cs_set:Npn \int_until_do:nNnn #1#2#3#4{ + \int_compare:nNnF {#1}#2{#3}{#4 \int_until_do:nNnn {#1}#2{#3}{#4}} +} +\cs_set:Npn \int_do_while:nNnn #1#2#3#4{ + #4 \int_compare:nNnT {#1}#2{#3}{\int_do_while:nNnn {#1}#2{#3}{#4}} +} +\cs_set:Npn \int_do_until:nNnn #1#2#3#4{ + #4 \int_compare:nNnF {#1}#2{#3}{\int_do_until:nNnn {#1}#2{#3}{#4}} +} + \cs_new_protected_nopar:Npn \int_const:Nn #1#2 { - \intexpr_compare:nTF { #2 > \c_minus_one } + \int_compare:nTF { #2 > \c_minus_one } { - \intexpr_compare:nTF { #2 > \c_max_register_int } + \int_compare:nTF { #2 > \c_max_register_int } { \int_new:N #1 \int_gset:Nn #1 {#2} } { \chk_if_free_cs:N #1 - \tex_global:D \tex_mathchardef:D #1 = \intexpr_eval:n {#2} + \tex_global:D \tex_mathchardef:D #1 = \int_eval:n {#2} } } { @@ -236,6 +673,8 @@ \int_gset:Nn #1 {#2} } } +\cs_generate_variant:Nn \int_const:Nn { c } +\tex_mathchardef:D \c_max_register_int = 32767 \scan_stop: %% \tex_countdef:D \c_minus_one = 10 \scan_stop: %% \c_minus_one = -1 \scan_stop: %% in l3basics \int_const:Nn \c_one {1} @@ -266,97 +705,61 @@ \int_const:Nn \c_ten_thousand_four {10004} \int_const:Nn \c_twenty_thousand {20000} \int_const:Nn \c_max_int {2147483647} -\cs_new_nopar:Npn \int_get_sign_and_digits:n #1{ - \int_get_sign_and_digits_aux:nNNN {#1} \c_true_bool \c_true_bool \c_true_bool -} -\cs_new_nopar:Npn \int_get_sign:n #1{ - \int_get_sign_and_digits_aux:nNNN {#1} \c_true_bool \c_true_bool \c_false_bool -} -\cs_new_nopar:Npn \int_get_digits:n #1{ - \int_get_sign_and_digits_aux:nNNN {#1} \c_true_bool \c_false_bool \c_true_bool -} -\cs_new_nopar:Npn \int_get_sign_and_digits_aux:nNNN #1#2#3#4{ - \tl_if_head_eq_charcode:fNTF {#1} - - { - \bool_if:NTF #2 - { \int_get_sign_and_digits_aux:oNNN {\use_none:n #1} \c_false_bool #3#4 } - { \int_get_sign_and_digits_aux:oNNN {\use_none:n #1} \c_true_bool #3#4 } - } - { - \tl_if_head_eq_charcode:fNTF {#1} + - { \int_get_sign_and_digits_aux:oNNN {\use_none:n #1} #2#3#4} - { - \bool_if:NT #3 { \bool_if:NF #2 - } - \bool_if:NT #4 {#1} - } - } -} -\cs_generate_variant:Nn \int_get_sign_and_digits_aux:nNNN {oNNN} -\cs_set_nopar:Npn \int_convert_from_base_ten:nn#1#2{ - \intexpr_compare:nNnTF {#1}<\c_zero - { - - \int_convert_from_base_ten_aux:nfn {} - { \intexpr_eval:n {-#1} } - } - { - \int_convert_from_base_ten_aux:nfn {} - { \intexpr_eval:n {#1} } - } - {#2} -} -\cs_new_nopar:Npn \int_convert_from_base_ten_aux:nnn#1#2#3{ - \intexpr_compare:nNnTF {#2}<{#3} - { \int_convert_number_to_letter:n{#2} #1 } - { - \int_convert_from_base_ten_aux:ffn - { - \int_convert_number_to_letter:n {\intexpr_mod:nn {#2}{#3}} - #1 - } - { \intexpr_div_truncate:nn{#2}{#3}} - {#3} - } -} -\cs_generate_variant:Nn \int_convert_from_base_ten_aux:nnn {nfn} -\cs_generate_variant:Nn \int_convert_from_base_ten_aux:nnn {ffn} -\cs_set_nopar:Npn \int_convert_number_to_letter:n #1{ - \if_case:w \intexpr_eval:w #1-10\intexpr_eval_end: - \exp_after:wN A \or: \exp_after:wN B \or: - \exp_after:wN C \or: \exp_after:wN D \or: \exp_after:wN E \or: - \exp_after:wN F \or: \exp_after:wN G \or: \exp_after:wN H \or: - \exp_after:wN I \or: \exp_after:wN J \or: \exp_after:wN K \or: - \exp_after:wN L \or: \exp_after:wN M \or: \exp_after:wN N \or: - \exp_after:wN O \or: \exp_after:wN P \or: \exp_after:wN Q \or: - \exp_after:wN R \or: \exp_after:wN S \or: \exp_after:wN T \or: - \exp_after:wN U \or: \exp_after:wN V \or: \exp_after:wN W \or: - \exp_after:wN X \or: \exp_after:wN Y \or: \exp_after:wN Z \else: - \use_i_after_fi:nw{ #1 }\fi: } -\cs_set_nopar:Npn \int_convert_to_base_ten:nn #1#2 { - \intexpr_eval:n{ - \int_get_sign:n{#1} - \exp_args:Nf\int_convert_to_base_ten_aux:nn {\int_get_digits:n{#1}}{#2} - } -} -\cs_new_nopar:Npn \int_convert_to_base_ten_aux:nn #1#2{ - \int_convert_to_base_ten_auxi:nnN {0}{#2} #1 \q_no_value -} -\cs_new_nopar:Npn \int_convert_to_base_ten_auxi:nnN#1#2#3{ - \quark_if_no_value:NTF #3 - {#1} - {\exp_args:Nf\int_convert_to_base_ten_auxi:nnN - {\intexpr_eval:n{ #1*#2+\int_convert_letter_to_number:N #3} } - {#2} - } -} -\cs_set_nopar:Npn \int_convert_letter_to_number:N #1{ - \intexpr_compare:nNnTF{`#1}<{58}{#1} - { - \intexpr_eval:n{ `#1 - - \intexpr_compare:nNnTF{`#1}<{91}{ 55 }{ 87 } - } - } -} +\int_const:cn { c_int_from_roman_i_int } { 1 } +\int_const:cn { c_int_from_roman_v_int } { 5 } +\int_const:cn { c_int_from_roman_x_int } { 10 } +\int_const:cn { c_int_from_roman_l_int } { 50 } +\int_const:cn { c_int_from_roman_c_int } { 100 } +\int_const:cn { c_int_from_roman_d_int } { 500 } +\int_const:cn { c_int_from_roman_m_int } { 1000 } +\int_const:cn { c_int_from_roman_I_int } { 1 } +\int_const:cn { c_int_from_roman_V_int } { 5 } +\int_const:cn { c_int_from_roman_X_int } { 10 } +\int_const:cn { c_int_from_roman_L_int } { 50 } +\int_const:cn { c_int_from_roman_C_int } { 100 } +\int_const:cn { c_int_from_roman_D_int } { 500 } +\int_const:cn { c_int_from_roman_M_int } { 1000 } \int_new:N \g_tl_inline_level_int +\cs_set_eq:NN \intexpr_value:w \int_value:w +\cs_set_eq:NN \intexpr_eval:w \int_eval:w +\cs_set_eq:NN \intexpr_eval_end: \int_eval_end: +\cs_set_eq:NN \if_intexpr_compare:w \if_int_compare:w +\cs_set_eq:NN \if_intexpr_odd:w \if_int_odd:w +\cs_set_eq:NN \if_intexpr_case:w \if_case:w +\cs_set_eq:NN \intexpr_eval:n \int_eval:n + +\cs_set_eq:NN \intexpr_compare_p:n \int_compare_p:n +\cs_set_eq:NN \intexpr_compare:nTF \int_compare:nTF +\cs_set_eq:NN \intexpr_compare:nT \int_compare:nT +\cs_set_eq:NN \intexpr_compare:nF \int_compare:nF + +\cs_set_eq:NN \intexpr_compare_p:nNn \int_compare_p:nNn +\cs_set_eq:NN \intexpr_compare:nNnTF \int_compare:nNnTF +\cs_set_eq:NN \intexpr_compare:nNnT \int_compare:nNnT +\cs_set_eq:NN \intexpr_compare:nNnF \int_compare:nNnF + +\cs_set_eq:NN \intexpr_abs:n \int_abs:n +\cs_set_eq:NN \intexpr_max:nn \int_max:nn +\cs_set_eq:NN \intexpr_min:nn \int_min:nn + +\cs_set_eq:NN \intexpr_div_truncate:nn \int_div_truncate:nn +\cs_set_eq:NN \intexpr_div_round:nn \int_div_round:nn +\cs_set_eq:NN \intexpr_mod:nn \int_mod:nn + +\cs_set_eq:NN \intexpr_if_odd_p:n \int_if_odd_p:n +\cs_set_eq:NN \intexpr_if_odd:nTF \int_if_odd:nTF +\cs_set_eq:NN \intexpr_if_odd:nT \int_if_odd:nT +\cs_set_eq:NN \intexpr_if_odd:nF \int_if_odd:nF + +\cs_set_eq:NN \intexpr_while_do:nn \int_while_do:nn +\cs_set_eq:NN \intexpr_until_do:nn \int_until_do:nn +\cs_set_eq:NN \intexpr_do_while:nn \int_do_while:nn +\cs_set_eq:NN \intexpr_do_until:nn \int_do_until:nn + +\cs_set_eq:NN \intexpr_while_do:nNnn \int_while_do:nNnn +\cs_set_eq:NN \intexpr_until_do:nNnn \int_until_do:nNnn +\cs_set_eq:NN \intexpr_do_while:nNnn \int_do_while:nNnn +\cs_set_eq:NN \intexpr_do_until:nNnn \int_do_until:nNnn %% %% %% End of file `l3int.sty'. diff --git a/Master/texmf-dist/tex/latex/expl3/l3intexpr.sty b/Master/texmf-dist/tex/latex/expl3/l3intexpr.sty deleted file mode 100644 index d751152223b..00000000000 --- a/Master/texmf-dist/tex/latex/expl3/l3intexpr.sty +++ /dev/null @@ -1,228 +0,0 @@ -%% -%% This is file `l3intexpr.sty', -%% generated with the docstrip utility. -%% -%% The original source files were: -%% -%% l3intexpr.dtx (with options: `package,trace') -%% -%% -%% EXPERIMENTAL CODE -%% -%% Do not distribute this file without also distributing the -%% source files specified above. -%% -%% Do not distribute a modified version of this file. -%% -%% -%% File: l3intexpr.dtx Copyright (C) 2009-2010 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 -%% license or (at your option) any later version. The latest version -%% of this license is in the file -%% -%% http://www.latex-project.org/lppl.txt -%% -%% This file is part of the ``expl3 bundle'' (The Work in LPPL) -%% and all files in that bundle must be distributed together. -%% -%% The released version of this bundle is available from CTAN. -%% -%% ----------------------------------------------------------------------- -%% -%% The development version of the bundle can be found at -%% -%% http://www.latex-project.org/svnroot/experimental/trunk/ -%% -%% for those people who are interested. -%% -%%%%%%%%%%% -%% NOTE: %% -%%%%%%%%%%% -%% -%% Snapshots taken from the repository represent work in progress and may -%% not work or may contain conflicting material! We therefore ask -%% people _not_ to put them into distributions, archives, etc. without -%% prior consultation with the LaTeX Project Team. -%% -%% ----------------------------------------------------------------------- -\RequirePackage{l3names} -\GetIdInfo$Id: l3intexpr.dtx 2045 2010-09-22 03:59:34Z will $ - {L3 Integer Expressions} -\ProvidesExplPackage - {\filename}{\filedate}{\fileversion}{\filedescription} -\package_check_loaded_expl: -\cs_new_eq:NN \if_num:w \tex_ifnum:D -\cs_new_eq:NN \if_case:w \tex_ifcase:D -\cs_set_eq:NN \intexpr_value:w \tex_number:D -\cs_set_eq:NN \intexpr_eval:w \etex_numexpr:D -\cs_set_protected:Npn \intexpr_eval_end: {\tex_relax:D} -\cs_set_eq:NN \if_intexpr_compare:w \tex_ifnum:D -\cs_set_eq:NN \if_intexpr_odd:w \tex_ifodd:D -\cs_set_eq:NN \if_intexpr_case:w \tex_ifcase:D -\cs_set:Npn \intexpr_eval:n #1{ - \intexpr_value:w \intexpr_eval:w #1\intexpr_eval_end: -} -\prg_set_conditional:Npnn \intexpr_compare:n #1{p,TF,T,F}{ - \exp_after:wN \intexpr_compare_auxi:w \intexpr_value:w - \intexpr_eval:w #1\q_stop -} -\cs_set:Npn \intexpr_compare_auxi:w #1#2\q_stop{ - \exp_after:wN \intexpr_compare_auxii:w \tex_romannumeral:D - \if:w #1- \else: -\fi: #1#2 \q_mark #1#2 \q_stop -} -\cs_set:Npn \intexpr_compare_auxii:w #1#2#3\q_mark{ - \use:c{ - intexpr_compare_ - #1 \if_meaning:w =#2 = \fi: - :w} -} -\cs_set:cpn {intexpr_compare_=:w} #1=#2\q_stop{ - \if_intexpr_compare:w #1=\intexpr_eval:w #2 \intexpr_eval_end: - \prg_return_true: \else: \prg_return_false: \fi: -} -\cs_set:cpn {intexpr_compare_==:w} #1==#2\q_stop{ - \if_intexpr_compare:w #1=\intexpr_eval:w #2 \intexpr_eval_end: - \prg_return_true: \else: \prg_return_false: \fi: -} -\cs_set:cpn {intexpr_compare_!=:w} #1!=#2\q_stop{ - \if_intexpr_compare:w #1=\intexpr_eval:w #2 \intexpr_eval_end: - \prg_return_false: \else: \prg_return_true: \fi: -} -\cs_set:cpn {intexpr_compare_<:w} #1<#2\q_stop{ - \if_intexpr_compare:w #1<\intexpr_eval:w #2 \intexpr_eval_end: - \prg_return_true: \else: \prg_return_false: \fi: -} -\cs_set:cpn {intexpr_compare_>:w} #1>#2\q_stop{ - \if_intexpr_compare:w #1>\intexpr_eval:w #2 \intexpr_eval_end: - \prg_return_true: \else: \prg_return_false: \fi: -} -\cs_set:cpn {intexpr_compare_<=:w} #1<=#2\q_stop{ - \if_intexpr_compare:w #1>\intexpr_eval:w #2 \intexpr_eval_end: - \prg_return_false: \else: \prg_return_true: \fi: -} -\cs_set:cpn {intexpr_compare_>=:w} #1>=#2\q_stop{ - \if_intexpr_compare:w #1<\intexpr_eval:w #2 \intexpr_eval_end: - \prg_return_false: \else: \prg_return_true: \fi: -} -\prg_set_conditional:Npnn \intexpr_compare:nNn #1#2#3{p}{ - \if_intexpr_compare:w \intexpr_eval:w #1 #2 \intexpr_eval:w #3 - \intexpr_eval_end: - \prg_return_true: \else: \prg_return_false: \fi: -} -\cs_set_nopar:Npn \intexpr_compare:nNnT #1#2#3 { - \tex_ifnum:D \etex_numexpr:D #1 #2 \etex_numexpr:D #3 \scan_stop: - \tex_expandafter:D \use:n - \tex_else:D - \tex_expandafter:D \use_none:n - \tex_fi:D -} -\cs_set_nopar:Npn \intexpr_compare:nNnF #1#2#3 { - \tex_ifnum:D \etex_numexpr:D #1 #2 \etex_numexpr:D #3 \scan_stop: - \tex_expandafter:D \use_none:n - \tex_else:D - \tex_expandafter:D \use:n - \tex_fi:D -} -\cs_set_nopar:Npn \intexpr_compare:nNnTF #1#2#3 { - \tex_ifnum:D \etex_numexpr:D #1 #2 \etex_numexpr:D #3 \scan_stop: - \tex_expandafter:D \use_i:nn - \tex_else:D - \tex_expandafter:D \use_ii:nn - \tex_fi:D -} -\cs_set:Npn \intexpr_abs:n #1{ - \intexpr_value:w - \if_intexpr_compare:w \intexpr_eval:w #1<\c_zero - - - \fi: - \intexpr_eval:w #1\intexpr_eval_end: -} -\cs_set:Npn \intexpr_max:nn #1#2{ - \intexpr_value:w \intexpr_eval:w - \if_intexpr_compare:w - \intexpr_eval:w #1>\intexpr_eval:w #2\intexpr_eval_end: - #1 - \else: - #2 - \fi: - \intexpr_eval_end: -} -\cs_set:Npn \intexpr_min:nn #1#2{ - \intexpr_value:w \intexpr_eval:w - \if_intexpr_compare:w - \intexpr_eval:w #1<\intexpr_eval:w #2\intexpr_eval_end: - #1 - \else: - #2 - \fi: - \intexpr_eval_end: -} -\cs_set:Npn \intexpr_div_truncate:nn #1#2 { - \intexpr_value:w \intexpr_eval:w - \if_intexpr_compare:w \intexpr_eval:w #1 = \c_zero - 0 - \else: - (#1 - \if_intexpr_compare:w \intexpr_eval:w #1 < \c_zero - \if_intexpr_compare:w \intexpr_eval:w #2 < \c_zero - -( #2 + - \else: - +( #2 - - \fi: - \else: - \if_intexpr_compare:w \intexpr_eval:w #2 < \c_zero - +( #2 + - \else: - -( #2 - - \fi: - \fi: - 1)/2) - \fi: - /(#2) - \intexpr_eval_end: -} -\cs_set:Npn \intexpr_div_round:nn #1#2 {\intexpr_eval:n{(#1)/(#2)}} -\cs_set:Npn \intexpr_mod:nn #1#2 { - \intexpr_value:w - \intexpr_eval:w - #1 - \intexpr_div_truncate:nn {#1}{#2} * (#2) - \intexpr_eval_end: -} -\prg_set_conditional:Npnn \intexpr_if_odd:n #1 {p,TF,T,F} { - \if_intexpr_odd:w \intexpr_eval:w #1\intexpr_eval_end: - \prg_return_true: \else: \prg_return_false: \fi: -} -\prg_set_conditional:Npnn \intexpr_if_even:n #1 {p,TF,T,F} { - \if_intexpr_odd:w \intexpr_eval:w #1\intexpr_eval_end: - \prg_return_false: \else: \prg_return_true: \fi: -} -\cs_set:Npn \intexpr_while_do:nn #1#2{ - \intexpr_compare:nT {#1}{#2 \intexpr_while_do:nn {#1}{#2}} -} -\cs_set:Npn \intexpr_until_do:nn #1#2{ - \intexpr_compare:nF {#1}{#2 \intexpr_until_do:nn {#1}{#2}} -} -\cs_set:Npn \intexpr_do_while:nn #1#2{ - #2 \intexpr_compare:nT {#1}{\intexpr_do_while:nNnn {#1}{#2}} -} -\cs_set:Npn \intexpr_do_until:nn #1#2{ - #2 \intexpr_compare:nF {#1}{\intexpr_do_until:nn {#1}{#2}} -} -\cs_set:Npn \intexpr_while_do:nNnn #1#2#3#4{ - \intexpr_compare:nNnT {#1}#2{#3}{#4 \intexpr_while_do:nNnn {#1}#2{#3}{#4}} -} -\cs_set:Npn \intexpr_until_do:nNnn #1#2#3#4{ - \intexpr_compare:nNnF {#1}#2{#3}{#4 \intexpr_until_do:nNnn {#1}#2{#3}{#4}} -} -\cs_set:Npn \intexpr_do_while:nNnn #1#2#3#4{ - #4 \intexpr_compare:nNnT {#1}#2{#3}{\intexpr_do_while:nNnn {#1}#2{#3}{#4}} -} -\cs_set:Npn \intexpr_do_until:nNnn #1#2#3#4{ - #4 \intexpr_compare:nNnF {#1}#2{#3}{\intexpr_do_until:nNnn {#1}#2{#3}{#4}} -} -\tex_mathchardef:D \c_max_register_int = 32767 \scan_stop: -%% -%% -%% End of file `l3intexpr.sty'. diff --git a/Master/texmf-dist/tex/latex/expl3/l3io.sty b/Master/texmf-dist/tex/latex/expl3/l3io.sty index 5999b5a476d..10502e844ca 100644 --- a/Master/texmf-dist/tex/latex/expl3/l3io.sty +++ b/Master/texmf-dist/tex/latex/expl3/l3io.sty @@ -48,7 +48,7 @@ %% %% ----------------------------------------------------------------------- \RequirePackage{l3names} -\GetIdInfo$Id: l3io.dtx 1923 2010-05-22 12:45:49Z joseph $ +\GetIdInfo$Id: l3io.dtx 2063 2010-10-03 08:26:49Z mittelba $ {L3 Experimental i/o module} \ProvidesExplPackage {\filename}{\filedate}{\fileversion}{\filedescription} @@ -101,7 +101,7 @@ \iow_close:N #1 \int_set:Nn \l_iow_stream_int { \c_sixteen } \tl_map_function:NN \c_iow_streams_tl \iow_alloc_write:n - \intexpr_compare:nTF { \l_iow_stream_int = \c_sixteen } + \int_compare:nTF { \l_iow_stream_int = \c_sixteen } { \msg_kernel_error:nn { iow } { streams-exhausted } } { \iow_stream_alloc:N #1 @@ -114,7 +114,7 @@ \ior_close:N #1 \int_set:Nn \l_ior_stream_int { \c_sixteen } \tl_map_function:NN \c_ior_streams_tl \ior_alloc_read:n - \intexpr_compare:nTF { \l_ior_stream_int = \c_sixteen } + \int_compare:nTF { \l_ior_stream_int = \c_sixteen } { \msg_kernel_error:nn { ior } { streams-exhausted } } { \ior_stream_alloc:N #1 @@ -142,7 +142,7 @@ { \cs_gset_eq:Nc #1 { g_iow_ \int_use:N \l_iow_stream_int _stream } } { \iow_stream_alloc_aux: - \intexpr_compare:nT { \l_iow_stream_int = \c_sixteen } + \int_compare:nT { \l_iow_stream_int = \c_sixteen } { \iow_raw_new:N \g_iow_tmp_stream \int_set:Nn \l_iow_stream_int { \g_iow_tmp_stream } @@ -155,7 +155,7 @@ } \cs_new_protected_nopar:Npn \iow_stream_alloc_aux: { \int_incr:N \l_iow_stream_int - \intexpr_compare:nT + \int_compare:nT { \l_iow_stream_int < \c_sixteen } { \cs_if_exist:cTF { g_iow_ \int_use:N \l_iow_stream_int _stream } @@ -171,7 +171,7 @@ { \cs_gset_eq:Nc #1 { g_ior_ \int_use:N \l_ior_stream_int _stream } } { \ior_stream_alloc_aux: - \intexpr_compare:nT { \l_ior_stream_int = \c_sixteen } + \int_compare:nT { \l_ior_stream_int = \c_sixteen } { \ior_raw_new:N \g_ior_tmp_stream \int_set:Nn \l_ior_stream_int { \g_ior_tmp_stream } @@ -184,7 +184,7 @@ } \cs_new_protected_nopar:Npn \ior_stream_alloc_aux: { \int_incr:N \l_ior_stream_int - \intexpr_compare:nT + \int_compare:nT { \l_ior_stream_int < \c_sixteen } { \cs_if_exist:cTF { g_ior_ \int_use:N \l_ior_stream_int _stream } @@ -198,7 +198,7 @@ \cs_new_protected_nopar:Npn \iow_close:N #1 { \cs_if_exist:NT #1 { - \intexpr_compare:nF { #1 = \c_minus_one } + \int_compare:nF { #1 = \c_minus_one } { \tex_immediate:D \tex_closeout:D #1 \prop_gdel:NV \g_iow_streams_prop #1 @@ -210,7 +210,7 @@ \cs_new_protected_nopar:Npn \ior_close:N #1 { \cs_if_exist:NT #1 { - \intexpr_compare:nF { #1 = \c_minus_one } + \int_compare:nF { #1 = \c_minus_one } { \tex_closein:D #1 \prop_gdel:NV \g_ior_streams_prop #1 diff --git a/Master/texmf-dist/tex/latex/expl3/l3keys.sty b/Master/texmf-dist/tex/latex/expl3/l3keys.sty index c2ef0cf8954..45e799aa6a4 100644 --- a/Master/texmf-dist/tex/latex/expl3/l3keys.sty +++ b/Master/texmf-dist/tex/latex/expl3/l3keys.sty @@ -48,7 +48,7 @@ %% %% ----------------------------------------------------------------------- \RequirePackage{l3names} -\GetIdInfo$Id: l3keys.dtx 1931 2010-05-24 21:06:50Z joseph $ +\GetIdInfo$Id: l3keys.dtx 2063 2010-10-03 08:26:49Z mittelba $ {L3 Experimental key-value support} \ProvidesExplPackage {\filename}{\filedate}{\fileversion}{\filedescription} @@ -171,7 +171,7 @@ } \cs_new_protected:Npn \keys_define_key:n #1 { \bool_if:NTF \l_keys_no_value_bool { - \intexpr_compare:nTF { + \int_compare:nTF { \exp_args:Nc \cs_get_arg_count_from_signature:N { \l_keys_property_tl } = \c_zero } { diff --git a/Master/texmf-dist/tex/latex/expl3/l3msg.sty b/Master/texmf-dist/tex/latex/expl3/l3msg.sty index 6ed3dad14c1..4b1de84bee5 100644 --- a/Master/texmf-dist/tex/latex/expl3/l3msg.sty +++ b/Master/texmf-dist/tex/latex/expl3/l3msg.sty @@ -49,16 +49,18 @@ %% ----------------------------------------------------------------------- %% \RequirePackage{l3names} -\GetIdInfo$Id: l3msg.dtx 1866 2010-03-23 08:29:27Z joseph $ +\GetIdInfo$Id: l3msg.dtx 2052 2010-10-02 16:04:38Z will $ {L3 Experimental LaTeX Messages module} \ProvidesExplPackage {\filename}{\filedate}{\fileversion}{\filedescription} \package_check_loaded_expl: \int_set:Nn \tex_errorcontextlines:D { \c_minus_one } -\tl_const:Nn \c_msg_fatal_tl { Fatal~Error } -\tl_const:Nn \c_msg_error_tl { Error } -\tl_const:Nn \c_msg_warning_tl { Warning } -\tl_const:Nn \c_msg_info_tl { Info } +\tl_const:Nn \c_msg_error_tl { error } +\tl_const:Nn \c_msg_warning_tl { warning } +\tl_const:Nn \c_msg_info_tl { info } +\cs_new:Npn \msg_fatal_text:n #1 { Fatal~#1~error } +\cs_new:Npn \msg_see_documentation_text:n #1 + { See~the~#1~documentation~for~further~information } \tl_const:Nn \c_msg_coding_error_text_tl { This~is~a~coding~error. \msg_two_newlines: @@ -73,8 +75,7 @@ This~is~a~LaTeX~bug:~check~coding! } \tl_const:Nn \c_msg_kernel_bug_more_text_tl { - There~is~a~coding~bug~somewhere~around~here. - \msg_newline: + There~is~a~coding~bug~somewhere~around~here. \\ This~probably~needs~examining~by~an~expert. \c_msg_return_text_tl } @@ -83,19 +84,18 @@ \c_msg_return_text_tl } \tl_const:Nn \c_msg_return_text_tl { - \msg_two_newlines: + \\ \\ Try~typing~~to~proceed. - \msg_newline: + \\ If~that~doesn't~work,~type~X~~to~quit } \group_begin: -\char_make_letter:N\ % -\tl_to_lowercase:n{% -\group_end:% -\tl_const:Nn% -\c_msg_hide_tl % -{}% -}% +\char_make_letter:N \. +\tl_to_lowercase:n { + \group_end: + \tl_const:Nn \c_msg_hide_tl................................................ + {} +} \tl_const:Nn \c_msg_on_line_tl { on~line } \tl_const:Nn \c_msg_text_prefix_tl { msg_text ~>~ } \tl_const:Nn \c_msg_more_text_prefix_tl { msg_text_more ~>~ } @@ -143,34 +143,44 @@ \group_begin: \char_set_lccode:nn {`\&} {`\ } % { \char_set_lccode:w `\} = `\ \scan_stop: + \char_set_lccode:w `\& = `\!\scan_stop: \char_make_active:N \& - \char_make_letter:N\ % -\tl_to_lowercase:n{% -\group_end:% -\cs_new_protected:Npn\msg_direct_interrupt:xxxx#1#2#3#4{% -\group_begin:% -\cs_set_eq:NN\\\msg_newline:% -\cs_set_eq:NN\ \c_space_tl% -\msg_direct_interrupt_aux:n{#4}% -\cs_set_nopar:Npn\\{\msg_newline:#3}% -\tex_errhelp:D\l_msg_tmp_tl% -\cs_set:Npn&{% -\tex_errmessage:D{% -#1\msg_newline:% -#2\msg_two_newlines:% -\c_msg_help_text_tl% -\c_msg_hide_tl % -}% -}% -&% -\group_end:% -}% -}% + \char_make_letter:N \. +\tl_to_lowercase:n{ + \group_end: + \cs_new_protected:Npn \msg_direct_interrupt:xxxxx #1#2#3#4#5 { + \group_begin: + \cs_set_nopar:Npn \\ {\msg_newline:} + \cs_set_eq:NN \ \c_space_tl + \tl_set:Nx \l_tmpa_tl {#5} + \tl_set:Nx \l_tmpb_tl {\c_msg_no_info_text_tl} + \msg_direct_interrupt_aux:n {#5} + \tex_errhelp:D \l_msg_tmp_tl + \cs_set_nopar:Npn \\ {\msg_newline: !~#3} + \iow_term:x + {\msg_newline: !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!} + \cs_set:Npn & { + \tex_errmessage:D{ + \\ #1 \\ \\ #2 \\ \\ #4 + \tl_if_eq:NNF \l_tmpa_tl \l_tmpb_tl + { . \\ \c_msg_help_text_tl } + \c_msg_hide_tl................................................ + } + } + & + \group_end: + } +} \cs_new_protected:Npn \msg_direct_interrupt_aux:n #1 { + \cs_set_nopar:Npn \\ {\msg_newline: |~} \tl_if_empty:nTF {#1} { \tl_set:Nx \l_msg_tmp_tl { { \c_msg_no_info_text_tl } } }{ - \tl_set:Nx \l_msg_tmp_tl { {#1} } + \tl_set:Nx \l_msg_tmp_tl { { + |'''''''''''''''''''''''''''''''''''''''''''''''\\ + #1^^J + |...............................................^^J + } } } } \cs_new_protected:Npn \msg_direct_log:xx #1#2 { @@ -276,24 +286,24 @@ } } \msg_class_new:nn { fatal } { - \msg_direct_interrupt:xxxx - { \c_msg_fatal_tl \msg_two_newlines: } + \msg_direct_interrupt:xxxxx + { \msg_fatal_text:n {#1} : ~ "#2" } { - ( \c_msg_fatal_tl ) \c_space_tl \use:c { \c_msg_text_prefix_tl #1 / #2 :xxxx } {#3} {#4} {#5} {#6} } - { ( \c_msg_fatal_tl ) \c_space_tl } + {} + { \msg_see_documentation_text:n {#1} } { \c_msg_fatal_text_tl } \tex_end:D } \msg_class_new:nn { error } { - \msg_direct_interrupt:xxxx - { #1~\c_msg_error_tl \msg_newline: } + \msg_direct_interrupt:xxxxx + { #1~ \c_msg_error_tl : ~ "#2" } { - ( #1 ) \c_space_tl \use:c { \c_msg_text_prefix_tl #1 / #2 :xxxx } {#3} {#4} {#5} {#6} } - { ( #1 ) \c_space_tl } + {} + { \msg_see_documentation_text:n {#1} } { \cs_if_exist:cTF { \c_msg_more_text_prefix_tl #1 / #2 :xxxx } { @@ -372,27 +382,27 @@ } } \cs_new_protected:Npn \msg_kernel_fatal:nnxxxx #1#2#3#4#5#6 { - \msg_direct_interrupt:xxxx - { \c_msg_fatal_tl \msg_two_newlines: } + \msg_direct_interrupt:xxxxx + { \msg_fatal_text:n {LaTeX} } { - ( LaTeX ) \c_space_tl \use:c { \c_msg_text_prefix_tl LaTeX / #1 / #2 :xxxx } {#3} {#4} {#5} {#6} } - { ( LaTeX ) \c_space_tl} + {} + { \msg_see_documentation_text:n {LaTeX3} } { \c_msg_fatal_text_tl } \tex_end:D } \msg_kernel_classes_new:n { fatal } \cs_new_protected:Npn \msg_kernel_error:nnxxxx #1#2#3#4#5#6 { - \msg_direct_interrupt:xxxx - { LaTeX~\c_msg_error_tl \msg_newline: } + \msg_direct_interrupt:xxxxx + { LaTeX~\c_msg_error_tl \c_space_tl "#2" } { - ( LaTeX ) \c_space_tl \use:c { \c_msg_text_prefix_tl LaTeX / #1 / #2 :xxxx } {#3} {#4} {#5} {#6} } - { ( LaTeX ) \c_space_tl } + {} + { \msg_see_documentation_text:n {LaTeX3} } { \cs_if_exist:cTF { \c_msg_more_text_prefix_tl LaTeX / #1 / #2 :xxxx } @@ -436,10 +446,11 @@ \c_msg_return_text_tl } \cs_set_protected:Npn \msg_kernel_bug:x #1 { - \msg_direct_interrupt:xxxx + \msg_direct_interrupt:xxxxx { \c_msg_kernel_bug_text_tl } - { !~#1 } - { ! } + { #1 } + {} + { \msg_see_documentation_text:n {LaTeX3} } { \c_msg_kernel_bug_more_text_tl } } %% diff --git a/Master/texmf-dist/tex/latex/expl3/l3names.sty b/Master/texmf-dist/tex/latex/expl3/l3names.sty index d86ea68c3f3..13a2bf23621 100644 --- a/Master/texmf-dist/tex/latex/expl3/l3names.sty +++ b/Master/texmf-dist/tex/latex/expl3/l3names.sty @@ -87,7 +87,7 @@ \gdef\filedescription{#1}% \ProvidesPackage{[unknown package]}[0000/00/00 v0.0 #1] } -\GetIdInfo$Id: l3names.dtx 2048 2010-09-26 19:13:59Z joseph $ +\GetIdInfo$Id: l3names.dtx 2064 2010-10-03 23:27:33Z will $ {L3 Experimental Naming Scheme for TeX Primitives} \endgroup \def\@tempa{% @@ -102,12 +102,12 @@ \expandafter\@tempa \fi \begingroup\expandafter\expandafter\expandafter\endgroup - \ifx\csname pdfstrcmp\endcsname\relax + \expandafter\ifx\csname pdfstrcmp\endcsname\relax \let\pdfstrcmp\strcmp \fi \begingroup\expandafter\expandafter\expandafter\endgroup -\ifx\csname pdfstrcmp\endcsname\relax - \PackageError{l3names}{Required primitives not found} +\expandafter\ifx\csname pdfstrcmp\endcsname\relax + \PackageError{l3names}{Required primitive not found: \protect\pdfstrcmp} {% LaTeX3 requires the e-TeX primitives and \string\pdfstrcmp.\MessageBreak @@ -657,10 +657,12 @@ \name_primitive:NN \initcatcodetable \luatex_initcatcodetable:D \name_primitive:NN \latelua \luatex_latelua:D \name_primitive:NN \savecatcodetable \luatex_savecatcodetable:D -\etex_ifdefined:D \strcmp - \etex_ifdefined:D \xetex_version:D - \name_primitive:NN \strcmp \pdf_strcmp:D - \tex_fi:D +\tex_begingroup:D + \tex_expandafter:D \tex_expandafter:D \tex_expandafter:D +\tex_endgroup:D +\tex_expandafter:D \tex_ifx:D \tex_csname:D xetex_version:D\tex_endcsname:D + \tex_relax:D \tex_else:D + \name_primitive:NN \strcmp \pdf_strcmp:D \tex_fi:D \etex_protected:D \tex_def:D \ExplSyntaxOn { \tex_ifodd:D \ExplSyntaxStatus \tex_relax:D diff --git a/Master/texmf-dist/tex/latex/expl3/l3num.sty b/Master/texmf-dist/tex/latex/expl3/l3num.sty index 138dfef767f..5658ff30e35 100644 --- a/Master/texmf-dist/tex/latex/expl3/l3num.sty +++ b/Master/texmf-dist/tex/latex/expl3/l3num.sty @@ -48,7 +48,7 @@ %% %% ----------------------------------------------------------------------- \RequirePackage{l3names} -\GetIdInfo$Id: l3num.dtx 1914 2010-05-21 16:18:46Z schoepf $ +\GetIdInfo$Id: l3num.dtx 2063 2010-10-03 08:26:49Z mittelba $ {L3 Experimental token numbers} \ProvidesExplPackage {\filename}{\filedate}{\fileversion}{\filedescription} @@ -70,7 +70,7 @@ \cs_new_protected_nopar:Npn \num_new:N #1{\tl_new:Nn #1{0}} \cs_generate_variant:Nn \num_new:N {c} \cs_new_protected_nopar:Npn \num_set:Nn #1#2{ - \tl_set:No #1{ \tex_number:D \intexpr_eval:n {#2} } + \tl_set:No #1{ \tex_number:D \int_eval:n {#2} } } \cs_generate_variant:Nn\num_set:Nn {c} \cs_new_protected_nopar:Npn \num_gset:Nn {\pref_global:D \num_set:Nn} diff --git a/Master/texmf-dist/tex/latex/expl3/l3prg.sty b/Master/texmf-dist/tex/latex/expl3/l3prg.sty index b4f8ec44ed6..13d62b490a9 100644 --- a/Master/texmf-dist/tex/latex/expl3/l3prg.sty +++ b/Master/texmf-dist/tex/latex/expl3/l3prg.sty @@ -48,7 +48,7 @@ %% %% ----------------------------------------------------------------------- \RequirePackage{l3names} -\GetIdInfo$Id: l3prg.dtx 2043 2010-09-22 02:10:43Z will $ +\GetIdInfo$Id: l3prg.dtx 2063 2010-10-03 08:26:49Z mittelba $ {L3 Experimental control structures} \ProvidesExplPackage {\filename}{\filedate}{\fileversion}{\filedescription} @@ -73,11 +73,11 @@ \if_false:{\fi:\if_num:w`}=\c_zero\fi:} \cs_new_nopar:Npn \group_align_safe_end: {\if_num:w`{=\c_zero}\fi:} \cs_new_nopar:Npn \scan_align_safe_stop: { - \intexpr_compare:nNnT \etex_currentgrouptype:D = \c_six + \int_compare:nNnT \etex_currentgrouptype:D = \c_six { - \intexpr_compare:nNnF \etex_lastnodetype:D = \c_zero + \int_compare:nNnF \etex_lastnodetype:D = \c_zero { - \intexpr_compare:nNnF \etex_lastnodetype:D = \c_seven + \int_compare:nNnF \etex_lastnodetype:D = \c_seven \scan_stop: } } @@ -85,7 +85,7 @@ \cs_new_nopar:Npn \prg_replicate:nn #1{ \cs:w prg_do_nothing: \exp_after:wN\prg_replicate_first_aux:N - \tex_romannumeral:D -`\q \intexpr_eval:n{#1} \cs_end: + \tex_romannumeral:D -`\q \int_eval:n{#1} \cs_end: \cs_end: } \cs_new_nopar:Npn \prg_replicate_aux:N#1{ @@ -124,26 +124,26 @@ \cs_new:cpn {prg_replicate_first_8:n}#1{\cs_end: #1#1#1#1#1#1#1#1} \cs_new:cpn {prg_replicate_first_9:n}#1{\cs_end: #1#1#1#1#1#1#1#1#1} \cs_new:Npn \prg_stepwise_function:nnnN #1#2{ - \intexpr_compare:nNnTF{#2}<\c_zero + \int_compare:nNnTF{#2}<\c_zero {\exp_args:Nf\prg_stepwise_function_decr:nnnN } {\exp_args:Nf\prg_stepwise_function_incr:nnnN } - {\intexpr_eval:n{#1}}{#2} + {\int_eval:n{#1}}{#2} } \cs_new:Npn \prg_stepwise_function_incr:nnnN #1#2#3#4{ - \intexpr_compare:nNnF {#1}>{#3} + \int_compare:nNnF {#1}>{#3} { #4{#1} \exp_args:Nf \prg_stepwise_function_incr:nnnN - {\intexpr_eval:n{#1 + #2}} + {\int_eval:n{#1 + #2}} {#2}{#3}{#4} } } \cs_new:Npn \prg_stepwise_function_decr:nnnN #1#2#3#4{ - \intexpr_compare:nNnF {#1}<{#3} + \int_compare:nNnF {#1}<{#3} { #4{#1} \exp_args:Nf \prg_stepwise_function_decr:nnnN - {\intexpr_eval:n{#1 + #2}} + {\int_eval:n{#1 + #2}} {#2}{#3}{#4} } } @@ -151,49 +151,49 @@ \cs_new_protected:Npn\prg_stepwise_inline:nnnn #1#2#3#4{ \int_gincr:N \g_prg_inline_level_int \cs_gset_nopar:cpn{prg_stepwise_inline_\int_use:N\g_prg_inline_level_int :n}##1{#4} - \intexpr_compare:nNnTF {#2}<\c_zero + \int_compare:nNnTF {#2}<\c_zero {\exp_args:Ncf \prg_stepwise_inline_decr:Nnnn } {\exp_args:Ncf \prg_stepwise_inline_incr:Nnnn } {prg_stepwise_inline_\int_use:N\g_prg_inline_level_int :n} - {\intexpr_eval:n{#1}} {#2} {#3} + {\int_eval:n{#1}} {#2} {#3} \int_gdecr:N \g_prg_inline_level_int } \cs_new:Npn \prg_stepwise_inline_incr:Nnnn #1#2#3#4{ - \intexpr_compare:nNnF {#2}>{#4} + \int_compare:nNnF {#2}>{#4} { #1{#2} \exp_args:NNf \prg_stepwise_inline_incr:Nnnn #1 - {\intexpr_eval:n{#2 + #3}} {#3}{#4} + {\int_eval:n{#2 + #3}} {#3}{#4} } } \cs_new:Npn \prg_stepwise_inline_decr:Nnnn #1#2#3#4{ - \intexpr_compare:nNnF {#2}<{#4} + \int_compare:nNnF {#2}<{#4} { #1{#2} \exp_args:NNf \prg_stepwise_inline_decr:Nnnn #1 - {\intexpr_eval:n{#2 + #3}} {#3}{#4} + {\int_eval:n{#2 + #3}} {#3}{#4} } } \cs_new_protected:Npn \prg_stepwise_variable:nnnNn #1#2 { - \intexpr_compare:nNnTF {#2}<\c_zero + \int_compare:nNnTF {#2}<\c_zero {\exp_args:Nf\prg_stepwise_variable_decr:nnnNn} {\exp_args:Nf\prg_stepwise_variable_incr:nnnNn} - {\intexpr_eval:n{#1}}{#2} + {\int_eval:n{#1}}{#2} } \cs_new_protected:Npn \prg_stepwise_variable_incr:nnnNn #1#2#3#4#5 { - \intexpr_compare:nNnF {#1}>{#3} + \int_compare:nNnF {#1}>{#3} { \cs_set_nopar:Npn #4{#1} #5 \exp_args:Nf \prg_stepwise_variable_incr:nnnNn - {\intexpr_eval:n{#1 + #2}}{#2}{#3}#4{#5} + {\int_eval:n{#1 + #2}}{#2}{#3}#4{#5} } } \cs_new_protected:Npn \prg_stepwise_variable_decr:nnnNn #1#2#3#4#5 { - \intexpr_compare:nNnF {#1}<{#3} + \int_compare:nNnF {#1}<{#3} { \cs_set_nopar:Npn #4{#1} #5 \exp_args:Nf \prg_stepwise_variable_decr:nnnNn - {\intexpr_eval:n{#1 + #2}}{#2}{#3}#4{#5} + {\int_eval:n{#1 + #2}}{#2}{#3}#4{#5} } } \cs_new_protected_nopar:Npn \bool_new:N #1 { \cs_new_eq:NN #1 \c_false_bool } @@ -360,7 +360,7 @@ \cs_generate_variant:Nn \bool_gset:Nn {c} \cs_new:Npn \bool_not_p:n #1{ \bool_if_p:n{!(#1)} } \cs_new:Npn \bool_xor_p:nn #1#2 { - \intexpr_compare:nNnTF {\bool_if_p:n { #1 }} = {\bool_if_p:n { #2 }} + \int_compare:nNnTF {\bool_if_p:n { #1 }} = {\bool_if_p:n { #2 }} {\c_false_bool}{\c_true_bool} } \prg_set_conditional:Npnn \bool_if:n #1 {TF,T,F}{ @@ -380,12 +380,12 @@ #2 \bool_if:nF {#1} { \bool_do_until:nn {#1}{#2} } } \cs_new:Npn \prg_case_int:nnn #1 #2 { - \exp_args:Nf \prg_case_int_aux:nnn { \intexpr_eval:n{#1}} #2 + \exp_args:Nf \prg_case_int_aux:nnn { \int_eval:n{#1}} #2 \q_recursion_tail ? \q_recursion_stop } \cs_new:Npn \prg_case_int_aux:nnn #1#2#3{ \quark_if_recursion_tail_stop_do:nn{#2}{\use:n} - \intexpr_compare:nNnTF{#1}={#2} + \int_compare:nNnTF{#1}={#2} { \prg_end_case:nw {#3} } { \prg_case_int_aux:nnn {#1}} } diff --git a/Master/texmf-dist/tex/latex/expl3/l3skip.sty b/Master/texmf-dist/tex/latex/expl3/l3skip.sty index b6f10c5127d..813b1ad11e3 100644 --- a/Master/texmf-dist/tex/latex/expl3/l3skip.sty +++ b/Master/texmf-dist/tex/latex/expl3/l3skip.sty @@ -48,7 +48,7 @@ %% %% ----------------------------------------------------------------------- \RequirePackage{l3names} -\GetIdInfo$Id: l3skip.dtx 2047 2010-09-23 09:27:30Z will $ +\GetIdInfo$Id: l3skip.dtx 2063 2010-10-03 08:26:49Z mittelba $ {L3 Experimental skip registers} \ProvidesExplPackage {\filename}{\filedate}{\fileversion}{\filedescription} @@ -114,8 +114,8 @@ \cs_set_eq:NN \c_max_skip \maxdimen \prg_new_conditional:Nnn \skip_if_infinite_glue:n {p,TF,T,F} { \bool_if:nTF { - \intexpr_compare_p:nNn {\etex_gluestretchorder:D #1 } > \c_zero || - \intexpr_compare_p:nNn {\etex_glueshrinkorder:D #1 } > \c_zero + \int_compare_p:nNn {\etex_gluestretchorder:D #1 } > \c_zero || + \int_compare_p:nNn {\etex_glueshrinkorder:D #1 } > \c_zero } {\prg_return_true:} {\prg_return_false:} } \cs_new_nopar:Npn \skip_split_finite_else_action:nnNN #1#2#3#4{ @@ -167,14 +167,13 @@ \cs_new_eq:NN \c_max_dim \c_max_skip \cs_new_protected_nopar:Npn \dim_eval:n #1 { \etex_dimexpr:D #1 \scan_stop: } \cs_new_eq:NN \if_dim:w \tex_ifdim:D +\cs_set_eq:NN \dim_value:w \tex_number:D +\cs_set_eq:NN \dim_eval:w \etex_dimexpr:D +\cs_set_protected:Npn \dim_eval_end: {\tex_relax:D} \prg_new_conditional:Nnn \dim_compare:nNn {p,TF,T,F} { \if_dim:w \dim_eval:n {#1} #2 \dim_eval:n {#3} \prg_return_true: \else: \prg_return_false: \fi: } -\cs_set_eq:NN \dim_value:w \tex_number:D -\cs_set_eq:NN \dim_eval:w \etex_dimexpr:D -\cs_set_eq:NN \if_dim_compare:w \if_dim:w -\cs_set_eq:NN \dim_eval_end: \scan_stop: \prg_new_conditional:Npnn \dim_compare:n #1 {p,TF,T,F} { \exp_after:wN \dim_compare_auxi:w \dim_value:w \dim_eval:w #1 \q_stop @@ -189,31 +188,31 @@ :w} } \cs_new:cpn {dim_compare_=:w} #1 = #2 \q_stop { - \if_dim_compare:w #1 sp = \dim_eval:w #2 \dim_eval_end: + \if_dim:w #1 sp = \dim_eval:w #2 \dim_eval_end: \prg_return_true: \else: \prg_return_false: \fi: } \cs_new:cpn {dim_compare_==:w} #1 == #2 \q_stop { - \if_dim_compare:w #1 sp = \dim_eval:w #2 \dim_eval_end: + \if_dim:w #1 sp = \dim_eval:w #2 \dim_eval_end: \prg_return_true: \else: \prg_return_false: \fi: } \cs_new:cpn {dim_compare_!=:w} #1 != #2 \q_stop { - \if_dim_compare:w #1 sp = \dim_eval:w #2 \dim_eval_end: + \if_dim:w #1 sp = \dim_eval:w #2 \dim_eval_end: \prg_return_false: \else: \prg_return_true: \fi: } \cs_new:cpn {dim_compare_<:w} #1 < #2 \q_stop { - \if_dim_compare:w #1 sp < \dim_eval:w #2 \dim_eval_end: + \if_dim:w #1 sp < \dim_eval:w #2 \dim_eval_end: \prg_return_true: \else: \prg_return_false: \fi: } \cs_new:cpn {dim_compare_>:w} #1 > #2 \q_stop { - \if_dim_compare:w #1 sp > \dim_eval:w #2 \dim_eval_end: + \if_dim:w #1 sp > \dim_eval:w #2 \dim_eval_end: \prg_return_true: \else: \prg_return_false: \fi: } \cs_new:cpn {dim_compare_<=:w} #1 <= #2 \q_stop { - \if_dim_compare:w #1 sp > \dim_eval:w #2 \dim_eval_end: + \if_dim:w #1 sp > \dim_eval:w #2 \dim_eval_end: \prg_return_false: \else: \prg_return_true: \fi: } \cs_new:cpn {dim_compare_>=:w} #1 >= #2 \q_stop { - \if_dim_compare:w #1 sp < \dim_eval:w #2 \dim_eval_end: + \if_dim:w #1 sp < \dim_eval:w #2 \dim_eval_end: \prg_return_false: \else: \prg_return_true: \fi: } \cs_new_nopar:Npn \dim_while_do:nNnn #1#2#3#4{ diff --git a/Master/texmf-dist/tex/latex/expl3/l3tl.sty b/Master/texmf-dist/tex/latex/expl3/l3tl.sty index 19df9805a95..2fd347e0184 100644 --- a/Master/texmf-dist/tex/latex/expl3/l3tl.sty +++ b/Master/texmf-dist/tex/latex/expl3/l3tl.sty @@ -48,7 +48,7 @@ %% %% ----------------------------------------------------------------------- \RequirePackage{l3names} -\GetIdInfo$Id: l3tl.dtx 2040 2010-09-21 18:11:09Z joseph $ +\GetIdInfo$Id: l3tl.dtx 2063 2010-10-03 08:26:49Z mittelba $ {L3 Experimental Token Lists} \ProvidesExplPackage {\filename}{\filedate}{\fileversion}{\filedescription} @@ -355,13 +355,13 @@ \tl_set:Nf #1 { \tl_reverse:o { #1 \exp_stop_f: } } } \cs_new:Npn \tl_elt_count:n #1{ - \intexpr_eval:n { + \int_eval:n { 0 \tl_map_function:nN {#1} \tl_elt_count_aux:n } } \cs_generate_variant:Nn \tl_elt_count:n {V,o} \cs_new_nopar:Npn \tl_elt_count:N #1{ - \intexpr_eval:n { + \int_eval:n { 0 \tl_map_function:NN #1 \tl_elt_count_aux:n } } diff --git a/Master/texmf-dist/tex/latex/expl3/l3token.sty b/Master/texmf-dist/tex/latex/expl3/l3token.sty index 873775f95d0..826763a5693 100644 --- a/Master/texmf-dist/tex/latex/expl3/l3token.sty +++ b/Master/texmf-dist/tex/latex/expl3/l3token.sty @@ -48,24 +48,24 @@ %% %% ----------------------------------------------------------------------- \RequirePackage{l3names} -\GetIdInfo$Id: l3token.dtx 2029 2010-09-19 13:59:02Z joseph $ +\GetIdInfo$Id: l3token.dtx 2063 2010-10-03 08:26:49Z mittelba $ {L3 Experimental token investigation and manipulation} \ProvidesExplPackage {\filename}{\filedate}{\fileversion}{\filedescription} \package_check_loaded_expl: \cs_new_eq:NN \char_set_catcode:w \tex_catcode:D \cs_new_protected_nopar:Npn \char_set_catcode:nn #1#2 { - \char_set_catcode:w #1 = \intexpr_eval:w #2\intexpr_eval_end: + \char_set_catcode:w #1 = \int_eval:w #2\int_eval_end: } \cs_new_nopar:Npn \char_value_catcode:w { \int_use:N \tex_catcode:D } \cs_new_nopar:Npn \char_value_catcode:n #1 { - \char_value_catcode:w \intexpr_eval:w #1\intexpr_eval_end: + \char_value_catcode:w \int_eval:w #1\int_eval_end: } \cs_new_nopar:Npn \char_show_value_catcode:w { \tex_showthe:D \tex_catcode:D } \cs_new_nopar:Npn \char_show_value_catcode:n #1 { - \char_show_value_catcode:w \intexpr_eval:w #1\intexpr_eval_end: + \char_show_value_catcode:w \int_eval:w #1\int_eval_end: } \cs_new_protected_nopar:Npn \char_make_escape:N #1 { \char_set_catcode:nn {`#1} {\c_zero} } \cs_new_protected_nopar:Npn \char_make_begin_group:N #1 { \char_set_catcode:nn {`#1} {\c_one} } @@ -101,51 +101,51 @@ \cs_new_protected_nopar:Npn \char_make_invalid:n #1 { \char_set_catcode:nn {#1} {\c_fifteen} } \cs_new_eq:NN \char_set_mathcode:w \tex_mathcode:D \cs_new_protected_nopar:Npn \char_set_mathcode:nn #1#2 { - \char_set_mathcode:w #1 = \intexpr_eval:w #2\intexpr_eval_end: + \char_set_mathcode:w #1 = \int_eval:w #2\int_eval_end: } \cs_new_protected_nopar:Npn \char_gset_mathcode:w { \pref_global:D \tex_mathcode:D } \cs_new_protected_nopar:Npn \char_gset_mathcode:nn #1#2 { - \char_gset_mathcode:w #1 = \intexpr_eval:w #2\intexpr_eval_end: + \char_gset_mathcode:w #1 = \int_eval:w #2\int_eval_end: } \cs_new_nopar:Npn \char_value_mathcode:w { \int_use:N \tex_mathcode:D } \cs_new_nopar:Npn \char_value_mathcode:n #1 { - \char_value_mathcode:w \intexpr_eval:w #1\intexpr_eval_end: + \char_value_mathcode:w \int_eval:w #1\int_eval_end: } \cs_new_nopar:Npn \char_show_value_mathcode:w { \tex_showthe:D \tex_mathcode:D } \cs_new_nopar:Npn \char_show_value_mathcode:n #1 { - \char_show_value_mathcode:w \intexpr_eval:w #1\intexpr_eval_end: + \char_show_value_mathcode:w \int_eval:w #1\int_eval_end: } \cs_new_eq:NN \char_set_lccode:w \tex_lccode:D \cs_new_protected_nopar:Npn \char_set_lccode:nn #1#2{ - \char_set_lccode:w #1 = \intexpr_eval:w #2\intexpr_eval_end: + \char_set_lccode:w #1 = \int_eval:w #2\int_eval_end: } \cs_new_nopar:Npn \char_value_lccode:w {\int_use:N\tex_lccode:D} \cs_new_nopar:Npn \char_value_lccode:n #1{\char_value_lccode:w - \intexpr_eval:w #1\intexpr_eval_end:} + \int_eval:w #1\int_eval_end:} \cs_new_nopar:Npn \char_show_value_lccode:w {\tex_showthe:D\tex_lccode:D} \cs_new_nopar:Npn \char_show_value_lccode:n #1{ - \char_show_value_lccode:w \intexpr_eval:w #1\intexpr_eval_end:} + \char_show_value_lccode:w \int_eval:w #1\int_eval_end:} \cs_new_eq:NN \char_set_uccode:w \tex_uccode:D \cs_new_protected_nopar:Npn \char_set_uccode:nn #1#2{ - \char_set_uccode:w #1 = \intexpr_eval:w #2\intexpr_eval_end: + \char_set_uccode:w #1 = \int_eval:w #2\int_eval_end: } \cs_new_nopar:Npn \char_value_uccode:w {\int_use:N\tex_uccode:D} \cs_new_nopar:Npn \char_value_uccode:n #1{\char_value_uccode:w - \intexpr_eval:w #1\intexpr_eval_end:} + \int_eval:w #1\int_eval_end:} \cs_new_nopar:Npn \char_show_value_uccode:w {\tex_showthe:D\tex_uccode:D} \cs_new_nopar:Npn \char_show_value_uccode:n #1{ - \char_show_value_uccode:w \intexpr_eval:w #1\intexpr_eval_end:} + \char_show_value_uccode:w \int_eval:w #1\int_eval_end:} \cs_new_eq:NN \char_set_sfcode:w \tex_sfcode:D \cs_new_protected_nopar:Npn \char_set_sfcode:nn #1#2 { - \char_set_sfcode:w #1 = \intexpr_eval:w #2\intexpr_eval_end: + \char_set_sfcode:w #1 = \int_eval:w #2\int_eval_end: } \cs_new_nopar:Npn \char_value_sfcode:w { \int_use:N \tex_sfcode:D } \cs_new_nopar:Npn \char_value_sfcode:n #1 { - \char_value_sfcode:w \intexpr_eval:w #1\intexpr_eval_end: + \char_value_sfcode:w \int_eval:w #1\int_eval_end: } \cs_new_nopar:Npn \char_show_value_sfcode:w { \tex_showthe:D \tex_sfcode:D } \cs_new_nopar:Npn \char_show_value_sfcode:n #1 { - \char_show_value_sfcode:w \intexpr_eval:w #1\intexpr_eval_end: + \char_show_value_sfcode:w \int_eval:w #1\int_eval_end: } \cs_new_protected_nopar:Npn \token_new:Nn #1#2 {\cs_new_eq:NN #1#2} \cs_new_eq:NN \c_group_begin_token { -- cgit v1.2.3