Fix a regression found by Carsten dot Kunze at arcor dot de:
authorschwarze <schwarze@openbsd.org>
Sat, 13 Dec 2014 13:13:26 +0000 (13:13 +0000)
committerschwarze <schwarze@openbsd.org>
Sat, 13 Dec 2014 13:13:26 +0000 (13:13 +0000)
Do not show bogus quotes when .Bl -column phrases are quoted.

regress/usr.bin/mandoc/mdoc/Bl/column.in
regress/usr.bin/mandoc/mdoc/Bl/column.out_ascii
regress/usr.bin/mandoc/mdoc/Bl/column.out_lint
usr.bin/mandoc/mdoc_macro.c

index 29706fa..e2bd961 100644 (file)
@@ -1,4 +1,4 @@
-.Dd December 24, 2009
+.Dd December 13, 2014
 .Dt BL-COLUMN 1
 .Os OpenBSD
 .Sh NAME
 .\" avoid "c" which means "cm"
 .Bl -column "a" "b" "cc"
 .It a Ta b Ta cc
+.It a  b       cc
+.It "a"        b       cc
+.It "a b"      cc
+.It "a b       cc"
 .El
 .Bl -column "a" "b" "cc" "d"
 .It a Ta b Ta cc Ta d
index e9d90cf..b934e2d 100644 (file)
@@ -8,6 +8,10 @@ D\bDE\bES\bSC\bCR\bRI\bIP\bPT\bTI\bIO\bON\bN
 
      a    b
 
+     a    b    cc
+     a    b    cc
+     a    b    cc
+     a    b    cc
      a    b    cc
 
      a    b    cc    d
@@ -48,4 +52,4 @@ D\bDE\bES\bSC\bCR\bRI\bIP\bPT\bTI\bIO\bON\bN
      a    b    cde
      aa    bb    cc    dd
 
-OpenBSD                        December 24, 2009                       OpenBSD
+OpenBSD                        December 13, 2014                       OpenBSD
index 5f97108..c6e80a0 100644 (file)
@@ -1,4 +1,4 @@
-mandoc: column.in:67:2: ERROR: argument count wrong: columns == 2 (have 1)
-mandoc: column.in:70:2: ERROR: argument count wrong: columns == 2 (have 4)
-mandoc: column.in:71:2: ERROR: argument count wrong: columns == 2 (have 5)
-mandoc: column.in:74:25: WARNING: skipping -width argument: Bl -column
+mandoc: column.in:71:2: ERROR: argument count wrong: columns == 2 (have 1)
+mandoc: column.in:74:2: ERROR: argument count wrong: columns == 2 (have 4)
+mandoc: column.in:75:2: ERROR: argument count wrong: columns == 2 (have 5)
+mandoc: column.in:78:25: WARNING: skipping -width argument: Bl -column
index a7adb9f..b71a1fb 100644 (file)
@@ -1,4 +1,4 @@
-/*     $OpenBSD: mdoc_macro.c,v 1.112 2014/11/30 05:28:00 schwarze Exp $ */
+/*     $OpenBSD: mdoc_macro.c,v 1.113 2014/12/13 13:13:26 schwarze Exp $ */
 /*
  * Copyright (c) 2008-2012 Kristaps Dzonsons <kristaps@bsd.lv>
  * Copyright (c) 2010, 2012, 2013, 2014 Ingo Schwarze <schwarze@openbsd.org>
@@ -670,11 +670,9 @@ macro_or_word(MACRO_PROT_ARGS, int parsed)
 
        p = buf + ppos;
        ntok = MDOC_MAX;
-       if (mdoc->flags & MDOC_PHRASELIT)
-               /* nothing */;
-       else if (*p == '"')
+       if (*p == '"')
                p++;
-       else if (parsed)
+       else if (parsed && ! (mdoc->flags & MDOC_PHRASELIT))
                ntok = lookup(mdoc, tok, line, ppos, p);
 
        if (ntok == MDOC_MAX) {