From 5ca3efa4235c119815d10da34b9b55a9b829c5e0 Mon Sep 17 00:00:00 2001 From: Ingo Schwarze Date: Wed, 27 Apr 2022 13:41:13 +0000 Subject: Fix three bugs regarding the interaction of \z and \h: 1. The combination \z\h is a no-op whatever the argument may be. In the past, the \z only affected the first space character generated by the \h, which was wrong. 2. For the conbination \zX\h with a positive argument, the first space resulting from the \h is not printed but consumed by the \z. 3. For the combination \zX\h with a negative argument, application of the \z needs to be completed before the \h can be started. In the past, if this combination occurred at the beginning of an output line, the \h backed up to the beginning of the line and after that, the \z attempted to back up even further, triggering an assertion. Bugs found during an audit of assignments to termp->col that i started after the bugfix tbl_term.c rev. 1.65. The assertion triggered by bug 3 was *not* yet found by afl(1). --- regress/roff/esc/hneg.out_ascii | 10 ++++++++++ 1 file changed, 10 insertions(+) create mode 100644 regress/roff/esc/hneg.out_ascii (limited to 'regress/roff/esc/hneg.out_ascii') diff --git a/regress/roff/esc/hneg.out_ascii b/regress/roff/esc/hneg.out_ascii new file mode 100644 index 00000000..000082f9 --- /dev/null +++ b/regress/roff/esc/hneg.out_ascii @@ -0,0 +1,10 @@ +ESC-HNEG(1) General Commands Manual ESC-HNEG(1) + +NNAAMMEE + eesscc--hhnneegg - the roff escape h sequence with a negative argument + +DDEESSCCRRIIPPTTIIOONN + simple: >dd