Hi Hans,
shouldn’t the inner test be “\ifx\hasstructurecounternumber\v!yes”?
\def\dostructurecountercomponent#1#2#3#4#5#6#7[#8][#9]%
{\begingroup
…
\ifx\hasstructurecountercaption\v!yes
…
\ifx\hasstructurecountercaption\v!yes
prefixdata = {
prefix = "#3\c!prefix",
separatorset = "#3\c!prefixseparatorset",
conversion = \!!bs#3\c!prefixconversion\!!es,
conversionset = "#3\c!prefixconversionset",
set = "#3\c!prefixset",
% segments = "#3\c!prefixsegments",
segments = "\askedprefixsegments",
connector = \!!bs#3\c!prefixconnector\!!es,
},
numberdata = {
numbers = structures.counters.compact("\currentcounter",nil,true),
separatorset = "#3\c!numberseparatorset",
conversion = \!!bs#3\c!numberconversion\!!es,
conversionset = "#3\c!numberconversionset",
starter = \!!bs#3\c!numberstarter\!!es,
stopper = \!!bs#3\c!numberstopper\!!es,
segments = "#3\c!numbersegments",
},
\fi
…
\fi
\endgroup}
Wolfgang