aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--ChangeLog5
-rw-r--r--dfa.c1
-rw-r--r--test/ChangeLog5
-rw-r--r--test/Makefile.am10
-rw-r--r--test/Makefile.in10
-rw-r--r--test/backsmalls2.awk10
-rw-r--r--test/backsmalls2.ok0
7 files changed, 39 insertions, 2 deletions
diff --git a/ChangeLog b/ChangeLog
index df252b1e..916684d2 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2013-11-01 Arnold D. Robbins <arnold@skeeve.com>
+
+ * dfa.c (lex): Reset laststart so that stuff like \s* works.
+ Fix from grep.
+
2013-10-31 Arnold D. Robbins <arnold@skeeve.com>
* builtin.c (efwrite): If write error to stdout is EPIPE,
diff --git a/dfa.c b/dfa.c
index b12d2d8b..b4972303 100644
--- a/dfa.c
+++ b/dfa.c
@@ -1526,6 +1526,7 @@ lex (void)
POP_LEX_STATE ();
+ laststart = 0;
return lasttok;
case 'w':
diff --git a/test/ChangeLog b/test/ChangeLog
index cb9be91e..e931c4fb 100644
--- a/test/ChangeLog
+++ b/test/ChangeLog
@@ -1,3 +1,8 @@
+2013-11-03 Arnold D. Robbins <arnold@skeeve.com>
+
+ * Makefile.am (backsmalls2): New test.
+ * backsmalls2.awk, backsmalls2.ok: New files.
+
2013-10-30 Arnold D. Robbins <arnold@skeeve.com>
* Makefile.am (pipeio3): Enhance test, again, to be more resilient
diff --git a/test/Makefile.am b/test/Makefile.am
index 73249dff..09ed3cca 100644
--- a/test/Makefile.am
+++ b/test/Makefile.am
@@ -118,6 +118,8 @@ EXTRA_DIST = \
backsmalls1.awk \
backsmalls1.in \
backsmalls1.ok \
+ backsmalls2.awk \
+ backsmalls2.ok \
badargs.ok \
badassign1.awk \
badassign1.ok \
@@ -1006,7 +1008,7 @@ MACHINE_TESTS = double1 double2 fmtspcl intformat
MPFR_TESTS = mpfrnr mpfrrnd mpfrieee mpfrexprange mpfrsort mpfrbigint
LOCALE_CHARSET_TESTS = \
- asort asorti backbigs1 backsmalls1 \
+ asort asorti backbigs1 backsmalls1 backsmalls2 \
fmttest fnarydel fnparydl jarebug lc_num1 mbfw1 \
mbprintf1 mbprintf2 mbprintf3 mbprintf4 rebt8b2 rtlenmb sort1 sprintfc
@@ -1881,6 +1883,12 @@ backsmalls1:
AWKPATH="$(srcdir)" $(AWK) -f $@.awk "$(srcdir)"/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
@-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@
+backsmalls2:
+ @echo $@
+ @[ -z "$$GAWKLOCALE" ] && GAWKLOCALE=en_US.UTF-8; \
+ AWKPATH="$(srcdir)" $(AWK) -f $@.awk "$(srcdir)"/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
+ @-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@
+
pipeio3:
@echo $@
@AWKPATH="$(srcdir)" $(AWK) -f $@.awk >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
diff --git a/test/Makefile.in b/test/Makefile.in
index 8a4ce41d..c969ef74 100644
--- a/test/Makefile.in
+++ b/test/Makefile.in
@@ -336,6 +336,8 @@ EXTRA_DIST = \
backsmalls1.awk \
backsmalls1.in \
backsmalls1.ok \
+ backsmalls2.awk \
+ backsmalls2.ok \
badargs.ok \
badassign1.awk \
badassign1.ok \
@@ -1219,7 +1221,7 @@ INET_TESTS = inetdayu inetdayt inetechu inetecht
MACHINE_TESTS = double1 double2 fmtspcl intformat
MPFR_TESTS = mpfrnr mpfrrnd mpfrieee mpfrexprange mpfrsort mpfrbigint
LOCALE_CHARSET_TESTS = \
- asort asorti backbigs1 backsmalls1 \
+ asort asorti backbigs1 backsmalls1 backsmalls2 \
fmttest fnarydel fnparydl jarebug lc_num1 mbfw1 \
mbprintf1 mbprintf2 mbprintf3 mbprintf4 rebt8b2 rtlenmb sort1 sprintfc
@@ -2276,6 +2278,12 @@ backsmalls1:
AWKPATH="$(srcdir)" $(AWK) -f $@.awk "$(srcdir)"/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
@-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@
+backsmalls2:
+ @echo $@
+ @[ -z "$$GAWKLOCALE" ] && GAWKLOCALE=en_US.UTF-8; \
+ AWKPATH="$(srcdir)" $(AWK) -f $@.awk "$(srcdir)"/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
+ @-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@
+
pipeio3:
@echo $@
@AWKPATH="$(srcdir)" $(AWK) -f $@.awk >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
diff --git a/test/backsmalls2.awk b/test/backsmalls2.awk
new file mode 100644
index 00000000..02326f58
--- /dev/null
+++ b/test/backsmalls2.awk
@@ -0,0 +1,10 @@
+BEGIN {
+ pat["^\\s*$"] = pat["^\\s+$"] = pat["^\\s?$"] = pat["^\\s{1}$"] = 1
+ for (i in pat) {
+ if (" " !~ i) {
+ printf("pattern \"%s\" failed!\n", i) > "/dev/stderr"
+ exit 1
+ }
+ }
+ exit 0
+}
diff --git a/test/backsmalls2.ok b/test/backsmalls2.ok
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/test/backsmalls2.ok