[BACK]Return to mdoc_macro.c CVS log [TXT][DIR] Up to [local] / src / usr.bin / mandoc

Diff for /src/usr.bin/mandoc/mdoc_macro.c between version 1.72 and 1.73

version 1.72, 2011/12/03 23:01:21 version 1.73, 2012/01/04 02:17:42
Line 224 
Line 224 
 static enum mdoct  static enum mdoct
 lookup(enum mdoct from, const char *p)  lookup(enum mdoct from, const char *p)
 {  {
         /* FIXME: make -diag lists be un-PARSED. */  
   
         if ( ! (MDOC_PARSED & mdoc_macros[from].flags))          if ( ! (MDOC_PARSED & mdoc_macros[from].flags))
                 return(MDOC_MAX);                  return(MDOC_MAX);
Line 980 
Line 979 
 static int  static int
 blk_full(MACRO_PROT_ARGS)  blk_full(MACRO_PROT_ARGS)
 {  {
         int               la, nl;          int               la, nl, nparsed;
         struct mdoc_arg  *arg;          struct mdoc_arg  *arg;
         struct mdoc_node *head; /* save of head macro */          struct mdoc_node *head; /* save of head macro */
         struct mdoc_node *body; /* save of body macro */          struct mdoc_node *body; /* save of body macro */
Line 1035 
Line 1034 
         head = body = NULL;          head = body = NULL;
   
         /*          /*
            * Exception: Heads of `It' macros in `-diag' lists are not
            * parsed, even though `It' macros in general are parsed.
            */
           nparsed = MDOC_It == tok &&
                   MDOC_Bl == m->last->parent->tok &&
                   LIST_diag == m->last->parent->norm->Bl.type;
   
           /*
          * The `Nd' macro has all arguments in its body: it's a hybrid           * The `Nd' macro has all arguments in its body: it's a hybrid
          * of block partial-explicit and full-implicit.  Stupid.           * of block partial-explicit and full-implicit.  Stupid.
          */           */
Line 1142 
Line 1149 
                         continue;                          continue;
                 }                  }
   
                 ntok = ARGS_QWORD == ac ? MDOC_MAX : lookup(tok, p);                  ntok = nparsed || ARGS_QWORD == ac ?
                           MDOC_MAX : lookup(tok, p);
   
                 if (MDOC_MAX == ntok) {                  if (MDOC_MAX == ntok) {
                         if ( ! dword(m, line, la, p, DELIM_MAX))                          if ( ! dword(m, line, la, p, DELIM_MAX))

Legend:
Removed from v.1.72  
changed lines
  Added in v.1.73