[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
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [groff] 28/36: [mm]: Add paranoia to `MC` internals.,
G. Branden Robinson <=