summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--eqn.c12
-rw-r--r--regress/eqn/delim/Makefile3
-rw-r--r--regress/eqn/delim/basic.in11
-rw-r--r--regress/eqn/delim/basic.out_ascii2
-rw-r--r--regress/eqn/delim/basic.out_utf810
5 files changed, 33 insertions, 5 deletions
diff --git a/eqn.c b/eqn.c
index 352b25f2..9e03079e 100644
--- a/eqn.c
+++ b/eqn.c
@@ -1,7 +1,7 @@
/* $Id$ */
/*
* Copyright (c) 2011, 2014 Kristaps Dzonsons <kristaps@bsd.lv>
- * Copyright (c) 2014, 2015, 2017, 2018 Ingo Schwarze <schwarze@openbsd.org>
+ * Copyright (c) 2014,2015,2017,2018,2020 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
@@ -399,6 +399,14 @@ eqn_next(struct eqn_node *ep, enum parse_mode mode)
case '"':
quoted = 1;
break;
+ case ' ':
+ case '\t':
+ case '~':
+ case '^':
+ if (quoted)
+ break;
+ ep->start++;
+ continue;
default:
break;
}
@@ -669,7 +677,7 @@ eqn_parse(struct eqn_node *ep)
if (ep->data == NULL)
return;
- ep->start = ep->end = ep->data + strspn(ep->data, " ^~");
+ ep->start = ep->end = ep->data;
next_tok:
tok = eqn_next(ep, MODE_TOK);
diff --git a/regress/eqn/delim/Makefile b/regress/eqn/delim/Makefile
index dd8d92e7..6de941ee 100644
--- a/regress/eqn/delim/Makefile
+++ b/regress/eqn/delim/Makefile
@@ -1,6 +1,7 @@
-# $OpenBSD: Makefile,v 1.2 2020/01/08 10:50:54 schwarze Exp $
+# $OpenBSD: Makefile,v 1.3 2020/01/08 12:09:14 schwarze Exp $
REGRESS_TARGETS = basic
+UTF8_TARGETS = basic
GOPTS = -e
SKIP_GROFF =
diff --git a/regress/eqn/delim/basic.in b/regress/eqn/delim/basic.in
index 03bb0e72..9ae9f5f3 100644
--- a/regress/eqn/delim/basic.in
+++ b/regress/eqn/delim/basic.in
@@ -1,4 +1,4 @@
-.\" $OpenBSD: basic.in,v 1.3 2020/01/08 10:58:09 schwarze Exp $
+.\" $OpenBSD: basic.in,v 1.4 2020/01/08 12:09:14 schwarze Exp $
.Dd $Mdocdate$
.Dt DELIM-BASIC 1
.Os
@@ -19,4 +19,13 @@ inline [delta]
delim onepsilon
.EN
inline [zeta]
+.EQ
+delim $$
+delim off
+.EN
+inline $eta$
+.EQ
+delim on
+.EN
+inline $theta$
final text
diff --git a/regress/eqn/delim/basic.out_ascii b/regress/eqn/delim/basic.out_ascii
index 03a8059b..7f748bcc 100644
--- a/regress/eqn/delim/basic.out_ascii
+++ b/regress/eqn/delim/basic.out_ascii
@@ -5,6 +5,6 @@ NNAAMMEE
DDEESSCCRRIIPPTTIIOONN
initial text <alpha> inline <beta> <gamma> inline [delta] <epsilon>
- inline <zeta> final text
+ inline <zeta> inline $eta$ inline <theta> final text
OpenBSD January 8, 2020 OpenBSD
diff --git a/regress/eqn/delim/basic.out_utf8 b/regress/eqn/delim/basic.out_utf8
new file mode 100644
index 00000000..b7cb7e97
--- /dev/null
+++ b/regress/eqn/delim/basic.out_utf8
@@ -0,0 +1,10 @@
+DELIM-BASIC(1) General Commands Manual DELIM-BASIC(1)
+
+NNAAMMEE
+ ddeelliimm--bbaassiicc – inline eqn delimiters
+
+DDEESSCCRRIIPPTTIIOONN
+ initial text α inline β γ inline [delta] ε inline ζ inline $eta$ inline θ
+ final text
+
+OpenBSD January 8, 2020 OpenBSD