]> git.cameronkatri.com Git - mandoc.git/commitdiff
Documented ARGS_ handling in args().
authorKristaps Dzonsons <kristaps@bsd.lv>
Thu, 20 Aug 2009 09:07:24 +0000 (09:07 +0000)
committerKristaps Dzonsons <kristaps@bsd.lv>
Thu, 20 Aug 2009 09:07:24 +0000 (09:07 +0000)
libmdoc.h
mdoc_argv.c

index eca0f54dee263ecf5bd8df545276a93ee0de50d0..bd4ccad898200908e05a0b8f75c2af23b3b6116d 100644 (file)
--- a/libmdoc.h
+++ b/libmdoc.h
@@ -1,4 +1,4 @@
-/*     $Id: libmdoc.h,v 1.25 2009/08/20 08:59:12 kristaps Exp $ */
+/*     $Id: libmdoc.h,v 1.26 2009/08/20 09:07:24 kristaps Exp $ */
 /*
  * Copyright (c) 2008, 2009 Kristaps Dzonsons <kristaps@kth.se>
  *
@@ -172,9 +172,9 @@ int           mdoc_args(struct mdoc *, int,
                        int *, char *, int, char **);
 int              mdoc_zargs(struct mdoc *, int, 
                        int *, char *, int, char **);
-#define        ARGS_DELIM      (1 << 1)
-#define        ARGS_TABSEP     (1 << 2)
-#define        ARGS_NOWARN     (1 << 3)
+#define        ARGS_DELIM      (1 << 1)        /* See args(). */
+#define        ARGS_TABSEP     (1 << 2)        /* See args(). */
+#define        ARGS_NOWARN     (1 << 3)        /* See args(). */
 #define        ARGS_ERROR      (-1)
 #define        ARGS_EOLN       (0)
 #define        ARGS_WORD       (1)
index 1efed9c4f14f8d1d85a59c55bcaabcc220b4ab82..6e2c48b3cea630ed22ad0e83f3d1205e80d0c972 100644 (file)
@@ -1,4 +1,4 @@
-/*     $Id: mdoc_argv.c,v 1.23 2009/08/20 08:59:12 kristaps Exp $ */
+/*     $Id: mdoc_argv.c,v 1.24 2009/08/20 09:07:24 kristaps Exp $ */
 /*
  * Copyright (c) 2008, 2009 Kristaps Dzonsons <kristaps@kth.se>
  *
@@ -375,6 +375,21 @@ args(struct mdoc *m, int line, int *pos,
        int               i;
        char             *p, *pp;
 
+       /*
+        * Parse out the terms (like `val' in `.Xx -arg val' or simply
+        * `.Xx val'), which can have all sorts of properties:
+        *
+        *   ARGS_DELIM: use special handling if encountering trailing
+        *   delimiters in the form of [[::delim::][ ]+]+.
+        *
+        *   ARGS_NOWARN: don't post warnings.  This is only used when
+        *   re-parsing delimiters, as the warnings have already been
+        *   posted.
+        *
+        *   ARGS_TABSEP: use special handling for tab/`Ta' separated
+        *   phrases like in `Bl -column'.
+        */
+
        assert(*pos);
        assert(' ' != buf[*pos]);