]> git.cameronkatri.com Git - mandoc.git/commitdiff
Allow comma-separated options in tbl(7) tables.
authorIngo Schwarze <schwarze@openbsd.org>
Wed, 26 Nov 2014 17:51:55 +0000 (17:51 +0000)
committerIngo Schwarze <schwarze@openbsd.org>
Wed, 26 Nov 2014 17:51:55 +0000 (17:51 +0000)
Provides better groff compatibility.
From bentley@.

tbl.7
tbl_opts.c

diff --git a/tbl.7 b/tbl.7
index 4073290c233cf752de64483882626a7eafde7a1c..04f5b47f8c5d843b9b4cc3d184995a2f544c493c 100644 (file)
--- a/tbl.7
+++ b/tbl.7
@@ -1,4 +1,4 @@
-.\"    $Id: tbl.7,v 1.20 2014/10/14 02:16:06 schwarze Exp $
+.\"    $Id: tbl.7,v 1.21 2014/11/26 17:51:55 schwarze Exp $
 .\"
 .\" Copyright (c) 2010, 2011 Kristaps Dzonsons <kristaps@bsd.lv>
 .\" Copyright (c) 2014 Ingo Schwarze <schwarze@openbsd.org>
@@ -15,7 +15,7 @@
 .\" ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
 .\" OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
 .\"
-.Dd $Mdocdate: October 14 2014 $
+.Dd $Mdocdate: November 26 2014 $
 .Dt TBL 7
 .Os
 .Sh NAME
@@ -135,6 +135,7 @@ in the case of
 .Ss Options
 The first line of a table consists of space-separated option keys and
 modifiers terminated by a semicolon.
+For GNU compatibility, option keys can also be separated by commas.
 If the first line does not have a terminating semicolon, it is assumed
 that no options are specified and instead a
 .Sx Layout
index 10f33d417579cc87f7d45fe3db39b4a371c603c6..d5ad42f73e5e023042bada3404f66e66cdef5ee2 100644 (file)
@@ -1,4 +1,4 @@
-/*     $Id: tbl_opts.c,v 1.14 2014/08/10 23:54:41 schwarze Exp $ */
+/*     $Id: tbl_opts.c,v 1.15 2014/11/26 17:51:55 schwarze Exp $ */
 /*
  * Copyright (c) 2009, 2010, 2011 Kristaps Dzonsons <kristaps@bsd.lv>
  *
@@ -182,7 +182,7 @@ again:      /*
         *
         * options      ::= option_list [:space:]* [;][\n]
         * option_list  ::= option option_tail
-        * option_tail  ::= [:space:]+ option_list |
+        * option_tail  ::= [,:space:]+ option_list |
         *              ::= epsilon
         * option       ::= [:alpha:]+ args
         * args         ::= [:space:]* [(] [:alpha:]+ [)]
@@ -213,7 +213,7 @@ again:      /*
 
        buf[i] = '\0';
 
-       while (isspace((unsigned char)p[*pos]))
+       while (isspace((unsigned char)p[*pos]) || p[*pos] == ',')
                (*pos)++;
 
        /*