version 1.210, 2013/08/21 21:20:40 |
version 1.211, 2013/12/22 23:34:13 |
Line 83 term_end(struct termp *p) |
|
Line 83 term_end(struct termp *p) |
|
* - TERMP_NOBREAK: this is the most important and is used when making |
* - TERMP_NOBREAK: this is the most important and is used when making |
* columns. In short: don't print a newline and instead expect the |
* columns. In short: don't print a newline and instead expect the |
* next call to do the padding up to the start of the next column. |
* next call to do the padding up to the start of the next column. |
|
* p->trailspace may be set to 0, 1, or 2, depending on how many |
|
* space characters are required at the end of the column. |
* |
* |
* - TERMP_TWOSPACE: make sure there is room for at least two space |
|
* characters of padding. Otherwise, rather break the line. |
|
* |
|
* - TERMP_DANGLE: don't newline when TERMP_NOBREAK is specified and |
* - TERMP_DANGLE: don't newline when TERMP_NOBREAK is specified and |
* the line is overrun, and don't pad-right if it's underrun. |
* the line is overrun, and don't pad-right if it's underrun. |
* |
* |
Line 269 term_flushln(struct termp *p) |
|
Line 268 term_flushln(struct termp *p) |
|
} |
} |
|
|
if (TERMP_HANG & p->flags) { |
if (TERMP_HANG & p->flags) { |
/* We need one blank after the tag. */ |
p->overstep = (int)(vis - maxvis + |
p->overstep = (int)(vis - maxvis + (*p->width)(p, ' ')); |
p->trailspace * (*p->width)(p, ' ')); |
|
|
/* |
/* |
* If we have overstepped the margin, temporarily move |
* If we have overstepped the margin, temporarily move |
Line 285 term_flushln(struct termp *p) |
|
Line 284 term_flushln(struct termp *p) |
|
return; |
return; |
|
|
/* If the column was overrun, break the line. */ |
/* If the column was overrun, break the line. */ |
if (maxvis <= vis + |
if (maxvis < vis + p->trailspace * (*p->width)(p, ' ')) { |
((TERMP_TWOSPACE & p->flags) ? (*p->width)(p, ' ') : 0)) { |
|
(*p->endline)(p); |
(*p->endline)(p); |
p->viscol = 0; |
p->viscol = 0; |
} |
} |