* src/roff/groff/tests/error-badly-delimited-escape-sequences.sh: New file; do it.
* src/roff/groff/groff.am: Update `groff_TESTS` to run test. Test fails at this commit. --- ChangeLog | 8 ++++ src/roff/groff/groff.am | 1 + .../error-badly-delimited-escape-sequences.sh | 41 +++++++++++++++++++ 3 files changed, 50 insertions(+) create mode 100755 src/roff/groff/tests/error-badly-delimited-escape-sequences.sh diff --git a/ChangeLog b/ChangeLog index c488e2c38..3018a96e9 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,11 @@ +2026-10-25 G. Branden Robinson <[email protected]> + + [groff]: Regression-test Savannah #68832. + + * src/roff/groff/tests/\ + error-badly-delimited-escape-sequences.sh: New file; do it. + * src/roff/groff/groff.am: Update `groff_TESTS` to run test. + 2026-10-23 G. Branden Robinson <[email protected]> * src/preproc/tbl/table.cpp (table::add_entry): Fix duplicative diff --git a/src/roff/groff/groff.am b/src/roff/groff/groff.am index 49fe0f835..286167ee8 100644 --- a/src/roff/groff/groff.am +++ b/src/roff/groff/groff.am @@ -104,6 +104,7 @@ groff_TESTS = \ src/roff/groff/tests/dt-request-works.sh \ src/roff/groff/tests/dvi-device-smoke-test.sh \ src/roff/groff/tests/error-als-request-given-bogus-arguments.sh \ + src/roff/groff/tests/error-badly-delimited-escape-sequences.sh \ src/roff/groff/tests/error-chop-request-given-bogus-argument.sh \ src/roff/groff/tests/error-close-request-given-empty-argument.sh \ src/roff/groff/tests/error-defcolor-request-given-bogus-arguments.sh \ diff --git a/src/roff/groff/tests/error-badly-delimited-escape-sequences.sh b/src/roff/groff/tests/error-badly-delimited-escape-sequences.sh new file mode 100755 index 000000000..dbfb04c9d --- /dev/null +++ b/src/roff/groff/tests/error-badly-delimited-escape-sequences.sh @@ -0,0 +1,41 @@ +#!/bin/sh +# +# Copyright 2026 G. Branden Robinson +# +# This file is part of groff, the GNU roff typesetting system. +# +# groff is free software; you can redistribute it and/or modify it under +# the terms of the GNU General Public License as published by the Free +# Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# groff is distributed in the hope that it will be useful, but WITHOUT +# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or +# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +# for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see <http://www.gnu.org/licenses/>. + +groff="${abs_top_builddir:-.}/test-groff" + +fail= + +wail () { + echo "...FAILED" + fail=yes +} + +# Regression-test Savannah #68832. + +for esc in o b A Z R X D +do + echo "checking parser state when badly delimited '$esc'" \ + "escape sequence follows badly delimited 'o' escape sequence" \ + >&2 + printf '\o@\n\\%s1\n' $esc | "$groff" -z -ww || wail +done + +test -z "$fail" + +# vim:set autoindent expandtab shiftwidth=4 tabstop=4 textwidth=72: -- 2.39.5
signature.asc
Description: PGP signature
