groff-commit
[Top][All Lists]
Advanced

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

[groff] 28/36: [mm]: Add paranoia to `MC` internals.


From: G. Branden Robinson
Subject: [groff] 28/36: [mm]: Add paranoia to `MC` internals.
Date: Tue, 17 Jan 2023 20:45:14 -0500 (EST)

gbranden pushed a commit to branch master
in repository groff.

commit ad4fe27e6456ece285434abc681fe8222a4be5a8
Author: G. Branden Robinson <g.branden.robinson@gmail.com>
AuthorDate: Mon Jan 16 17:10:58 2023 -0600

    [mm]: Add paranoia to `MC` internals.
    
    * contrib/mm/m.tmac (MC): Throw internal error if we don't leave
      `pg*cols-per-page` in a valid state after invalidating it to count
      columns.  Also simplify expression.
---
 contrib/mm/ChangeLog | 6 ++++++
 contrib/mm/m.tmac    | 6 ++++--
 2 files changed, 10 insertions(+), 2 deletions(-)

diff --git a/contrib/mm/ChangeLog b/contrib/mm/ChangeLog
index 5c12cf7b9..41c8b569c 100644
--- a/contrib/mm/ChangeLog
+++ b/contrib/mm/ChangeLog
@@ -1,3 +1,9 @@
+2023-01-16  G. Branden Robinson <g.branden.robinson@gmail.com>
+
+       * m.tmac (MC): Throw internal error if we don't leave
+       `pg*cols-per-page` in a valid state after invalidating it to
+       count columns.  Also simplify expression.
+
 2023-01-16  G. Branden Robinson <g.branden.robinson@gmail.com>
 
        * m.tmac (1C): Warn and return early instead of bombing out if
diff --git a/contrib/mm/m.tmac b/contrib/mm/m.tmac
index 31f22e7c2..02423b882 100644
--- a/contrib/mm/m.tmac
+++ b/contrib/mm/m.tmac
@@ -1642,12 +1642,14 @@ messy
 .el .nr pg*column-sep (n;\\$2)
 .\"
 .\" calculate the number of columns/page
-.nr pg*cols-per-page 0
+.nr pg*cols-per-page 0 \" temporarily invalid!
 .nr pg*i \\n[pg*column-size]
 .while \\n[pg*i]<=\\n[.l] \{\
-.      nr pg*cols-per-page \\n[pg*cols-per-page]+1
+.      nr pg*cols-per-page +1
 .      nr pg*i \\n[pg*i]+\\n[pg*column-sep]+\\n[pg*column-size]
 .\}
+.if \\n[pg*cols-per-page]<0 .@abort \\n[pg*cols-per-page] columns in \
+page
 .nr pg*cur-column 0 1
 .nr pg*cur-po \\n[@po]u
 .ll \\n[pg*column-size]u



reply via email to

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