%<*package> \seq_new:N \g_@@_block_register_seq \seq_new:N \g_@@_index_register_seq \prop_new:N \g_@@_blocktype_register_prop \prop_new:N \g_@@_blockname_register_prop \prop_new:N \g_@@_blockparameter_register_prop \prop_new:N \g_@@_blockcontent_register_prop \prop_new:N \g_@@_blocksectionpath_register_prop \prop_new:N \g_@@_indexparameter_register_prop % [parameter] block's label (expanded) \NewDocumentCommand \Register@block {m} { \seq_gput_right:Nn \g_@@_block_register_seq {#1} } % [parameter] scope path of index (verbatim) \NewDocumentCommand \Register@index {v} { \seq_gput_right:Nn \g_@@_index_register_seq {#1} } % [parameter] block's label (expanded) , block type name (only letters) \NewDocumentCommand \Register@blocktype {m m} { \prop_gput:Nnn \g_@@_blocktype_register_prop {#1} {#2} } % [parameter] block's label (expanded) , block's display name \NewDocumentCommand \Register@blockname {m m} { \prop_gput:Nnn \g_@@_blockname_register_prop {#1} {#2} } % [parameter] block's label (expanded) , block's parameter \NewDocumentCommand \Register@blockparameter {m m} { \prop_gput:Nnn \g_@@_blockparameter_register_prop {#1} {#2} } % [parameter] block's label (expanded) , block's content \NewDocumentCommand \Register@blockcontent {m +m} { \prop_gput:Nnn \g_@@_blockcontent_register_prop {#1} {#2} } % [parameter] block's label (expanded) , path of block's parent section (verbatim) \NewDocumentCommand \Register@blocksectionpath {m v} { \prop_gput:Nnn \g_@@_blocksectionpath_register_prop {#1} {#2} } % [parameter] scope path of index (verbatim) , index's parameter \NewDocumentCommand \Register@indexparameter {m m} { \prop_gput:Nnn \g_@@_indexparameter_register_prop {#1} {#2} } %