diff options
Diffstat (limited to 'Master/texmf-dist/source/latex/l3kernel/l3fp-functions.dtx')
-rw-r--r-- | Master/texmf-dist/source/latex/l3kernel/l3fp-functions.dtx | 24 |
1 files changed, 15 insertions, 9 deletions
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3fp-functions.dtx b/Master/texmf-dist/source/latex/l3kernel/l3fp-functions.dtx index a899f3493ae..55729bbcd87 100644 --- a/Master/texmf-dist/source/latex/l3kernel/l3fp-functions.dtx +++ b/Master/texmf-dist/source/latex/l3kernel/l3fp-functions.dtx @@ -42,7 +42,7 @@ % }^^A % } % -% \date{Released 2023-10-23} +% \date{Released 2023-11-01} % % \maketitle % @@ -72,7 +72,7 @@ \cs_new_protected:Npn \@@_new_function:n #1 { \@@_id_if_invalid:nTF {#1} - { \msg_error:nnn { fp } { invalid-identifier } {#1} } + { \msg_error:nnn { fp } { id-invalid } {#1} } { \cs_if_exist:cT { @@_parse_word_#1:N } { @@ -91,12 +91,12 @@ % \begin{macro} % {\@@_function_set_parsing:Nn, \@@_function_set_parsing_aux:NNn} % \begin{macrocode} -\cs_new:Npn \@@_function_set_parsing:Nn #1#2 +\cs_new_protected:Npn \@@_function_set_parsing:Nn #1#2 { \exp_args:NNc \@@_function_set_parsing_aux:NNn #1 { @@_parse_word_#2:N } {#2} } -\cs_new:Npn \@@_function_set_parsing_aux:NNn #1#2#3 +\cs_new_protected:Npn \@@_function_set_parsing_aux:NNn #1#2#3 { \cs_set:Npe \@@_tmp:w { @@ -171,7 +171,7 @@ \cs_new_protected:Npn \@@_set_function:Nnnn #1#2#3#4 { \@@_id_if_invalid:nTF {#2} - { \msg_error:nnn { fp } { invalid-identifier } {#2} } + { \msg_error:nnn { fp } { id-invalid } {#2} } { \cs_if_exist:cF { @@_parse_word_#2:N } { \@@_function_set_parsing:Nn \cs_set_eq:NN {#2} } @@ -180,8 +180,10 @@ \exp_args:No \clist_map_inline:nn { \tl_to_str:n {#3} } { \int_incr:N \l_@@_function_arg_int - \exp_args:Ne \@@_clear_variable:n - { _ \tex_romannumeral:D \l_@@_function_arg_int } + \exp_args:Ne \@@_clear_variable_aux:n + { + \c_underscore_str \tex_romannumeral:D \l_@@_function_arg_int + } \fp_clear_variable:n {##1} \cs_set_nopar:cpe { l_@@_variable_##1_fp } { @@ -264,8 +266,12 @@ { \exp_args:No \@@_clear_function:n { \tl_to_str:n {#1} } } \cs_new_protected:Npn \@@_clear_function:n #1 { - \cs_undefine:c { @@_parse_word_ #1 :N } - \@@_function_set_parsing:Nn \cs_set_eq:NN {#1} + \@@_id_if_invalid:nTF {#1} + { \msg_error:nnn { fp } { id-invalid } {#1} } + { + \cs_set_eq:cN { @@_#1_o:w } \tex_undefine:D + \@@_function_set_parsing:Nn \cs_set_eq:NN {#1} + } } % \end{macrocode} % \end{macro} |