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

Diff for /mandoc/term.c between version 1.288 and 1.289

version 1.288, 2022/08/15 13:04:43 version 1.289, 2022/08/15 18:12:30
Line 208  term_flushln(struct termp *p)
Line 208  term_flushln(struct termp *p)
                         return;                          return;
   
                 endline(p);                  endline(p);
                 p->viscol = 0;  
   
                 /*                  /*
                  * Normally, start the next line at the same indentation                   * Normally, start the next line at the same indentation
Line 314  term_fill(struct termp *p, size_t *nbr, size_t *vbr, s
Line 313  term_fill(struct termp *p, size_t *nbr, size_t *vbr, s
                                 vis = term_tab_next(vis);                                  vis = term_tab_next(vis);
                                 vis -= p->tcol->taboff;                                  vis -= p->tcol->taboff;
                                 break;                                  break;
                           case ASCII_NBRZW:  /* Non-breakable zero-width. */
                                   break;
                         case ASCII_NBRSP:  /* Non-breakable space. */                          case ASCII_NBRSP:  /* Non-breakable space. */
                                 p->tcol->buf[ic] = ' ';                                  p->tcol->buf[ic] = ' ';
                                 /* FALLTHROUGH */                                  /* FALLTHROUGH */
Line 365  term_field(struct termp *p, size_t vbl, size_t nbr)
Line 366  term_field(struct termp *p, size_t vbl, size_t nbr)
                 switch (p->tcol->buf[ic]) {                  switch (p->tcol->buf[ic]) {
                 case '\n':                  case '\n':
                 case ASCII_BREAK:                  case ASCII_BREAK:
                   case ASCII_NBRZW:
                         continue;                          continue;
                 case '\t':                  case '\t':
                 case ' ':                  case ' ':
Line 571  term_word(struct termp *p, const char *word)
Line 573  term_word(struct termp *p, const char *word)
                         break;                          break;
                 case ESCAPE_NUMBERED:                  case ESCAPE_NUMBERED:
                         uc = mchars_num2char(seq, sz);                          uc = mchars_num2char(seq, sz);
                         if (uc < 0)                          if (uc >= 0)
                                 continue;                                  break;
                         break;                          bufferc(p, ASCII_NBRZW);
                           continue;
                 case ESCAPE_SPECIAL:                  case ESCAPE_SPECIAL:
                         if (p->enc == TERMENC_ASCII) {                          if (p->enc == TERMENC_ASCII) {
                                 cp = mchars_spec2str(seq, sz, &ssz);                                  cp = mchars_spec2str(seq, sz, &ssz);
                                 if (cp != NULL)                                  if (cp != NULL)
                                         encode(p, cp, ssz);                                          encode(p, cp, ssz);
                                   else
                                           bufferc(p, ASCII_NBRZW);
                         } else {                          } else {
                                 uc = mchars_spec2cp(seq, sz);                                  uc = mchars_spec2cp(seq, sz);
                                 if (uc > 0)                                  if (uc > 0)
                                         encode1(p, uc);                                          encode1(p, uc);
                                   else
                                           bufferc(p, ASCII_NBRZW);
                         }                          }
                         continue;                          continue;
                 case ESCAPE_UNDEF:                  case ESCAPE_UNDEF:
Line 744  term_word(struct termp *p, const char *word)
Line 751  term_word(struct termp *p, const char *word)
                         if (p->col > p->tcol->lastcol)                          if (p->col > p->tcol->lastcol)
                                 p->col = p->tcol->lastcol;                                  p->col = p->tcol->lastcol;
                         continue;                          continue;
                   case ESCAPE_IGNORE:
                           bufferc(p, ASCII_NBRZW);
                           continue;
                 default:                  default:
                         continue;                          continue;
                 }                  }
Line 935  term_strlen(const struct termp *p, const char *cp)
Line 945  term_strlen(const struct termp *p, const char *cp)
         int              ssz, skip, uc;          int              ssz, skip, uc;
         const char      *seq, *rhs;          const char      *seq, *rhs;
         enum mandoc_esc  esc;          enum mandoc_esc  esc;
         static const char rej[] = { '\\', ASCII_NBRSP, ASCII_HYPH,          static const char rej[] = { '\\', ASCII_NBRSP, ASCII_NBRZW,
                         ASCII_BREAK, '\0' };                  ASCII_BREAK, ASCII_HYPH, '\0' };
   
         /*          /*
          * Account for escaped sequences within string length           * Account for escaped sequences within string length

Legend:
Removed from v.1.288  
changed lines
  Added in v.1.289

CVSweb