Print this page
5051 import mdocml-1.12.3
Reviewed by: Yuri Pankov <yuri.pankov@nexenta.com>
Approved by: TBD

Split Close
Expand all
Collapse all
          --- old/usr/src/cmd/mandoc/mdoc.h
          +++ new/usr/src/cmd/mandoc/mdoc.h
   1      -/*      $Id: mdoc.h,v 1.122 2011/03/22 14:05:45 kristaps Exp $ */
        1 +/*      $Id: mdoc.h,v 1.125 2013/12/24 19:11:45 schwarze Exp $ */
   2    2  /*
   3    3   * Copyright (c) 2008, 2009, 2010, 2011 Kristaps Dzonsons <kristaps@bsd.lv>
   4    4   *
   5    5   * Permission to use, copy, modify, and distribute this software for any
   6    6   * purpose with or without fee is hereby granted, provided that the above
   7    7   * copyright notice and this permission notice appear in all copies.
   8    8   *
   9    9   * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
  10   10   * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
  11   11   * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
↓ open down ↓ 292 lines elided ↑ open up ↑
 304  304          int               comp; /* -compact */
 305  305  };
 306  306  
 307  307  struct  mdoc_bl {
 308  308          const char       *width; /* -width */
 309  309          const char       *offs; /* -offset */
 310  310          enum mdoc_list    type; /* -tag, -enum, etc. */
 311  311          int               comp; /* -compact */
 312  312          size_t            ncols; /* -column arg count */
 313  313          const char      **cols; /* -column val ptr */
      314 +        int               count; /* -enum counter */
 314  315  };
 315  316  
 316  317  struct  mdoc_bf {
 317  318          enum mdoc_font    font; /* font */
 318  319  };
 319  320  
 320  321  struct  mdoc_an {
 321  322          enum mdoc_auth    auth; /* -split, etc. */
 322  323  };
 323  324  
↓ open down ↓ 19 lines elided ↑ open up ↑
 343  344   */
 344  345  struct  mdoc_node {
 345  346          struct mdoc_node *parent; /* parent AST node */
 346  347          struct mdoc_node *child; /* first child AST node */
 347  348          struct mdoc_node *last; /* last child AST node */
 348  349          struct mdoc_node *next; /* sibling AST node */
 349  350          struct mdoc_node *prev; /* prior sibling AST node */
 350  351          int               nchild; /* number children */
 351  352          int               line; /* parse line */
 352  353          int               pos; /* parse column */
      354 +        int               lastline; /* the node ends on this line */
 353  355          enum mdoct        tok; /* tok or MDOC__MAX if none */
 354  356          int               flags;
 355  357  #define MDOC_VALID       (1 << 0) /* has been validated */
 356  358  #define MDOC_EOS         (1 << 2) /* at sentence boundary */
 357  359  #define MDOC_LINE        (1 << 3) /* first macro/text on line */
 358  360  #define MDOC_SYNPRETTY   (1 << 4) /* SYNOPSIS-style formatting */
 359  361  #define MDOC_ENDED       (1 << 5) /* rendering has been ended */
 360  362  #define MDOC_DELIMO      (1 << 6)
 361  363  #define MDOC_DELIMC      (1 << 7)
 362  364          enum mdoc_type    type; /* AST node type */
 363  365          enum mdoc_sec     sec; /* current named section */
 364  366          union mdoc_data  *norm; /* normalised args */
      367 +        const void       *prev_font; /* before entering this node */
 365  368          /* FIXME: these can be union'd to shave a few bytes. */
 366  369          struct mdoc_arg  *args; /* BLOCK/ELEM */
 367  370          struct mdoc_node *pending; /* BLOCK */
 368  371          struct mdoc_node *head; /* BLOCK */
 369  372          struct mdoc_node *body; /* BLOCK */
 370  373          struct mdoc_node *tail; /* BLOCK */
 371  374          char             *string; /* TEXT */
 372  375          const struct tbl_span *span; /* TBL */
 373  376          const struct eqn *eqn; /* EQN */
 374  377          enum mdoc_endbody end; /* BODY */
↓ open down ↓ 18 lines elided ↑ open up ↑
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX