texlive[65109] Master/texmf-dist: lt3rawobjects (26nov22)

commits+karl at tug.org commits+karl at tug.org
Sat Nov 26 22:01:08 CET 2022


Revision: 65109
          http://tug.org/svn/texlive?view=revision&revision=65109
Author:   karl
Date:     2022-11-26 22:01:07 +0100 (Sat, 26 Nov 2022)
Log Message:
-----------
lt3rawobjects (26nov22)

Modified Paths:
--------------
    trunk/Master/texmf-dist/doc/latex/lt3rawobjects/lt3rawobjects.pdf
    trunk/Master/texmf-dist/source/latex/lt3rawobjects/lt3rawobjects.dtx
    trunk/Master/texmf-dist/tex/latex/lt3rawobjects/lt3rawobjects.sty

Modified: trunk/Master/texmf-dist/doc/latex/lt3rawobjects/lt3rawobjects.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/source/latex/lt3rawobjects/lt3rawobjects.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/lt3rawobjects/lt3rawobjects.dtx	2022-11-26 00:49:37 UTC (rev 65108)
+++ trunk/Master/texmf-dist/source/latex/lt3rawobjects/lt3rawobjects.dtx	2022-11-26 21:01:07 UTC (rev 65109)
@@ -22,11 +22,11 @@
 %
 % \iffalse
 %<*driver>
-\ProvidesFile{lt3rawobjects.dtx}[2022/08/03 2.0 Objects and proxies in LaTeX3]
+\ProvidesFile{lt3rawobjects.dtx}[2022/11/26 2.1 Objects and proxies in LaTeX3]
 %</driver>
 %<package>\NeedsTeXFormat{LaTeX2e}
 %<package>\RequirePackage{expl3}[2022-04-10]
-%<package>\ProvidesExplPackage{lt3rawobjects}{2022/08/03}{ 2.0 }{Objects and proxies in LaTeX3}
+%<package>\ProvidesExplPackage{lt3rawobjects}{2022/11/26}{ 2.1 }{Objects and proxies in LaTeX3}
 %<*driver>
 \documentclass[full]{l3doc}
 \usepackage{lt3rawobjects}
@@ -38,8 +38,8 @@
 % \fi
 %
 % \NewDocumentCommand{\thpkg}{}{\pkg{lt3rawobjects}}
-% \NewDocumentCommand{\thvsn}{}{2.0}
-% \NewDocumentCommand{\thdta}{}{2022/08/03}
+% \NewDocumentCommand{\thvsn}{}{2.1}
+% \NewDocumentCommand{\thdta}{}{2022/11/26}
 % \NewDocumentCommand{\fromV}{ m }{{\ttfamily From: #1}}
 %
 % \title{The \pkg{lt3rawobjects} package}
@@ -209,8 +209,18 @@
 % \fromV{1.0}
 % \end{function}
 %
-% \begin{function}[EXP]{\object_member_set_eq:nnnN, \object_member_set_eq:nnvN, \object_member_set_eq:VnnN, \object_member_set_eq:nnnc, \object_member_set_eq:Vnnc, \object_member_set_eq:nnN, \object_member_set_eq:VnN, \object_member_set_eq:nnc, \object_member_set_eq:Vnc}
+% \begin{function}{\object_member_set:nnnn, \object_member_set:nnvn, \object_member_set:Vnnn, \object_member_set:nnn, \object_member_set:Vnn}
 %  \begin{syntax}
+%   \cs{object_member_set:nnnn} \Arg{address} \Arg{member name} \Arg{member type} \Arg{value}
+%   \cs{object_member_set:nnn} \Arg{address} \Arg{member name} \Arg{valuer}
+%  \end{syntax}
+%  Sets the value of specified member to \marg{value}. It calls implicitly \cs{\meta{member type}_(g)set:cn} then be sure to define it before calling this method.
+%
+% \fromV{2.1}
+% \end{function}
+%
+% \begin{function}{\object_member_set_eq:nnnN, \object_member_set_eq:nnvN, \object_member_set_eq:VnnN, \object_member_set_eq:nnnc, \object_member_set_eq:Vnnc, \object_member_set_eq:nnN, \object_member_set_eq:VnN, \object_member_set_eq:nnc, \object_member_set_eq:Vnc}
+%  \begin{syntax}
 %   \cs{object_member_set_eq:nnnN} \marg{address} \marg{member name} \marg{member type} \meta{variable}
 %   \cs{object_member_set_eq:nnN} \marg{address} \marg{member name} \meta{variable}
 %  \end{syntax}
@@ -324,6 +334,15 @@
 % \fromV{1.1}
 % \end{function}
 %
+% \begin{function}{\object_newconst:nnnn}
+%  \begin{syntax}
+%   \cs{object_newconst:nnnn} \Arg{address} \Arg{constant name} \Arg{type} \Arg{value}
+%  \end{syntax}
+%  Expands to \cs{\meta{type}_const:cn} \marg{address} \marg{value}, use it if you need to create simple constants with custom types.
+%
+%  \fromV{2.1}
+% \end{function}
+%
 % \subsection{Proxy utilities and object creation}
 %
 % \begin{function}[pTF]{\object_if_proxy:n, \object_if_proxy:V}
@@ -903,8 +922,40 @@
 %    \end{macrocode}
 %\end{macro}
 %
+%\begin{macro}{\object_member_set:nnnn, \object_member_set_eq:nnn}
+% Set the value a member.
+%    \begin{macrocode}
+
+\cs_new_protected:Nn \object_member_set:nnnn
+  {
+    \@@_force_scope:n { #1 }
+    \cs_if_exist_use:cT
+      {
+        #3 _ \@@_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 }
+
+%    \end{macrocode}
+%\end{macro}
+%
 %\begin{macro}{\object_member_set_eq:nnnN, \object_member_set_eq:nnN}
-% Set the value of a variable to a member.
+% Make a member equal to another variable.
 %    \begin{macrocode}
 
 \cs_new_protected:Nn \object_member_set_eq:nnnN
@@ -1022,47 +1073,53 @@
 %    \end{macrocode}
 %\end{macro}
 %
-%
-% \begin{macro}{\object_newconst_tl:nnn, \object_newconst_str:nnn, \object_newconst_int:nnn, \object_newconst_clist:nnn, \object_newconst_dim:nnn, \object_newconst_skip:nnn, \object_newconst_fp:nnn}
-% Create constants
+% \begin{macro}{\object_newconst:nnnn}
+% Creates a constant variable, use with caution
 %    \begin{macrocode}
 
-\cs_new_protected:Nn \@@_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 }
   }
 
+%    \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\object_newconst_tl:nnn, \object_newconst_str:nnn, \object_newconst_int:nnn, \object_newconst_clist:nnn, \object_newconst_dim:nnn, \object_newconst_skip:nnn, \object_newconst_fp:nnn}
+% Create constants
+%    \begin{macrocode}
+
 \cs_new_protected:Nn \object_newconst_tl:nnn
   {
-    \@@_const_create:nnnn { tl }{ #1 }{ #2 }{ #3 }
+    \object_newconst:nnnn { #1 }{ #2 }{ tl }{ #3 }
   }
 \cs_new_protected:Nn \object_newconst_str:nnn
   {
-    \@@_const_create:nnnn { str }{ #1 }{ #2 }{ #3 }
+    \object_newconst:nnnn { #1 }{ #2 }{ str }{ #3 }
   }
 \cs_new_protected:Nn \object_newconst_int:nnn
   {
-    \@@_const_create:nnnn { int }{ #1 }{ #2 }{ #3 }
+    \object_newconst:nnnn { #1 }{ #2 }{ int }{ #3 }
   }
 \cs_new_protected:Nn \object_newconst_clist:nnn
   {
-    \@@_const_create:nnnn { clist }{ #1 }{ #2 }{ #3 }
+    \object_newconst:nnnn { #1 }{ #2 }{ clist }{ #3 }
   }
 \cs_new_protected:Nn \object_newconst_dim:nnn
   {
-    \@@_const_create:nnnn { dim }{ #1 }{ #2 }{ #3 }
+    \object_newconst:nnnn { #1 }{ #2 }{ dim }{ #3 }
   }
 \cs_new_protected:Nn \object_newconst_skip:nnn
   {
-    \@@_const_create:nnnn { skip }{ #1 }{ #2 }{ #3 }
+    \object_newconst:nnnn { #1 }{ #2 }{ skip }{ #3 }
   }
 \cs_new_protected:Nn \object_newconst_fp:nnn
   {
-    \@@_const_create:nnnn { fp }{ #1 }{ #2 }{ #3 }
+    \object_newconst:nnnn { #1 }{ #2 }{ fp }{ #3 }
   }
 
 \cs_generate_variant:Nn \object_newconst_tl:nnn { Vnn }

Modified: trunk/Master/texmf-dist/tex/latex/lt3rawobjects/lt3rawobjects.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/lt3rawobjects/lt3rawobjects.sty	2022-11-26 00:49:37 UTC (rev 65108)
+++ trunk/Master/texmf-dist/tex/latex/lt3rawobjects/lt3rawobjects.sty	2022-11-26 21:01:07 UTC (rev 65109)
@@ -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 }



More information about the tex-live-commits mailing list.