Using [compress=all] for registers yields somewhat puzzling results (1.0.4 (TeX Live 2017)).
I would expect the register of the following code to become one single range "1--7", though context produces "1--2, 3--7".
Is this the expected behaviour?
And if so: is there another switch to get the ranges to be collapsed completely?
Also: There wouldn't be a shorthand to define explicit ranges? LaTeX has \index{Demorange|(} to \index{Demorange|)} which is actually very convenient.
ConTeXt has \startregister, see
http://wiki.contextgarden.net/Registers#Collapse_Page_Numbers
I shoud probably have been more specific: While \startregister as such works for me, it
1) isn't collapsed as expected together with ordinary single register-entries (my main problem, cf mwe below)
2) is a bit cumbersome to use as it requires the user to keep track of keys, as explained in your link from contextgarden.
Best,
Florian.
\defineregister [demo] [demoes]
\starttext
1
\demo{Demorange}
\page[yes]
2
\demo{Demorange}
\page[yes]
3
\startregister[demo][demorange]{Demorange}
\page[yes]
4
\demo{Demorange}
\page[yes]
5
\page[yes]
6
\stopregister[demo][demorange]
\page[yes]
7
\demo{Demorange}
\page[yes]
\placeregister [demo] [compress=all]
\stoptext
____________________________________________
Florian Grammel
Copenhagen, Denmark