Subject: bug#72761: issues with Flymake online documentation

From: Lester Longley <[email-masked]>
Date: Thu, 22 Aug 2024 17:01:37 -0400

Hi Eli,

Thanks for looking at that further.

Re: the second issue, the problem seems to start here, with this: <table
style="float:left" width="100%"> element (see PROBLEM below), which
(a) seems out of place
(b) is never closed w/ "</table>, as best I can see (as per inspection of
saved output from curl "
https://www.gnu.org/software/emacs/manual/html_mono/flymake.html")
Instead, this "<table>" seems to be closed with a mismatched "</ul>"

          <p>Syntax checks happen &ldquo;on-the-fly&rdquo;.  Each check is
started whenever:
          </p>

          <table style="float:left" width="100%">  <== PROBLEM?
            <li> <code>flymake-mode</code> is started, unless
              <code>flymake-start-on-flymake-mode</code> is
<code>nil</code>;

            </li><li> the buffer is saved, unless
<code>flymake-start-on-save-buffer</code> is
                   <code>nil</code>;

                 </li><li> some changes were made to the buffer more than
<code>0.5</code> seconds ago

               (the delay is configurable in
<code>flymake-no-changes-timeout</code>).

                      </li><li> When the user invokes the command
<code>flymake-start</code>.
                           </li></ul>  <== PROBLEM?

            <p>If the check detected errors or warnings, the respective
buffer
               regions are highlighted.  See <a
href="#Finding-diagnostics">Finding diagnostics</a>, for how to

                       learn what the problems are.
            </p>

I am unfamiliar w/ Texinfo, but I nonetheless don't see any "obvious"
reason that a <table> element should be emitted at the above location,
based on the below excerpt from
https://git.savannah.gnu.org/cgit/emacs.git/tree/doc/misc/flymake.texi?h=emacs-29#n115
(I'm just guessing on the corresponding version of this file currently used
for the online documentation)

    Syntax checks happen ``on-the-fly''.  Each check is started whenever:

    @itemize @bullet
    @item
    @code{flymake-mode} is started, unless
    @code{flymake-start-on-flymake-mode} is @code{nil};

    @item
    the buffer is saved, unless @code{flymake-start-on-save-buffer} is
    @code{nil};

    @item
    some changes were made to the buffer more than @code{0.5} seconds ago
    (the delay is configurable in @code{flymake-no-changes-timeout}).

    @item
    When the user invokes the command @code{flymake-start}.
    @end itemize

Perhaps this is helpful; if not please pardon & ignore.

On Thu, Aug 22, 2024 at 3:16 PM Eli Zaretskii <[email-masked]> wrote:

> > From: Lester Longley <[email-masked]>
> > Date: Thu, 22 Aug 2024 15:07:57 -0400
> > Cc: [email-masked]
> >
> > OK, here's a clue re: the first issue.
> >
> > The flymake "nodes" (
> https://www.gnu.org/software/emacs/manual/html_node/flymake/ ) manual
> (attempts) to
> > make a relative "cross link" to the eglot "nodes" manual, like so:
> >
> >     <a data-manual="eglot"
> href="../eglot_html/Eglot-Features.html#Eglot-Features">Eglot Features</a>
>
> Yes, that part was evident.  The question was why it says
> "eglot_html".  And I just found the answer: it's a relatively recent
> change in Texinfo.  From the Texinfo NEWS file:
>
>   7.0 (7 November 2022)
>   * texi2any
>   [...]
>    . HTML output:
>        . use manual_name_html as output directory for split HTML instead of
>          manual_name or manual_name.html
>
> Ugh!
>