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

Diff for /mandoc/mdoc_man.c between version 1.12 and 1.13

version 1.12, 2012/07/07 13:53:14 version 1.13, 2012/07/07 13:57:19
Line 35 
Line 35 
 struct  mman {  struct  mman {
         int               mode_space; /* spacing mode: 1 = on */          int               mode_space; /* spacing mode: 1 = on */
         int               need_space; /* next word needs prior ws */          int               need_space; /* next word needs prior ws */
           int               mode_keep; /* currently inside a keep */
         int               need_nl; /* next word needs prior nl */          int               need_nl; /* next word needs prior nl */
 };  };
   
Line 49  struct manact {
Line 50  struct manact {
 static  int       cond_body(DECL_ARGS);  static  int       cond_body(DECL_ARGS);
 static  int       cond_head(DECL_ARGS);  static  int       cond_head(DECL_ARGS);
 static  void      post_bd(DECL_ARGS);  static  void      post_bd(DECL_ARGS);
   static  void      post_bk(DECL_ARGS);
 static  void      post_dl(DECL_ARGS);  static  void      post_dl(DECL_ARGS);
 static  void      post_enc(DECL_ARGS);  static  void      post_enc(DECL_ARGS);
 static  void      post_nm(DECL_ARGS);  static  void      post_nm(DECL_ARGS);
Line 58  static void   post_sect(DECL_ARGS);
Line 60  static void   post_sect(DECL_ARGS);
 static  void      post_sp(DECL_ARGS);  static  void      post_sp(DECL_ARGS);
 static  int       pre_ap(DECL_ARGS);  static  int       pre_ap(DECL_ARGS);
 static  int       pre_bd(DECL_ARGS);  static  int       pre_bd(DECL_ARGS);
   static  int       pre_bk(DECL_ARGS);
 static  int       pre_br(DECL_ARGS);  static  int       pre_br(DECL_ARGS);
 static  int       pre_bx(DECL_ARGS);  static  int       pre_bx(DECL_ARGS);
 static  int       pre_dl(DECL_ARGS);  static  int       pre_dl(DECL_ARGS);
Line 182  static const struct manact manacts[MDOC_MAX + 1] = {
Line 185  static const struct manact manacts[MDOC_MAX + 1] = {
         { NULL, NULL, NULL, NULL, NULL }, /* _Fc */          { NULL, NULL, NULL, NULL, NULL }, /* _Fc */
         { cond_body, pre_enc, post_enc, "[", "]" }, /* Oo */          { cond_body, pre_enc, post_enc, "[", "]" }, /* Oo */
         { NULL, NULL, NULL, NULL, NULL }, /* Oc */          { NULL, NULL, NULL, NULL, NULL }, /* Oc */
         { NULL, NULL, NULL, NULL, NULL }, /* _Bk */          { NULL, pre_bk, post_bk, NULL, NULL }, /* Bk */
         { NULL, NULL, NULL, NULL, NULL }, /* _Ek */          { NULL, NULL, NULL, NULL, NULL }, /* Ek */
         { NULL, pre_ux, NULL, "is currently in beta test.", NULL }, /* Bt */          { NULL, pre_ux, NULL, "is currently in beta test.", NULL }, /* Bt */
         { NULL, NULL, NULL, NULL, NULL }, /* Hf */          { NULL, NULL, NULL, NULL, NULL }, /* Hf */
         { NULL, NULL, NULL, NULL, NULL }, /* Fr */          { NULL, NULL, NULL, NULL, NULL }, /* Fr */
Line 225  print_word(struct mman *mm, const char *s)
Line 228  print_word(struct mman *mm, const char *s)
                  * (2) a word that is non-punctuation; and                   * (2) a word that is non-punctuation; and
                  * (3) if punctuation, non-terminating puncutation.                   * (3) if punctuation, non-terminating puncutation.
                  */                   */
                 if (NULL == strchr(".,:;)]?!", s[0]) || '\0' != s[1])                  if (NULL == strchr(".,:;)]?!", s[0]) || '\0' != s[1]) {
                         putchar(' ');                          if (mm->mode_keep) {
                                   putchar('\\');
                                   putchar('~');
                           } else
                                   putchar(' ');
                   }
   
         /*          /*
          * Reassign needing space if we're not following opening           * Reassign needing space if we're not following opening
Line 502  post_bd(DECL_ARGS)
Line 510  post_bd(DECL_ARGS)
                 print_word(mm, ".fi");                  print_word(mm, ".fi");
         }          }
         mm->need_nl = 1;          mm->need_nl = 1;
   }
   
   static int
   pre_bk(DECL_ARGS)
   {
   
           switch (n->type) {
           case (MDOC_BLOCK):
                   return(1);
           case (MDOC_BODY):
                   mm->mode_keep = 1;
                   return(1);
           default:
                   return(0);
           }
   }
   
   static void
   post_bk(DECL_ARGS)
   {
   
           if (MDOC_BODY == n->type)
                   mm->mode_keep = 0;
 }  }
   
 static int  static int

Legend:
Removed from v.1.12  
changed lines
  Added in v.1.13

CVSweb