Dear list, I have the following sample: \starttext \startluacode function document.starts_with(str, start) if str:sub(1, #start) == start then context(start) end end \stopluacode \unexpanded\def\startswith[#1][#2] {\cldcontext{document.starts_with("#1", "#2")}} \startswith[getjobid764572121][getjobid] yes: \doifelse{\startswith[getjobid764572121][getjobid]}{getjobid} {yes}{no} no: \doifelse{\startswith[getjobid764572121][getjobid]}{} {yes}{no} %% \doiftextelse{\startswith[getjobid764572121][getjobid]} % {yes}{no} \stoptext I don’t know why comparing doesn’t work with \doifelse. I’m surprised that \doiftextelse breaks when \startswidth if inside. How could i make \startswith work inside \doiftext? Or how could I catch positives when command contents start with a given string? Many thanks for your help, Pablo -- http://www.ousia.tk