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

Diff for /mandoc/Attic/macro.c between version 1.16 and 1.18

version 1.16, 2009/01/01 20:40:16 version 1.18, 2009/01/03 18:38:39
Line 146  append_text_argv(struct mdoc *mdoc, int tok, int pos, 
Line 146  append_text_argv(struct mdoc *mdoc, int tok, int pos, 
   
         if ( ! mdoc_valid_pre(mdoc, tok, pos, 0, NULL, argc, argv))          if ( ! mdoc_valid_pre(mdoc, tok, pos, 0, NULL, argc, argv))
                 return(0);                  return(0);
   
           switch (tok) {
           case (MDOC_Pf):
                   /* TODO: only use first two arguments in element. */
                   break;
           default:
                   break;
           }
   
         mdoc_elem_alloc(mdoc, pos, tok, (size_t)argc,          mdoc_elem_alloc(mdoc, pos, tok, (size_t)argc,
                         argv, (size_t)sz, _CC(args));                          argv, (size_t)sz, _CC(args));
         mdoc->next = MDOC_NEXT_SIBLING;          mdoc->next = MDOC_NEXT_SIBLING;
Line 162  append_text(struct mdoc *mdoc, int tok, 
Line 171  append_text(struct mdoc *mdoc, int tok, 
                 return(0);                  return(0);
   
         switch (tok) {          switch (tok) {
                   /*
                    * FIXME: deprecate this "feature" of mdoc(7).
                    */
         case (MDOC_At):          case (MDOC_At):
                 if (0 == sz)                  if (0 == sz)
                         break;                          break;
Line 201  macro_text(MACRO_PROT_ARGS)
Line 213  macro_text(MACRO_PROT_ARGS)
         /* Token pre-processing.  */          /* Token pre-processing.  */
   
         switch (tok) {          switch (tok) {
                   /* FIXME: move to validate.c. */
         case (MDOC_Pp):          case (MDOC_Pp):
                 /* `.Pp' ignored when following `.Sh' or `.Ss'. */                  /* `.Pp' ignored when following `.Sh' or `.Ss'. */
                 assert(mdoc->last);                  assert(mdoc->last);
Line 332  macro_close_explicit(MACRO_PROT_ARGS)
Line 345  macro_close_explicit(MACRO_PROT_ARGS)
         case (MDOC_Re):          case (MDOC_Re):
                 tt = MDOC_Rs;                  tt = MDOC_Rs;
                 break;                  break;
           case (MDOC_Ef):
                   tt = MDOC_Bf;
                   break;
         default:          default:
                 abort();                  abort();
                 /* NOTREACHED */                  /* NOTREACHED */
         }          }
   
           if (0 != buf[*pos])
                   return(mdoc_err(mdoc, tok, ppos, ERR_ARGS_EQ0));
         return(scope_rewind_exp(mdoc, ppos, tok, tt));          return(scope_rewind_exp(mdoc, ppos, tok, tt));
 }  }
   
Line 453  macro_scoped(MACRO_PROT_ARGS)
Line 471  macro_scoped(MACRO_PROT_ARGS)
   
         mdoc_argv_free(argc, argv);          mdoc_argv_free(argc, argv);
   
         mdoc_head_alloc(mdoc, ppos, tok);          if (sz > 0) {
         mdoc->next = MDOC_NEXT_CHILD;                  mdoc_head_alloc(mdoc, ppos, tok);
                   mdoc->next = MDOC_NEXT_CHILD;
         for (i = 0; i < sz; i++) {  
                 mdoc_word_alloc(mdoc, ppos, args[i]);                  for (i = 0; i < sz; i++) {
                 mdoc->next = MDOC_NEXT_SIBLING;                          mdoc_word_alloc(mdoc, ppos, args[i]);
                           mdoc->next = MDOC_NEXT_SIBLING;
                   }
   
                   if ( ! scope_rewind_line(mdoc, ppos, tok))
                           return(0);
         }          }
   
         if ( ! scope_rewind_line(mdoc, ppos, tok))  
                 return(0);  
   
         mdoc_body_alloc(mdoc, ppos, tok);          mdoc_body_alloc(mdoc, ppos, tok);
         mdoc->next = MDOC_NEXT_CHILD;          mdoc->next = MDOC_NEXT_CHILD;
   
Line 542  again:
Line 562  again:
 }  }
   
   
   /*
    * FIXME: like in with macro_constant, have the append_ routine chop the
    * number of requisite arguments (this is ugly when done in-line).
    */
 int  int
 macro_constant_delimited(MACRO_PROT_ARGS)  macro_constant_delimited(MACRO_PROT_ARGS)
 {  {

Legend:
Removed from v.1.16  
changed lines
  Added in v.1.18

CVSweb