Follow-up Comment #5, bug #67916 (group groff):

[comment #4 comment #4:]
> Happy for you to push a test.
> 
> I am seeing a FAIL with current git:-

> FAIL: src/roff/groff/tests/lj4-device-smoke-test.sh
> ===================================================
> 
> 0000060   1   0   V esc   *   p   9   1   6   x   2   0   0   Y   H   e
> 0000100   l   l   o esc   *   p   -   9   X   , esc   *   p   +   4   9
> 0000120   X   w esc   *   p   -   9   X   o   r   l   d   !  ff esc   E
> FAIL src/roff/groff/tests/lj4-device-smoke-test.sh (exit status: 1)


Bjarni has filed bug #67927 for this issue.  I can't reproduce it.  My belly
tells me this has nothing to do with your _gropdf_ work, so I hereby shake the
holy water sprinkler and bless you to push your change **EVEN WITH THE TREE
RED OMG**.

And drink deeply of the thrill of transgressing the holy scripture of
Agile/Scrum!

> Also I have been seeing problems with groff-man-pages.pdf. It goes wrong
> doing the groff_mdoc(7) page and then corrects itself at groff_mm_se(7)
> (because it does a reload for swedish).

What _specific_ problems are you seeing?  _groff_mdoc_(7) looks line to me, as
do _groff_me_(7) and _groff_mm_(7) after it.  I'll attach my
"groff-man-pages.pdf" from my build of Savannah's "HEAD".  In that document, I
can navigate as expected from the "See also" section of _groff_(1) to all four
of those man pages.

**EDIT**: No, I won't attach it.  "Request Entity Too Large".

"(Note: upload size limit is set to 4.0MiB, after insertion of the required
escape characters.)"

The file I'm trying to attach is only 1.7MB, so I guess it's just not my day.

Please check out [https://paste.c-net.org/BaronessBacked my Enormous Entity]
externally.  (I try always to work that sentence into a first date.)

> Bisect gives this as the first "bad":-

> commit e0b89348a01b06fa45efde626f5254111e90ad49
> Author: G. Branden Robinson <[email protected]>
> Date:   Thu Jul 17 12:59:11 2025 -0500
> 
> [mdoc]: Fix missing brace escape sequence.
> 
> * tmac/mdoc/doc-common (Sh): Do it.
> 
> diff --git a/ChangeLog b/ChangeLog
> index 35633ecf9..fb6b8bf49 100644
> --- a/ChangeLog
> +++ b/ChangeLog
> @@ -1,3 +1,7 @@
> +2025-07-17  G. Branden Robinson <[email protected]>
> +
> +       * tmac/mdoc/doc-common (Sh): Fix missing brace escape sequence.
> +
> 2025-07-17  G. Branden Robinson <[email protected]>
> 
> * tmac/mdoc/doc-common (Sh): Stop disabling adjustment in troff
> diff --git a/tmac/mdoc/doc-common b/tmac/mdoc/doc-common
> index 5b8a1e4b6..314083129 100644
> --- a/tmac/mdoc/doc-common
> +++ b/tmac/mdoc/doc-common
> @@ -1480,7 +1480,7 @@
> .    ss (\n[.ss] * 5 / 3) (\n[.sss] * 5 / 3)
> .  \}
> .
> -.  if \n[doc-remap-I-style-in-headings] \
> +.  if \n[doc-remap-I-style-in-headings] \{\
> .    ftr \*[doc-heading-family]I \*[doc-heading-family]BI
> .
> .    nr doc-arg-ptr +1


> reversing this change fixes the problem, but makes another problem visible.
> In some circumstances bolding (on groff_mdoc) fails and is replaced by a
> single "B".
> 
> The closing brace on current line 1500 is intended to close the .el on line
> 1413.

There must be some kind of desync going on.


$ git describe
1.23.0-5056-ga18efe628
$ sed -n '1413p;1500p' tmac/mdoc/doc-common 
.  ds doc-str-tmp1 "\$*
.  \}

Commit e0b89348a01b06fa45efde626f5254111e90ad49 is a one-line change (and a
ChangeLog entry), affecting the `Sh` macro, which begins at line 1465.  The
whole macro is not all that big.

+verbatim+
$ sed -n '1464,1501p' tmac/mdoc/doc-common 
.eo
.de Sh
.  \" Tell doc-print-recursive whether to force capitalization.
.  nr doc-do-capitalize \n[CS]
.
.  \" Normalize capitalization of section heading.
.  doc-prepare-section-heading \$*
.
.  ie "\*[doc-sec-head]"\*[doc-section-name]" \
.    nr doc-in-name-section 1
.  el \
.    nr doc-in-name-section 0
.
.  ie \n[doc-arg-count] \{\
.    \" we only allow 'Sh' within 'Sh'; it will change the font back to
.    \" 'doc-Sh-font'
.    ie "\*[doc-macro-name]"Sh" \{\
.      nr doc-arg-ptr +1
.      ie (\n[doc-arg-count] >= \n[doc-arg-ptr]) \{\
.        nr doc-curr-font \n[.f]
.        nop \f[\*[doc-Sh-font]]\c
.        doc-print-recursive
.      \}
.      el \{\
.        doc-report-usage .Sh section_name ...
.        doc-reset-args
.    \}\}
.    el \{\
.      doc-report-usage .Sh not callable by other macros
.      doc-reset-args
.  \}\}
.  el \{\
.    if !\n[.$] \{\
.      doc-report-usage .Sh section_name ...
.      return
.    \}
.  \}
.


I think the lines with `\}\}` apply an ugly (and potentially confusing) idiom,
but going through and counting things with _vi_'s '%' command, the structure
**appears** to be in order.

> I have not found out where the killer bees are coming from!!

I think part of your installation might be stale?


    _______________________________________________________

Reply to this item at:

  <https://savannah.gnu.org/bugs/?67916>

_______________________________________________
Message sent via Savannah
https://savannah.gnu.org/

Attachment: signature.asc
Description: PGP signature

Reply via email to