[BACK]Return to mdoc_term.c CVS log [TXT][DIR] Up to [local] / src / usr.bin / mandoc

Diff for /src/usr.bin/mandoc/mdoc_term.c between version 1.46 and 1.47

version 1.46, 2009/08/09 20:11:30 version 1.47, 2009/08/09 20:37:32
Line 27 
Line 27 
 #include "mdoc.h"  #include "mdoc.h"
   
 /* FIXME: macro arguments can be escaped. */  /* FIXME: macro arguments can be escaped. */
 /* FIXME: support more offset/width tokens. */  
   
 #define TTYPE_PROG        0  #define TTYPE_PROG        0
 #define TTYPE_CMD_FLAG    1  #define TTYPE_CMD_FLAG    1
Line 66 
Line 65 
         TERMP_UNDER,            /* TTYPE_FUNC_ARG */          TERMP_UNDER,            /* TTYPE_FUNC_ARG */
         TERMP_UNDER,            /* TTYPE_LINK */          TERMP_UNDER,            /* TTYPE_LINK */
         TERMP_BOLD,             /* TTYPE_SSECTION */          TERMP_BOLD,             /* TTYPE_SSECTION */
         TERMP_UNDER,            /* TTYPE_FILE */          TERMP_UNDER,            /* TTYPE_FILE */
         TERMP_UNDER,            /* TTYPE_EMPH */          TERMP_UNDER,            /* TTYPE_EMPH */
         TERMP_BOLD,             /* TTYPE_CONFIG */          TERMP_BOLD,             /* TTYPE_CONFIG */
         TERMP_BOLD,             /* TTYPE_CMD */          TERMP_BOLD,             /* TTYPE_CMD */
Line 903 
Line 902 
                 else                  else
                         p->flags |= TERMP_NOLPAD;                          p->flags |= TERMP_NOLPAD;
   
                 if (MDOC_HEAD == node->type)                  if (MDOC_HEAD != node->type)
                           break;
   
                   /*
                    * This is ugly.  If `-hang' is specified and the body
                    * is a `Bl' or `Bd', then we want basically to nullify
                    * the "overstep" effect in term_flushln() and treat
                    * this as a `-ohang' list instead.
                    */
                   if (node->next->child &&
                                   (MDOC_Bl == node->next->child->tok ||
                                    MDOC_Bd == node->next->child->tok)) {
                           p->flags &= ~TERMP_NOBREAK;
                           p->flags &= ~TERMP_NOLPAD;
                   } else
                         p->flags |= TERMP_HANG;                          p->flags |= TERMP_HANG;
                 break;                  break;
         case (MDOC_Tag):          case (MDOC_Tag):
Line 945 
Line 958 
         p->offset += offset;          p->offset += offset;
   
         switch (type) {          switch (type) {
           case (MDOC_Hang):
                   /*
                    * Same stipulation as above, regarding `-hang'.  We
                    * don't want to recalculate rmargin and offsets when
                    * using `Bd' or `Bl' within `-hang' overstep lists.
                    */
                   if (MDOC_HEAD == node->type && node->next->child &&
                                   (MDOC_Bl == node->next->child->tok ||
                                    MDOC_Bd == node->next->child->tok))
                           break;
                   /* FALLTHROUGH */
         case (MDOC_Bullet):          case (MDOC_Bullet):
                 /* FALLTHROUGH */                  /* FALLTHROUGH */
         case (MDOC_Dash):          case (MDOC_Dash):
Line 952 
Line 976 
         case (MDOC_Enum):          case (MDOC_Enum):
                 /* FALLTHROUGH */                  /* FALLTHROUGH */
         case (MDOC_Hyphen):          case (MDOC_Hyphen):
                 /* FALLTHROUGH */  
         case (MDOC_Hang):  
                 /* FALLTHROUGH */                  /* FALLTHROUGH */
         case (MDOC_Tag):          case (MDOC_Tag):
                 assert(width);                  assert(width);

Legend:
Removed from v.1.46  
changed lines
  Added in v.1.47