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

Diff for /mandoc/mdoc_html.c between version 1.280 and 1.286

version 1.280, 2017/04/24 23:06:18 version 1.286, 2017/05/09 14:10:01
Line 108  static int    mdoc_rs_pre(MDOC_ARGS);
Line 108  static int    mdoc_rs_pre(MDOC_ARGS);
 static  int               mdoc_sh_pre(MDOC_ARGS);  static  int               mdoc_sh_pre(MDOC_ARGS);
 static  int               mdoc_skip_pre(MDOC_ARGS);  static  int               mdoc_skip_pre(MDOC_ARGS);
 static  int               mdoc_sm_pre(MDOC_ARGS);  static  int               mdoc_sm_pre(MDOC_ARGS);
 static  int               mdoc_sp_pre(MDOC_ARGS);  
 static  int               mdoc_ss_pre(MDOC_ARGS);  static  int               mdoc_ss_pre(MDOC_ARGS);
 static  int               mdoc_st_pre(MDOC_ARGS);  static  int               mdoc_st_pre(MDOC_ARGS);
 static  int               mdoc_sx_pre(MDOC_ARGS);  static  int               mdoc_sx_pre(MDOC_ARGS);
Line 237  static const struct htmlmdoc __mdocs[MDOC_MAX - MDOC_D
Line 236  static const struct htmlmdoc __mdocs[MDOC_MAX - MDOC_D
         {mdoc_quote_pre, mdoc_quote_post}, /* En */          {mdoc_quote_pre, mdoc_quote_post}, /* En */
         {mdoc_xx_pre, NULL}, /* Dx */          {mdoc_xx_pre, NULL}, /* Dx */
         {mdoc__x_pre, mdoc__x_post}, /* %Q */          {mdoc__x_pre, mdoc__x_post}, /* %Q */
         {mdoc_sp_pre, NULL}, /* br */  
         {mdoc_sp_pre, NULL}, /* sp */  
         {mdoc__x_pre, mdoc__x_post}, /* %U */          {mdoc__x_pre, mdoc__x_post}, /* %U */
         {NULL, NULL}, /* Ta */          {NULL, NULL}, /* Ta */
         {mdoc_skip_pre, NULL}, /* ll */  
 };  };
 static  const struct htmlmdoc *const mdocs = __mdocs - MDOC_Dd;  static  const struct htmlmdoc *const mdocs = __mdocs - MDOC_Dd;
   
Line 363  print_mdoc_node(MDOC_ARGS)
Line 359  print_mdoc_node(MDOC_ARGS)
                  * Make sure that if we're in a literal mode already                   * Make sure that if we're in a literal mode already
                  * (i.e., within a <PRE>) don't print the newline.                   * (i.e., within a <PRE>) don't print the newline.
                  */                   */
                 if (' ' == *n->string && NODE_LINE & n->flags)                  if (*n->string == ' ' && n->flags & NODE_LINE &&
                         if ( ! (HTML_LITERAL & h->flags))                      (h->flags & (HTML_LITERAL | HTML_NONEWLINE)) == 0)
                                 print_otag(h, TAG_BR, "");                          print_otag(h, TAG_BR, "");
                 if (NODE_DELIMC & n->flags)                  if (NODE_DELIMC & n->flags)
                         h->flags |= HTML_NOSPACE;                          h->flags |= HTML_NOSPACE;
                 print_text(h, n->string);                  print_text(h, n->string);
Line 394  print_mdoc_node(MDOC_ARGS)
Line 390  print_mdoc_node(MDOC_ARGS)
                         t = h->tag;                          t = h->tag;
                 }                  }
                 assert(h->tblt == NULL);                  assert(h->tblt == NULL);
                   if (n->tok < ROFF_MAX) {
                           roff_html_pre(h, n);
                           child = 0;
                           break;
                   }
                 assert(n->tok >= MDOC_Dd && n->tok < MDOC_MAX);                  assert(n->tok >= MDOC_Dd && n->tok < MDOC_MAX);
                 if (mdocs[n->tok].pre != NULL &&                  if (mdocs[n->tok].pre != NULL &&
                     (n->end == ENDBODY_NOT || n->child != NULL))                      (n->end == ENDBODY_NOT || n->child != NULL))
Line 415  print_mdoc_node(MDOC_ARGS)
Line 416  print_mdoc_node(MDOC_ARGS)
         case ROFFT_EQN:          case ROFFT_EQN:
                 break;                  break;
         default:          default:
                 if (mdocs[n->tok].post == NULL || n->flags & NODE_ENDED)                  if (n->tok < ROFF_MAX ||
                       mdocs[n->tok].post == NULL ||
                       n->flags & NODE_ENDED)
                         break;                          break;
                 (*mdocs[n->tok].post)(meta, n, h);                  (*mdocs[n->tok].post)(meta, n, h);
                 if (n->end != ENDBODY_NOT)                  if (n->end != ENDBODY_NOT)
Line 1004  mdoc_bd_pre(MDOC_ARGS)
Line 1007  mdoc_bd_pre(MDOC_ARGS)
                  * anyway, so don't sweat it.                   * anyway, so don't sweat it.
                  */                   */
                 switch (nn->tok) {                  switch (nn->tok) {
                   case ROFF_br:
                   case ROFF_sp:
                 case MDOC_Sm:                  case MDOC_Sm:
                 case MDOC_br:  
                 case MDOC_sp:  
                 case MDOC_Bl:                  case MDOC_Bl:
                 case MDOC_D1:                  case MDOC_D1:
                 case MDOC_Dl:                  case MDOC_Dl:
Line 1318  mdoc_pp_pre(MDOC_ARGS)
Line 1321  mdoc_pp_pre(MDOC_ARGS)
   
         print_paragraph(h);          print_paragraph(h);
         return 0;          return 0;
 }  
   
 static int  
 mdoc_sp_pre(MDOC_ARGS)  
 {  
         struct roffsu    su;  
   
         SCALE_VS_INIT(&su, 1);  
   
         if (MDOC_sp == n->tok) {  
                 if (NULL != (n = n->child)) {  
                         if ( ! a2roffsu(n->string, &su, SCALE_VS))  
                                 su.scale = 1.0;  
                         else if (su.scale < 0.0)  
                                 su.scale = 0.0;  
                 }  
         } else  
                 su.scale = 0.0;  
   
         print_otag(h, TAG_DIV, "suh", &su);  
   
         /* So the div isn't empty: */  
         print_text(h, "\\~");  
   
         return 0;  
   
 }  }
   
 static int  static int

Legend:
Removed from v.1.280  
changed lines
  Added in v.1.286

CVSweb