=================================================================== RCS file: /cvs/texi2mdoc/util.c,v retrieving revision 1.27 retrieving revision 1.28 diff -u -p -r1.27 -r1.28 --- texi2mdoc/util.c 2015/03/05 09:36:41 1.27 +++ texi2mdoc/util.c 2015/03/05 15:18:13 1.28 @@ -1,4 +1,4 @@ -/* $Id: util.c,v 1.27 2015/03/05 09:36:41 kristaps Exp $ */ +/* $Id: util.c,v 1.28 2015/03/05 15:18:13 kristaps Exp $ */ /* * Copyright (c) 2015 Kristaps Dzonsons * @@ -597,7 +597,26 @@ parseword(struct texi *p, size_t *pos, char extra) } if ('\0' != extra && BUF(p)[*pos] == extra) return; - if (*pos < BUFSZ(p) - 1 && + + if (p->literal) { + texiputchar(p, BUF(p)[*pos]); + advance(p, pos); + continue; + } + + if (*pos < BUFSZ(p) - 2 && + '-' == BUF(p)[*pos] && + '-' == BUF(p)[*pos + 1] && + '-' == BUF(p)[*pos + 2]) { + texiputchars(p, "\\(em"); + advance(p, pos); + advance(p, pos); + } else if (*pos < BUFSZ(p) - 1 && + '-' == BUF(p)[*pos] && + '-' == BUF(p)[*pos + 1]) { + texiputchars(p, "\\(en"); + advance(p, pos); + } else if (*pos < BUFSZ(p) - 1 && '`' == BUF(p)[*pos] && '`' == BUF(p)[*pos + 1]) { texiputchars(p, "\\(lq"); @@ -609,6 +628,7 @@ parseword(struct texi *p, size_t *pos, char extra) advance(p, pos); } else texiputchar(p, BUF(p)[*pos]); + advance(p, pos); }