Subject: bug#5809: 23.1.94; cross-reference by anchor yields in accurate position

From: "Drew Adams" <[email-masked]>
Date: Fri, 2 Apr 2010 07:17:35 -0700

> > > Here's another, perhaps better idea: how about if, instead of
> > > inserting breadcrumbs as text into the buffer, we put an 
> > > overlay there with a display property whose value is the 
> > > breadcrumbs as a string?
> > > This way, buffer positions are not affected at all.
> > 
> > That was my thought as well, but then you can't "click" on 
> > breadcrumbs with the keyboard any more.
> 
> "Clicking" on breadcrumbs with a keyboard is the same as typing "u",
> so I don't see this as a loss.  And if we think this _is_ a loss, we
> could add a new feature.  Or maybe using the `cursor' property on the
> overlay will do the trick even without any new features.

Obviously, the ideal situation will be if both (a) breadcrumbs function fully
and (b) cross references and other features that reference positions function
accurately. That's what we're looking for, and that quest is good.

If, however, we ultimately find we need to, or decide to, settle for something
less than ideal, then there are different desirable qualities that could be
dropped. IOW it would be a trade-off.

I would just point out that things such as cross references are not completely
broken by breadcrumbs, IIUC. You are taken to the correct node in all cases, I
believe. Point is just not always moved to the exact location we would like - it
is sometimes moved nearby.

It might be decided that always respecting destination position exactly is a
must-have or is considered more important than the convenience (in terms of
orientation/help and navigation) of breadcrumbs. But let's at least be aware
that a trade-off is involved. It should not be a foregone conclusion to toss out
the baby with the bathwater.

Keep in mind too that in some documentation systems, which don't even have the
fine-grained "node" size of Info (on average), cross references generally do not
take you to an exact destination position. They just get you to the appropriate
section.