summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/latex/lt3rawobjects/lt3rawobjects.sty
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/tex/latex/lt3rawobjects/lt3rawobjects.sty')
-rw-r--r--Master/texmf-dist/tex/latex/lt3rawobjects/lt3rawobjects.sty49
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 }