Skip whitespace at the beginning of eqn(7) nodes,
authorschwarze <schwarze@openbsd.org>
Thu, 29 Jun 2017 16:30:47 +0000 (16:30 +0000)
committerschwarze <schwarze@openbsd.org>
Thu, 29 Jun 2017 16:30:47 +0000 (16:30 +0000)
in particular ~ and ^ that misrendered;
found by bentley@ in glCopyTexSubImage1D(3); also affected
glAccum(3), glClipPlane(3), glDrawPixels(3), glEvalMesh(3), and others.

usr.bin/mandoc/eqn.c

index ddf1c6c..21f2191 100644 (file)
@@ -1,4 +1,4 @@
-/*     $OpenBSD: eqn.c,v 1.34 2017/06/26 19:53:00 schwarze Exp $ */
+/*     $OpenBSD: eqn.c,v 1.35 2017/06/29 16:30:47 schwarze Exp $ */
 /*
  * Copyright (c) 2011, 2014 Kristaps Dzonsons <kristaps@bsd.lv>
  * Copyright (c) 2014, 2015, 2017 Ingo Schwarze <schwarze@openbsd.org>
@@ -681,7 +681,7 @@ eqn_parse(struct eqn_node *ep, struct eqn_box *parent)
        if (ep->data == NULL)
                return ROFF_IGN;
 
-       ep->start = ep->end = ep->data;
+       ep->start = ep->end = ep->data + strspn(ep->data, " ^~");
 
 next_tok:
        tok = eqn_next(ep, MODE_TOK);