diff options
Diffstat (limited to 'Master/texmf-dist/tex/latex/lt3rawobjects/lt3rawobjects.sty')
-rw-r--r-- | Master/texmf-dist/tex/latex/lt3rawobjects/lt3rawobjects.sty | 49 |
1 files changed, 38 insertions, 11 deletions
diff --git a/Master/texmf-dist/tex/latex/lt3rawobjects/lt3rawobjects.sty b/Master/texmf-dist/tex/latex/lt3rawobjects/lt3rawobjects.sty index ad7283daaef..7cc46e26279 100644 --- a/Master/texmf-dist/tex/latex/lt3rawobjects/lt3rawobjects.sty +++ b/Master/texmf-dist/tex/latex/lt3rawobjects/lt3rawobjects.sty @@ -26,7 +26,7 @@ %% \NeedsTeXFormat{LaTeX2e} \RequirePackage{expl3}[2022-04-10] -\ProvidesExplPackage{lt3rawobjects}{2022/08/03}{ 2.0 }{Objects and proxies in LaTeX3} +\ProvidesExplPackage{lt3rawobjects}{2022/11/26}{ 2.1 }{Objects and proxies in LaTeX3} \str_const:Nn \c_object_local_str {loc} \str_const:Nn \c_object_global_str {glo} \str_const:Nn \c_object_public_str {pub} @@ -306,6 +306,32 @@ \cs_generate_variant:Nn \object_member_use:nn { Vn } +\cs_new_protected:Nn \object_member_set:nnnn + { + \__rawobjects_force_scope:n { #1 } + \cs_if_exist_use:cT + { + #3 _ \__rawobjects_scope_pfx:n { #1 } set:cn + } + { + { \object_member_adr:nnn { #1 }{ #2 }{ #3 } } { #4 } + } + } + +\cs_generate_variant:Nn \object_member_set:nnnn { Vnnn, nnvn } + +\cs_new_protected:Nn \object_member_set:nnn + { + \object_member_set_eq:nnvn { #1 }{ #2 } + { + \object_rcmember_adr:nnn { #1 } + { #2 _ type }{ str } + } { #3 } + } + +\cs_generate_variant:Nn \object_member_set:nnn { Vnn } + + \cs_new_protected:Nn \object_member_set_eq:nnnN { \__rawobjects_force_scope:n { #1 } @@ -401,42 +427,43 @@ \cs_generate_variant:Nn \object_rcmember_use:nnn { Vnn } -\cs_new_protected:Nn \__rawobjects_const_create:nnnn +\cs_new_protected:Nn \object_newconst:nnnn { - \use:c { #1 _ const:cn } + \use:c { #3 _ const:cn } { - \object_ncmember_adr:nnn { #2 }{ #3 }{ #1 } + \object_ncmember_adr:nnn { #1 }{ #2 }{ #3 } } { #4 } } + \cs_new_protected:Nn \object_newconst_tl:nnn { - \__rawobjects_const_create:nnnn { tl }{ #1 }{ #2 }{ #3 } + \object_newconst:nnnn { #1 }{ #2 }{ tl }{ #3 } } \cs_new_protected:Nn \object_newconst_str:nnn { - \__rawobjects_const_create:nnnn { str }{ #1 }{ #2 }{ #3 } + \object_newconst:nnnn { #1 }{ #2 }{ str }{ #3 } } \cs_new_protected:Nn \object_newconst_int:nnn { - \__rawobjects_const_create:nnnn { int }{ #1 }{ #2 }{ #3 } + \object_newconst:nnnn { #1 }{ #2 }{ int }{ #3 } } \cs_new_protected:Nn \object_newconst_clist:nnn { - \__rawobjects_const_create:nnnn { clist }{ #1 }{ #2 }{ #3 } + \object_newconst:nnnn { #1 }{ #2 }{ clist }{ #3 } } \cs_new_protected:Nn \object_newconst_dim:nnn { - \__rawobjects_const_create:nnnn { dim }{ #1 }{ #2 }{ #3 } + \object_newconst:nnnn { #1 }{ #2 }{ dim }{ #3 } } \cs_new_protected:Nn \object_newconst_skip:nnn { - \__rawobjects_const_create:nnnn { skip }{ #1 }{ #2 }{ #3 } + \object_newconst:nnnn { #1 }{ #2 }{ skip }{ #3 } } \cs_new_protected:Nn \object_newconst_fp:nnn { - \__rawobjects_const_create:nnnn { fp }{ #1 }{ #2 }{ #3 } + \object_newconst:nnnn { #1 }{ #2 }{ fp }{ #3 } } \cs_generate_variant:Nn \object_newconst_tl:nnn { Vnn } |