diff options
author | Ingo Schwarze <schwarze@openbsd.org> | 2013-12-26 02:55:28 +0000 |
---|---|---|
committer | Ingo Schwarze <schwarze@openbsd.org> | 2013-12-26 02:55:28 +0000 |
commit | 7fb5476725c202c780aecef68753c0691b049a51 (patch) | |
tree | 9e98223677db4d63884748b64283f49b708f7b03 /mandoc.c | |
parent | e24768a5921ae6908571ad429b72ffd982664718 (diff) | |
download | mandoc-7fb5476725c202c780aecef68753c0691b049a51.tar.gz |
I have no idea how it happened that \B, \H, \h, \L, and \l got
mapped to ESCAPE_NUMBERED (which is for \N and only for \N), that
made no sense at all. Properly remap them to ESCAPE_IGNORE.
While here, move \B and \w from the group taking number arguments
to the group taking string arguments; right now, that doesn't imply
any functional change, but if we ever go ahead and implement a
parser for roff(7) numerical expressions, it will suddenly start
to matter, and cause confusion.
Diffstat (limited to 'mandoc.c')
-rw-r--r-- | mandoc.c | 12 |
1 files changed, 5 insertions, 7 deletions
@@ -165,12 +165,16 @@ mandoc_escape(const char const **end, const char const **start, int *sz) /* FALLTHROUGH */ case ('b'): /* FALLTHROUGH */ + case ('B'): + /* FALLTHROUGH */ case ('D'): /* FALLTHROUGH */ case ('o'): /* FALLTHROUGH */ case ('R'): /* FALLTHROUGH */ + case ('w'): + /* FALLTHROUGH */ case ('X'): /* FALLTHROUGH */ case ('Z'): @@ -185,8 +189,6 @@ mandoc_escape(const char const **end, const char const **start, int *sz) * These escapes are of the form \X'N', where 'X' is the trigger * and 'N' resolves to a numerical expression. */ - case ('B'): - /* FALLTHROUGH */ case ('h'): /* FALLTHROUGH */ case ('H'): @@ -194,19 +196,15 @@ mandoc_escape(const char const **end, const char const **start, int *sz) case ('L'): /* FALLTHROUGH */ case ('l'): - gly = ESCAPE_NUMBERED; /* FALLTHROUGH */ case ('S'): /* FALLTHROUGH */ case ('v'): /* FALLTHROUGH */ - case ('w'): - /* FALLTHROUGH */ case ('x'): if ('\'' != **start) return(ESCAPE_ERROR); - if (ESCAPE_ERROR == gly) - gly = ESCAPE_IGNORE; + gly = ESCAPE_IGNORE; *start = ++*end; term = '\''; break; |