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

Diff for /mandoc/mdoc_term.c between version 1.134 and 1.139

version 1.134, 2010/05/30 22:56:02 version 1.139, 2010/06/04 22:16:27
Line 260  static const struct termact termacts[MDOC_MAX] = {
Line 260  static const struct termact termacts[MDOC_MAX] = {
         { termp_sp_pre, NULL }, /* br */          { termp_sp_pre, NULL }, /* br */
         { termp_sp_pre, NULL }, /* sp */          { termp_sp_pre, NULL }, /* sp */
         { termp_under_pre, termp____post }, /* %U */          { termp_under_pre, termp____post }, /* %U */
           { NULL, NULL }, /* Ta */
 };  };
   
   
Line 1357  static void
Line 1358  static void
 termp_fd_post(DECL_ARGS)  termp_fd_post(DECL_ARGS)
 {  {
   
         if (n->sec != SEC_SYNOPSIS || ! (MDOC_LINE & n->flags))  
                 return;  
   
         term_newln(p);          term_newln(p);
         if (n->next && MDOC_Fd != n->next->tok)  
                 term_vspace(p);  
 }  }
   
   
Line 1540  termp_fn_pre(DECL_ARGS)
Line 1536  termp_fn_pre(DECL_ARGS)
 {  {
         const struct mdoc_node  *nn;          const struct mdoc_node  *nn;
   
           /* NB: MDOC_LINE has no effect on this macro! */
           if (SEC_SYNOPSIS == n->sec) {
                   if (n->prev)
                           term_vspace(p);
           }
   
         term_fontpush(p, TERMFONT_BOLD);          term_fontpush(p, TERMFONT_BOLD);
         term_word(p, n->child->string);          term_word(p, n->child->string);
         term_fontpop(p);          term_fontpop(p);
Line 1570  static void
Line 1572  static void
 termp_fn_post(DECL_ARGS)  termp_fn_post(DECL_ARGS)
 {  {
   
         if (n->sec == SEC_SYNOPSIS && n->next && MDOC_LINE & n->flags)          /* NB: MDOC_LINE has no effect on this macro! */
                 term_vspace(p);          if (SEC_SYNOPSIS == n->sec)
                   term_newln(p);
 }  }
   
   
Line 1851  static int
Line 1854  static int
 termp_in_pre(DECL_ARGS)  termp_in_pre(DECL_ARGS)
 {  {
   
         term_fontpush(p, TERMFONT_BOLD);          if (SEC_SYNOPSIS == n->sec && MDOC_LINE & n->flags) {
         if (SEC_SYNOPSIS == n->sec)                  term_fontpush(p, TERMFONT_BOLD);
                 term_word(p, "#include");                  term_word(p, "#include");
                   term_word(p, "<");
           } else {
                   term_word(p, "<");
                   term_fontpush(p, TERMFONT_UNDER);
           }
   
         term_word(p, "<");  
         p->flags |= TERMP_NOSPACE;          p->flags |= TERMP_NOSPACE;
         return(1);          return(1);
 }  }
Line 1866  static void
Line 1873  static void
 termp_in_post(DECL_ARGS)  termp_in_post(DECL_ARGS)
 {  {
   
         term_fontpush(p, TERMFONT_BOLD);          if (SEC_SYNOPSIS == n->sec && MDOC_LINE & n->flags)
                   term_fontpush(p, TERMFONT_BOLD);
   
         p->flags |= TERMP_NOSPACE;          p->flags |= TERMP_NOSPACE;
         term_word(p, ">");          term_word(p, ">");
         term_fontpop(p);  
   
         if (SEC_SYNOPSIS != n->sec && ! (MDOC_LINE & n->flags))          if (SEC_SYNOPSIS == n->sec && MDOC_LINE & n->flags) {
                 return;                  term_fontpop(p);
                   term_newln(p);
         term_newln(p);          }
         /*  
          * XXX Not entirely correct.  If `.In foo bar' is specified in  
          * the SYNOPSIS section, then it produces a single break after  
          * the <foo>; mandoc asserts a vertical space.  Since this  
          * construction is rarely used, I think it's fine.  
          */  
         if (n->next && MDOC_In != n->next->tok)  
                 term_vspace(p);  
 }  }
   
   

Legend:
Removed from v.1.134  
changed lines
  Added in v.1.139

CVSweb