[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#36927: 26.2.90; include stdarg.h is without hyperlinking on vfprintf
From: |
Eli Zaretskii |
Subject: |
bug#36927: 26.2.90; include stdarg.h is without hyperlinking on vfprintf's manpage |
Date: |
Sun, 11 Aug 2019 17:09:38 +0300 |
> From: VanL <van@scratch.space>
> Date: Sun, 11 Aug 2019 15:26:50 +1000
> Cc: 36927@debbugs.gnu.org
>
> >> A possible way is to wait for all the subprocess sections to be done and
> >> to post-process on the fully collected buffer having lines like
> >
> > I considered this possibility, but rejected it: since we display the
> > man page even before the async subprocess exits, it would mean that
> > the displayed portion is not fontified until the very end, which would
> > render the entire idea of formatting in the background useless, and
> > would have use behave on all platforms as we do on MS-DOS.
>
> Graphics engines use a two buffer mechanism for collecting unfinished pixels
> backstage in one buffer and displaying finished pixels on stage in the ready
> buffer and then they alternate in their role.
We already do that in man.el, effectively: a new chunk of the text is
first fontified and buttonized, and only afterwards displayed.
> Not having all the `#include' lines buttonized is like missing a main
> character on stage.
I never said anything to the contrary. I've just spent several hours
of my time fixing that.
> Of the 40 `(defun' signatures in man.el the following 6 hint of opportunities
> in the event model's pipeline to place buttons in at
>
> 2) `update' or 6) `cleanup' before 3) `notify-when-ready'
>
> 1) on line 1075: (defun Man-getpage-in-background (topic)
That's the top-level function which does the job of, among other
things, fontifying and buttonizing the man page.
> 2) on line 1127: (defun Man-update-manpage ()
Not relevant to the issue at hand: this command is for a different use
case, and it invokes 'man' synchronously anyway.
> 3) on line 1154: (defun Man-notify-when-ready (man-buffer)
This one is called when the 'man' program exits, so waiting until that
time will eliminate the advantage of running 'man' in the background.
Irrelevant.
> 4) on line 1262: (defun Man-highlight-references (&optional xref-man-type)
> 5) on line 1289: (defun Man-highlight-references0 (start-section regexp
> button-pos target type)
These two are the ones where I made the changes (the first one just
calls the second one).
> 6) on line 1331: (defun Man-cleanup-manpage (&optional interactive)
Isn't called in the scenario discussed here, so is irrelevant.
Not sure where you are trying to take this discussion.
- bug#36927: 26.2.90; include stdarg.h is without hyperlinking on vfprintf's manpage, (continued)
bug#36927: 26.2.90; include stdarg.h is without hyperlinking on vfprintf's manpage, Eli Zaretskii, 2019/08/09
bug#36927: 26.2.90; include stdarg.h is without hyperlinking on vfprintf's manpage, Noam Postavsky, 2019/08/18