diff options
author | Karl Berry <karl@freefriends.org> | 2014-06-17 22:32:09 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2014-06-17 22:32:09 +0000 |
commit | 3c2f50b92407533aabaef1823006032eedd6ef90 (patch) | |
tree | eb67245dd952c951b95c485a5eb66f9539ac83df /Master/texmf-dist/tex/latex/l3experimental | |
parent | 4aa0b8110f2fdb3044d8b26d54e12cbb49a9a3dc (diff) |
l3
git-svn-id: svn://tug.org/texlive/trunk@34268 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/latex/l3experimental')
8 files changed, 249 insertions, 200 deletions
diff --git a/Master/texmf-dist/tex/latex/l3experimental/l3str/l3flag.sty b/Master/texmf-dist/tex/latex/l3experimental/l3str/l3flag.sty index a7249a188cb..242a465ed60 100644 --- a/Master/texmf-dist/tex/latex/l3experimental/l3str/l3flag.sty +++ b/Master/texmf-dist/tex/latex/l3experimental/l3str/l3flag.sty @@ -46,7 +46,7 @@ %% %% ----------------------------------------------------------------------- \RequirePackage{expl3} -\GetIdInfo$Id: l3flag.dtx 3039 2011-12-08 09:22:35Z bruno $ +\GetIdInfo$Id: l3flag.dtx 4745 2014-05-06 10:41:27Z joseph $ {L3 Experimental flags} \ProvidesExplPackage {\ExplFileName}{\ExplFileDate}{\ExplFileVersion}{\ExplFileDescription} 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 3d1224dfd80..ec8dc8bce52 100644 --- a/Master/texmf-dist/tex/latex/l3experimental/l3str/l3regex-trace.sty +++ b/Master/texmf-dist/tex/latex/l3experimental/l3str/l3regex-trace.sty @@ -46,7 +46,7 @@ %% %% ----------------------------------------------------------------------- \RequirePackage{expl3} -\GetIdInfo$Id: l3regex.dtx 4623 2013-12-14 13:53:40Z bruno $ +\GetIdInfo$Id: l3regex.dtx 5067 2014-06-06 16:51:35Z bruno $ {L3 Experimental regular expressions} \ProvidesExplPackage {\ExplFileName}{\ExplFileDate}{\ExplFileVersion}{\ExplFileDescription} @@ -268,7 +268,7 @@ } \cs_new_protected:Npn \__regex_escape_use:nnnn #1#2#3#4 { - \trace_push:nnn { regex } { 1 } { @@_escape_use:nnnn } + \trace_push:nnn { regex } { 1 } { __regex_escape_use:nnnn } \__tl_build:Nw \l__regex_internal_a_tl \cs_set_nopar:Npn \__regex_escape_unescaped:N ##1 { #1 } \cs_set_nopar:Npn \__regex_escape_escaped:N ##1 { #2 } @@ -282,7 +282,7 @@ } \__tl_build_one:o \l__regex_internal_b_tl \__tl_build_end: - \trace_pop:nnn { regex } { 1 } { @@_escape_use:nnnn } + \trace_pop:nnn { regex } { 1 } { __regex_escape_use:nnnn } \l__regex_internal_a_tl } \cs_new:Npn \__regex_escape_loop:N #1 @@ -365,12 +365,12 @@ \if_charcode:w \c_space_token #1 \exp_after:wN \__regex_escape_x_test:N \else: - \exp_after:wN \__regex_escape_x_test_two:N + \exp_after:wN \__regex_escape_x_testii:N \exp_after:wN #1 \fi: } } -\cs_new:Npn \__regex_escape_x_test_two:N #1 +\cs_new:Npn \__regex_escape_x_testii:N #1 { \if_charcode:w \c_left_brace_str #1 \exp_after:wN \__regex_escape_x_loop:N @@ -391,25 +391,32 @@ } \cs_new:Npn \__regex_escape_x_loop:N #1 { - \__str_hexadecimal_use:NTF #1 - { \__regex_escape_x_loop:N } + \str_if_eq_x:nnTF {#1} { break } + { ; \__regex_escape_x_loop_error:n { } {#1} } { - \token_if_eq_charcode:NNTF \c_space_token #1 + \__str_hexadecimal_use:NTF #1 { \__regex_escape_x_loop:N } { - ; - \exp_after:wN \token_if_eq_charcode:NNTF \c_right_brace_str #1 - { \__regex_escape_loop:N } + \token_if_eq_charcode:NNTF \c_space_token #1 + { \__regex_escape_x_loop:N } { - \if_false: { \fi: } - \__tl_build_one:o \l__regex_internal_b_tl - \__msg_kernel_error:nn { regex } { x-missing-rbrace } {#1} - \tl_set:Nx \l__regex_internal_b_tl - { \if_false: } \fi: \__regex_escape_loop:N #1 + ; + \exp_after:wN + \token_if_eq_charcode:NNTF \c_right_brace_str #1 + { \__regex_escape_loop:N } + { \__regex_escape_x_loop_error:n {#1} } } } } } +\cs_new:Npn \__regex_escape_x_loop_error:n #1 + { + \if_false: { \fi: } + \__tl_build_one:o \l__regex_internal_b_tl + \__msg_kernel_error:nnx { regex } { x-missing-rbrace } {#1} + \tl_set:Nx \l__regex_internal_b_tl + { \if_false: } \fi: \__regex_escape_loop:N #1 + } \prg_new_conditional:Npnn \__regex_char_if_special:N #1 { TF } { \if_int_compare:w `#1 < \c_ninety_one @@ -614,6 +621,8 @@ { #1 } \prg_do_nothing: \prg_do_nothing: \prg_do_nothing: \prg_do_nothing: + \int_compare:nNnT \l__regex_mode_int = \c_two + { \__msg_kernel_error:nn { regex } { c-trailing } } \int_compare:nNnT \l__regex_mode_int < \c_zero { \__msg_kernel_error:nn { regex } { c-missing-rbrace } @@ -1067,7 +1076,7 @@ { __regex_compile_special_group_\token_to_str:N #4 :w } { \__msg_kernel_warning:nnx { regex } { special-group-unknown } - { (? \token_to_str:N #4 } + { (? #4 } \__regex_compile_group_begin:N \__regex_group:nnnN \__regex_compile_raw:N ? #3 #4 } @@ -1456,7 +1465,7 @@ } \cs_new_protected:Npn \__regex_build:N #1 { - \trace_push:nnn { regex } { 1 } { @@_build } + \trace_push:nnn { regex } { 1 } { __regex_build } \int_set:Nn \tex_escapechar:D { 92 } \int_zero:N \l__regex_capturing_group_int \int_set_eq:NN \l__regex_max_state_int \l__regex_min_state_int @@ -1467,12 +1476,12 @@ \__regex_group:nnnN {#1} { 1 } { 0 } \c_false_bool \__regex_toks_put_right:Nn \l__regex_right_state_int { \__regex_action_success: } - \@@_trace_states:n { 2 } - \trace_pop:nnn { regex } { 1 } { @@_build } + \__regex_trace_states:n { 2 } + \trace_pop:nnn { regex } { 1 } { __regex_build } } \cs_new_protected:Npn \__regex_build_for_cs:n #1 { - \trace_push:nnn { regex } { 1 } { @@_build_for_cs } + \trace_push:nnn { regex } { 1 } { __regex_build_for_cs } \int_set_eq:NN \l__regex_max_state_int \l__regex_min_state_int \__regex_build_new_state: \__regex_build_new_state: @@ -1485,8 +1494,8 @@ \exp_after:wN \__regex_action_success: \fi: } - \@@_trace_states:n { 2 } - \trace_pop:nnn { regex } { 1 } { @@_build_for_cs } + \__regex_trace_states:n { 2 } + \trace_pop:nnn { regex } { 1 } { __regex_build_for_cs } } \cs_new_protected_nopar:Npn \__regex_push_lr_states: { @@ -1602,7 +1611,7 @@ } \cs_new_protected:Npn \__regex_group_aux:nnnnN #1#2#3#4#5 { - \trace_push:nnn { regex } { 1 } { @@_group } + \trace_push:nnn { regex } { 1 } { __regex_group } \if_int_compare:w #3 = \c_zero \__regex_build_new_state: \__regex_build_transition_right:nNn \__regex_action_free_group:n @@ -1617,7 +1626,7 @@ \or: \__regex_group_repeat:nnN {#1} {#3} #5 \else: \__regex_group_repeat:nnnN {#1} {#3} {#4} #5 \fi: - \trace_pop:nnn { regex } { 1 } { @@_group } + \trace_pop:nnn { regex } { 1 } { __regex_group } } \cs_new_protected:Npn \__regex_group:nnnN #1 { @@ -1653,7 +1662,7 @@ } \cs_new_protected:Npn \__regex_branch:n #1 { - \trace_push:nnn { regex } { 1 } { @@_branch } + \trace_push:nnn { regex } { 1 } { __regex_branch } \__regex_build_new_state: \seq_get:NN \l__regex_left_state_seq \l__regex_internal_a_tl \int_set:Nn \l__regex_left_state_int \l__regex_internal_a_tl @@ -1663,7 +1672,7 @@ \seq_get:NN \l__regex_right_state_seq \l__regex_internal_a_tl \__regex_build_transition_right:nNn \__regex_action_free:n \l__regex_right_state_int \l__regex_internal_a_tl - \trace_pop:nnn { regex } { 1 } { @@_branch } + \trace_pop:nnn { regex } { 1 } { __regex_branch } } \cs_new_protected:Npn \__regex_group_repeat:nn #1#2 { @@ -1842,7 +1851,7 @@ \bool_new:N \l__regex_match_success_bool \cs_new_protected:Npn \__regex_match:n #1 { - \trace_push:nnx { regex } { 1 } { @@_match } + \trace_push:nnx { regex } { 1 } { __regex_match } \trace:nnx { regex } { 1 } { analyzing~query~token~list } \int_zero:N \l__regex_balance_int \int_set:Nn \l__regex_current_pos_int { \c_two * \l__regex_max_state_int } @@ -1864,7 +1873,7 @@ { \c_two * \l__regex_max_state_int } \bool_set_false:N \l__regex_empty_success_bool \__regex_match_once: - \trace_pop:nnx { regex } { 1 } { @@_match } + \trace_pop:nnx { regex } { 1 } { __regex_match } } \cs_new_protected_nopar:Npn \__regex_match_once: { @@ -2083,7 +2092,7 @@ } \cs_new_protected:Npn \__regex_replacement:n #1 { - \trace_push:nnn { regex } { 1 } { @@_replacement:n } + \trace_push:nnn { regex } { 1 } { __regex_replacement:n } \__tl_build:Nw \l__regex_internal_a_tl \int_zero:N \l__regex_balance_int \tl_clear:N \l__regex_balance_tl @@ -2110,7 +2119,7 @@ } \__tl_build_end: \exp_args:No \__regex_replacement_aux:n \l__regex_internal_a_tl - \trace_pop:nnn { regex } { 1 } { @@_replacement:n } + \trace_pop:nnn { regex } { 1 } { __regex_replacement:n } } \cs_new_protected:Npn \__regex_replacement_aux:n #1 { @@ -2589,47 +2598,48 @@ } } \__msg_kernel_new:nnnn { regex } { trailing-backslash } - { Trailing~escape~character~\iow_char:N\\. } + { Trailing~escape~character~`\iow_char:N\\'. } { A~regular~expression~or~its~replacement~text~ends~with~ - the~escape~character~\iow_char:N\\.~It~will~be~ignored. + the~escape~character~`\iow_char:N\\'.~It~will~be~ignored. } \__msg_kernel_new:nnnn { regex } { x-missing-rbrace } - { Missing~closing~brace~in~\iow_char:N\\x~hexadecimal~sequence. } + { Missing~closing~brace~in~`\iow_char:N\\x'~hexadecimal~sequence. } { You~wrote~something~like~ - `\iow_char:N\\x\{\int_to_hexadecimal:n{#1}'.~ + `\iow_char:N\\x\{...#1'.~ The~closing~brace~is~missing. } \__msg_kernel_new:nnnn { regex } { x-overflow } - { Character~code~'#1'~too~large~in~\iow_char:N\\x~hexadecimal~sequence. } + { Character~code~`#1'~too~large~in~`\iow_char:N\\x'~hexadecimal~sequence. } { You~wrote~something~like~ `\iow_char:N\\x\{\int_to_hexadecimal:n{#1}\}'.~ - The~character~code~'#1'~is~larger~than~\int_use:N \c_max_char_int. + The~character~code~#1~is~larger~than~ + the~maximum~value~\int_use:N \c_max_char_int. } \__msg_kernel_new:nnnn { regex } { invalid-quantifier } - { Braced~quantifier~'#1'~may~not~be~followed~by~'#2'. } + { Braced~quantifier~`#1'~may~not~be~followed~by~`#2'. } { - The~character~'#2'~is~invalid~in~the~braced~quantifier~'#1'.~ - The~only~valid~quantifiers~are~'*',~'?',~'+',~'{<int>}',~ - '{<min>,}'~and~'{<min>,<max>}',~followed~or~not~by~'?'. + The~character~`#2'~is~invalid~in~the~braced~quantifier~`#1'.~ + The~only~valid~quantifiers~are~`*',~`?',~`+',~`{<int>}',~ + `{<min>,}'~and~`{<min>,<max>}',~optionally~followed~by~`?'. } \__msg_kernel_new:nnnn { regex } { missing-rbrack } { Missing~right~bracket~inserted~in~regular~expression. } { LaTeX~was~given~a~regular~expression~where~a~character~class~ - was~started~with~'[',~but~the~matching~']'~is~missing. + was~started~with~`[',~but~the~matching~`]'~is~missing. } \__msg_kernel_new:nnnn { regex } { missing-rparen } { - Missing~right~parenthes\int_compare:nTF{#1=1}{i}{e}s~ + Missing~right~ + \int_compare:nTF { #1 = 1 } { parenthesis } { parentheses } ~ inserted~in~regular~expression. } { - LaTeX~was~given~a~regular~expression~with~\int_eval:n{#1}~ - more~left~parenthes\int_compare:nTF{#1=1}{i}{e}s~than~right~ - parenthes\int_compare:nTF{#1=1}{i}{e}s. + LaTeX~was~given~a~regular~expression~with~\int_eval:n {#1} ~ + more~left~parentheses~than~right~parentheses. } \__msg_kernel_new:nnnn { regex } { extra-rparen } { Extra~right~parenthesis~ignored~in~regular~expression. } @@ -2639,7 +2649,7 @@ } \__msg_kernel_new:nnnn { regex } { bad-escape } { - Invalid~escape~\c_backslash_str #1~ + Invalid~escape~`\iow_char:N\\#1'~ \__regex_if_in_cs:TF { within~a~control~sequence. } { \__regex_if_in_class:TF @@ -2648,96 +2658,102 @@ } } { - The~escape~sequence~\iow_char:N\\#1~may~not~appear~ + The~escape~sequence~`\iow_char:N\\#1'~may~not~appear~ \__regex_if_in_cs:TF { within~a~control~sequence~test~introduced~by~ - \iow_char:N\\c\iow_char:N\{. + `\iow_char:N\\c\iow_char:N\{'. } { \__regex_if_in_class:TF { within~a~character~class~ } - { following~a~category~test~such~as~\iow_char:N\\cL~ } + { following~a~category~test~such~as~`\iow_char:N\\cL'~ } because~it~does~not~match~exactly~one~character. } } \__msg_kernel_new:nnnn { regex } { range-missing-end } - { Invalid~end-point~for~range~'#1-#2'~in~character~class. } + { Invalid~end-point~for~range~`#1-#2'~in~character~class. } { - The~end-point~'#2'~of~the~range~'#1-#2'~may~not~serve~as~an~ + The~end-point~`#2'~of~the~range~`#1-#2'~may~not~serve~as~an~ end-point~for~a~range:~alphanumeric~characters~should~not~be~ escaped,~and~non-alphanumeric~characters~should~be~escaped. } \__msg_kernel_new:nnnn { regex } { range-backwards } - { Range~[#1-#2]~out~of~order~in~character~class. } + { Range~`[#1-#2]'~out~of~order~in~character~class. } { - In~ranges~of~characters~[x-y]~appearing~in~character~classes,~ + In~ranges~of~characters~`[x-y]'~appearing~in~character~classes,~ the~first~character~code~must~not~be~larger~than~the~second.~ - Here,~#1~has~character~code~\int_eval:n {`#1},~while~#2~has~ - character~code~\int_eval:n {`#2}. + Here,~`#1'~has~character~code~\int_eval:n {`#1},~while~ + `#2'~has~character~code~\int_eval:n {`#2}. } \__msg_kernel_new:nnnn { regex } { c-bad-mode } - { Invalid~nested~\iow_char:N\\c~escape~in~regular~expression. } + { Invalid~nested~`\iow_char:N\\c'~escape~in~regular~expression. } { - The~\iow_char:N\\c~escape~cannot~be~used~within~ - a~control~sequence~test~'\iow_char:N\\c{...}'.~ - To~combine~several~category~tests,~use~'\iow_char:N\\c[...]'. + The~`\iow_char:N\\c'~escape~cannot~be~used~within~ + a~control~sequence~test~`\iow_char:N\\c{...}'.~ + To~combine~several~category~tests,~use~`\iow_char:N\\c[...]'. } \__msg_kernel_new:nnnn { regex } { c-missing-rbrace } - { Missing~right~brace~inserted~for~\iow_char:N\\c~escape. } + { Missing~right~brace~inserted~for~`\iow_char:N\\c'~escape. } { LaTeX~was~given~a~regular~expression~where~a~ - '\iow_char:N\\c\iow_char:N\{...'~construction~was~not~ended~ - with~a~closing~brace~'\iow_char:N\}'. + `\iow_char:N\\c\iow_char:N\{...'~construction~was~not~ended~ + with~a~closing~brace~`\iow_char:N\}'. } \__msg_kernel_new:nnnn { regex } { c-missing-rbrack } - { Missing~right~bracket~inserted~for~\iow_char:N\\c~escape. } + { Missing~right~bracket~inserted~for~`\iow_char:N\\c'~escape. } { - A~construction~'\iow_char:N\\c[...'~appears~in~a~ - regular~expression,~but~the~closing~']'~is~not~present. + A~construction~`\iow_char:N\\c[...'~appears~in~a~ + regular~expression,~but~the~closing~`]'~is~not~present. } \__msg_kernel_new:nnnn { regex } { c-missing-category } - { Invalid~character~'#1'~following~\iow_char:N\\c~escape. } + { Invalid~character~`#1'~following~`\iow_char:N\\c'~escape. } { - In~regular~expressions,~the~\iow_char:N\\c~escape~sequence~ + In~regular~expressions,~the~`\iow_char:N\\c'~escape~sequence~ may~only~be~followed~by~a~left~brace,~a~left~bracket,~or~a~ capital~letter~representing~a~character~category,~namely~ - one~of~ABCDELMOPSTU. + one~of~`ABCDELMOPSTU'. + } +\__msg_kernel_new:nnnn { regex } { c-trailing } + { Trailing~category~code~escape~`\iow_char:N\\c'... } + { + A~regular~expression~ends~with~`\iow_char:N\\c'~followed~ + by~a~letter.~It~will~be~ignored. } \__msg_kernel_new:nnnn { regex } { u-missing-lbrace } - { Missing~left~brace~following~\iow_char:N\\u~escape. } + { Missing~left~brace~following~`\iow_char:N\\u'~escape. } { - The~\iow_char:N\\u~escape~sequence~must~be~followed~by~ + The~`\iow_char:N\\u'~escape~sequence~must~be~followed~by~ a~brace~group~with~the~name~of~the~variable~to~use. } \__msg_kernel_new:nnnn { regex } { u-missing-rbrace } - { Missing~right~brace~inserted~for~\iow_char:N\\u~escape. } + { Missing~right~brace~inserted~for~`\iow_char:N\\u'~escape. } { LaTeX~ \str_if_eq_x:nnTF { } {#2} { reached~the~end~of~the~string~ } - { encountered~an~escaped~alphanumeric~character '\iow_char:N\\#2'~ } - when~parsing~the~argument~of~an~'\iow_char:N\\u\iow_char:N\{...\}'~escape. + { encountered~an~escaped~alphanumeric~character `\iow_char:N\\#2'~ } + when~parsing~the~argument~of~an~`\iow_char:N\\u\iow_char:N\{...\}'~escape. } \__msg_kernel_new:nnnn { regex } { posix-unsupported } - { POSIX~collating~element~'[#1 ~ #1]'~not~supported. } + { POSIX~collating~element~`[#1 ~ #1]'~not~supported. } { - The~[.foo.]~and~[=bar=]~syntaxes~have~a~special~meaning~in~POSIX~ - regular~expressions.~This~is~not~supported~by~LaTeX.~Maybe~you~ - forgot~to~escape~a~left~bracket~in~a~character~class? + The~`[.foo.]'~and~`[=bar=]'~syntaxes~have~a~special~meaning~ + in~POSIX~regular~expressions.~This~is~not~supported~by~LaTeX.~ + Maybe~you~forgot~to~escape~a~left~bracket~in~a~character~class? } \__msg_kernel_new:nnnn { regex } { posix-unknown } - { POSIX~class~[:#1:]~unknown. } + { POSIX~class~`[:#1:]'~unknown. } { - [:#1:]~is~not~among~the~known~POSIX~classes~ - [:alnum:],~[:alpha:],~[:ascii:],~[:blank:],~ - [:cntrl:],~[:digit:],~[:graph:],~[:lower:],~ - [:print:],~[:punct:],~[:space:],~[:upper:],~ - [:word:],~and~[:xdigit:]. + `[:#1:]'~is~not~among~the~known~POSIX~classes~ + `[:alnum:]',~`[:alpha:]',~`[:ascii:]',~`[:blank:]',~ + `[:cntrl:]',~`[:digit:]',~`[:graph:]',~`[:lower:]',~ + `[:print:]',~`[:punct:]',~`[:space:]',~`[:upper:]',~ + `[:word:]',~and~`[:xdigit:]'. } \__msg_kernel_new:nnnn { regex } { posix-missing-close } - { Missing~closing~':]'~for~POSIX~class. } - { The~POSIX~syntax~'#1'~must~be~followed~by~':]',~not~'#2'. } + { Missing~closing~`:]'~for~POSIX~class. } + { The~POSIX~syntax~`#1'~must~be~followed~by~`:]',~not~`#2'. } \__msg_kernel_new:nnnn { regex } { result-unbalanced } { Missing~brace~inserted~when~#1. } { @@ -2749,55 +2765,64 @@ \__msg_kernel_new:nnnn { regex } { unknown-option } { Unknown~option~`#1'~for~regular~expressions. } { - The~only~available~option~is~'case-insensitive',~toggled~by~ - '(?i)'~and~'(?-i)'. + The~only~available~option~is~`case-insensitive',~toggled~by~ + `(?i)'~and~`(?-i)'. + } +\__msg_kernel_new:nnnn { regex } { special-group-unknown } + { Unknown~special~group~`#1~...'~in~a~regular~expression. } + { + The~only~valid~constructions~starting~with~`(?'~are~ + `(?:~...~)',~`(?|~...~)',~`(?i)',~and~`(?-i)'. } \__msg_kernel_new:nnnn { regex } { replacement-c } - { Misused~\iow_char:N\\c~command~in~a~replacement~text. } + { Misused~`\iow_char:N\\c'~command~in~a~replacement~text. } { - In~a~replacement~text,~the~\iow_char:N\\c~escape~sequence~ - can~be~followed~by~one~of~the~letters~ABCDELMOPSTU~ - or~a~brace~group,~not~by~'#1'. + In~a~replacement~text,~the~`\iow_char:N\\c'~escape~sequence~ + can~be~followed~by~one~of~the~letters~`ABCDELMOPSTU'~ + or~a~brace~group,~not~by~`#1'. } \__msg_kernel_new:nnnn { regex } { replacement-u } - { Misused~\iow_char:N\\u~command~in~a~replacement~text. } + { Misused~`\iow_char:N\\u'~command~in~a~replacement~text. } { - In~a~replacement~text,~the~\iow_char:N\\u~escape~sequence~ + In~a~replacement~text,~the~`\iow_char:N\\u'~escape~sequence~ must~be~~followed~by~a~brace~group~holding~the~name~of~the~ variable~to~use. } \__msg_kernel_new:nnnn { regex } { replacement-g } - { Missing~brace~for~the~\iow_char:N\\g~construction~in~a~replacement~text. } + { + Missing~brace~for~the~`\iow_char:N\\g'~construction~ + in~a~replacement~text. + } { In~the~replacement~text~for~a~regular~expression~search,~ - submatches~are~represented~either~as~\iow_char:N \\g{dd..d},~ - or~\\d,~where~`d'~are~single~digits.~Here,~a~brace~is~missing. + submatches~are~represented~either~as~`\iow_char:N \\g{dd..d}',~ + or~`\\d',~where~`d'~are~single~digits.~Here,~a~brace~is~missing. } \__msg_kernel_new:nnnn { regex } { replacement-catcode-end } { - Missing~character~for~the~\iow_char:N\\c<category><character>~ + Missing~character~for~the~`\iow_char:N\\c<category><character>'~ construction~in~a~replacement~text. } { - In~a~replacement~text,~the~\iow_char:N\\c~escape~sequence~ - can~be~followed~by~one~of~the~letters~ABCDELMOPSTU~representing~ + In~a~replacement~text,~the~`\iow_char:N\\c'~escape~sequence~ + can~be~followed~by~one~of~the~letters~`ABCDELMOPSTU'~representing~ the~character~category.~Then,~a~character~must~follow.~LaTeX~ reached~the~end~of~the~replacement~when~looking~for~that. } \__msg_kernel_new:nnnn { regex } { replacement-null-space } { TeX~cannot~build~a~space~token~with~character~code~0. } { - You~asked~for~a~character~token~with~category~'space',~ + You~asked~for~a~character~token~with~category~space,~ and~character~code~0,~for~instance~through~ - '\iow_char:N\\cS\iow_char:N\\x00'.~ + `\iow_char:N\\cS\iow_char:N\\x00'.~ This~specific~case~is~impossible~and~will~be~replaced~ by~a~normal~space. } \__msg_kernel_new:nnnn { regex } { replacement-missing-rbrace } { Missing~right~brace~inserted~in~replacement~text. } { - There~were~\int_use:N \l__regex_replacement_csnames_int \ - missing~right~braces. + There~ \int_compare:nTF { #1 = 1 } { was } { were } ~ #1~ + missing~right~\int_compare:nTF { #1 = 1 } { brace } { braces } . } \cs_new:Npn \__regex_msg_repeated:nnN #1#2#3 { diff --git a/Master/texmf-dist/tex/latex/l3experimental/l3str/l3regex.sty b/Master/texmf-dist/tex/latex/l3experimental/l3str/l3regex.sty index 12774db5615..55bd0e1464c 100644 --- a/Master/texmf-dist/tex/latex/l3experimental/l3str/l3regex.sty +++ b/Master/texmf-dist/tex/latex/l3experimental/l3str/l3regex.sty @@ -46,7 +46,7 @@ %% %% ----------------------------------------------------------------------- \RequirePackage{expl3} -\GetIdInfo$Id: l3regex.dtx 4623 2013-12-14 13:53:40Z bruno $ +\GetIdInfo$Id: l3regex.dtx 5067 2014-06-06 16:51:35Z bruno $ {L3 Experimental regular expressions} \ProvidesExplPackage {\ExplFileName}{\ExplFileDate}{\ExplFileVersion}{\ExplFileDescription} @@ -363,12 +363,12 @@ \if_charcode:w \c_space_token #1 \exp_after:wN \__regex_escape_x_test:N \else: - \exp_after:wN \__regex_escape_x_test_two:N + \exp_after:wN \__regex_escape_x_testii:N \exp_after:wN #1 \fi: } } -\cs_new:Npn \__regex_escape_x_test_two:N #1 +\cs_new:Npn \__regex_escape_x_testii:N #1 { \if_charcode:w \c_left_brace_str #1 \exp_after:wN \__regex_escape_x_loop:N @@ -389,25 +389,32 @@ } \cs_new:Npn \__regex_escape_x_loop:N #1 { - \__str_hexadecimal_use:NTF #1 - { \__regex_escape_x_loop:N } + \str_if_eq_x:nnTF {#1} { break } + { ; \__regex_escape_x_loop_error:n { } {#1} } { - \token_if_eq_charcode:NNTF \c_space_token #1 + \__str_hexadecimal_use:NTF #1 { \__regex_escape_x_loop:N } { - ; - \exp_after:wN \token_if_eq_charcode:NNTF \c_right_brace_str #1 - { \__regex_escape_loop:N } + \token_if_eq_charcode:NNTF \c_space_token #1 + { \__regex_escape_x_loop:N } { - \if_false: { \fi: } - \__tl_build_one:o \l__regex_internal_b_tl - \__msg_kernel_error:nn { regex } { x-missing-rbrace } {#1} - \tl_set:Nx \l__regex_internal_b_tl - { \if_false: } \fi: \__regex_escape_loop:N #1 + ; + \exp_after:wN + \token_if_eq_charcode:NNTF \c_right_brace_str #1 + { \__regex_escape_loop:N } + { \__regex_escape_x_loop_error:n {#1} } } } } } +\cs_new:Npn \__regex_escape_x_loop_error:n #1 + { + \if_false: { \fi: } + \__tl_build_one:o \l__regex_internal_b_tl + \__msg_kernel_error:nnx { regex } { x-missing-rbrace } {#1} + \tl_set:Nx \l__regex_internal_b_tl + { \if_false: } \fi: \__regex_escape_loop:N #1 + } \prg_new_conditional:Npnn \__regex_char_if_special:N #1 { TF } { \if_int_compare:w `#1 < \c_ninety_one @@ -612,6 +619,8 @@ { #1 } \prg_do_nothing: \prg_do_nothing: \prg_do_nothing: \prg_do_nothing: + \int_compare:nNnT \l__regex_mode_int = \c_two + { \__msg_kernel_error:nn { regex } { c-trailing } } \int_compare:nNnT \l__regex_mode_int < \c_zero { \__msg_kernel_error:nn { regex } { c-missing-rbrace } @@ -1065,7 +1074,7 @@ { __regex_compile_special_group_\token_to_str:N #4 :w } { \__msg_kernel_warning:nnx { regex } { special-group-unknown } - { (? \token_to_str:N #4 } + { (? #4 } \__regex_compile_group_begin:N \__regex_group:nnnN \__regex_compile_raw:N ? #3 #4 } @@ -2562,47 +2571,48 @@ } } \__msg_kernel_new:nnnn { regex } { trailing-backslash } - { Trailing~escape~character~\iow_char:N\\. } + { Trailing~escape~character~`\iow_char:N\\'. } { A~regular~expression~or~its~replacement~text~ends~with~ - the~escape~character~\iow_char:N\\.~It~will~be~ignored. + the~escape~character~`\iow_char:N\\'.~It~will~be~ignored. } \__msg_kernel_new:nnnn { regex } { x-missing-rbrace } - { Missing~closing~brace~in~\iow_char:N\\x~hexadecimal~sequence. } + { Missing~closing~brace~in~`\iow_char:N\\x'~hexadecimal~sequence. } { You~wrote~something~like~ - `\iow_char:N\\x\{\int_to_hexadecimal:n{#1}'.~ + `\iow_char:N\\x\{...#1'.~ The~closing~brace~is~missing. } \__msg_kernel_new:nnnn { regex } { x-overflow } - { Character~code~'#1'~too~large~in~\iow_char:N\\x~hexadecimal~sequence. } + { Character~code~`#1'~too~large~in~`\iow_char:N\\x'~hexadecimal~sequence. } { You~wrote~something~like~ `\iow_char:N\\x\{\int_to_hexadecimal:n{#1}\}'.~ - The~character~code~'#1'~is~larger~than~\int_use:N \c_max_char_int. + The~character~code~#1~is~larger~than~ + the~maximum~value~\int_use:N \c_max_char_int. } \__msg_kernel_new:nnnn { regex } { invalid-quantifier } - { Braced~quantifier~'#1'~may~not~be~followed~by~'#2'. } + { Braced~quantifier~`#1'~may~not~be~followed~by~`#2'. } { - The~character~'#2'~is~invalid~in~the~braced~quantifier~'#1'.~ - The~only~valid~quantifiers~are~'*',~'?',~'+',~'{<int>}',~ - '{<min>,}'~and~'{<min>,<max>}',~followed~or~not~by~'?'. + The~character~`#2'~is~invalid~in~the~braced~quantifier~`#1'.~ + The~only~valid~quantifiers~are~`*',~`?',~`+',~`{<int>}',~ + `{<min>,}'~and~`{<min>,<max>}',~optionally~followed~by~`?'. } \__msg_kernel_new:nnnn { regex } { missing-rbrack } { Missing~right~bracket~inserted~in~regular~expression. } { LaTeX~was~given~a~regular~expression~where~a~character~class~ - was~started~with~'[',~but~the~matching~']'~is~missing. + was~started~with~`[',~but~the~matching~`]'~is~missing. } \__msg_kernel_new:nnnn { regex } { missing-rparen } { - Missing~right~parenthes\int_compare:nTF{#1=1}{i}{e}s~ + Missing~right~ + \int_compare:nTF { #1 = 1 } { parenthesis } { parentheses } ~ inserted~in~regular~expression. } { - LaTeX~was~given~a~regular~expression~with~\int_eval:n{#1}~ - more~left~parenthes\int_compare:nTF{#1=1}{i}{e}s~than~right~ - parenthes\int_compare:nTF{#1=1}{i}{e}s. + LaTeX~was~given~a~regular~expression~with~\int_eval:n {#1} ~ + more~left~parentheses~than~right~parentheses. } \__msg_kernel_new:nnnn { regex } { extra-rparen } { Extra~right~parenthesis~ignored~in~regular~expression. } @@ -2612,7 +2622,7 @@ } \__msg_kernel_new:nnnn { regex } { bad-escape } { - Invalid~escape~\c_backslash_str #1~ + Invalid~escape~`\iow_char:N\\#1'~ \__regex_if_in_cs:TF { within~a~control~sequence. } { \__regex_if_in_class:TF @@ -2621,96 +2631,102 @@ } } { - The~escape~sequence~\iow_char:N\\#1~may~not~appear~ + The~escape~sequence~`\iow_char:N\\#1'~may~not~appear~ \__regex_if_in_cs:TF { within~a~control~sequence~test~introduced~by~ - \iow_char:N\\c\iow_char:N\{. + `\iow_char:N\\c\iow_char:N\{'. } { \__regex_if_in_class:TF { within~a~character~class~ } - { following~a~category~test~such~as~\iow_char:N\\cL~ } + { following~a~category~test~such~as~`\iow_char:N\\cL'~ } because~it~does~not~match~exactly~one~character. } } \__msg_kernel_new:nnnn { regex } { range-missing-end } - { Invalid~end-point~for~range~'#1-#2'~in~character~class. } + { Invalid~end-point~for~range~`#1-#2'~in~character~class. } { - The~end-point~'#2'~of~the~range~'#1-#2'~may~not~serve~as~an~ + The~end-point~`#2'~of~the~range~`#1-#2'~may~not~serve~as~an~ end-point~for~a~range:~alphanumeric~characters~should~not~be~ escaped,~and~non-alphanumeric~characters~should~be~escaped. } \__msg_kernel_new:nnnn { regex } { range-backwards } - { Range~[#1-#2]~out~of~order~in~character~class. } + { Range~`[#1-#2]'~out~of~order~in~character~class. } { - In~ranges~of~characters~[x-y]~appearing~in~character~classes,~ + In~ranges~of~characters~`[x-y]'~appearing~in~character~classes,~ the~first~character~code~must~not~be~larger~than~the~second.~ - Here,~#1~has~character~code~\int_eval:n {`#1},~while~#2~has~ - character~code~\int_eval:n {`#2}. + Here,~`#1'~has~character~code~\int_eval:n {`#1},~while~ + `#2'~has~character~code~\int_eval:n {`#2}. } \__msg_kernel_new:nnnn { regex } { c-bad-mode } - { Invalid~nested~\iow_char:N\\c~escape~in~regular~expression. } + { Invalid~nested~`\iow_char:N\\c'~escape~in~regular~expression. } { - The~\iow_char:N\\c~escape~cannot~be~used~within~ - a~control~sequence~test~'\iow_char:N\\c{...}'.~ - To~combine~several~category~tests,~use~'\iow_char:N\\c[...]'. + The~`\iow_char:N\\c'~escape~cannot~be~used~within~ + a~control~sequence~test~`\iow_char:N\\c{...}'.~ + To~combine~several~category~tests,~use~`\iow_char:N\\c[...]'. } \__msg_kernel_new:nnnn { regex } { c-missing-rbrace } - { Missing~right~brace~inserted~for~\iow_char:N\\c~escape. } + { Missing~right~brace~inserted~for~`\iow_char:N\\c'~escape. } { LaTeX~was~given~a~regular~expression~where~a~ - '\iow_char:N\\c\iow_char:N\{...'~construction~was~not~ended~ - with~a~closing~brace~'\iow_char:N\}'. + `\iow_char:N\\c\iow_char:N\{...'~construction~was~not~ended~ + with~a~closing~brace~`\iow_char:N\}'. } \__msg_kernel_new:nnnn { regex } { c-missing-rbrack } - { Missing~right~bracket~inserted~for~\iow_char:N\\c~escape. } + { Missing~right~bracket~inserted~for~`\iow_char:N\\c'~escape. } { - A~construction~'\iow_char:N\\c[...'~appears~in~a~ - regular~expression,~but~the~closing~']'~is~not~present. + A~construction~`\iow_char:N\\c[...'~appears~in~a~ + regular~expression,~but~the~closing~`]'~is~not~present. } \__msg_kernel_new:nnnn { regex } { c-missing-category } - { Invalid~character~'#1'~following~\iow_char:N\\c~escape. } + { Invalid~character~`#1'~following~`\iow_char:N\\c'~escape. } { - In~regular~expressions,~the~\iow_char:N\\c~escape~sequence~ + In~regular~expressions,~the~`\iow_char:N\\c'~escape~sequence~ may~only~be~followed~by~a~left~brace,~a~left~bracket,~or~a~ capital~letter~representing~a~character~category,~namely~ - one~of~ABCDELMOPSTU. + one~of~`ABCDELMOPSTU'. + } +\__msg_kernel_new:nnnn { regex } { c-trailing } + { Trailing~category~code~escape~`\iow_char:N\\c'... } + { + A~regular~expression~ends~with~`\iow_char:N\\c'~followed~ + by~a~letter.~It~will~be~ignored. } \__msg_kernel_new:nnnn { regex } { u-missing-lbrace } - { Missing~left~brace~following~\iow_char:N\\u~escape. } + { Missing~left~brace~following~`\iow_char:N\\u'~escape. } { - The~\iow_char:N\\u~escape~sequence~must~be~followed~by~ + The~`\iow_char:N\\u'~escape~sequence~must~be~followed~by~ a~brace~group~with~the~name~of~the~variable~to~use. } \__msg_kernel_new:nnnn { regex } { u-missing-rbrace } - { Missing~right~brace~inserted~for~\iow_char:N\\u~escape. } + { Missing~right~brace~inserted~for~`\iow_char:N\\u'~escape. } { LaTeX~ \str_if_eq_x:nnTF { } {#2} { reached~the~end~of~the~string~ } - { encountered~an~escaped~alphanumeric~character '\iow_char:N\\#2'~ } - when~parsing~the~argument~of~an~'\iow_char:N\\u\iow_char:N\{...\}'~escape. + { encountered~an~escaped~alphanumeric~character `\iow_char:N\\#2'~ } + when~parsing~the~argument~of~an~`\iow_char:N\\u\iow_char:N\{...\}'~escape. } \__msg_kernel_new:nnnn { regex } { posix-unsupported } - { POSIX~collating~element~'[#1 ~ #1]'~not~supported. } + { POSIX~collating~element~`[#1 ~ #1]'~not~supported. } { - The~[.foo.]~and~[=bar=]~syntaxes~have~a~special~meaning~in~POSIX~ - regular~expressions.~This~is~not~supported~by~LaTeX.~Maybe~you~ - forgot~to~escape~a~left~bracket~in~a~character~class? + The~`[.foo.]'~and~`[=bar=]'~syntaxes~have~a~special~meaning~ + in~POSIX~regular~expressions.~This~is~not~supported~by~LaTeX.~ + Maybe~you~forgot~to~escape~a~left~bracket~in~a~character~class? } \__msg_kernel_new:nnnn { regex } { posix-unknown } - { POSIX~class~[:#1:]~unknown. } + { POSIX~class~`[:#1:]'~unknown. } { - [:#1:]~is~not~among~the~known~POSIX~classes~ - [:alnum:],~[:alpha:],~[:ascii:],~[:blank:],~ - [:cntrl:],~[:digit:],~[:graph:],~[:lower:],~ - [:print:],~[:punct:],~[:space:],~[:upper:],~ - [:word:],~and~[:xdigit:]. + `[:#1:]'~is~not~among~the~known~POSIX~classes~ + `[:alnum:]',~`[:alpha:]',~`[:ascii:]',~`[:blank:]',~ + `[:cntrl:]',~`[:digit:]',~`[:graph:]',~`[:lower:]',~ + `[:print:]',~`[:punct:]',~`[:space:]',~`[:upper:]',~ + `[:word:]',~and~`[:xdigit:]'. } \__msg_kernel_new:nnnn { regex } { posix-missing-close } - { Missing~closing~':]'~for~POSIX~class. } - { The~POSIX~syntax~'#1'~must~be~followed~by~':]',~not~'#2'. } + { Missing~closing~`:]'~for~POSIX~class. } + { The~POSIX~syntax~`#1'~must~be~followed~by~`:]',~not~`#2'. } \__msg_kernel_new:nnnn { regex } { result-unbalanced } { Missing~brace~inserted~when~#1. } { @@ -2722,55 +2738,64 @@ \__msg_kernel_new:nnnn { regex } { unknown-option } { Unknown~option~`#1'~for~regular~expressions. } { - The~only~available~option~is~'case-insensitive',~toggled~by~ - '(?i)'~and~'(?-i)'. + The~only~available~option~is~`case-insensitive',~toggled~by~ + `(?i)'~and~`(?-i)'. + } +\__msg_kernel_new:nnnn { regex } { special-group-unknown } + { Unknown~special~group~`#1~...'~in~a~regular~expression. } + { + The~only~valid~constructions~starting~with~`(?'~are~ + `(?:~...~)',~`(?|~...~)',~`(?i)',~and~`(?-i)'. } \__msg_kernel_new:nnnn { regex } { replacement-c } - { Misused~\iow_char:N\\c~command~in~a~replacement~text. } + { Misused~`\iow_char:N\\c'~command~in~a~replacement~text. } { - In~a~replacement~text,~the~\iow_char:N\\c~escape~sequence~ - can~be~followed~by~one~of~the~letters~ABCDELMOPSTU~ - or~a~brace~group,~not~by~'#1'. + In~a~replacement~text,~the~`\iow_char:N\\c'~escape~sequence~ + can~be~followed~by~one~of~the~letters~`ABCDELMOPSTU'~ + or~a~brace~group,~not~by~`#1'. } \__msg_kernel_new:nnnn { regex } { replacement-u } - { Misused~\iow_char:N\\u~command~in~a~replacement~text. } + { Misused~`\iow_char:N\\u'~command~in~a~replacement~text. } { - In~a~replacement~text,~the~\iow_char:N\\u~escape~sequence~ + In~a~replacement~text,~the~`\iow_char:N\\u'~escape~sequence~ must~be~~followed~by~a~brace~group~holding~the~name~of~the~ variable~to~use. } \__msg_kernel_new:nnnn { regex } { replacement-g } - { Missing~brace~for~the~\iow_char:N\\g~construction~in~a~replacement~text. } + { + Missing~brace~for~the~`\iow_char:N\\g'~construction~ + in~a~replacement~text. + } { In~the~replacement~text~for~a~regular~expression~search,~ - submatches~are~represented~either~as~\iow_char:N \\g{dd..d},~ - or~\\d,~where~`d'~are~single~digits.~Here,~a~brace~is~missing. + submatches~are~represented~either~as~`\iow_char:N \\g{dd..d}',~ + or~`\\d',~where~`d'~are~single~digits.~Here,~a~brace~is~missing. } \__msg_kernel_new:nnnn { regex } { replacement-catcode-end } { - Missing~character~for~the~\iow_char:N\\c<category><character>~ + Missing~character~for~the~`\iow_char:N\\c<category><character>'~ construction~in~a~replacement~text. } { - In~a~replacement~text,~the~\iow_char:N\\c~escape~sequence~ - can~be~followed~by~one~of~the~letters~ABCDELMOPSTU~representing~ + In~a~replacement~text,~the~`\iow_char:N\\c'~escape~sequence~ + can~be~followed~by~one~of~the~letters~`ABCDELMOPSTU'~representing~ the~character~category.~Then,~a~character~must~follow.~LaTeX~ reached~the~end~of~the~replacement~when~looking~for~that. } \__msg_kernel_new:nnnn { regex } { replacement-null-space } { TeX~cannot~build~a~space~token~with~character~code~0. } { - You~asked~for~a~character~token~with~category~'space',~ + You~asked~for~a~character~token~with~category~space,~ and~character~code~0,~for~instance~through~ - '\iow_char:N\\cS\iow_char:N\\x00'.~ + `\iow_char:N\\cS\iow_char:N\\x00'.~ This~specific~case~is~impossible~and~will~be~replaced~ by~a~normal~space. } \__msg_kernel_new:nnnn { regex } { replacement-missing-rbrace } { Missing~right~brace~inserted~in~replacement~text. } { - There~were~\int_use:N \l__regex_replacement_csnames_int \ - missing~right~braces. + There~ \int_compare:nTF { #1 = 1 } { was } { were } ~ #1~ + missing~right~\int_compare:nTF { #1 = 1 } { brace } { braces } . } \cs_new:Npn \__regex_msg_repeated:nnN #1#2#3 { 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 aeb2ecc59fa..1b3122241ab 100644 --- a/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-convert.sty +++ b/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-convert.sty @@ -46,7 +46,7 @@ %% %% ----------------------------------------------------------------------- \RequirePackage{expl3} -\GetIdInfo$Id: l3str-convert.dtx 4339 2013-01-08 10:22:00Z bruno $ +\GetIdInfo$Id: l3str-convert.dtx 5028 2014-06-03 17:04:19Z bruno $ {L3 Experimental string encoding conversions} \ProvidesExplPackage {\ExplFileName}{\ExplFileDate}{\ExplFileVersion}{\ExplFileDescription} @@ -468,7 +468,6 @@ { \cs_new_protected_nopar:Npn \__str_convert_encode_: { - \int_zero:N \l__tl_build_offset_int \__tl_gbuild_x:Nw \g__str_result_tl \exp_after:wN \__str_encode_native_loop:w \g__str_result_tl \s__tl { \q_stop \__prg_break: } \s__tl 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 87eed61c5e8..7fc8488d265 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 3940 2012-07-09 00:41:44Z bruno $ +\GetIdInfo$Id: l3str-format.dtx 4745 2014-05-06 10:41:27Z joseph $ {L3 Experimental string formatting} \ProvidesExplPackage {\ExplFileName}{\ExplFileDate}{\ExplFileVersion}{\ExplFileDescription} diff --git a/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str.sty b/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str.sty index 5f8bcae6e85..05fff62dae9 100644 --- a/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str.sty +++ b/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str.sty @@ -46,7 +46,7 @@ %% %% ----------------------------------------------------------------------- \RequirePackage{expl3} -\GetIdInfo$Id: l3str.dtx 4728 2014-05-04 13:25:37Z joseph $ +\GetIdInfo$Id: l3str.dtx 4889 2014-05-26 19:59:25Z joseph $ {L3 Experimental strings} \ProvidesExplPackage {\ExplFileName}{\ExplFileDate}{\ExplFileVersion}{\ExplFileDescription} @@ -318,7 +318,7 @@ } \prg_new_conditional:Npnn \str_if_eq:NN #1#2 { p , TF , T , F } { - \if_int_compare:w \pdftex_strcmp:D { \tl_to_str:N #1 } { \tl_to_str:N #2 } + \if_int_compare:w \__str_if_eq_x:nn { \tl_to_str:N #1 } { \tl_to_str:N #2 } = \c_zero \prg_return_true: \else: \prg_return_false: \fi: } \cs_new_eq:NN \str_show:n \tl_show:n 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 8598a3df85c..b0f064707f6 100644 --- a/Master/texmf-dist/tex/latex/l3experimental/l3str/l3tl-analysis.sty +++ b/Master/texmf-dist/tex/latex/l3experimental/l3str/l3tl-analysis.sty @@ -46,7 +46,7 @@ %% %% ----------------------------------------------------------------------- \RequirePackage{expl3} -\GetIdInfo$Id: l3tl-analysis.dtx 3039 2011-12-08 09:22:35Z bruno $ +\GetIdInfo$Id: l3tl-analysis.dtx 4745 2014-05-06 10:41:27Z joseph $ {L3 Experimental token lists analysis} \ProvidesExplPackage {\ExplFileName}{\ExplFileDate}{\ExplFileVersion}{\ExplFileDescription} 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 1ad40197bab..e916eaa180e 100644 --- a/Master/texmf-dist/tex/latex/l3experimental/l3str/l3tl-build.sty +++ b/Master/texmf-dist/tex/latex/l3experimental/l3str/l3tl-build.sty @@ -46,7 +46,7 @@ %% %% ----------------------------------------------------------------------- \RequirePackage{expl3} -\GetIdInfo$Id: l3tl-build.dtx 3039 2011-12-08 09:22:35Z bruno $ +\GetIdInfo$Id: l3tl-build.dtx 4745 2014-05-06 10:41:27Z joseph $ {L3 Experimental token list construction} \ProvidesExplPackage {\ExplFileName}{\ExplFileDate}{\ExplFileVersion}{\ExplFileDescription} |