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

Diff for /mandoc/term.c between version 1.220 and 1.221

version 1.220, 2014/04/05 21:18:19 version 1.221, 2014/04/08 07:13:12
Line 72  term_end(struct termp *p)
Line 72  term_end(struct termp *p)
 }  }
   
 /*  /*
  * Flush a line of text.  A "line" is loosely defined as being something   * Flush a chunk of text.  By default, break the output line each time
  * that should be followed by a newline, regardless of whether it's   * the right margin is reached, and continue output on the next line
  * broken apart by newlines getting there.  A line can also be a   * at the same offset as the chunk itself.  By default, also break the
  * fragment of a columnar list (`Bl -tag' or `Bl -column'), which does   * output line at the end of the chunk.
  * not have a trailing newline.  
  *  
  * The following flags may be specified:   * The following flags may be specified:
  *   *
  *  - TERMP_NOBREAK: this is the most important and is used when making   *  - TERMP_NOBREAK: Do not break the output line at the right margin,
  *    columns.  In short: don't print a newline and instead expect the   *    but only at the max right margin.  Also, do not break the output
  *    next call to do the padding up to the start of the next column.   *    line at the end of the chunk, such that the next call can pad to
  *    p->trailspace may be set to 0, 1, or 2, depending on how many   *    the next column.  However, if less than p->trailspace blanks,
  *    space characters are required at the end of the column.   *    which can be 0, 1, or 2, remain to the right margin, the line
  *   *    will be broken.
  *  - TERMP_DANGLE: don't newline when TERMP_NOBREAK is specified and   *  - TERMP_BRIND: If the chunk does not fit and the output line has
  *    the line is overrun, and don't pad-right if it's underrun.   *    to be broken, start the next line at the right margin instead
  *   *    of at the offset.  Used together with TERMP_NOBREAK for the tags
  *  - TERMP_HANG: like TERMP_DANGLE, but doesn't newline when   *    in various kinds of tagged lists.
  *    overrunning, instead save the position and continue at that point   *  - TERMP_DANGLE: Do not break the output line at the right margin,
  *    when the next invocation.   *    append the next chunk after it even if this one is too long.
  *   *    To be used together with TERMP_NOBREAK.
  *  In-line line breaking:   *  - TERMP_HANG: Like TERMP_DANGLE, and also suppress padding before
  *   *    the next chunk if this column is not full.
  *  If TERMP_NOBREAK is specified and the line overruns the right  
  *  margin, it will break and pad-right to the right margin after  
  *  writing.  If maxrmargin is violated, it will break and continue  
  *  writing from the right-margin, which will lead to the above scenario  
  *  upon exit.  Otherwise, the line will break at the right margin.  
  */   */
 void  void
 term_flushln(struct termp *p)  term_flushln(struct termp *p)
Line 201  term_flushln(struct termp *p)
Line 194  term_flushln(struct termp *p)
                         vend -= vis;                          vend -= vis;
                         (*p->endline)(p);                          (*p->endline)(p);
                         p->viscol = 0;                          p->viscol = 0;
                         if (TERMP_NOBREAK & p->flags) {                          if (TERMP_BRIND & p->flags) {
                                 vbl = p->rmargin;                                  vbl = p->rmargin;
                                 vend += p->rmargin - p->offset;                                  vend += p->rmargin - p->offset;
                         } else                          } else

Legend:
Removed from v.1.220  
changed lines
  Added in v.1.221

CVSweb