Subject: bug#52417: [External] : bug#52417: Mark ring navigation could be two-way

From: Drew Adams <[email-masked]>
Date: Mon, 13 Dec 2021 15:09:55 +0000

> Another idea: add a command that will display a *xref* buffer
> with lines of locations extracted from the global-mark-ring.
> This will allow visiting mark locations from the mark list.

FWIW, I added this to Icicles on Dec 16, 2006.

By default, in Icicle mode there are these
multi-commands:

1. `C-SPC is bound' to
`icicle-goto-marker-or-set-mark-command'.

Goes to a marker or sets the mark.
No prefix arg or prefix arg > 0: `set-mark-command'.
Prefix arg < 0: goes to a local marker you choose.
Prefix arg = 0: goes to global or local marker.

Completion candidates are text of the marker's
line.

2. `C-x C-SPC' is bound to
`icicle-goto-global-marker-or-pop-global-mark'.

Goes to a global marker or pops the global mark.
Prefix arg < 0: goes to global marker you choose.
Otherwise, this is `pop-global-mark'.

Completion candidates can be multi-completions,
with two parts: (1) marker's buffer name, (2) text
from marker's line.  You can match either or both
parts, to narrow the choices.

By default, candidates are sorted in buffer order
and then marker order (buffer position).  As usual,
you can change the sort order on the fly.
___

A "multi-command" means that you can, with a single
command invocation, act multiple times, e.g. on
different completion candidates.  So you can move
around among marker positions, including cycling
in buffer order (or other orders).