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

Diff for /mandoc/man_term.c between version 1.195 and 1.201

version 1.195, 2017/05/05 02:06:19 version 1.201, 2017/06/04 18:50:35
Line 68  static void    print_bvspace(struct termp *,
Line 68  static void    print_bvspace(struct termp *,
                                 const struct roff_node *, int);                                  const struct roff_node *, int);
   
 static  int               pre_B(DECL_ARGS);  static  int               pre_B(DECL_ARGS);
   static  int               pre_DT(DECL_ARGS);
 static  int               pre_HP(DECL_ARGS);  static  int               pre_HP(DECL_ARGS);
 static  int               pre_I(DECL_ARGS);  static  int               pre_I(DECL_ARGS);
 static  int               pre_IP(DECL_ARGS);  static  int               pre_IP(DECL_ARGS);
Line 83  static int    pre_alternate(DECL_ARGS);
Line 84  static int    pre_alternate(DECL_ARGS);
 static  int               pre_ign(DECL_ARGS);  static  int               pre_ign(DECL_ARGS);
 static  int               pre_in(DECL_ARGS);  static  int               pre_in(DECL_ARGS);
 static  int               pre_literal(DECL_ARGS);  static  int               pre_literal(DECL_ARGS);
 static  int               pre_ll(DECL_ARGS);  
 static  int               pre_sp(DECL_ARGS);  
   
 static  void              post_IP(DECL_ARGS);  static  void              post_IP(DECL_ARGS);
 static  void              post_HP(DECL_ARGS);  static  void              post_HP(DECL_ARGS);
Line 115  static const struct termact __termacts[MAN_MAX - MAN_T
Line 114  static const struct termact __termacts[MAN_MAX - MAN_T
         { pre_I, NULL, 0 }, /* I */          { pre_I, NULL, 0 }, /* I */
         { pre_alternate, NULL, 0 }, /* IR */          { pre_alternate, NULL, 0 }, /* IR */
         { pre_alternate, NULL, 0 }, /* RI */          { pre_alternate, NULL, 0 }, /* RI */
         { pre_sp, NULL, MAN_NOTEXT }, /* sp */  
         { pre_literal, NULL, 0 }, /* nf */          { pre_literal, NULL, 0 }, /* nf */
         { pre_literal, NULL, 0 }, /* fi */          { pre_literal, NULL, 0 }, /* fi */
         { NULL, NULL, 0 }, /* RE */          { NULL, NULL, 0 }, /* RE */
         { pre_RS, post_RS, 0 }, /* RS */          { pre_RS, post_RS, 0 }, /* RS */
         { pre_ign, NULL, 0 }, /* DT */          { pre_DT, NULL, 0 }, /* DT */
         { pre_ign, NULL, MAN_NOTEXT }, /* UC */          { pre_ign, NULL, MAN_NOTEXT }, /* UC */
         { pre_PD, NULL, MAN_NOTEXT }, /* PD */          { pre_PD, NULL, MAN_NOTEXT }, /* PD */
         { pre_ign, NULL, 0 }, /* AT */          { pre_ign, NULL, 0 }, /* AT */
Line 130  static const struct termact __termacts[MAN_MAX - MAN_T
Line 128  static const struct termact __termacts[MAN_MAX - MAN_T
         { pre_literal, NULL, 0 }, /* EE */          { pre_literal, NULL, 0 }, /* EE */
         { pre_UR, post_UR, 0 }, /* UR */          { pre_UR, post_UR, 0 }, /* UR */
         { NULL, NULL, 0 }, /* UE */          { NULL, NULL, 0 }, /* UE */
         { pre_ll, NULL, MAN_NOTEXT }, /* ll */  
 };  };
 static  const struct termact *termacts = __termacts - MAN_TH;  static  const struct termact *termacts = __termacts - MAN_TH;
   
Line 144  terminal_man(void *arg, const struct roff_man *man)
Line 141  terminal_man(void *arg, const struct roff_man *man)
         size_t                   save_defindent;          size_t                   save_defindent;
   
         p = (struct termp *)arg;          p = (struct termp *)arg;
         p->overstep = 0;  
         p->rmargin = p->maxrmargin = p->defrmargin;          p->rmargin = p->maxrmargin = p->defrmargin;
         p->tabwidth = term_len(p, 5);          term_tab_set(p, NULL);
           term_tab_set(p, "T");
           term_tab_set(p, ".5i");
   
         memset(&mt, 0, sizeof(struct mtermp));          memset(&mt, 0, sizeof(struct mtermp));
         mt.lmargin[mt.lmargincur] = term_len(p, p->defindent);          mt.lmargin[mt.lmargincur] = term_len(p, p->defindent);
Line 217  pre_ign(DECL_ARGS)
Line 215  pre_ign(DECL_ARGS)
 }  }
   
 static int  static int
 pre_ll(DECL_ARGS)  
 {  
   
         term_setwidth(p, n->child != NULL ? n->child->string : NULL);  
         return 0;  
 }  
   
 static int  
 pre_I(DECL_ARGS)  pre_I(DECL_ARGS)
 {  {
   
Line 402  pre_in(DECL_ARGS)
Line 392  pre_in(DECL_ARGS)
 }  }
   
 static int  static int
 pre_sp(DECL_ARGS)  pre_DT(DECL_ARGS)
 {  {
         struct roffsu    su;          term_tab_set(p, NULL);
         int              i, len;          term_tab_set(p, "T");
           term_tab_set(p, ".5i");
         if ((NULL == n->prev && n->parent)) {  
                 switch (n->parent->tok) {  
                 case MAN_SH:  
                 case MAN_SS:  
                 case MAN_PP:  
                 case MAN_LP:  
                 case MAN_P:  
                         return 0;  
                 default:  
                         break;  
                 }  
         }  
   
         if (n->child == NULL)  
                 len = 1;  
         else {  
                 if ( ! a2roffsu(n->child->string, &su, SCALE_VS))  
                         su.scale = 1.0;  
                 len = term_vspan(p, &su);  
         }  
   
         if (len == 0)  
                 term_newln(p);  
         else if (len < 0)  
                 p->skipvsp -= len;  
         else  
                 for (i = 0; i < len; i++)  
                         term_vspace(p);  
   
         /*  
          * Handle an explicit break request in the same way  
          * as an overflowing line.  
          */  
   
         if (p->flags & TERMP_BRIND) {  
                 p->offset = p->rmargin;  
                 p->rmargin = p->maxrmargin;  
                 p->flags &= ~(TERMP_NOBREAK | TERMP_BRIND);  
         }  
   
         return 0;          return 0;
 }  }
   
Line 922  print_man_node(DECL_ARGS)
Line 872  print_man_node(DECL_ARGS)
                  * If we have a space as the first character, break                   * If we have a space as the first character, break
                  * before printing the line's data.                   * before printing the line's data.
                  */                   */
                 if ('\0' == *n->string) {                  if (*n->string == '\0') {
                         term_vspace(p);                          term_vspace(p);
                         return;                          return;
                 } else if (' ' == *n->string && NODE_LINE & n->flags)                  } else if (*n->string == ' ' && n->flags & NODE_LINE &&
                       (p->flags & TERMP_NONEWLINE) == 0)
                         term_newln(p);                          term_newln(p);
   
                 term_word(p, n->string);                  term_word(p, n->string);

Legend:
Removed from v.1.195  
changed lines
  Added in v.1.201

CVSweb