summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--tag.c20
1 files changed, 18 insertions, 2 deletions
diff --git a/tag.c b/tag.c
index 50502e58..9bf67480 100644
--- a/tag.c
+++ b/tag.c
@@ -89,8 +89,24 @@ tag_put(const char *s, int prio, struct roff_node *n)
if (n->child == NULL || n->child->type != ROFFT_TEXT)
return;
s = n->child->string;
- if (s[0] == '\\' && (s[1] == '&' || s[1] == 'e'))
- s += 2;
+ switch (s[0]) {
+ case '-':
+ s++;
+ break;
+ case '\\':
+ switch (s[1]) {
+ case '&':
+ case '-':
+ case 'e':
+ s += 2;
+ break;
+ default:
+ break;
+ }
+ break;
+ default:
+ break;
+ }
}
/*