]> git.cameronkatri.com Git - mandoc.git/commitdiff
Bugfix:
authorIngo Schwarze <schwarze@openbsd.org>
Thu, 20 Dec 2018 03:41:54 +0000 (03:41 +0000)
committerIngo Schwarze <schwarze@openbsd.org>
Thu, 20 Dec 2018 03:41:54 +0000 (03:41 +0000)
When after a \\, \t, or \a, another \t or \a had to be resolved
in copy mode within the same argument, the argument got corrupted.
Found while working on a loosely related bug report
from Fabio Scotoni <fabio at esse dot ch>.

regress/char/space/esct-man.in
regress/char/space/esct-man.out_ascii
regress/char/space/esct-man.out_lint
roff.c

index f290d9e21d0db2eb381efa1270f124a68859c58d..5b886958c48528966191d51adbaf957659ae7cbd 100644 (file)
@@ -1,5 +1,5 @@
-.\" $OpenBSD: esct-man.in,v 1.2 2017/07/04 14:53:23 schwarze Exp $
-.TH SPACE-ESCT-MAN 1 "December 15, 2018"
+.\" $OpenBSD: esct-man.in,v 1.4 2018/12/20 03:38:10 schwarze Exp $
+.TH SPACE-ESCT-MAN 1 "December 20, 2018"
 .SH NAME
 SPACE-T-MAN \- the t escape sequence in pages with man macros
 .SH DESCRIPTION
@@ -45,3 +45,5 @@ After font macros:
 .\" XXX not implemented
 .\" .br
 .\" .B single\aleader
+.br
+.B double\t\ttab
index 3056cc72ddef676b61060f314af869f116e4e31c..89e419173c95385922084e3410ec4859b8a7274b 100644 (file)
@@ -34,7 +34,8 @@ D\bDE\bES\bSC\bCR\bRI\bIP\bPT\bTI\bIO\bON\bN
 
        After font macros:
        s\bsi\bin\bng\bgl\ble\be    t\bta\bab\bb
+       d\bdo\bou\bub\bbl\ble\be         t\bta\bab\bb
 
 
 
-OpenBSD                        December 15, 2018             SPACE-ESCT-MAN(1)
+OpenBSD                        December 20, 2018             SPACE-ESCT-MAN(1)
index 2fa8ba9c410635a94b3362ce07f58c3c52a0c0b6..f94f50bb930769e92c2e36c55137314dbdaa3ff2 100644 (file)
@@ -4,3 +4,5 @@ mandoc: esct-man.in:14:8: WARNING: tab in filled text
 mandoc: esct-man.in:34:11: WARNING: tab in filled text
 mandoc: esct-man.in:36:11: WARNING: tab in filled text
 mandoc: esct-man.in:44:10: WARNING: tab in filled text
+mandoc: esct-man.in:49:10: WARNING: tab in filled text
+mandoc: esct-man.in:49:11: WARNING: tab in filled text
diff --git a/roff.c b/roff.c
index e25a74efe9865e30b16db5f7378ea8f5a68aa798..0304156f7dc39d79a93667e792bce7b6cd911fcf 100644 (file)
--- a/roff.c
+++ b/roff.c
@@ -1,4 +1,4 @@
-/*     $Id: roff.c,v 1.353 2018/12/18 22:00:02 schwarze Exp $ */
+/*     $Id: roff.c,v 1.354 2018/12/20 03:41:54 schwarze Exp $ */
 /*
  * Copyright (c) 2008-2012, 2014 Kristaps Dzonsons <kristaps@bsd.lv>
  * Copyright (c) 2010-2015, 2017, 2018 Ingo Schwarze <schwarze@openbsd.org>
@@ -1588,7 +1588,7 @@ mandoc_getarg(char **cpp, int ln, int *pos)
                        switch (cp[1]) {
                        case 'a':
                        case 't':
-                               cp[0] = '\t';
+                               cp[-pairs] = '\t';
                                /* FALLTHROUGH */
                        case '\\':
                                pairs++;