[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.238 and 1.239

version 1.238, 2022/08/15 13:04:43 version 1.239, 2022/08/15 18:46:30
Line 517  pre_IP(DECL_ARGS)
Line 517  pre_IP(DECL_ARGS)
                 p->trailspace = 1;                  p->trailspace = 1;
                 break;                  break;
         case ROFFT_BODY:          case ROFFT_BODY:
                 p->flags |= TERMP_NOSPACE;                  p->flags |= TERMP_NOSPACE | TERMP_NONEWLINE;
                 break;                  break;
         default:          default:
                 abort();                  abort();
Line 591  pre_TP(DECL_ARGS)
Line 591  pre_TP(DECL_ARGS)
                 p->trailspace = 1;                  p->trailspace = 1;
                 break;                  break;
         case ROFFT_BODY:          case ROFFT_BODY:
                 p->flags |= TERMP_NOSPACE;                  p->flags |= TERMP_NOSPACE | TERMP_NONEWLINE;
                 break;                  break;
         default:          default:
                 abort();                  abort();
Line 900  print_man_node(DECL_ARGS)
Line 900  print_man_node(DECL_ARGS)
         const struct man_term_act *act;          const struct man_term_act *act;
         int c;          int c;
   
           /*
            * In no-fill mode, break the output line at the beginning
            * of new input lines except after \c, and nowhere else.
            */
   
           if (n->flags & NODE_NOFILL) {
                   if (n->flags & NODE_LINE &&
                       (p->flags & TERMP_NONEWLINE) == 0)
                           term_newln(p);
                   p->flags |= TERMP_BRNEVER;
           } else
                   p->flags &= ~TERMP_BRNEVER;
   
         if (n->flags & NODE_ID)          if (n->flags & NODE_ID)
                 term_tag_write(n, p->line);                  term_tag_write(n, p->line);
   
Line 964  print_man_node(DECL_ARGS)
Line 977  print_man_node(DECL_ARGS)
                 term_fontrepl(p, TERMFONT_NONE);                  term_fontrepl(p, TERMFONT_NONE);
   
 out:  out:
         /*          if (n->parent->tok == MAN_HP && n->parent->type == ROFFT_BODY &&
          * If we're in a literal context, make sure that words              n->prev == NULL && n->flags & NODE_NOFILL) {
          * together on the same line stay together.  This is a                  term_newln(p);
          * POST-printing call, so we check the NEXT word.  Since                  p->tcol->offset = p->tcol->rmargin;
          * -man doesn't have nested macros, we don't need to be                  p->tcol->rmargin = p->maxrmargin;
          * more specific than this.  
          */  
         if (n->flags & NODE_NOFILL &&  
             ! (p->flags & (TERMP_NOBREAK | TERMP_NONEWLINE)) &&  
             (n->next == NULL || n->next->flags & NODE_LINE)) {  
                 p->flags |= TERMP_BRNEVER | TERMP_NOSPACE;  
                 p->tcol->taboff = 0;  
                 if (n->string != NULL && *n->string != '\0')  
                         term_flushln(p);  
                 else  
                         term_newln(p);  
                 p->flags &= ~TERMP_BRNEVER;  
                 if (p->tcol->rmargin < p->maxrmargin &&  
                     n->parent->tok == MAN_HP) {  
                         p->tcol->offset = p->tcol->rmargin;  
                         p->tcol->rmargin = p->maxrmargin;  
                 }  
         }          }
         if (n->flags & NODE_EOS)          if (n->flags & NODE_EOS)
                 p->flags |= TERMP_SENTENCE;                  p->flags |= TERMP_SENTENCE;

Legend:
Removed from v.1.238  
changed lines
  Added in v.1.239

CVSweb