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

Diff for /mandoc/mdoc_macro.c between version 1.223 and 1.224

version 1.223, 2017/05/05 15:17:32 version 1.224, 2017/05/30 16:22:03
Line 76  const struct mdoc_macro __mdoc_macros[MDOC_MAX - MDOC_
Line 76  const struct mdoc_macro __mdoc_macros[MDOC_MAX - MDOC_
         { blk_full, MDOC_PARSED | MDOC_JOIN }, /* It */          { blk_full, MDOC_PARSED | MDOC_JOIN }, /* It */
         { in_line, MDOC_CALLABLE | MDOC_PARSED }, /* Ad */          { in_line, MDOC_CALLABLE | MDOC_PARSED }, /* Ad */
         { in_line, MDOC_CALLABLE | MDOC_PARSED | MDOC_JOIN }, /* An */          { in_line, MDOC_CALLABLE | MDOC_PARSED | MDOC_JOIN }, /* An */
         { in_line_argn, MDOC_CALLABLE | MDOC_PARSED | MDOC_JOIN }, /* Ap */          { in_line_argn, MDOC_CALLABLE | MDOC_PARSED |
                           MDOC_IGNDELIM | MDOC_JOIN }, /* Ap */
         { in_line, MDOC_CALLABLE | MDOC_PARSED }, /* Ar */          { in_line, MDOC_CALLABLE | MDOC_PARSED }, /* Ar */
         { in_line, MDOC_CALLABLE | MDOC_PARSED | MDOC_JOIN }, /* Cd */          { in_line, MDOC_CALLABLE | MDOC_PARSED | MDOC_JOIN }, /* Cd */
         { in_line, MDOC_CALLABLE | MDOC_PARSED }, /* Cm */          { in_line, MDOC_CALLABLE | MDOC_PARSED }, /* Cm */
Line 712  blk_exp_close(MACRO_PROT_ARGS)
Line 713  blk_exp_close(MACRO_PROT_ARGS)
                 if (ac == ARGS_PUNCT || ac == ARGS_EOLN)                  if (ac == ARGS_PUNCT || ac == ARGS_EOLN)
                         break;                          break;
   
                 ntok = ac == ARGS_QWORD ? TOKEN_NONE :                  ntok = lookup(mdoc, tok, line, lastarg, p);
                     lookup(mdoc, tok, line, lastarg, p);  
   
                 if (ntok == TOKEN_NONE) {                  if (ntok == TOKEN_NONE) {
                         dword(mdoc, line, lastarg, p, DELIM_MAX,                          dword(mdoc, line, lastarg, p, DELIM_MAX,
Line 809  in_line(MACRO_PROT_ARGS)
Line 809  in_line(MACRO_PROT_ARGS)
                         break;                          break;
                 }                  }
   
                 ntok = (ac == ARGS_QWORD || (tok == MDOC_Fn && !cnt)) ?                  ntok = (tok == MDOC_Fn && !cnt) ?
                     TOKEN_NONE : lookup(mdoc, tok, line, la, p);                      TOKEN_NONE : lookup(mdoc, tok, line, la, p);
   
                 /*                  /*
Line 838  in_line(MACRO_PROT_ARGS)
Line 838  in_line(MACRO_PROT_ARGS)
                 }                  }
   
                 /*                  /*
                  * Non-quote-enclosed punctuation.  Set up our scope, if                   * Handle punctuation.  Set up our scope, if a word;
                  * a word; rewind the scope, if a delimiter; then append                   * rewind the scope, if a delimiter; then append the word.
                  * the word.  
                  */                   */
   
                 d = ac == ARGS_QWORD ? DELIM_NONE : mdoc_isdelim(p);                  if ((d = mdoc_isdelim(p)) != DELIM_NONE) {
   
                 if (DELIM_NONE != d) {  
                         /*                          /*
                          * If we encounter closing punctuation, no word                           * If we encounter closing punctuation, no word
                          * has been emitted, no scope is open, and we're                           * has been emitted, no scope is open, and we're
Line 865  in_line(MACRO_PROT_ARGS)
Line 862  in_line(MACRO_PROT_ARGS)
                          * Close out our scope, if one is open, before                           * Close out our scope, if one is open, before
                          * any punctuation.                           * any punctuation.
                          */                           */
                         if (scope)                          if (scope && tok != MDOC_Lk) {
                                 rew_elem(mdoc, tok);                                  rew_elem(mdoc, tok);
                         scope = 0;                                  scope = 0;
                         if (tok == MDOC_Fn)                                  if (tok == MDOC_Fn)
                                 mayopen = 0;                                          mayopen = 0;
                           }
                 } else if (mayopen && !scope) {                  } else if (mayopen && !scope) {
                         mdoc_elem_alloc(mdoc, line, ppos, tok, arg);                          mdoc_elem_alloc(mdoc, line, ppos, tok, arg);
                         scope = 1;                          scope = 1;
Line 1115  blk_full(MACRO_PROT_ARGS)
Line 1113  blk_full(MACRO_PROT_ARGS)
   
                 if (head == NULL &&                  if (head == NULL &&
                     ac != ARGS_PHRASE &&                      ac != ARGS_PHRASE &&
                     ac != ARGS_QWORD &&  
                     mdoc_isdelim(p) == DELIM_OPEN) {                      mdoc_isdelim(p) == DELIM_OPEN) {
                         dword(mdoc, line, la, p, DELIM_OPEN, 0);                          dword(mdoc, line, la, p, DELIM_OPEN, 0);
                         continue;                          continue;
Line 1212  blk_part_imp(MACRO_PROT_ARGS)
Line 1209  blk_part_imp(MACRO_PROT_ARGS)
                 if (ac == ARGS_EOLN || ac == ARGS_PUNCT)                  if (ac == ARGS_EOLN || ac == ARGS_PUNCT)
                         break;                          break;
   
                 if (body == NULL && ac != ARGS_QWORD &&                  if (body == NULL && mdoc_isdelim(p) == DELIM_OPEN) {
                     mdoc_isdelim(p) == DELIM_OPEN) {  
                         dword(mdoc, line, la, p, DELIM_OPEN, 0);                          dword(mdoc, line, la, p, DELIM_OPEN, 0);
                         continue;                          continue;
                 }                  }
Line 1269  blk_part_exp(MACRO_PROT_ARGS)
Line 1265  blk_part_exp(MACRO_PROT_ARGS)
   
                 /* Flush out leading punctuation. */                  /* Flush out leading punctuation. */
   
                 if (head == NULL && ac != ARGS_QWORD &&                  if (head == NULL && mdoc_isdelim(p) == DELIM_OPEN) {
                     mdoc_isdelim(p) == DELIM_OPEN) {  
                         dword(mdoc, line, la, p, DELIM_OPEN, 0);                          dword(mdoc, line, la, p, DELIM_OPEN, 0);
                         continue;                          continue;
                 }                  }
Line 1369  in_line_argn(MACRO_PROT_ARGS)
Line 1364  in_line_argn(MACRO_PROT_ARGS)
                         state = -2;                          state = -2;
                 }                  }
   
                 ntok = (ac == ARGS_QWORD || (tok == MDOC_Pf && state == 0)) ?                  ntok = (tok == MDOC_Pf && state == 0) ?
                     TOKEN_NONE : lookup(mdoc, tok, line, la, p);                      TOKEN_NONE : lookup(mdoc, tok, line, la, p);
   
                 if (ntok != TOKEN_NONE) {                  if (ntok != TOKEN_NONE) {
Line 1381  in_line_argn(MACRO_PROT_ARGS)
Line 1376  in_line_argn(MACRO_PROT_ARGS)
                         break;                          break;
                 }                  }
   
                 if (ac == ARGS_QWORD ||                  if (mdoc_macros[tok].flags & MDOC_IGNDELIM ||
                     mdoc_macros[tok].flags & MDOC_IGNDELIM ||  
                     mdoc_isdelim(p) == DELIM_NONE) {                      mdoc_isdelim(p) == DELIM_NONE) {
                         if (state == -1) {                          if (state == -1) {
                                 mdoc_elem_alloc(mdoc, line, ppos, tok, arg);                                  mdoc_elem_alloc(mdoc, line, ppos, tok, arg);

Legend:
Removed from v.1.223  
changed lines
  Added in v.1.224

CVSweb