summaryrefslogtreecommitdiffstats
path: root/term.c
diff options
context:
space:
mode:
authorIngo Schwarze <schwarze@openbsd.org>2014-10-28 18:49:33 +0000
committerIngo Schwarze <schwarze@openbsd.org>2014-10-28 18:49:33 +0000
commitcfd3120c8be71fbcacc05d872ae13324d3a3685f (patch)
tree44c213480162767ae8a95830ad3cc955e8b19f1d /term.c
parente140259c6ca1889b0dddef8b075524723b147cfe (diff)
downloadmandoc-cfd3120c8be71fbcacc05d872ae13324d3a3685f.tar.gz
In -Tascii mode, print "<?>" only for Unicode escapes of unknown
representation, not for character escapes with unknown names. According to groff, the latter produce no output, and we now warn about them.
Diffstat (limited to 'term.c')
-rw-r--r--term.c12
1 files changed, 3 insertions, 9 deletions
diff --git a/term.c b/term.c
index ecbfdf6a..10516d14 100644
--- a/term.c
+++ b/term.c
@@ -458,9 +458,7 @@ term_word(struct termp *p, const char *word)
if (p->enc == TERMENC_ASCII) {
cp = mchars_spec2str(p->symtab,
seq, sz, &ssz);
- if (cp == NULL)
- encode(p, "<?>", 3);
- else
+ if (cp != NULL)
encode(p, cp, ssz);
} else {
uc = mchars_spec2cp(p->symtab, seq, sz);
@@ -690,14 +688,10 @@ term_strlen(const struct termp *p, const char *cp)
sz += cond_width(p, c, &skip);
break;
case ESCAPE_SPECIAL:
- if (p->enc == TERMENC_ASCII) {
+ if (p->enc == TERMENC_ASCII)
rhs = mchars_spec2str(p->symtab,
seq, ssz, &rsz);
- if (rhs == NULL) {
- rhs = "<?>";
- rsz = 3;
- }
- } else {
+ else {
c = mchars_spec2cp(p->symtab,
seq, ssz);
if (c > 0)