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

From: Eli Zaretskii <[email-masked]>
Date: Thu, 01 Apr 2010 23:22:41 +0300

> From: Juri Linkov <[email-masked]>
> Cc: [email-masked]
> Date: Thu, 01 Apr 2010 21:30:30 +0300
> 
> >> Maybe we should disable breadcrumbs in 23.2?
> >
> > I cannot believe this is so hard to fix properly.  Can you describe
> > the details?
> 
> Info breadcrumbs are currently implemented by inserting a string into
> the Info buffer.  This breaks all point positions that Info functions
> are relied upon.  It is a daunting task to try to account these offsets
> for the lengths of breadcrumb strings inserted in all visited nodes
> above the current node in the current Info file.  This practically
> means rewriting the core logic of info.el just before the release.

I was talking about fixing this on the trunk.  For Emacs 23.2, I
indeed think we should turn off this feature by default.

For the trunk, isn't it true that the function which actually goes to
a location is Info-find-node-2, and that all the others call it?  If
so, this is the main place to account for the inserted breadcrumbs.
We could maintain in some data structure the buffer positions and
length of each breadcrumbs line we insert, and then use that data
structure in Info-find-node-2 to compute the summary offset to be
applied in the current node.

WDYT?