gbranden pushed a commit to branch master
in repository groff.

commit a4686f83ba43c6e8a0567bc1089b386096aa764f
Author: G. Branden Robinson <[email protected]>
AuthorDate: Fri Apr 24 19:17:26 2026 -0500

    [troff]: Empty \n[.itm] after input trap springs.
    
    * src/roff/troff/env.cpp (environment::newline): Reset contents of
      read-only `.itm` register (introduced in groff 1.24.0) to null after
      an input trap has sprung, so that it doesn't interpolate a stale
      and/or misleading value.
    
    Fixes <https://savannah.gnu.org/bugs/?68278>.  Continues commit
    1fce75f6ba, 2024-02-11.
---
 ChangeLog              | 10 ++++++++++
 src/roff/troff/env.cpp |  4 +++-
 2 files changed, 13 insertions(+), 1 deletion(-)

diff --git a/ChangeLog b/ChangeLog
index 7b2befeb2..a2906cdd7 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,13 @@
+2026-04-24  G. Branden Robinson <[email protected]>
+
+       * src/roff/troff/env.cpp (environment::newline): Reset contents
+       of read-only `.itm` register (introduced in groff 1.24.0) to
+       null after an input trap has sprung, so that it doesn't
+       interpolate a stale and/or misleading value.
+
+       Fixes <https://savannah.gnu.org/bugs/?68278>.  Continues commit
+       1fce75f6ba, 2024-02-11.
+
 2026-04-22  G. Branden Robinson <[email protected]>
 
        * src/roff/groff/tests/\
diff --git a/src/roff/troff/env.cpp b/src/roff/troff/env.cpp
index b0027304d..cad5de9a4 100644
--- a/src/roff/troff/env.cpp
+++ b/src/roff/troff/env.cpp
@@ -2013,8 +2013,10 @@ void environment::newline()
   }
   if (input_trap_count > 0) {
     if (!(continued_input_trap && (was_previous_line_interrupted > 0)))
-      if (--input_trap_count == 0)
+      if (--input_trap_count == 0) {
        spring_trap(input_trap);
+       curenv->input_trap = NULL_SYMBOL;
+      }
   }
 }
 

_______________________________________________
groff-commit mailing list
[email protected]
https://lists.gnu.org/mailman/listinfo/groff-commit

Reply via email to