texlive[70603] branches/branch2023.final/Master/texmf-dist: ufrgscca

commits+karl at tug.org commits+karl at tug.org
Mon Mar 11 21:00:45 CET 2024


Revision: 70603
          https://tug.org/svn/texlive?view=revision&revision=70603
Author:   karl
Date:     2024-03-11 21:00:45 +0100 (Mon, 11 Mar 2024)
Log Message:
-----------
ufrgscca (branch) (11mar24)

Modified Paths:
--------------
    branches/branch2023.final/Master/texmf-dist/doc/latex/ufrgscca/README.md
    branches/branch2023.final/Master/texmf-dist/doc/latex/ufrgscca/ufrgscca-cover-ptBR.tex
    branches/branch2023.final/Master/texmf-dist/doc/latex/ufrgscca/ufrgscca-forms.tex
    branches/branch2023.final/Master/texmf-dist/doc/latex/ufrgscca/ufrgscca-terms-en.tex
    branches/branch2023.final/Master/texmf-dist/doc/latex/ufrgscca/ufrgscca-terms-ptBR.tex
    branches/branch2023.final/Master/texmf-dist/doc/latex/ufrgscca/ufrgscca.pdf
    branches/branch2023.final/Master/texmf-dist/doc/latex/ufrgscca/ufrgscca.tex
    branches/branch2023.final/Master/texmf-dist/tex/latex/ufrgscca/ufrgscca-abnt.sty
    branches/branch2023.final/Master/texmf-dist/tex/latex/ufrgscca/ufrgscca-base-en.def
    branches/branch2023.final/Master/texmf-dist/tex/latex/ufrgscca/ufrgscca-base-ptBR.def
    branches/branch2023.final/Master/texmf-dist/tex/latex/ufrgscca/ufrgscca-coord.sty
    branches/branch2023.final/Master/texmf-dist/tex/latex/ufrgscca/ufrgscca-core.sty
    branches/branch2023.final/Master/texmf-dist/tex/latex/ufrgscca/ufrgscca-cover.sty
    branches/branch2023.final/Master/texmf-dist/tex/latex/ufrgscca/ufrgscca-curr.sty
    branches/branch2023.final/Master/texmf-dist/tex/latex/ufrgscca/ufrgscca-forms.sty
    branches/branch2023.final/Master/texmf-dist/tex/latex/ufrgscca/ufrgscca-lists.sty
    branches/branch2023.final/Master/texmf-dist/tex/latex/ufrgscca/ufrgscca-ppc.sty
    branches/branch2023.final/Master/texmf-dist/tex/latex/ufrgscca/ufrgscca.cls

Modified: branches/branch2023.final/Master/texmf-dist/doc/latex/ufrgscca/README.md
===================================================================
--- branches/branch2023.final/Master/texmf-dist/doc/latex/ufrgscca/README.md	2024-03-11 20:00:34 UTC (rev 70602)
+++ branches/branch2023.final/Master/texmf-dist/doc/latex/ufrgscca/README.md	2024-03-11 20:00:45 UTC (rev 70603)
@@ -107,7 +107,13 @@
 
 
 ## Changelog
-* Version 2.6 (this)
+* Version 2.7 (this)
+    - fixing issue https://github.com/alceu-frigeri/ufrgscca/issues/1
+    - removing all V-expansion of property/sequence lists to avoid further issues with l3kernel 
+      issues: https://github.com/alceu-frigeri/starray/issues/6, https://github.com/latex3/latex3/issues/1460 and https://github.com/latex3/latex3/issues/1466
+    - Remarks: code is operational but needs further cleanup!
+
+* Version 2.6
     - Added other's case (student fate) for record keeping.
     - Report adjustments (other's case).
 

Modified: branches/branch2023.final/Master/texmf-dist/doc/latex/ufrgscca/ufrgscca-cover-ptBR.tex
===================================================================
--- branches/branch2023.final/Master/texmf-dist/doc/latex/ufrgscca/ufrgscca-cover-ptBR.tex	2024-03-11 20:00:34 UTC (rev 70602)
+++ branches/branch2023.final/Master/texmf-dist/doc/latex/ufrgscca/ufrgscca-cover-ptBR.tex	2024-03-11 20:00:45 UTC (rev 70603)
@@ -12,7 +12,7 @@
 %%
 %% The Current Maintainer of this work is Alceu Frigeri
 %%
-%% This is version {2.6} {2024/02/29}
+%% This is version {2.7} {2024/03/10}
 %%
 %% The list of files that compose this work can be found in the README.md file at
 %% https://ctan.org/pkg/ufrgscca

Modified: branches/branch2023.final/Master/texmf-dist/doc/latex/ufrgscca/ufrgscca-forms.tex
===================================================================
--- branches/branch2023.final/Master/texmf-dist/doc/latex/ufrgscca/ufrgscca-forms.tex	2024-03-11 20:00:34 UTC (rev 70602)
+++ branches/branch2023.final/Master/texmf-dist/doc/latex/ufrgscca/ufrgscca-forms.tex	2024-03-11 20:00:45 UTC (rev 70603)
@@ -12,7 +12,7 @@
 %%
 %% The Current Maintainer of this work is Alceu Frigeri
 %%
-%% This is version {2.6} {2024/02/29}
+%% This is version {2.7} {2024/03/10}
 %%
 %% The list of files that compose this work can be found in the README.md file at
 %% https://ctan.org/pkg/ufrgscca
@@ -23,7 +23,20 @@
 %% CCA   stands for "Control and Automation Engineering Course" (Portuguese acronym)
 %%%==============================================================================
 
+\ExplSyntaxOn
+  \tl_new:N \tmpTabA
+  \tl_new:N \tmpTabB
+  \tl_new:N \tmpTabC
+  \tl_new:N \tmpTabD
+  \tl_new:N \tmpTabE
+  \tl_new:N \tmpTabEx
+  \tl_new:N \tmpTabF
+  \tl_new:N \tmpTabG
+  \tl_new:N \tmpTabMult
+  \tl_new:N \tmpTabAll
+\ExplSyntaxOff
 
+
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 %%%
@@ -881,7 +894,9 @@
   {%%
     \footnotesize%
     \begin{center}%
-      \begin{tabular}{p{\UseConst{report.tabA*}}@{\ }p{\UseConst{report.tabB*}}@{\ }c}%\hline%
+      \GetConst{report.tabA*}{\tmpTabA}
+      \GetConst{report.tabB*}{\tmpTabB}
+      \begin{tabular}{p{\tmpTabA}@{\ }p{\tmpTabB}@{\ }c}%\hline%
         & \UseLabel{board} \\\hline%
         \IfBooleanTF{#1}
           {
@@ -906,14 +921,16 @@
     {\footnotesize%
       \begin{center}%
         \resizebox{\textwidth}{!}{%
+          \GetConst{report.tabA}{\tmpTabA}
+          \GetConst{report.tabB}{\tmpTabB}
           \IfBooleanTF{#1}
             {%
-              \begin{tabular}{p{\UseConst{report.tabA}}@{\ }p{\UseConst{report.tabB}}@{\ }c@{\ }c@{\ }c@{\ }p{0pt}@{}c@{\ }c}
+              \begin{tabular}{p{\tmpTabA}@{\ }p{\tmpTabB}@{\ }c@{\ }c@{\ }c@{\ }p{0pt}@{}c@{\ }c}
               \HeaderLine{II}
               \studentLine*
             }
             {%
-              \begin{tabular}{p{\UseConst{report.tabA}}@{\ }p{\UseConst{report.tabB}}@{\ }c@{\ }c@{\ }c@{\ }c@{\ }c@{\ }c}
+              \begin{tabular}{p{\tmpTabA}@{\ }p{\tmpTabB}@{\ }c@{\ }c@{\ }c@{\ }c@{\ }c@{\ }c}
               \HeaderLine{I}
               \studentLine
             }%
@@ -1080,6 +1097,14 @@
 
 \cs_new_protected:Npn \reportBody #1#2
   {
+    \GetConst{report.tabA}{\tmpTabA}
+    \GetConst{report.tabB}{\tmpTabB}
+    \GetConst{report.tabC}{\tmpTabC}
+    \GetConst{report.tabD}{\tmpTabD}
+    \GetConst{report.tabE}{\tmpTabE}
+    \GetConst{report.tabEx}{\tmpTabEx}
+    \GetConst{report.tabF}{\tmpTabF}
+    \GetConst{report.tabG}{\tmpTabG}
     \str_case:nn {#1}
       {
         {I} 
@@ -1087,14 +1112,14 @@
             \ActivitySelect{tccI}
             \begin{longtable}
               {
-                p{\UseConst{report.tabA}}@{\ }
-                p{\UseConst{report.tabB}}@{\ }
-                p{\UseConst{report.tabC}}@{\ }
-                p{\UseConst{report.tabD}}@{\ }
-                p{\UseConst{report.tabE}}@{\ }
-                p{\UseConst{report.tabEx}}@{\ }
-                p{\UseConst{report.tabF}}@{\ }
-                p{\UseConst{report.tabG}}
+                p{\tmpTabA}@{\ }
+                p{\tmpTabB}@{\ }
+                p{\tmpTabC}@{\ }
+                p{\tmpTabD}@{\ }
+                p{\tmpTabE}@{\ }
+                p{\tmpTabEx}@{\ }
+                p{\tmpTabF}@{\ }
+                p{\tmpTabG}
               }
           }
         {II}
@@ -1102,18 +1127,19 @@
             \ActivitySelect{tccII}
             \begin{longtable}
               {
-                p{\UseConst{report.tabA}}@{\ }
-                p{\UseConst{report.tabB}}@{\ }
-                p{\UseConst{report.tabC}}@{\ }
-                p{\UseConst{report.tabD}}@{\ }
-                p{\UseConst{report.tabE}}@{\ }
+                p{\tmpTabA}@{\ }
+                p{\tmpTabB}@{\ }
+                p{\tmpTabC}@{\ }
+                p{\tmpTabD}@{\ }
+                p{\tmpTabE}@{\ }
                 p{0pt}@{}
-                p{\UseConst{report.tabF}}@{\ }
-                p{\UseConst{report.tabG}}
+                p{\tmpTabF}@{\ }
+                p{\tmpTabG}
               }
           }
       }
     \HeaderLine{#1}
+    \GetConst{report.tabMult.#1}{\tmpTabMult}
     \seq_map_inline:Nn \l__ufrgscca_baselist_graded_seq
       {
         \studentselect{##1}
@@ -1120,7 +1146,7 @@
 %        \__ufrgscca_student_emptyfields_if_none:
         \__ufrgscca_emptyterm_if_none:nnn {3}{student.reviewer}{}
         #2\\\hline
-        \studentExtLine{7}{\UseConst{report.tabMult.#1}}\\\hline
+        \studentExtLine{7}{\tmpTabMult}\\\hline
         \bool_if:nT {\l__ufrgscca_checklist_bool}
         {
           \multicolumn{7}{l}
@@ -1132,17 +1158,17 @@
         }
       }
     \__ufrgscca_miss_case:nnnnn 
-      {7} {report.tabMult.#1}
+      {7} {\tmpTabMult}
       {\l__ufrgscca_baselist_ff_seq}
       {Desistentes~ com~ conceito~FF~ (2o ~ semestre)}
       {red}
     \__ufrgscca_miss_case:nnnnn 
-      {7} {report.tabMult.#1}
+      {7} {\tmpTabMult}
       {\l__ufrgscca_baselist_dismiss_seq}
       {Desistentes~ sem~ conceito~ (1o ~ semestre)}
       {magenta}
     \__ufrgscca_miss_case:nnnnn 
-      {7} {report.tabMult.#1}
+      {7} {\tmpTabMult}
       {\l__ufrgscca_baselist_other_seq}
       {Outros~ (não~ matriculados)}
       {teal}
@@ -1161,7 +1187,7 @@
             \__ufrgscca_emptyterm_if_none:nnn {3}{student.reviewer}{}
             &\\*
             \multicolumn{#1}{l}{\textbf{\color{#5}\DataFields{student}{name}}}\\*
-            \studentExtLine{#1}{\UseConst{#2}}\\*
+            \studentExtLine{#1}{#2}\\*
             \multicolumn{#1}{l}{\studentCoadvLabelCase}\\ \hline
           }     
       }
@@ -1230,7 +1256,12 @@
 %%%
 \SetForm{boards}{opening}{  %
   {\footnotesize
-    \begin{longtable}{p{\UseConst{board.tabA}}p{\UseConst{board.tabB}}p{\UseConst{board.tabC}}p{\UseConst{board.tabD}}}%
+    \GetConst{board.tabA}{\tmpTabA}
+    \GetConst{board.tabB}{\tmpTabB}
+    \GetConst{board.tabC}{\tmpTabC}
+    \GetConst{board.tabD}{\tmpTabD}
+    \GetConst{board.tabAll}{\tmpTabAll}
+    \begin{longtable}{p{\tmpTabA}p{\tmpTabB}p{\tmpTabC}p{\tmpTabD}}%
     %\multicolumn{4}{c}{\UseTerm{board.title}}\\\hline
     \hline
     \tl_gclear:N \l__ufrgscca_daytmpa_tl
@@ -1260,7 +1291,7 @@
         && \DataFields{student.reviewer[2]}{name} \\*
         && \DataFields{student.reviewer[3]}{name} \\*
         && ({\DataFields{student.altreviewer[1]}{name}}) \\*
-        \multicolumn{4}{p{\UseConst{board.tabAll}}}
+        \multicolumn{4}{p{\tmpTabAll}}
            {\textsc{Título:}\ \emph{\DataFields{student}{worktitle}}}\\\hline      
       }
     \end{longtable} 

Modified: branches/branch2023.final/Master/texmf-dist/doc/latex/ufrgscca/ufrgscca-terms-en.tex
===================================================================
--- branches/branch2023.final/Master/texmf-dist/doc/latex/ufrgscca/ufrgscca-terms-en.tex	2024-03-11 20:00:34 UTC (rev 70602)
+++ branches/branch2023.final/Master/texmf-dist/doc/latex/ufrgscca/ufrgscca-terms-en.tex	2024-03-11 20:00:45 UTC (rev 70603)
@@ -12,7 +12,7 @@
 %%
 %% The Current Maintainer of this work is Alceu Frigeri
 %%
-%% This is version {2.6} {2024/02/29}
+%% This is version {2.7} {2024/03/10}
 %%
 %% The list of files that compose this work can be found in the README.md file at
 %% https://ctan.org/pkg/ufrgscca

Modified: branches/branch2023.final/Master/texmf-dist/doc/latex/ufrgscca/ufrgscca-terms-ptBR.tex
===================================================================
--- branches/branch2023.final/Master/texmf-dist/doc/latex/ufrgscca/ufrgscca-terms-ptBR.tex	2024-03-11 20:00:34 UTC (rev 70602)
+++ branches/branch2023.final/Master/texmf-dist/doc/latex/ufrgscca/ufrgscca-terms-ptBR.tex	2024-03-11 20:00:45 UTC (rev 70603)
@@ -12,7 +12,7 @@
 %%
 %% The Current Maintainer of this work is Alceu Frigeri
 %%
-%% This is version {2.6} {2024/02/29}
+%% This is version {2.7} {2024/03/10}
 %%
 %% The list of files that compose this work can be found in the README.md file at
 %% https://ctan.org/pkg/ufrgscca

Modified: branches/branch2023.final/Master/texmf-dist/doc/latex/ufrgscca/ufrgscca.pdf
===================================================================
(Binary files differ)

Modified: branches/branch2023.final/Master/texmf-dist/doc/latex/ufrgscca/ufrgscca.tex
===================================================================
--- branches/branch2023.final/Master/texmf-dist/doc/latex/ufrgscca/ufrgscca.tex	2024-03-11 20:00:34 UTC (rev 70602)
+++ branches/branch2023.final/Master/texmf-dist/doc/latex/ufrgscca/ufrgscca.tex	2024-03-11 20:00:45 UTC (rev 70603)
@@ -15,7 +15,7 @@
 %%
 %% The Current Maintainer of this work is Alceu Frigeri
 %%
-%% This is version {2.6} {2024/02/29}
+%% This is version {2.7} {2024/03/10}
 %%
 %% The list of files that compose this work can be found in the README.md file at
 %% https://ctan.org/pkg/ufrgscca

Modified: branches/branch2023.final/Master/texmf-dist/tex/latex/ufrgscca/ufrgscca-abnt.sty
===================================================================
--- branches/branch2023.final/Master/texmf-dist/tex/latex/ufrgscca/ufrgscca-abnt.sty	2024-03-11 20:00:34 UTC (rev 70602)
+++ branches/branch2023.final/Master/texmf-dist/tex/latex/ufrgscca/ufrgscca-abnt.sty	2024-03-11 20:00:45 UTC (rev 70603)
@@ -12,7 +12,7 @@
 %%
 %% The Current Maintainer of this work is Alceu Frigeri
 %%
-%% This is version {2.6} {2024/02/29}
+%% This is version {2.7} {2024/03/10}
 %%
 %% The list of files that compose this work can be found in the README.md file at
 %% https://ctan.org/pkg/ufrgscca
@@ -27,8 +27,8 @@
 
 \ProvidesExplPackage
     {ufrgscca-abnt}
-    {2024/02/29}
-    {2.6}
+    {2024/03/10}
+    {2.7}
     {UFRGS/CCA ABNT layout}
 
 
@@ -42,8 +42,8 @@
   {
      name        .code:n = {ufrgscca-abnt} ,
      prefix      .code:n = {ufrgscca} ,
-     date        .code:n = {2024/02/29},
-     version     .code:n = {2.6} ,
+     date        .code:n = {2024/03/10},
+     version     .code:n = {2.7} ,
      description .code:n = {UFRGS/CCA~ abnt~layout}
   }
 \cs_if_exist:NF \PkgInfo 

Modified: branches/branch2023.final/Master/texmf-dist/tex/latex/ufrgscca/ufrgscca-base-en.def
===================================================================
--- branches/branch2023.final/Master/texmf-dist/tex/latex/ufrgscca/ufrgscca-base-en.def	2024-03-11 20:00:34 UTC (rev 70602)
+++ branches/branch2023.final/Master/texmf-dist/tex/latex/ufrgscca/ufrgscca-base-en.def	2024-03-11 20:00:45 UTC (rev 70603)
@@ -12,7 +12,7 @@
 %%
 %% The Current Maintainer of this work is Alceu Frigeri
 %%
-%% This is version {2.6} {2024/02/29}
+%% This is version {2.7} {2024/03/10}
 %%
 %% The list of files that compose this work can be found in the README.md file at
 %% https://ctan.org/pkg/ufrgscca

Modified: branches/branch2023.final/Master/texmf-dist/tex/latex/ufrgscca/ufrgscca-base-ptBR.def
===================================================================
--- branches/branch2023.final/Master/texmf-dist/tex/latex/ufrgscca/ufrgscca-base-ptBR.def	2024-03-11 20:00:34 UTC (rev 70602)
+++ branches/branch2023.final/Master/texmf-dist/tex/latex/ufrgscca/ufrgscca-base-ptBR.def	2024-03-11 20:00:45 UTC (rev 70603)
@@ -12,7 +12,7 @@
 %%
 %% The Current Maintainer of this work is Alceu Frigeri
 %%
-%% This is version {2.6} {2024/02/29}
+%% This is version {2.7} {2024/03/10}
 %%
 %% The list of files that compose this work can be found in the README.md file at
 %% https://ctan.org/pkg/ufrgscca

Modified: branches/branch2023.final/Master/texmf-dist/tex/latex/ufrgscca/ufrgscca-coord.sty
===================================================================
--- branches/branch2023.final/Master/texmf-dist/tex/latex/ufrgscca/ufrgscca-coord.sty	2024-03-11 20:00:34 UTC (rev 70602)
+++ branches/branch2023.final/Master/texmf-dist/tex/latex/ufrgscca/ufrgscca-coord.sty	2024-03-11 20:00:45 UTC (rev 70603)
@@ -12,7 +12,7 @@
 %%
 %% The Current Maintainer of this work is Alceu Frigeri
 %%
-%% This is version {2.6} {2024/02/29}
+%% This is version {2.7} {2024/03/10}
 %%
 %% The list of files that compose this work can be found in the README.md file at
 %% https://ctan.org/pkg/ufrgscca
@@ -27,8 +27,8 @@
 
 \ProvidesExplPackage
     {ufrgscca-coord}
-    {2024/02/29}
-    {2.6}
+    {2024/03/10}
+    {2.7}
     {UFRGS/CCA coord commands}
 
 
@@ -42,8 +42,8 @@
   {
      name        .code:n = {ufrgscca-coord} ,
      prefix      .code:n = {ufrgscca} ,
-     date        .code:n = {2024/02/29},
-     version     .code:n = {2.6} ,
+     date        .code:n = {2024/03/10},
+     version     .code:n = {2.7} ,
      description .code:n = {UFRGS/CCA~ coordination~ report~ commands}
   }
 \cs_if_exist:NF \PkgInfo 
@@ -58,7 +58,18 @@
 
 
 
+%%%%%%%
+%%%
+%%% V-less : Blocks of code affected: 
+%%%          Coord (checklist) 'kind of easy'
+%%%          curr (all!)  'to be seen how'
+%%%          ppc (all!)  'to be seen how'
+%%%
+%%%%%%%
 
+
+
+
 \cs_generate_variant:Nn \tl_set:Nn {Ne}
 
 \keys_define:nn { ufrgscca / coord }
@@ -656,7 +667,13 @@
 
 \NewDocumentCommand{\tcreports}{O{}m}{
   {
-      
+      \seq_map_inline:cn {l__ufrgscca_#2_list_seq}
+        {
+          \starray_set_iter_from_hash:nn {student}{##1}
+          \emptytermifnone{student.advisor}
+          \emptytermifnone[3]{student.reviewer}[\starray_gset_prop:nnn {student}{flag-null}{\c_true_bool}]
+          \emptytermifnone{student.altreviewer}        
+        }
       \__ufrgscca_set_reports:n {#1}
       \bool_if:cF {l__ufrgscca_#2_classified_bool}
         { \sortstudentlist{#2} }
@@ -776,18 +793,27 @@
 \prop_new:N \l__ufrgscca_checkB_prop
 \prop_new:N \l__ufrgscca_checkref_prop
 
+\tl_new:N \l__ufrgscca_chkID_tl
+\tl_new:N \l__ufrgscca_chkIDa_tl
+\tl_new:N \l__ufrgscca_chkIDb_tl
+
 \NewDocumentCommand{\checkdef}{mmm}{
-  \starray_get_prop:nnN {activity}{chkmarked}\l__ufrgscca_check_prop
-  \prop_gput:Nnn \l__ufrgscca_check_prop {#1}{\__ufrgscca_checkedbox:~\ #3}
-  \starray_gset_prop:nnV {activity}{chkmarked}\l__ufrgscca_check_prop
-
-  \starray_get_prop:nnN {activity}{chkunmarked}\l__ufrgscca_check_prop
-  \prop_gput:Nnn \l__ufrgscca_check_prop {#1}{\__ufrgscca_uncheckedbox:~\ #3}
-  \starray_gset_prop:nnV {activity}{chkunmarked}\l__ufrgscca_check_prop
+%  \starray_get_prop:nnN {activity}{chkmarked}\l__ufrgscca_check_prop
+%  \prop_gput:Nnn \l__ufrgscca_check_prop {#1}{\__ufrgscca_checkedbox:~\ #3}
+%  \starray_gset_prop:nnV {activity}{chkmarked}\l__ufrgscca_check_prop
+%
+%  \starray_get_prop:nnN {activity}{chkunmarked}\l__ufrgscca_check_prop
+%  \prop_gput:Nnn \l__ufrgscca_check_prop {#1}{\__ufrgscca_uncheckedbox:~\ #3}
+%  \starray_gset_prop:nnV {activity}{chkunmarked}\l__ufrgscca_check_prop
+%  
+%  \starray_get_prop:nnN {activity}{chkref}\l__ufrgscca_check_prop
+%  \prop_gput:Nnn \l__ufrgscca_check_prop {#2}{#1}
+%  \starray_gset_prop:nnV {activity}{chkref}\l__ufrgscca_check_prop
   
-  \starray_get_prop:nnN {activity}{chkref}\l__ufrgscca_check_prop
-  \prop_gput:Nnn \l__ufrgscca_check_prop {#2}{#1}
-  \starray_gset_prop:nnV {activity}{chkref}\l__ufrgscca_check_prop
+  \starray_get_prop:nnN {activity}{chkID}\l__ufrgscca_chkID_tl
+  \prop_gput:cnn {l__ufrgscca_ \l__ufrgscca_chkID_tl _chkmarked_prop} {#1}{\__ufrgscca_checkedbox:~\ #3}
+  \prop_gput:cnn {l__ufrgscca_ \l__ufrgscca_chkID_tl _chkunmarked_prop} {#1}{\__ufrgscca_uncheckedbox:~\ #3}
+  \prop_gput:cnn {l__ufrgscca_ \l__ufrgscca_chkID_tl _chkref_prop} {#2}{#1}
 }
 
 \cs_generate_variant:Nn \prop_gput:Nnn {Nee}
@@ -798,9 +824,16 @@
 \NewDocumentCommand{\checklist}{O{}m}{
   \tl_if_blank:nF {#1}
     {  \starray_set_iter_from_hash:nn {activity}{#1}  }
-  \starray_get_prop:nnN {student}{checklist}\l__ufrgscca_check_prop
-  \starray_get_prop:nnN {activity}{chkmarked}\l__ufrgscca_checkB_prop
-  \starray_get_prop:nnN {activity}{chkref}\l__ufrgscca_checkref_prop
+%  \starray_get_prop:nnN {student}{checklist}\l__ufrgscca_check_prop
+%  \starray_get_prop:nnN {activity}{chkmarked}\l__ufrgscca_checkB_prop
+%  \starray_get_prop:nnN {activity}{chkref}\l__ufrgscca_checkref_prop
+  %% V-less : checklists as hash_.... prop
+  \starray_get_prop:nnN {student}  {chkID} \l__ufrgscca_chkIDa_tl
+  \starray_get_prop:nnN {activity} {chkID} \l__ufrgscca_chkIDb_tl
+  \prop_set_eq:Nc \l__ufrgscca_check_prop {l__ufrgscca_ \l__ufrgscca_chkIDa_tl _checklist_prop} 
+  \prop_set_eq:Nc \l__ufrgscca_checkB_prop {l__ufrgscca_ \l__ufrgscca_chkIDb_tl _chkmarked_prop} 
+  \prop_set_eq:Nc \l__ufrgscca_checkref_prop {l__ufrgscca_ \l__ufrgscca_chkIDb_tl _chkref_prop}    
+  
   \clist_map_inline:nn {#2}
     {
       \prop_get:NnNT \l__ufrgscca_checkref_prop {##1} \l__ufrgscca_checkref_tl
@@ -809,7 +842,9 @@
           \prop_gput:Nee \l__ufrgscca_check_prop {\l__ufrgscca_checkref_tl} {\l__ufrgscca_checkB_tl}
         }
     }
-    \starray_gset_prop:nnV {student}{checklist}{\l__ufrgscca_check_prop}
+%    \starray_gset_prop:nnV {student}{checklist}{\l__ufrgscca_check_prop}
+    %% V-less : could be improved, direct reference
+    \prop_set_eq:cN {l__ufrgscca_ \l__ufrgscca_chkIDa_tl _checklist_prop} \l__ufrgscca_check_prop
 }
 
 \prop_new:N \l__ufrgscca_check_list_prop
@@ -819,9 +854,18 @@
 
 
 \cs_new_protected:Npn \__ufrgscca_checktable_lines:nn #1#2 {
-  \starray_get_prop:nnN {activity} {chkunmarked} \l__ufrgscca_checkA_prop
-  \starray_get_prop:nnN {student}{checklist}\l__ufrgscca_check_prop
+%  \starray_get_prop:nnN {activity} {chkunmarked} \l__ufrgscca_checkA_prop
+%  \starray_get_prop:nnN {student}  {checklist}   \l__ufrgscca_check_prop
+
+  %% V-less : checklists as hash_.... prop
+  \starray_get_prop:nnN {student}  {chkID} \l__ufrgscca_chkIDa_tl
+  \starray_get_prop:nnN {activity} {chkID} \l__ufrgscca_chkIDb_tl
+  \prop_set_eq:Nc \l__ufrgscca_check_prop  {l__ufrgscca_ \l__ufrgscca_chkIDa_tl _checklist_prop} 
+  \prop_set_eq:Nc \l__ufrgscca_checkA_prop {l__ufrgscca_ \l__ufrgscca_chkIDb_tl _chkunmarked_prop} 
   
+%  \prop_show:N \l__ufrgscca_check_prop
+%  \prop_show:c {l__ufrgscca_ \l__ufrgscca_chkIDa_tl _checklist_prop}
+  
   \prop_map_inline:Nn \l__ufrgscca_check_prop
     { \prop_gput:Nnn \l__ufrgscca_checkA_prop {##1}{##2}  }  
 

Modified: branches/branch2023.final/Master/texmf-dist/tex/latex/ufrgscca/ufrgscca-core.sty
===================================================================
--- branches/branch2023.final/Master/texmf-dist/tex/latex/ufrgscca/ufrgscca-core.sty	2024-03-11 20:00:34 UTC (rev 70602)
+++ branches/branch2023.final/Master/texmf-dist/tex/latex/ufrgscca/ufrgscca-core.sty	2024-03-11 20:00:45 UTC (rev 70603)
@@ -12,7 +12,7 @@
 %%
 %% The Current Maintainer of this work is Alceu Frigeri
 %%
-%% This is version {2.6} {2024/02/29}
+%% This is version {2.7} {2024/03/10}
 %%
 %% The list of files that compose this work can be found in the README.md file at
 %% https://ctan.org/pkg/ufrgscca
@@ -27,8 +27,8 @@
 
 \ProvidesExplPackage
     {ufrgscca-core}
-    {2024/02/29}
-    {2.6}
+    {2024/03/10}
+    {2.7}
     {UFRGS/CCA core commands}
 
 
@@ -42,8 +42,8 @@
   {
      name        .code:n = {ufrgscca-core} ,
      prefix      .code:n = {ufrgscca} ,
-     date        .code:n = {2024/02/29},
-     version     .code:n = {2.6} ,
+     date        .code:n = {2024/03/10},
+     version     .code:n = {2.7} ,
      description .code:n = {UFRGS/CCA~core~commands/data}
   }
 \cs_if_exist:NF \PkgInfo 
@@ -116,6 +116,7 @@
         carticle = ao(à) ,
         Carticle = Ao(À) ,
   remarks = ,
+  chkID     = , %%% 'unique ID' for checklist
   checklist = , %%% This shall be a property list of check items
   brief = \BlankLines{6} ,
   reason = \BlankLines{6} ,
@@ -267,17 +268,31 @@
         week = {-semana-} ,
         event = {-Descrição-} ,
       } ,
+    chkID = ,        %%% 'unique ID' for checklists
     chkmarked = ,    %%% This shall be a prop list of   marked itens
     chkunmarked = ,  %%% This shall be a prop list of unmarked itens
     chkref = ,       %%% This shall be a prop list of ref      itens
   }
 
+%% workaround (V-less) 
+%%   => \starray_get_uniqueID {starray-ref} .... 
+%%      (might just be parser construct...) and use it to define a unique prop name.
+
+\tl_new:N \l__ufrgscca_tmpID_tl
 \NewDocumentCommand{\NewActivity}{m} {
     \starray_new_term:nn {activity}{#1}
     \starray_new_term:nn {activity.coord}{}
-    \starray_gset_prop:nnV {activity}{chkmarked}\c_empty_prop
-    \starray_gset_prop:nnV {activity}{chkunmarked}\c_empty_prop
-    \starray_gset_prop:nnV {activity}{chkref}\c_empty_prop
+    \starray_get_unique_id:nNTF {activity} \l__ufrgscca_tmpID_tl
+      {}
+      {}
+    \starray_gset_prop:nnV {activity}{chkID} \l__ufrgscca_tmpID_tl
+    \prop_new:c {l__ufrgscca_ \l__ufrgscca_tmpID_tl _chkmarked_prop}
+    \prop_new:c {l__ufrgscca_ \l__ufrgscca_tmpID_tl _chkunmarked_prop}
+    \prop_new:c {l__ufrgscca_ \l__ufrgscca_tmpID_tl _chkref_prop}
+%    \prop_show:c {l__ufrgscca_ \l__ufrgscca_tmpID_tl _chkmarked_prop}
+%    \starray_gset_prop:nnV {activity}{chkmarked}\c_empty_prop
+%    \starray_gset_prop:nnV {activity}{chkunmarked}\c_empty_prop
+%    \starray_gset_prop:nnV {activity}{chkref}\c_empty_prop
 }
 
 
@@ -381,7 +396,12 @@
       name = {#3~ #2} ,
     }
   \__ufrgscca_setgender:nn {student}{#4}
-  \starray_gset_prop:nnV {student}{checklist}\c_empty_prop
+  \starray_get_unique_id:nNTF {student}\l__ufrgscca_tmpID_tl
+    {}
+    {}
+  \starray_gset_prop:nnV {student}{chkID} \l__ufrgscca_tmpID_tl
+  \prop_new:c {l__ufrgscca_ \l__ufrgscca_tmpID_tl _checklist_prop}
+  %\starray_gset_prop:nnV {student}{checklist}\c_empty_prop
 }%
   %
 \NewDocumentCommand{\eDataSet}{m}{

Modified: branches/branch2023.final/Master/texmf-dist/tex/latex/ufrgscca/ufrgscca-cover.sty
===================================================================
--- branches/branch2023.final/Master/texmf-dist/tex/latex/ufrgscca/ufrgscca-cover.sty	2024-03-11 20:00:34 UTC (rev 70602)
+++ branches/branch2023.final/Master/texmf-dist/tex/latex/ufrgscca/ufrgscca-cover.sty	2024-03-11 20:00:45 UTC (rev 70603)
@@ -12,7 +12,7 @@
 %%
 %% The Current Maintainer of this work is Alceu Frigeri
 %%
-%% This is version {2.6} {2024/02/29}
+%% This is version {2.7} {2024/03/10}
 %%
 %% The list of files that compose this work can be found in the README.md file at
 %% https://ctan.org/pkg/ufrgscca
@@ -27,8 +27,8 @@
 
 \ProvidesExplPackage
     {ufrgscca-cover}
-    {2024/02/29}
-    {2.6}
+    {2024/03/10}
+    {2.7}
     {UFRGS/CCA cover commands}
 
 
@@ -42,8 +42,8 @@
   {
      name        .code:n = {ufrgscca-cover} ,
      prefix      .code:n = {ufrgscca} ,
-     date        .code:n = {2024/02/29},
-     version     .code:n = {2.6} ,
+     date        .code:n = {2024/03/10},
+     version     .code:n = {2.7} ,
      description .code:n = {UFRGS/CCA~ cover~pages}
   }
 \cs_if_exist:NF \PkgInfo 

Modified: branches/branch2023.final/Master/texmf-dist/tex/latex/ufrgscca/ufrgscca-curr.sty
===================================================================
--- branches/branch2023.final/Master/texmf-dist/tex/latex/ufrgscca/ufrgscca-curr.sty	2024-03-11 20:00:34 UTC (rev 70602)
+++ branches/branch2023.final/Master/texmf-dist/tex/latex/ufrgscca/ufrgscca-curr.sty	2024-03-11 20:00:45 UTC (rev 70603)
@@ -12,7 +12,7 @@
 %%
 %% The Current Maintainer of this work is Alceu Frigeri
 %%
-%% This is version {2.6} {2024/02/29}
+%% This is version {2.7} {2024/03/10}
 %%
 %% The list of files that compose this work can be found in the README.md file at
 %% https://ctan.org/pkg/ufrgscca
@@ -27,8 +27,8 @@
 
 \ProvidesExplPackage
     {ufrgscca-curr}
-    {2024/02/29}
-    {2.6}
+    {2024/03/10}
+    {2.7}
     {UFRGS/CCA curricula commands}
 
 %%%%%%%
@@ -41,8 +41,8 @@
   {
      name        .code:n = {ufrgscca-curr} ,
      prefix      .code:n = {ufrgscca} ,
-     date        .code:n = {2024/02/29},
-     version     .code:n = {2.6} ,
+     date        .code:n = {2024/03/10},
+     version     .code:n = {2.7} ,
      description .code:n = {UFRGS/CCA~ curricula~ commands}
   }
 \cs_if_exist:NF \PkgInfo 
@@ -56,6 +56,18 @@
 %%%%%%%
 
 
+%%%%%%%
+%%%
+%%% V-less nightmare TO BE DONE!
+%%%        => convert all V referenced sequences into 'starray sub structures'
+%%%           less efficient, but 'portable' and V-safe.
+%%%
+%%%        => Alternative approach: convert a _seq into a clist then store it into starray (argh! double damm)
+%%%        => or just use ..._clist instead of _seq (replacing all _seq that are stored in starrays by a _clist)
+%%%
+%%%%%%%
+
+
 \starray_new:n {topics}
 \starray_new:n {classes}
 \starray_new:n {curricula}
@@ -65,7 +77,7 @@
     self  = ,
     name = ,
     color = ,
-    class lst = , %list (sequence) of classes
+    uniqueID = , % to replace class list (V-less)
   }
 
 \starray_def_from_keyval:nn {classes}
@@ -76,9 +88,7 @@
    summary = ,
    topic = ,
    remark = ,
-   bib seq = ,
-   bib basic seq = ,
-   bib compl seq = ,
+   uniqueID = , % to replace the many V sequences (bib)
    ref . struct = {
      curr = ,
      sem = ,
@@ -184,8 +194,13 @@
         name = {#3} ,
         color = {#1} ,
       }
-%    \seq_clear:N \l_tmpa_seq
-    \starray_set_prop:nnV {topics}{class lst} \c_empty_seq
+    %% V-less : replacing / new seq
+    \starray_get_unique_id:nNTF {topics}\l__ufrgscca_uniqueID_tmpa_tl
+      {}
+      {\tl_set:Nn \l__ufrgscca_uniqueID_tmpa_tl {}}
+    \starray_set_prop:nnV {topics}{uniqueID} \l__ufrgscca_uniqueID_tmpa_tl
+    \seq_new:c {l__ufrgscca_curr_ \l__ufrgscca_uniqueID_tmpa_tl _seq}
+    
   }
 
 \tl_new:N \l__ufrgscca_default_topic_tl
@@ -203,16 +218,22 @@
         name = {#4} ,
         topic = {#1} ,
       }
-%    \seq_clear:N \l_tmpa_seq
-    \starray_set_prop:nnV {classes}{bib seq} \c_empty_seq
-    \starray_set_prop:nnV {classes}{bib basic seq} \c_empty_seq
-    \starray_set_prop:nnV {classes}{bib compl seq} \c_empty_seq
+  %% V-less : new
+    \starray_get_unique_id:nNTF {classes}\l__ufrgscca_uniqueID_tmpb_tl
+      {}
+      {\tl_set:Nn \l__ufrgscca_uniqueID_tmpb_tl {}}
+    \starray_set_prop:nnV {classes}{uniqueID} \l__ufrgscca_uniqueID_tmpb_tl
+    \seq_new:c {l__ufrgscca_curr_ \l__ufrgscca_uniqueID_tmpb_tl _bib _seq}
+    \seq_new:c {l__ufrgscca_curr_ \l__ufrgscca_uniqueID_tmpb_tl _bib basic _seq}
+    \seq_new:c {l__ufrgscca_curr_ \l__ufrgscca_uniqueID_tmpb_tl _bib compl _seq}
+    
 
     \starray_set_iter_from_hash:nn {topics}{#1}
-    \starray_get_prop:nnN {topics}{class lst} \l_tmpa_seq
-    \seq_put_right:Nn \l_tmpa_seq{#2}
-    \starray_set_prop:nnV {topics}{class lst} \l_tmpa_seq
+    %% V-less : new seq
+    \starray_get_prop:nnN {topics}{uniqueID} \l__ufrgscca_uniqueID_tmpa_tl
+    \seq_put_right:cn {l__ufrgscca_curr_ \l__ufrgscca_uniqueID_tmpa_tl _seq} {#2}    
   }
+  
 \NewDocumentCommand{\csummary}{m}
   {
     \starray_set_prop:nnn {classes}{summary}{#1}
@@ -226,31 +247,30 @@
 
 \NewDocumentCommand{\bibdef}{O{main}m}
   {
+    %% V-less
+    \starray_get_prop:nnN {classes}{uniqueID} \l__ufrgscca_uniqueID_tmpb_tl
+    
     \str_case:nnF {#1}
       {
         {main}
           {
-            \starray_get_prop:nnN {classes}{bib seq} \l_tmpa_seq
-            \seq_put_right:Nn \l_tmpa_seq {#2}
-            \starray_set_prop:nnV {classes}{bib seq} \l_tmpa_seq
+            %% V-less
+            \seq_gput_right:cn {l__ufrgscca_curr_ \l__ufrgscca_uniqueID_tmpb_tl _bib _seq} {#2}
           }
         {basic}%{ \starray_get_prop:nnN {classes}{bib basic seq} \l_tmpa_seq }
           {
-            \starray_get_prop:nnN {classes}{bib basic seq} \l_tmpa_seq
-            \seq_put_right:Nn \l_tmpa_seq {#2}
-            \starray_set_prop:nnV {classes}{bib basic seq} \l_tmpa_seq
+            %% V-less
+            \seq_gput_right:cn {l__ufrgscca_curr_ \l__ufrgscca_uniqueID_tmpb_tl _bib basic _seq} {#2}
           }
         {compl}%{ \starray_get_prop:nnN {classes}{bib compl seq} \l_tmpa_seq }
           {
-            \starray_get_prop:nnN {classes}{bib compl seq} \l_tmpa_seq
-            \seq_put_right:Nn \l_tmpa_seq {#2}
-            \starray_set_prop:nnV {classes}{bib compl seq} \l_tmpa_seq
+            %% V-less
+            \seq_gput_right:cn {l__ufrgscca_curr_ \l__ufrgscca_uniqueID_tmpb_tl _bib compl _seq} {#2}
           }
       }
       {
-        \starray_get_prop:nnN {classes}{bib seq} \l_tmpa_seq
-        \seq_put_right:Nn \l_tmpa_seq {#2}
-        \starray_set_prop:nnV {classes}{bib seq} \l_tmpa_seq
+            %% V-less
+            \seq_put_right:cn {l__ufrgscca_curr_ \l__ufrgscca_uniqueID_tmpb_tl _bib _seq} {#2}
       }
   }
 
@@ -382,14 +402,16 @@
 
         \starray_get_prop:nnN {classes}{summary} \l__ufrgscca_tmp_summary_tl
         \use:e   { &  &  &   &  & \exp_not:N \smaller \l__ufrgscca_tmp_summary_tl\\*}
+               
+        %% V-less
+        \starray_get_prop:nnN {classes}{uniqueID} \l_tmpa_tl
+        \tl_gset:Ne \l__ufrgscca_uniqueID_tmpb_tl {\l_tmpa_tl}
 
          %% bibliography I
-        \starray_get_prop:nnN {classes}{bib seq} \l__ufrgscca_tmp_bib_seq
-        \seq_gset_eq:NN \l__ufrgscca_tmp_bibB_seq \l__ufrgscca_tmp_bib_seq
-        \seq_if_empty:NF \l__ufrgscca_tmp_bibB_seq
-          {
+        \seq_if_empty:cF {l__ufrgscca_curr_ \l__ufrgscca_uniqueID_tmpb_tl _bib _seq}
+          {                                     
             &  &  &   & \multicolumn{2}{J{11cm}}{\smaller\scshape Bibliografia~ Básica~ Essencial}\\*
-            \seq_map_inline:Nn \l__ufrgscca_tmp_bibB_seq
+            \seq_map_inline:cn {l__ufrgscca_curr_ \l__ufrgscca_uniqueID_tmpb_tl _bib _seq}
               {
                 &  &  &   &  &  \smaller\textopenbullet  ~\ ~  ##1\\
               }
@@ -396,12 +418,10 @@
           }
 
          %% bibliography II
-        \starray_get_prop:nnN {classes}{bib basic seq} \l__ufrgscca_tmp_bib_seq
-        \seq_gset_eq:NN \l__ufrgscca_tmp_bibB_seq \l__ufrgscca_tmp_bib_seq
-        \seq_if_empty:NF \l__ufrgscca_tmp_bibB_seq
+        \seq_if_empty:cF {l__ufrgscca_curr_ \l__ufrgscca_uniqueID_tmpb_tl _bib basic _seq}
           {
             &  &  &   & \multicolumn{2}{J{11cm}}{\smaller\scshape Bibliografia~ Básica}\\*
-            \seq_map_inline:Nn \l__ufrgscca_tmp_bibB_seq
+            \seq_map_inline:cn {l__ufrgscca_curr_ \l__ufrgscca_uniqueID_tmpb_tl _bib basic _seq}
               {
                 &  &  &   &  &  \smaller\textopenbullet  ~\ ~  ##1\\
               }
@@ -408,12 +428,10 @@
           }
 
          %% bibliography III
-        \starray_get_prop:nnN {classes}{bib compl seq} \l__ufrgscca_tmp_bib_seq
-        \seq_gset_eq:NN \l__ufrgscca_tmp_bibB_seq \l__ufrgscca_tmp_bib_seq
-        \seq_if_empty:NF \l__ufrgscca_tmp_bibB_seq
+        \seq_if_empty:cF {l__ufrgscca_curr_ \l__ufrgscca_uniqueID_tmpb_tl _bib compl _seq}
           {
            &  &  &   & \multicolumn{2}{J{11cm}}{\smaller\scshape Bibliografia~ Complementar}\\*
-            \seq_map_inline:Nn \l__ufrgscca_tmp_bibB_seq
+            \seq_map_inline:cn {l__ufrgscca_curr_ \l__ufrgscca_uniqueID_tmpb_tl _bib compl _seq}
               {
                  &  &  &   &  &  \smaller\textopenbullet  ~\ ~  ##1\\
               }
@@ -445,8 +463,10 @@
                 \tl_set:Nn \l__ufrgscca_tmp_color_tl {black}
               }
             \use:e { & \exp_not:N \multicolumn{2}{J{11cm}}{\exp_not:N \textcolor{\l__ufrgscca_tmp_color_tl}{\exp_not:N \textbf{\l__ufrgscca_tmp_name_tl} }}}\\\hline
-            \starray_get_prop:nnN {topics}{class lst} \l__ufrgscca_tmp_classlst_seq
-            \seq_map_inline:Nn \l__ufrgscca_tmp_classlst_seq
+
+        %% V-less : to be replaced
+            \starray_get_prop:nnN {topics}{uniqueID} \l__ufrgscca_uniqueID_tmpa_tl
+             \seq_map_inline:cn {l__ufrgscca_curr_ \l__ufrgscca_uniqueID_tmpa_tl _seq} 
               {
                 \starray_set_iter_from_hash:nn {classes}{##1}
                 \starray_get_prop:nnN {classes}{name} \l__ufrgscca_tmp_name_tl

Modified: branches/branch2023.final/Master/texmf-dist/tex/latex/ufrgscca/ufrgscca-forms.sty
===================================================================
--- branches/branch2023.final/Master/texmf-dist/tex/latex/ufrgscca/ufrgscca-forms.sty	2024-03-11 20:00:34 UTC (rev 70602)
+++ branches/branch2023.final/Master/texmf-dist/tex/latex/ufrgscca/ufrgscca-forms.sty	2024-03-11 20:00:45 UTC (rev 70603)
@@ -12,7 +12,7 @@
 %%
 %% The Current Maintainer of this work is Alceu Frigeri
 %%
-%% This is version {2.6} {2024/02/29}
+%% This is version {2.7} {2024/03/10}
 %%
 %% The list of files that compose this work can be found in the README.md file at
 %% https://ctan.org/pkg/ufrgscca
@@ -27,8 +27,8 @@
 
 \ProvidesExplPackage
     {ufrgscca-forms}
-    {2024/02/29}
-    {2.6}
+    {2024/03/10}
+    {2.7}
     {UFRGS/CCA forms commands}
    
     
@@ -42,8 +42,8 @@
   {
      name        .code:n = {ufrgscca-forms} ,
      prefix      .code:n = {ufrgscca} ,
-     date        .code:n = {2024/02/29},
-     version     .code:n = {2.6} ,
+     date        .code:n = {2024/03/10},
+     version     .code:n = {2.7} ,
      description .code:n = {UFRGS/CCA~ forms~commands}
   }
 \cs_if_exist:NF \PkgInfo 

Modified: branches/branch2023.final/Master/texmf-dist/tex/latex/ufrgscca/ufrgscca-lists.sty
===================================================================
--- branches/branch2023.final/Master/texmf-dist/tex/latex/ufrgscca/ufrgscca-lists.sty	2024-03-11 20:00:34 UTC (rev 70602)
+++ branches/branch2023.final/Master/texmf-dist/tex/latex/ufrgscca/ufrgscca-lists.sty	2024-03-11 20:00:45 UTC (rev 70603)
@@ -12,7 +12,7 @@
 %%
 %% The Current Maintainer of this work is Alceu Frigeri
 %%
-%% This is version {2.6} {2024/02/29}
+%% This is version {2.7} {2024/03/10}
 %%
 %% The list of files that compose this work can be found in the README.md file at
 %% https://ctan.org/pkg/ufrgscca
@@ -27,8 +27,8 @@
 
 \ProvidesExplPackage
     {ufrgscca-lists}
-    {2024/02/29}
-    {2.6}
+    {2024/03/10}
+    {2.7}
     {UFRGS/CCA auxiliary lists commands}
 
 
@@ -42,8 +42,8 @@
   {
      name        .code:n = {ufrgscca-lists} ,
      prefix      .code:n = {ufrgscca} ,
-     date        .code:n = {2024/02/29} ,
-     version     .code:n = {2.6} ,
+     date        .code:n = {2024/03/10} ,
+     version     .code:n = {2.7} ,
      description .code:n = {UFRGS/CCA~Auxiliary~ lists~ commands}
   }
 \cs_if_exist:NF \PkgInfo 

Modified: branches/branch2023.final/Master/texmf-dist/tex/latex/ufrgscca/ufrgscca-ppc.sty
===================================================================
--- branches/branch2023.final/Master/texmf-dist/tex/latex/ufrgscca/ufrgscca-ppc.sty	2024-03-11 20:00:34 UTC (rev 70602)
+++ branches/branch2023.final/Master/texmf-dist/tex/latex/ufrgscca/ufrgscca-ppc.sty	2024-03-11 20:00:45 UTC (rev 70603)
@@ -12,7 +12,7 @@
 %%
 %% The Current Maintainer of this work is Alceu Frigeri
 %%
-%% This is version {2.6} {2024/02/29}
+%% This is version {2.7} {2024/03/10}
 %%
 %% The list of files that compose this work can be found in the README.md file at
 %% https://ctan.org/pkg/ufrgscca
@@ -27,8 +27,8 @@
 
 \ProvidesExplPackage
     {ufrgscca-ppc}
-    {2024/02/29}
-    {2.6}
+    {2024/03/10}
+    {2.7}
     {UFRGS/CCA PPC commands}
 
 %%%%%%%
@@ -41,8 +41,8 @@
   {
      name        .code:n = {ufrgscca-ppc} ,
      prefix      .code:n = {ufrgscca} ,
-     date        .code:n = {2024/02/29},
-     version     .code:n = {2.6} ,
+     date        .code:n = {2024/03/10},
+     version     .code:n = {2.7} ,
      description .code:n = {UFRGS/CCA~ auxiliary~ PPC-related~ (indicators)~ commands}
   }
 \cs_if_exist:NF \PkgInfo 
@@ -56,7 +56,18 @@
 %%%%%%%
 
 
+%%%%%%%
+%%%
+%%% V-less nightmare TO BE DONE!
+%%%        => convert all V referenced sequences into 'starray sub structures'
+%%%           less efficient, but 'portable' and V-safe.
+%%%
+%%%        => Alternative approach: convert a _seq into a clist then store it into starray (argh! double damm)
+%%%        => or just use ..._clist instead of _seq (replacing all _seq that are stored in starrays by a _clist)
+%%%
+%%%%%%%
 
+
 \keys_define:nn { ufrgscca / ppc}
   {
   	showind        .usage:n     = load,
@@ -103,7 +114,7 @@
     self        = ,
     view        = \c_true_bool ,
     has_lst     = \c_false_bool , 
-    seqlst      = , %this is going to be a sequence of 'ind'
+    seqID       = , %this will have an unique hash (for a sequence)
     ind.struct  = 
       {
         self            = ,
@@ -115,7 +126,7 @@
         is_section      = \c_false_bool ,
         is_subsection   = \c_false_bool ,
         cnt             = 0 , %auxiliar 'counter' (num of references)
-        seqlst          = , %auxiliar list (references' list)
+        seqID           = , %this will have an unique hash (for a sequence)
         labelref        = , %this will contain the 'hyperref label' (at doc's end) to be used.        
         ref.struct      =
           {
@@ -143,6 +154,8 @@
  }
 
 
+\tl_new:N \l__ufrgscca_uniqueID_tmpa_tl
+\tl_new:N \l__ufrgscca_uniqueID_tmpb_tl
 \NewDocumentCommand{\declareindicator}{st+O{noref}mmm}
   {
     %#3: status #4:org #5:mark #6:short text 
@@ -149,9 +162,12 @@
       \starray_set_iter_from_hash:nnF {indicator}{#4}
         {
           \starray_new_term:nn {indicator}{#4}
-          \seq_clear:N \l_tmpa_seq
-          \starray_set_prop:nnV {indicator}{seqlst}{\l_tmpa_seq}
-          %\seq_new:c {l__ufrgscca_ind_ #4 _seq}
+          \starray_get_unique_id:nNTF {indicator}\l__ufrgscca_uniqueID_tmpa_tl
+            {}
+            {\tl_set:Nn \l__ufrgscca_uniqueID_tmpa_tl {}}
+          \starray_set_prop:nnV {indicator}{seqID}\l__ufrgscca_uniqueID_tmpa_tl
+          \seq_new:c {l__ufrgscca_ind_ \l__ufrgscca_uniqueID_tmpa_tl _seq}
+          
           \starray_set_prop:nnn {indicator}{self}{#4}
         }
       \starray_new_term:nn {indicator.ind}{@#5}
@@ -161,19 +177,17 @@
           status = {#3} ,
           self   = {#5} ,
           labelref = {@ufrgscca@ #4 @ #5} , %% to be issued when "printing the indicators' list"
-          %seqlst   = {l__ufrgscca_ind_ #4 _ #5 _seq} ,
-          %cnt      = {l__ufrgscca_ind_ #4 _ #5 _cnt_int} ,
         }
-      \seq_clear:N \l_tmpa_seq
-      \starray_set_prop:nnV {indicator.ind}{seqlst}{\l_tmpa_seq}
-      %\seq_new:c {l__ufrgscca_ind_ #4 _ #5 _seq}
-      %\int_new:c {l__ufrgscca_ind_ #4 _ #5 _cnt_int}
+          \starray_get_unique_id:nNTF {indicator.ind}\l__ufrgscca_uniqueID_tmpb_tl
+            {}
+            {\tl_set:Nn \l__ufrgscca_uniqueID_tmpb_tl {}}          
+          \starray_set_prop:nnV {indicator.ind}{seqID}\l__ufrgscca_uniqueID_tmpb_tl
+          \seq_new:c {l__ufrgscca_ind_ \l__ufrgscca_uniqueID_tmpb_tl _seq}
       \IfBooleanTF{#1}
         {
-          \starray_get_prop:nnN {indicator}{seqlst}\l_tmpa_seq
-          \seq_put_right:Nn \l_tmpa_seq {@#5}
-          \starray_set_prop:nnV {indicator}{seqlst}\l_tmpa_seq
-          %\seq_put_right:cn {l__ufrgscca_ind_ #4 _seq}{@#5}
+          %% V-less : 'unique' seq
+          \seq_put_right:cn {l__ufrgscca_ind_ \l__ufrgscca_uniqueID_tmpa_tl _seq}{@#5}
+          
           \starray_set_prop:nnn {indicator.ind}{is_section}{\c_true_bool}
           \starray_set_prop:nnn {indicator}{has_lst}{\c_true_bool}
         }
@@ -180,10 +194,9 @@
         {}
       \IfBooleanTF{#2}
         {
-          \starray_get_prop:nnN {indicator}{seqlst}\l_tmpa_seq
-          \seq_put_right:Nn \l_tmpa_seq {@#5}
-          \starray_set_prop:nnV {indicator}{seqlst}\l_tmpa_seq
-          %\seq_put_right:cn {l__ufrgscca_ind_ #4 _seq}{@#5}
+          %% V-less : 'unique' seq
+          \seq_put_right:cn {l__ufrgscca_ind_ \l__ufrgscca_uniqueID_tmpa_tl _seq}{@#5}
+
           \starray_set_prop:nnn {indicator.ind}{is_subsection}{\c_true_bool}
           \starray_set_prop:nnn {indicator}{has_lst}{\c_true_bool}
         }
@@ -212,8 +225,9 @@
   {
     \starray_set_iter_from_hash:nnT {indicator}{#3}
       {
-        \starray_get_prop:nnN {indicator}{seqlst}\l_tmpa_seq
-        \seq_map_inline:Nn \l_tmpa_seq
+        %% V-less : new seq
+        \starray_get_prop:nnN {indicator}{seqID}\l__ufrgscca_uniqueID_tmpa_tl
+        \seq_map_inline:cn {l__ufrgscca_ind_ \l__ufrgscca_uniqueID_tmpa_tl _seq}
           {
             \starray_set_iter_from_hash:nn {indicator.ind}{##1}
             \starray_term_syntax:n {indicator.ind}
@@ -376,12 +390,14 @@
                             {\color{\l__ufrgscca_txtcolor_tl}\starray_get_prop:nn {indicator.ind}{short} \dotfill \normalsize\starray_get_prop:nn {indicator.ind}{status}}
                             
                         \newline \starray_get_prop:nn {indicator.ind}{long} \starray_get_prop:nn {indicator.ind}{extra}
-                        \starray_get_prop:nnN {indicator.ind}{seqlst} \l_tmpa_seq
-                        \seq_if_empty:NF \l_tmpa_seq
+        %% V-less : new seq
+        \starray_get_prop:nnN {indicator.ind}{seqID}\l__ufrgscca_uniqueID_tmpb_tl
+        \seq_if_empty:cF {l__ufrgscca_ind_ \l__ufrgscca_uniqueID_tmpb_tl _seq}
                           {
                             \newline
                             \tl_set:Nn \l_tmpa_tl {} .\dotfill
-                            \seq_map_inline:Nn \l_tmpa_seq
+                            %% V-less : new seq
+                             \seq_map_inline:cn {l__ufrgscca_ind_ \l__ufrgscca_uniqueID_tmpb_tl _seq}
                               {
                                 \l_tmpa_tl \ref{##1} ~(\pageref{##1})
                                 \tl_set:Nn \l_tmpa_tl {,~}
@@ -466,13 +482,20 @@
     {
       \starray_gset_prop:nnn {indicator.ind}{status}{#2}
     }
-    \starray_get_prop:nnN {indicator.ind}{seqlst} \l_tmpa_seq
+    %% V-less : replacing / new seq
+    \starray_get_unique_id:nNTF {indicator.ind}\l__ufrgscca_uniqueID_tmpb_tl
+            {}
+            {\tl_set:Nn \l__ufrgscca_uniqueID_tmpb_tl {}}
+    % {l__ufrgscca_ind_ \l__ufrgscca_uniqueID_tmpb_tl _seq}
+    
     \starray_get_prop:nnN {indicator.ind}{cnt} \l_tmpb_tl
     \int_set:Nn \l_tmpa_int {\l_tmpb_tl + 1}
     \starray_set_prop:nnV {indicator.ind}{cnt} \l_tmpa_int
     \tl_set:Ne \l__ufrgscca_tmp_indref_tl {@indlabel@ #3 @ #4 - \int_use:N \l_tmpa_int }
-    \seq_put_right:Ne \l_tmpa_seq{\l__ufrgscca_tmp_indref_tl}
-    \starray_set_prop:nnV {indicator.ind}{seqlst} \l_tmpa_seq
+    
+    \seq_put_right:ce {l__ufrgscca_ind_ \l__ufrgscca_uniqueID_tmpb_tl _seq} {\l__ufrgscca_tmp_indref_tl}
+
+
     \label{\l__ufrgscca_tmp_indref_tl}
     \starray_term_syntax:n {indicator}
     \bool_if:nT {\starray_parsed_get_prop:n {view}}

Modified: branches/branch2023.final/Master/texmf-dist/tex/latex/ufrgscca/ufrgscca.cls
===================================================================
--- branches/branch2023.final/Master/texmf-dist/tex/latex/ufrgscca/ufrgscca.cls	2024-03-11 20:00:34 UTC (rev 70602)
+++ branches/branch2023.final/Master/texmf-dist/tex/latex/ufrgscca/ufrgscca.cls	2024-03-11 20:00:45 UTC (rev 70603)
@@ -12,7 +12,7 @@
 %%
 %% The Current Maintainer of this work is Alceu Frigeri
 %%
-%% This is version {2.6} {2024/02/29}
+%% This is version {2.7} {2024/03/10}
 %%
 %% The list of files that compose this work can be found in the README.md file at
 %% https://ctan.org/pkg/ufrgscca
@@ -27,8 +27,8 @@
 
 \ProvidesExplClass
     {ufrgscca}
-    {2024/02/29}
-    {2.6}
+    {2024/03/10}
+    {2.7}
     {UFRGS/CCA class}
 
 
@@ -42,8 +42,8 @@
   {
      name        .code:n = {ufrgscca} ,
      prefix      .code:n = {ufrgscca} ,
-     date        .code:n = {2024/02/29},
-     version     .code:n = {2.6} ,
+     date        .code:n = {2024/03/10},
+     version     .code:n = {2.7} ,
      description .code:n = {UFRGS/CCA~a~report~based~class~bundle}
   }
 \cs_if_exist:NF \PkgInfo 
@@ -69,7 +69,7 @@
 %%%%%%%%%%%%%%%%%%%%%%
 %%%
 %%% TODO: to be decided, where to leave that !! 
-%%%       general purpose _propeties !!
+%%%       general purpose _properties !!
 %%% 
 %%%%%%%%%%%%%%%%%%%%%%
 
@@ -140,6 +140,12 @@
 \cs_new:Npn \UseConst #1 
   { \prop_item:Ne \l__ufrgscca_const_prop {#1} }
 
+\NewDocumentCommand{\GetConst}{mm}
+  {
+    \prop_get:NnNTF \l__ufrgscca_const_prop {#1} \l_tmpa_tl
+      {\tl_gset:Ne #2 \l_tmpa_tl}
+      {\tl_gset:Nn #2 {}}
+  }
 
 \bool_new:N \l__ufrgscca_repeatfields_bool
 \bool_new:N \l__ufrgscca_timesroman_bool



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