+ /* Check whether we have duplicates. */
+
+ if (dup && ! mdoc_nmsg(mdoc, n, MANDOCERR_ARGVREP))
+ return(0);
+
+ /* Make our auxiliary assignments. */
+
+ if (offs && ! dup)
+ n->data.Bd->offs = offs;
+ if (comp && ! dup)
+ n->data.Bd->comp = comp;
+
+ /* Check whether a type has already been assigned. */
+
+ if (DISP__NONE != dt && n->data.Bd->type != DISP__NONE)
+ if ( ! mdoc_nmsg(mdoc, n, MANDOCERR_DISPREP))
+ return(0);
+
+ /* Make our type assignment. */
+
+ if (DISP__NONE != dt && n->data.Bd->type == DISP__NONE)
+ n->data.Bd->type = dt;
+ }
+
+ if (DISP__NONE == n->data.Bd->type) {
+ if ( ! mdoc_nmsg(mdoc, n, MANDOCERR_DISPTYPE))
+ return(0);
+ n->data.Bd->type = DISP_ragged;
+ }
+
+ return(1);