On 9/12/2025 5:33 PM, Rik Kabel wrote:
On 2025-09-07 20:40, Rik Kabel wrote:
Hello list,
Since the August 17 update, and continuing to the current August 21
release, my indexes show
[entry not flushed],
on many entries where the page number should be suppressed and an
endnote number, provided with the register command, displayed. This
was not an issue with the July 21 release and earlier.
The indexing code for this document is a bit complex, and I have not
yet been able to isolate the issue further.
Has anybody else seen similar problems?
Is there something in particular I should look for?
I am trying to put together an MWE, but have not got it yet.
Okay, I have created an MWE. The issues appears to be tagging when
interaction is active -- disabling either or both of the first two lines
below resolves the error, but that should not be necessary.
\setupinteraction[state=start]
\setuptagging[state=start]
\starttexdefinition IndexPageCommand #1
\doifsomethingelse{\currentregisterpageuserdata{note}}
{n\currentregisterpageuserdata{note}}
#1
\doifsomething{\currentregisterpageuserdata{id}}
{\in[\currentregisterpageuserdata{id}]}
\stoptexdefinition
\defineregister[Pindex]
\setupregister [Pindex][pagecommand=\IndexPageCommand]
\starttexdefinition tolerant protected unexpanded PIndex
[#1]#:#2#*#=#*#=
\doifelse{#3}{}
{\setregisterentry[Pindex][keys={#1},entries={#2}]}
{\setregisterentry[Pindex][keys={#1},entries={#2}][#3]}
\stoptexdefinition
\starttext
\PIndex{OK, Entry}
Here is some text.
\startendnote[en:lentz]
\PIndex{Bad, Entry1}
\PIndex{Bad, Entry2}[note={\in[en:lentz]}]%
Here is an endnote.
\stopendnote
\page
\placenotes[endnote]
\page
\placeregister[Pindex]
\stoptext
Please let me know if this is user error or a bug.
more a side effect of the fact that we preroll that one in order to get
some alt text or so
This ine is kind of general (add it to cont-new.mlxl):
\appendtoks
\let\doflushatpar\gobbleoneargument
\to \everypreroll
and that one more specific (protected == unexpanded)
\starttexdefinition tolerant protected PIndex [#1]#:#2#*#=#*#=
\ifprerolling \else
\doifelsesomething {#3} {
\setregisterentry[Pindex][keys={#1},entries={#2}][#3]
} {
\setregisterentry[Pindex][keys={#1},entries={#2}]
}
\fi
\stoptexdefinition
or a bit more texnic:
\starttexdefinition tolerant protected unexpanded PIndex [#1]#:#2#*#=#*#=
\ifprerolling
% not this time
\orelse\ifparameter#3\or
\setregisterentry[Pindex][keys={#1},entries={#2}][#3]
\else
\setregisterentry[Pindex][keys={#1},entries={#2}]
\fi
\stoptexdefinition
but then you don't get that 'n' (not sure why)
Hans
-----------------------------------------------------------------
Hans Hagen | PRAGMA ADE
Ridderstraat 27 | 8061 GH Hasselt | The Netherlands
tel: 038 477 53 69 | www.pragma-ade.nl | www.pragma-pod.nl
-----------------------------------------------------------------
___________________________________________________________________________________
If your question is of interest to others as well, please add an entry to the
Wiki!
maillist : [email protected] /
https://mailman.ntg.nl/mailman3/lists/ntg-context.ntg.nl
webpage : https://www.pragma-ade.nl / https://context.aanhet.net (mirror)
archive : https://github.com/contextgarden/context
wiki : https://wiki.contextgarden.net
___________________________________________________________________________________