=================================================================== RCS file: /cvs/texi2mdoc/main.c,v retrieving revision 1.58 retrieving revision 1.59 diff -u -p -r1.58 -r1.59 --- texi2mdoc/main.c 2015/03/02 18:12:53 1.58 +++ texi2mdoc/main.c 2015/03/03 15:04:24 1.59 @@ -1,4 +1,4 @@ -/* $Id: main.c,v 1.58 2015/03/02 18:12:53 kristaps Exp $ */ +/* $Id: main.c,v 1.59 2015/03/03 15:04:24 kristaps Exp $ */ /* * Copyright (c) 2015 Kristaps Dzonsons * @@ -94,7 +94,8 @@ static const struct texitok __texitoks[TEXICMD__MAX] = { dosymbol, "*", 1 }, /* TEXICMD_ASTERISK */ { dosymbol, "@", 1 }, /* TEXICMD_AT */ { doignline, "author", 6 }, /* TEXICMD_AUTHOR */ - { doinline, "b", 1 }, /* TEXICMD_BOLD */ + { doinline, "b", 1 }, /* TEXICMD_B */ + { dosymbol, "\\", 1 }, /* TEXICMD_BACKSLASH */ { dosymbol, "!", 1 }, /* TEXICMD_BANG */ { dosymbol, "bullet", 6 }, /* TEXICMD_BULLET */ { dobye, "bye", 3 }, /* TEXICMD_BYE */ @@ -733,6 +734,15 @@ doinline(struct texi *p, enum texicmd cmd, size_t *pos return; } + /* + * If we haven't seen any whitespace, then we don't want the + * subsequent macro to insert any whitespace. + */ + if (p->outmacro && 0 == p->seenws) { + teximacroopen(p, "Ns"); + teximacroclose(p); + } + teximacroopen(p, macro); p->seenws = 0; if (TEXICMD_SC == cmd) @@ -1203,6 +1213,9 @@ dosymbol(struct texi *p, enum texicmd cmd, size_t *pos break; case (TEXICMD_AT): texiputchar(p, '@'); + break; + case (TEXICMD_BACKSLASH): + texiputchar(p, '\\'); break; case (TEXICMD_BANG): texiputchar(p, '!');