aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
authorKristaps Dzonsons <kristaps@bsd.lv>2011-07-22 12:55:02 +0000
committerKristaps Dzonsons <kristaps@bsd.lv>2011-07-22 12:55:02 +0000
commit71208ad88584e6d12dd19bf89bb7acb9c9e24496 (patch)
tree635017bef0314d115432084bdff67a1d6444544d
parent6d8d387d78183a69812a1111b555a69f4211d319 (diff)
downloadmandoc-71208ad88584e6d12dd19bf89bb7acb9c9e24496.tar.gz
mandoc-71208ad88584e6d12dd19bf89bb7acb9c9e24496.tar.zst
mandoc-71208ad88584e6d12dd19bf89bb7acb9c9e24496.zip
Fix left/right nesting in eqn.
-rw-r--r--eqn.76
-rw-r--r--eqn.c12
2 files changed, 11 insertions, 7 deletions
diff --git a/eqn.7 b/eqn.7
index 4d00e89f..34c35004 100644
--- a/eqn.7
+++ b/eqn.7
@@ -1,4 +1,4 @@
-.\" $Id: eqn.7,v 1.13 2011/07/21 23:30:39 kristaps Exp $
+.\" $Id: eqn.7,v 1.14 2011/07/22 12:55:02 kristaps Exp $
.\"
.\" Copyright (c) 2011 Kristaps Dzonsons <kristaps@bsd.lv>
.\"
@@ -14,7 +14,7 @@
.\" ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
.\" OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
.\"
-.Dd $Mdocdate: July 21 2011 $
+.Dd $Mdocdate: July 22 2011 $
.Dt EQN 7
.Os
.Sh NAME
@@ -72,7 +72,7 @@ box : text
| pile { list }
| font box
| SIZE text box
- | LEFT text box [RIGHT text]
+ | LEFT text eqn [RIGHT text]
text : TEXT
pile : LPILE
| CPILE
diff --git a/eqn.c b/eqn.c
index 4976acbb..d2e47ea6 100644
--- a/eqn.c
+++ b/eqn.c
@@ -1,4 +1,4 @@
-/* $Id: eqn.c,v 1.25 2011/07/22 10:36:58 kristaps Exp $ */
+/* $Id: eqn.c,v 1.26 2011/07/22 12:55:02 kristaps Exp $ */
/*
* Copyright (c) 2011 Kristaps Dzonsons <kristaps@bsd.lv>
*
@@ -309,14 +309,18 @@ eqn_box(struct eqn_node *ep, struct eqn_box *last)
return(EQN_ERR);
}
left = mandoc_strndup(start, sz);
- if (EQN_DESCOPE != (c = eqn_eqn(ep, last)))
+ c = eqn_eqn(ep, last);
+ if (last->last)
+ last->last->left = left;
+ else
+ free(left);
+ if (EQN_DESCOPE != c)
return(c);
assert(last->last);
- last->last->left = left;
eqn_rewind(ep);
start = eqn_nexttok(ep, &sz);
assert(start);
- if (STRNEQ(start, sz, "right", 5))
+ if ( ! STRNEQ(start, sz, "right", 5))
return(EQN_DESCOPE);
if (NULL == (start = eqn_nexttok(ep, &sz))) {
EQN_MSG(MANDOCERR_EQNEOF, ep);