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

From: Juri Linkov <[email-masked]>
Date: Tue, 06 Apr 2010 01:17:45 +0300

> Or to reverse your argument: if it looks like a header-line, people will
> report bugs about the fact that it doesn't stay at the top of the
> display ;-)

Yeah, breadcrumbs now are not normal links and not a header-line.
But it's OK because when up/next/prev links are not in the header line
(when `Info-use-header-line' is nil) then TAB (`Info-next-reference')
doesn't go through up/next/prev links.  In this regard, they are like
breadcrumbs in an overlay.  There is one difference: it's possible
to type RET on up/next/prev in this case, but I think no one navigates
this way with the keyboard because it's too slow to move point
to a navigation link to type RET on it.

>> The overlay doesn't correctly interact with the `invisible'
>> text property.
>
> Interesting.  That deserves a comment.

Actually, nothing interesting because I meant that with the `invisible'
text property any overlay inside it becomes invisible, and there is no
other free place to put overlay on.

>> However, we can put 'invisible on the overlay instead of the text property:
>>     (let ((ov (make-overlay (point-min) (1+ header-end))))
>>       (overlay-put ov 'invisible t)
>>       (overlay-put ov 'after-string (Info-breadcrumbs))
>>       (overlay-put ov 'evaporate t))
>
> Yes, that's better, thank you.

Installed to the emacs-23 branch (with code for grey background commented out).

-- 
Juri Linkov
http://www.jurta.org/emacs/