Update of bug #67363 (group groff):

                  Status:             In Progress => Fixed
             Open/Closed:                    Open => Closed
         Planned Release:                    None => 1.24.0

    _______________________________________________________

Follow-up Comment #6:


.bashrc: prepending to $PATH: /bin
.bashrc: prepending to $PATH: /usr/bin
.bashrc: prepending to $PATH: /usr/local/bin
.bashrc: prepending to $PATH: /home/branden/bin
.bashrc: prepending to $PATH: /home/branden/groff-stable/bin
.bashrc: prepending to $PATH: /home/branden/groff-HEAD/bin
.bashrc: prepending to $PATH: /home/branden/ncurses-HEAD/bin
.bashrc: Operating system: Linux
.bashrc: Distribution: PureOS \n \l
.bashrc: $TERM: xterm-256color
.bashrc: locale charmap: UTF-8
.bashrc: merging X resources
 3447 ssh-agent -s
 1474 /usr/libexec/gnome-session-binary --systemd-service --session=gnome
## 2025-07-31 00:51:42 bash-5.1 [6] {0} (0) branden@illithid:~ !501$ cd
src/GIT/groff
## 2025-07-31 00:51:51 bash-5.1 [6] {0} (0) branden@illithid:~/src/GIT/groff
!502$ git log
commit 8d53c2f4f38723164f64f5df94861ea1bc2fb2dc (HEAD -> master,
origin/master, origin/HEAD)
Author: G. Branden Robinson <g.branden.robin...@gmail.com>
Date:   Wed Jul 16 12:10:45 2025 -0500

    [mdoc]: Fix Savannah #67363 (4/4).
    
    Make man page rendering more robust against meddling with the adjustment
    mode by individual pages.  In part this is to ensure that meddling
    doesn't persist outside the meddlesome document when rendering multiple
    pages, but it also makes user preferences more reliably discernible.
    Prompted by a discussion with Russ Allbery (about man(7)) in late 2023.
    
    * tmac/doc.tmac ([initialization]): When rendering a man page,
      this macro file is read before any mdoc(7) document; therefore,
      if the `AD` string is set, we know it was specified on the
      command line or by the "mdoc.local" file.  Stash its value in
      new string `andoc*AD` so it can be recovered after meddling by
      the document.
    
    * tmac/mdoc/doc-common (Dd): Remove the potentially page-local
      `AD` string when starting a new document, and call
      `an*reset-adjustment-mode` interpolating `andoc*AD` as an
      argument to impose the user's preference (or the package
      default) at each new document.
    
      (doc-reset-adjustment-mode): New macro.  Recover that value.  Compute
      the desired adjustment mode based on, in descending priority: (1) the
      user's preference; (2) the page's preference.
    
      (Sh): Configure adjustment _after_ determining formatting parameters
      dependent on the name of the section heading.  Move `na` request out
      of control branch matching the `doc-sec-head` and
      `doc-section-synopsis` strings.  Later, invoke `na` if we're in a
      synopsis section and `doc-reset-adjustment-mode` otherwise.
    
      (Ss): Invoke `na` if we're in a synopsis section and
      `doc-reset-adjustment-mode` otherwise.
    
    * tmac/tests/doc_user-preferred-adjustment-restored.sh: Add test to
      verify preservation of user-selected adjustment mode.
    * tmac/tmac.am (tmac_TESTS): Run test.
    
    Fixes <https://savannah.gnu.org/bugs/?67363> (4/4).  Thanks to
    Russ Allbery for posing the challenge.

commit e0a498b6bc2a0b209616910bfa16d33a8453139c
Author: G. Branden Robinson <g.branden.robin...@gmail.com>
Date:   Mon Jul 21 19:27:59 2025 -0500

    [mdoc]: Fix Savannah #67363 (3/4).
    
    Make man page rendering more robust against meddling with the
    hyphenation mode by individual pages.  In part this is to ensure that
    meddling doesn't persist outside the meddlesome document when rendering
    multiple pages, but it also makes user preferences more reliably
    discernible.  Prompted by a discussion (about adjustment in man(7)) with
    Russ Allbery in late 2023.
    
    * tmac/doc.tmac ([initialization]): When rendering a man page, this
      macro file is read before any mdoc(7) document:track man/mdoc
      initialization status in new register `andoc*is-initialized`.  When
      initializing, if the `HY` register is set, we know it was specified on
      the command line or by the "man.local" file.  Stash its value in new
      register `andoc*HY` so it can be recovered after meddling by the
      document.
    
    * tmac/mdoc/doc-common (Dd): Remove the potentially page-local `HY`
      register when starting a new document, and call
      `doc-reset-hyphenation-mode` interpolating `andoc*HY` as an argument
      to impose the user's preference (or the package default) at each new
      document.
    
      (doc-reset-hyphenation-mode): Accept an argument, and if valid, assign
      its value to the `HY` register.
    
      (Sh): Configure hyphenation _after_ determining formatting parameters
      dependent on the name of the section heading.  Move `nh` request out
      of control branch matching the `doc-sec-head` and
      `doc-section-synopsis` strings.  Later, invoke `nh` if we're in a
      synopsis section and `doc-reset-hyphenation-mode` otherwise.
    
      (Ss): Invoke `nh` if we're in a synopsis section and
      `doc-reset-hyphenation-mode` otherwise.  As a side effect, this
      subjects subsection headings to hyphenation.  (Section headings
      produced by the `Sh` macro already were.)
    
    * tmac/tests/doc_hyphenation-mode-restoration-works.sh: Add test to
      verify preservation of document- and user-selected hyphenation modes.
    * tmac/tmac.am (tmac_TESTS): Run test.
      configuring adjustment.  Accept an argument, and if valid,
      assign its contents to the `AD` string.
    
      (an*reset-paragraph-parameters): Stop manipulating adjustment in favor
      of calling the new macro.
    
      (TH): Remove the potentially page-local `AD` string when starting a
      new document, and call `an*reset-adjustment-mode` interpolating
      `andoc*AD` as an argument to impose the user's preference (or the
      package default) at each new document.
    
    * tmac/tests/an_adjustment-mode-restoration-works.sh: Add test to verify
      preservation of document- and user-selected adjustment mode.
    * tmac/tmac.am (tmac_TESTS): Run test.
    
    Fixes <https://savannah.gnu.org/bugs/?67363> (2/4).  Thanks to Russ
    Allbery for posing the challenge.

commit e0a498b6bc2a0b209616910bfa16d33a8453139c
Author: G. Branden Robinson <g.branden.robin...@gmail.com>
Date:   Mon Jul 21 19:27:59 2025 -0500

    [mdoc]: Fix Savannah #67363 (3/4).
    
    Make man page rendering more robust against meddling with the
    hyphenation mode by individual pages.  In part this is to ensure that
    meddling doesn't persist outside the meddlesome document when rendering
    multiple pages, but it also makes user preferences more reliably
    discernible.  Prompted by a discussion (about adjustment in man(7)) with
    Russ Allbery in late 2023.
    
    * tmac/doc.tmac ([initialization]): When rendering a man page, this
      macro file is read before any mdoc(7) document:track man/mdoc
      initialization status in new register `andoc*is-initialized`.  When
      initializing, if the `HY` register is set, we know it was specified on
      the command line or by the "man.local" file.  Stash its value in new
      register `andoc*HY` so it can be recovered after meddling by the
      document.
    
    * tmac/mdoc/doc-common (Dd): Remove the potentially page-local `HY`
      register when starting a new document, and call
      `doc-reset-hyphenation-mode` interpolating `andoc*HY` as an argument
      to impose the user's preference (or the package default) at each new
      document.
    
      (doc-reset-hyphenation-mode): Accept an argument, and if valid, assign
      its value to the `HY` register.
    
      (Sh): Configure hyphenation _after_ determining formatting parameters
      dependent on the name of the section heading.  Move `nh` request out
      of control branch matching the `doc-sec-head` and
      `doc-section-synopsis` strings.  Later, invoke `nh` if we're in a
      synopsis section and `doc-reset-hyphenation-mode` otherwise.
    
      (Ss): Invoke `nh` if we're in a synopsis section and
      `doc-reset-hyphenation-mode` otherwise.  As a side effect, this
      subjects subsection headings to hyphenation.  (Section headings
      produced by the `Sh` macro already were.)
    
    * tmac/tests/doc_hyphenation-mode-restoration-works.sh: Add test to
      verify preservation of document- and user-selected hyphenation modes.
    * tmac/tmac.am (tmac_TESTS): Run test.
    
    Fixes <https://savannah.gnu.org/bugs/?67363> (3/4).  Thanks to Russ
    Allbery for posing the challenge.

commit 8d53c2f4f38723164f64f5df94861ea1bc2fb2dc
Author: G. Branden Robinson <g.branden.robin...@gmail.com>
Date:   Wed Jul 16 12:10:45 2025 -0500

    [mdoc]: Fix Savannah #67363 (4/4).
    
    Make man page rendering more robust against meddling with the adjustment
    mode by individual pages.  In part this is to ensure that meddling
    doesn't persist outside the meddlesome document when rendering multiple
    pages, but it also makes user preferences more reliably discernible.
    Prompted by a discussion with Russ Allbery (about man(7)) in late 2023.
    
    * tmac/doc.tmac ([initialization]): When rendering a man page,
      this macro file is read before any mdoc(7) document; therefore,
      if the `AD` string is set, we know it was specified on the
      command line or by the "mdoc.local" file.  Stash its value in
      new string `andoc*AD` so it can be recovered after meddling by
      the document.
    
    * tmac/mdoc/doc-common (Dd): Remove the potentially page-local
      `AD` string when starting a new document, and call
      `an*reset-adjustment-mode` interpolating `andoc*AD` as an
      argument to impose the user's preference (or the package
      default) at each new document.
    
      (doc-reset-adjustment-mode): New macro.  Recover that value.  Compute
      the desired adjustment mode based on, in descending priority: (1) the
      user's preference; (2) the page's preference.
    
      (Sh): Configure adjustment _after_ determining formatting parameters
      dependent on the name of the section heading.  Move `na` request out
      of control branch matching the `doc-sec-head` and
      `doc-section-synopsis` strings.  Later, invoke `na` if we're in a
      synopsis section and `doc-reset-adjustment-mode` otherwise.
    
      (Ss): Invoke `na` if we're in a synopsis section and
      `doc-reset-adjustment-mode` otherwise.
    
    * tmac/tests/doc_user-preferred-adjustment-restored.sh: Add test to
      verify preservation of user-selected adjustment mode.
    * tmac/tmac.am (tmac_TESTS): Run test.
    
    Fixes <https://savannah.gnu.org/bugs/?67363> (4/4).  Thanks to
    Russ Allbery for posing the challenge.




    _______________________________________________________

Reply to this item at:

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

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

Attachment: signature.asc
Description: PGP signature

Reply via email to