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

Diff for /mandoc/Attic/macro.c between version 1.31 and 1.33

version 1.31, 2009/01/12 10:31:53 version 1.33, 2009/01/12 16:39:57
Line 93  rewind_elem(struct mdoc *mdoc, int tok)
Line 93  rewind_elem(struct mdoc *mdoc, int tok)
         if (MDOC_ELEM != n->type)          if (MDOC_ELEM != n->type)
                 n = n->parent;                  n = n->parent;
         assert(MDOC_ELEM == n->type);          assert(MDOC_ELEM == n->type);
         assert(tok == n->data.elem.tok);          assert(tok == n->tok);
   
         return(rewind_last(mdoc, n));          return(rewind_last(mdoc, n));
 }  }
Line 111  rewind_body(struct mdoc *mdoc, int tok)
Line 111  rewind_body(struct mdoc *mdoc, int tok)
         for (n = mdoc->last; n; n = n->parent) {          for (n = mdoc->last; n; n = n->parent) {
                 if (MDOC_BODY != n->type)                  if (MDOC_BODY != n->type)
                         continue;                          continue;
                 if (tok == (t = n->data.head.tok))                  if (tok == (t = n->tok))
                         break;                          break;
                 if ( ! (MDOC_EXPLICIT & mdoc_macros[t].flags))                  if ( ! (MDOC_EXPLICIT & mdoc_macros[t].flags))
                         continue;                          continue;
Line 135  rewind_head(struct mdoc *mdoc, int tok)
Line 135  rewind_head(struct mdoc *mdoc, int tok)
         for (n = mdoc->last; n; n = n->parent) {          for (n = mdoc->last; n; n = n->parent) {
                 if (MDOC_HEAD != n->type)                  if (MDOC_HEAD != n->type)
                         continue;                          continue;
                 if (tok == (t = n->data.head.tok))                  if (tok == (t = n->tok))
                         break;                          break;
                 if ( ! (MDOC_EXPLICIT & mdoc_macros[t].flags))                  if ( ! (MDOC_EXPLICIT & mdoc_macros[t].flags))
                         continue;                          continue;
Line 159  rewind_expblock(struct mdoc *mdoc, int tok)
Line 159  rewind_expblock(struct mdoc *mdoc, int tok)
         for ( ; n; n = n->parent) {          for ( ; n; n = n->parent) {
                 if (MDOC_BLOCK != n->type)                  if (MDOC_BLOCK != n->type)
                         continue;                          continue;
                 if (tok == (t = n->data.block.tok))                  if (tok == (t = n->tok))
                         break;                          break;
                 if (MDOC_NESTED & mdoc_macros[t].flags)                  if (MDOC_NESTED & mdoc_macros[t].flags)
                         continue;                          continue;
Line 183  rewind_impblock(struct mdoc *mdoc, int tok)
Line 183  rewind_impblock(struct mdoc *mdoc, int tok)
         for ( ; n; n = n->parent) {          for ( ; n; n = n->parent) {
                 if (MDOC_BLOCK != n->type)                  if (MDOC_BLOCK != n->type)
                         continue;                          continue;
                 if (tok == (t = n->data.block.tok))                  if (tok == (t = n->tok))
                         break;                          break;
                 if ( ! (MDOC_EXPLICIT & mdoc_macros[t].flags))                  if ( ! (MDOC_EXPLICIT & mdoc_macros[t].flags))
                         continue;                          continue;
Line 479  macro_text(MACRO_PROT_ARGS)
Line 479  macro_text(MACRO_PROT_ARGS)
 int  int
 macro_scoped(MACRO_PROT_ARGS)  macro_scoped(MACRO_PROT_ARGS)
 {  {
         int               c, lastarg, argc, j;          int               c, lastarg, argc, j, fl;
         struct mdoc_arg   argv[MDOC_LINEARG_MAX];          struct mdoc_arg   argv[MDOC_LINEARG_MAX];
         char             *p;          char             *p;
   
Line 529  macro_scoped(MACRO_PROT_ARGS)
Line 529  macro_scoped(MACRO_PROT_ARGS)
                 return(0);                  return(0);
         mdoc->next = MDOC_NEXT_CHILD;          mdoc->next = MDOC_NEXT_CHILD;
   
           fl = ARGS_DELIM;
           if (MDOC_TABSEP & mdoc_macros[tok].flags)
                   fl |= ARGS_TABSEP;
   
         for (j = 0; j < MDOC_LINEARG_MAX; j++) {          for (j = 0; j < MDOC_LINEARG_MAX; j++) {
                 lastarg = *pos;                  lastarg = *pos;
                 c = mdoc_args(mdoc, line, pos, buf, ARGS_DELIM, &p);                  c = mdoc_args(mdoc, line, pos, buf, fl, &p);
   
                 if (ARGS_ERROR == c)                  if (ARGS_ERROR == c)
                         return(0);                          return(0);

Legend:
Removed from v.1.31  
changed lines
  Added in v.1.33

CVSweb