groff-commit
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[groff] 14/15: [man]: Fix half of Savannah #60611.


From: G. Branden Robinson
Subject: [groff] 14/15: [man]: Fix half of Savannah #60611.
Date: Wed, 19 May 2021 11:00:41 -0400 (EDT)

gbranden pushed a commit to branch master
in repository groff.

commit f6f1218b0408233124b7b63cd53aa529659e0901
Author: G. Branden Robinson <g.branden.robinson@gmail.com>
AuthorDate: Thu May 20 00:50:01 2021 +1000

    [man]: Fix half of Savannah #60611.
    
    Fix stochastic vertical space loss problems in continuous rendering mode
    by being more scrupulous about extending the page length.  As noted in
    Savannah #60611, sometimes the vertical space between a header line and
    the first section heading ("Name") would be reduced or removed
    altogether, in a way that was highly sensitive to circumstances.  As far
    as I can tell, the problem is that this vertical space disappeared only
    when we were in double-secret probation no-space mode; this is the
    special non-spacing mode (not apparent with inspection of \n[.ns]) that
    happens when the internal stealth vertical position trap is sprung.
    This trap does not appear in .ptr output but can be disabled with ".vpt
    0", which is an alternative fix for this problem (because continuous
    rendering mode does not use vertical position traps at all).  Another
    fix might have been to simply call the moral equivalent of ".pl MAXINT"
    as soon as continuous rendering mode was decided upon.
    
    * tmac/an-old.tmac (an-header): In continuous rendering mode, extend the
      page length by one line before calling PT to output the page header,
      and afterwards, extend the page length by 3 vees and space by that
      amount (instead of half an inch).
    
    Fixes half of <https://savannah.gnu.org/bugs/?60611>.
---
 ChangeLog        | 26 ++++++++++++++++++++++++++
 tmac/an-old.tmac |  8 ++++++--
 2 files changed, 32 insertions(+), 2 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index 1978707..d41ddc8 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,31 @@
 2021-05-20  G. Branden Robinson <g.branden.robinson@gmail.com>
 
+       Fix stochastic vertical space loss problems in continuous
+       rendering mode by being more scrupulous about extending the page
+       length.  As noted in Savannah #60611, sometimes the vertical
+       space between a header line and the first section heading
+       {"Name"} would be reduced or removed altogether, in a way that
+       was highly sensitive to circumstances.  As far as I can tell,
+       the problem is that this vertical space disappeared only when we
+       were in double-secret probation no-space mode; this is the
+       special non-spacing mode {not apparent with inspection of
+       \n[.ns]} that happens when the internal stealth vertical
+       position trap is sprung.  This trap does not appear in .ptr
+       output but can be disabled with ".vpt 0", which is an
+       alternative fix for this problem {because continuous rendering
+       mode does not use vertical position traps at all}.  Another fix
+       might have been to simply call the moral equivalent of ".pl
+       MAXINT" as soon as continuous rendering mode was decided upon.
+
+       * tmac/an-old.tmac (an-header): In continuous rendering mode,
+       extend the page length by one line before calling PT to output
+       the page header, and afterwards, extend the page length by 3
+       vees and space by that amount (instead of half an inch).
+
+       Fixes half of <https://savannah.gnu.org/bugs/?60611>.
+
+2021-05-20  G. Branden Robinson <g.branden.robinson@gmail.com>
+
        * tmac/an-old.tmac (an-header, an-footer): Drop no-op .tl
        requests.
 
diff --git a/tmac/an-old.tmac b/tmac/an-old.tmac
index ed47693..2e091dd 100644
--- a/tmac/an-old.tmac
+++ b/tmac/an-old.tmac
@@ -287,11 +287,15 @@
 .  if !\\n[an-is-output-html] \
 .    if !\\n[cR] \
 .      sp .5i
+.    if \\n[cR] \
+.      pl +1v
 .    PT
 .    ie !\\n[cR] \
 .      sp |1i
-.    el \
-.      sp .5i
+.    el \{\
+.      pl +3v
+.      sp 3v
+.    \}
 .  \}
 .  ev
 .  ns



reply via email to

[Prev in Thread] Current Thread [Next in Thread]