[BACK]Return to man.c CVS log [TXT][DIR] Up to [cvsweb.bsd.lv] / mandoc

Diff for /mandoc/man.c between version 1.111 and 1.116

version 1.111, 2011/07/28 14:17:11 version 1.116, 2012/06/02 20:16:23
Line 40  const char *const __man_macronames[MAN_MAX] = {   
Line 40  const char *const __man_macronames[MAN_MAX] = {   
         "RI",           "na",           "sp",           "nf",          "RI",           "na",           "sp",           "nf",
         "fi",           "RE",           "RS",           "DT",          "fi",           "RE",           "RS",           "DT",
         "UC",           "PD",           "AT",           "in",          "UC",           "PD",           "AT",           "in",
         "ft"          "ft",           "OP",           "EX",           "EE"
         };          };
   
 const   char * const *man_macronames = __man_macronames;  const   char * const *man_macronames = __man_macronames;
Line 543  man_pmacro(struct man *m, int ln, char *buf, int offs)
Line 543  man_pmacro(struct man *m, int ln, char *buf, int offs)
                         n = n->parent;                          n = n->parent;
   
                 mandoc_vmsg(MANDOCERR_LINESCOPE, m->parse, n->line,                  mandoc_vmsg(MANDOCERR_LINESCOPE, m->parse, n->line,
                                 n->pos, "%s", man_macronames[n->tok]);                      n->pos, "%s breaks %s", man_macronames[tok],
                       man_macronames[n->tok]);
   
                 man_node_delete(m, n);                  man_node_delete(m, n);
                 m->flags &= ~MAN_ELINE;                  m->flags &= ~MAN_ELINE;
         }          }
   
         /*          /*
            * Remove prior BLINE macro that is being clobbered.
            */
           if ((m->flags & MAN_BLINE) &&
               (MAN_BSCOPE & man_macros[tok].flags)) {
                   n = m->last;
   
                   /* Might be a text node like 8 in
                    * .TP 8
                    * .SH foo
                    */
                   if (MAN_TEXT == n->type)
                           n = n->parent;
   
                   /* Remove element that didn't end BLINE, if any. */
                   if ( ! (MAN_BSCOPE & man_macros[n->tok].flags))
                           n = n->parent;
   
                   assert(MAN_HEAD == n->type);
                   n = n->parent;
                   assert(MAN_BLOCK == n->type);
                   assert(MAN_SCOPED & man_macros[n->tok].flags);
   
                   mandoc_vmsg(MANDOCERR_LINESCOPE, m->parse, n->line,
                       n->pos, "%s breaks %s", man_macronames[tok],
                       man_macronames[n->tok]);
   
                   man_node_delete(m, n);
                   m->flags &= ~MAN_BLINE;
           }
   
           /*
          * Save the fact that we're in the next-line for a block.  In           * Save the fact that we're in the next-line for a block.  In
          * this way, embedded roff instructions can "remember" state           * this way, embedded roff instructions can "remember" state
          * when they exit.           * when they exit.
Line 647  man_node_unlink(struct man *m, struct man_node *n)
Line 679  man_node_unlink(struct man *m, struct man_node *n)
   
         if (m && m->first == n)          if (m && m->first == n)
                 m->first = NULL;                  m->first = NULL;
   }
   
   const struct mparse *
   man_mparse(const struct man *m)
   {
   
           assert(m && m->parse);
           return(m->parse);
 }  }

Legend:
Removed from v.1.111  
changed lines
  Added in v.1.116

CVSweb