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

Diff for /mandoc/Attic/macro.c between version 1.47 and 1.48

version 1.47, 2009/01/20 16:04:48 version 1.48, 2009/01/20 20:56:21
Line 512  macro_scoped_close(MACRO_PROT_ARGS)
Line 512  macro_scoped_close(MACRO_PROT_ARGS)
                         flushed = 1;                          flushed = 1;
                 }                  }
   
                 c = mdoc_args(mdoc, line, pos, buf, ARGS_DELIM, &p);                  c = mdoc_args(mdoc, line, pos, buf, tok, &p);
                 if (ARGS_ERROR == c)                  if (ARGS_ERROR == c)
                         return(0);                          return(0);
                 if (ARGS_PUNCT == c)                  if (ARGS_PUNCT == c)
Line 574  macro_scoped_close(MACRO_PROT_ARGS)
Line 574  macro_scoped_close(MACRO_PROT_ARGS)
 int  int
 macro_text(MACRO_PROT_ARGS)  macro_text(MACRO_PROT_ARGS)
 {  {
         int               la, lastpunct, c, w, fl, argc;          int               la, lastpunct, c, w, argc;
         struct mdoc_arg   argv[MDOC_LINEARG_MAX];          struct mdoc_arg   argv[MDOC_LINEARG_MAX];
         char             *p;          char             *p;
   
Line 610  macro_text(MACRO_PROT_ARGS)
Line 610  macro_text(MACRO_PROT_ARGS)
   
         mdoc->next = MDOC_NEXT_CHILD;          mdoc->next = MDOC_NEXT_CHILD;
   
         fl = ARGS_DELIM;  
         if (MDOC_QUOTABLE & mdoc_macros[tok].flags)  
                 fl |= ARGS_QUOTED;  
   
         lastpunct = 0;          lastpunct = 0;
         for (;;) {          for (;;) {
                 la = *pos;                  la = *pos;
                 w = mdoc_args(mdoc, line, pos, buf, fl, &p);                  w = mdoc_args(mdoc, line, pos, buf, tok, &p);
                 if (ARGS_ERROR == w) {                  if (ARGS_ERROR == w) {
                         mdoc_argv_free(argc, argv);                          mdoc_argv_free(argc, argv);
                         return(0);                          return(0);
Line 707  macro_text(MACRO_PROT_ARGS)
Line 703  macro_text(MACRO_PROT_ARGS)
 int  int
 macro_scoped(MACRO_PROT_ARGS)  macro_scoped(MACRO_PROT_ARGS)
 {  {
         int               c, lastarg, argc, fl;          int               c, lastarg, argc;
         struct mdoc_arg   argv[MDOC_LINEARG_MAX];          struct mdoc_arg   argv[MDOC_LINEARG_MAX];
         char             *p;          char             *p;
   
Line 767  macro_scoped(MACRO_PROT_ARGS)
Line 763  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 (;;) {          for (;;) {
                 lastarg = *pos;                  lastarg = *pos;
                 c = mdoc_args(mdoc, line, pos, buf, fl, &p);                  c = mdoc_args(mdoc, line, pos, buf, tok, &p);
   
                 if (ARGS_ERROR == c)                  if (ARGS_ERROR == c)
                         return(0);                          return(0);
Line 781  macro_scoped(MACRO_PROT_ARGS)
Line 773  macro_scoped(MACRO_PROT_ARGS)
                         break;                          break;
                 if (ARGS_EOLN == c)                  if (ARGS_EOLN == c)
                         break;                          break;
   
                   /* FIXME: if .It -column, the lookup must be for a
                    * sub-line component.  BLAH. */
   
                 if (-1 == (c = lookup(mdoc, line, lastarg, tok, p)))                  if (-1 == (c = lookup(mdoc, line, lastarg, tok, p)))
                         return(0);                          return(0);
                 else if (MDOC_MAX == c) {  
                   if (MDOC_MAX == c) {
                         if ( ! mdoc_word_alloc(mdoc, line, lastarg, p))                          if ( ! mdoc_word_alloc(mdoc, line, lastarg, p))
                                 return(0);                                  return(0);
                         mdoc->next = MDOC_NEXT_SIBLING;                          mdoc->next = MDOC_NEXT_SIBLING;
Line 795  macro_scoped(MACRO_PROT_ARGS)
Line 791  macro_scoped(MACRO_PROT_ARGS)
                         return(0);                          return(0);
                 break;                  break;
         }          }
   
         if ( ! rewind_subblock(MDOC_HEAD, mdoc, tok, line, ppos))          if ( ! rewind_subblock(MDOC_HEAD, mdoc, tok, line, ppos))
                 return(0);                  return(0);
         if (1 == ppos && ! append_delims(mdoc, line, pos, buf))          if (1 == ppos && ! append_delims(mdoc, line, pos, buf))
Line 850  macro_scoped_line(MACRO_PROT_ARGS)
Line 846  macro_scoped_line(MACRO_PROT_ARGS)
         lastarg = ppos;          lastarg = ppos;
         for (;;) {          for (;;) {
                 lastarg = *pos;                  lastarg = *pos;
                 c = mdoc_args(mdoc, line, pos, buf, ARGS_DELIM, &p);                  c = mdoc_args(mdoc, line, pos, buf, tok, &p);
   
                 if (ARGS_ERROR == c)                  if (ARGS_ERROR == c)
                         return(0);                          return(0);
Line 946  macro_constant_scoped(MACRO_PROT_ARGS)
Line 942  macro_constant_scoped(MACRO_PROT_ARGS)
                         mdoc->next = MDOC_NEXT_CHILD;                          mdoc->next = MDOC_NEXT_CHILD;
                 }                  }
   
                 c = mdoc_args(mdoc, line, pos, buf, ARGS_DELIM, &p);                  c = mdoc_args(mdoc, line, pos, buf, tok, &p);
                 if (ARGS_ERROR == c)                  if (ARGS_ERROR == c)
                         return(0);                          return(0);
                 if (ARGS_PUNCT == c)                  if (ARGS_PUNCT == c)
Line 1074  macro_constant_delimited(MACRO_PROT_ARGS)
Line 1070  macro_constant_delimited(MACRO_PROT_ARGS)
                         flushed = 1;                          flushed = 1;
                 }                  }
   
                 c = mdoc_args(mdoc, line, pos, buf, ARGS_DELIM, &p);                  c = mdoc_args(mdoc, line, pos, buf, tok, &p);
                 if (ARGS_ERROR == c)                  if (ARGS_ERROR == c)
                         return(0);                          return(0);
                 if (ARGS_PUNCT == c)                  if (ARGS_PUNCT == c)
Line 1120  macro_constant_delimited(MACRO_PROT_ARGS)
Line 1116  macro_constant_delimited(MACRO_PROT_ARGS)
 int  int
 macro_constant(MACRO_PROT_ARGS)  macro_constant(MACRO_PROT_ARGS)
 {  {
         int               c, w, la, argc, fl;          int               c, w, la, argc;
         struct mdoc_arg   argv[MDOC_LINEARG_MAX];          struct mdoc_arg   argv[MDOC_LINEARG_MAX];
         char             *p;          char             *p;
   
Line 1154  macro_constant(MACRO_PROT_ARGS)
Line 1150  macro_constant(MACRO_PROT_ARGS)
   
         mdoc->next = MDOC_NEXT_CHILD;          mdoc->next = MDOC_NEXT_CHILD;
   
         fl = 0;  
         if (MDOC_QUOTABLE & mdoc_macros[tok].flags)  
                 fl = ARGS_QUOTED;  
   
         for (;;) {          for (;;) {
                 la = *pos;                  la = *pos;
                 w = mdoc_args(mdoc, line, pos, buf, fl, &p);                  w = mdoc_args(mdoc, line, pos, buf, tok, &p);
                 if (ARGS_ERROR == w)                  if (ARGS_ERROR == w)
                         return(0);                          return(0);
                 if (ARGS_EOLN == w)                  if (ARGS_EOLN == w)

Legend:
Removed from v.1.47  
changed lines
  Added in v.1.48

CVSweb