[NTG-context] \doifelse not working, \doiftextelse breaking

Pablo Rodriguez oinos at gmx.es
Fri Oct 9 15:58:31 CEST 2020


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


More information about the ntg-context mailing list