]> git.cameronkatri.com Git - mandoc.git/blobdiff - mandoc.c
Do not confuse .Bl -column lists that just broken another block
[mandoc.git] / mandoc.c
index cd26ff29e7b841976f5b9d6bcabe8f2ed573eef2..a61d2331d65509d4269d23c061d1d3e9e83ee166 100644 (file)
--- a/mandoc.c
+++ b/mandoc.c
@@ -1,7 +1,7 @@
-/*     $Id: mandoc.c,v 1.89 2014/12/15 17:30:30 schwarze Exp $ */
+/*     $Id: mandoc.c,v 1.91 2015/01/21 20:33:25 schwarze Exp $ */
 /*
- * Copyright (c) 2008, 2009, 2010, 2011 Kristaps Dzonsons <kristaps@bsd.lv>
- * Copyright (c) 2011, 2012, 2013, 2014 Ingo Schwarze <schwarze@openbsd.org>
+ * Copyright (c) 2008-2011, 2014 Kristaps Dzonsons <kristaps@bsd.lv>
+ * Copyright (c) 2011-2015 Ingo Schwarze <schwarze@openbsd.org>
  *
  * Permission to use, copy, modify, and distribute this software for any
  * purpose with or without fee is hereby granted, provided that the above
@@ -156,16 +156,18 @@ mandoc_escape(const char **end, const char **start, int *sz)
                /* FALLTHROUGH */
        case 'D':
                /* FALLTHROUGH */
-       case 'o':
-               /* FALLTHROUGH */
        case 'R':
                /* FALLTHROUGH */
        case 'X':
                /* FALLTHROUGH */
        case 'Z':
-               if ('\0' == **start)
-                       return(ESCAPE_ERROR);
                gly = ESCAPE_IGNORE;
+               /* FALLTHROUGH */
+       case 'o':
+               if (**start == '\0')
+                       return(ESCAPE_ERROR);
+               if (gly == ESCAPE_ERROR)
+                       gly = ESCAPE_OVERSTRIKE;
                term = **start;
                *start = ++*end;
                break;
@@ -225,7 +227,7 @@ mandoc_escape(const char **end, const char **start, int *sz)
 
                /* See +/- counts as a sign. */
                if ('+' == **end || '-' == **end || ASCII_HYPH == **end)
-                       (*end)++;
+                       *start = ++*end;
 
                switch (**end) {
                case '(':