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