updated for version 7.0c10
diff --git a/src/testdir/test58.in b/src/testdir/test58.in
index 0cd84ee..467c7b5 100644
--- a/src/testdir/test58.in
+++ b/src/testdir/test58.in
@@ -452,11 +452,14 @@
 
 PFX p N 1
 PFX p 0 pre .
+
+PFX P N 1
+PFX P 0 nou .
 4affend
 
 4dicstart
 1234
-word/m
+word/mP
 util/am
 pro/xq
 tomato/m
@@ -468,11 +471,14 @@
 4good: word util bork prebork start end wordutil wordutils pro-ok
 	bork borkbork borkborkbork borkborkborkbork borkborkborkborkbork
 	tomato tomatotomato startend startword startwordword startwordend
-	startwordwordend startwordwordwordend prebork preborkprebork
-	preborkborkprebork preborkpreborkbork
+	startwordwordend startwordwordwordend prebork preborkbork
+	preborkborkbork
+	nouword
 bad: wordutilize pro borkborkborkborkborkbork tomatotomatotomato
 	endstart endend startstart wordend wordstart
+	preborkprebork  preborkpreborkbork
  	startwordwordwordwordend borkpreborkpreborkbork
+	utilsbork  startnouword
 badend
 
 Test affix flags with two characters
@@ -487,6 +493,7 @@
 COMPOUNDRULE ssmm*ee
 
 NEEDCOMPOUND xx
+COMPOUNDPERMITFLAG pp
 
 SFX 13 Y 1
 SFX 13 0 bork .
@@ -498,7 +505,10 @@
 SFX aé 0 aé .
 
 PFX zz Y 1
-PFX zz 0 pre .
+PFX zz 0 pre/pp .
+
+PFX yy Y 1
+PFX yy 0 nou .
 5affend
 
 5dicstart
@@ -506,14 +516,14 @@
 foo/a1aé!!
 bar/zz13ee
 start/ss
-end/ee
+end/eeyy
 middle/mmxx
 5dicend
 
 5good: fooa1 fooaé bar prebar barbork prebarbork  startprebar
-      start end startend  startmiddleend
+      start end startend  startmiddleend nouend
 bad: foo fooa2 prabar probarbirk middle startmiddle middleend endstart
-	startprobar
+	startprobar startnouend
 badend
 
 6affstart
@@ -527,6 +537,8 @@
 
 NEEDCOMPOUND Xx
 
+COMPOUNDPERMITFLAG p
+
 SFX N3 Y 1
 SFX N3 0 bork .
 
@@ -537,7 +549,7 @@
 SFX Aé 0 aé .
 
 PFX Zz Y 1
-PFX Zz 0 pre .
+PFX Zz 0 pre/p .
 6affend
 
 6dicstart
@@ -565,6 +577,7 @@
 COMPOUNDRULE 2,77*123
 
 NEEDCOMPOUND 1
+COMPOUNDPERMITFLAG 432
 
 SFX 61003 Y 1
 SFX 61003 0 meat .
@@ -576,7 +589,7 @@
 SFX 111 0 aé .
 
 PFX 17 Y 1
-PFX 17 0 pre .
+PFX 17 0 pre/432 .
 7affend
 
 7dicstart
diff --git a/src/testdir/test58.ok b/src/testdir/test58.ok
index 7419cde..ce05c73 100644
--- a/src/testdir/test58.ok
+++ b/src/testdir/test58.ok
@@ -135,6 +135,7 @@
 utilize
 utils
 word
+nouword
 -------
 bad
 ['end', 'bork', 'word']
@@ -156,10 +157,18 @@
 ['word end', 'word', 'wordword']
 wordstart
 ['word start', 'bork start']
+preborkprebork
+['prebork prebork', 'preborkbork', 'preborkborkbork']
+preborkpreborkbork
+['prebork preborkbork', 'preborkborkbork', 'preborkborkborkbork']
 startwordwordwordwordend
 ['startwordwordwordword end', 'startwordwordwordword', 'start wordwordwordword end']
 borkpreborkpreborkbork
-['bork preborkpreborkbork', 'borkprebork preborkbork', 'borkpreborkprebork bork']
+['bork preborkpreborkbork', 'bork prebork preborkbork', 'bork preborkprebork bork']
+utilsbork
+['utilbork', 'utils bork', 'util bork']
+startnouword
+['start nouword', 'startword', 'startborkword']
 
 test 5-5
 # file: Xtest.latin1.spl
@@ -168,6 +177,7 @@
 end
 fooa1
 fooaé
+nouend
 prebar
 prebarbork
 start
@@ -192,6 +202,8 @@
 ['end start', 'start']
 startprobar
 ['startprebar', 'start prebar', 'startbar']
+startnouend
+['start nouend', 'startend']
 
 test 6-6
 # file: Xtest.latin1.spl
diff --git a/src/testdir/test59.in b/src/testdir/test59.in
index cf9cb49..bd63796 100644
--- a/src/testdir/test59.in
+++ b/src/testdir/test59.in
@@ -456,11 +456,14 @@
 
 PFX p N 1
 PFX p 0 pre .
+
+PFX P N 1
+PFX P 0 nou .
 4affend
 
 4dicstart
 1234
-word/m
+word/mP
 util/am
 pro/xq
 tomato/m
@@ -472,11 +475,14 @@
 4good: word util bork prebork start end wordutil wordutils pro-ok
 	bork borkbork borkborkbork borkborkborkbork borkborkborkborkbork
 	tomato tomatotomato startend startword startwordword startwordend
-	startwordwordend startwordwordwordend prebork preborkprebork
-	preborkborkprebork preborkpreborkbork
+	startwordwordend startwordwordwordend prebork preborkbork
+	preborkborkbork
+	nouword
 bad: wordutilize pro borkborkborkborkborkbork tomatotomatotomato
 	endstart endend startstart wordend wordstart
+	preborkprebork  preborkpreborkbork
  	startwordwordwordwordend borkpreborkpreborkbork
+	utilsbork  startnouword
 badend
 
 test2:
@@ -494,6 +500,7 @@
 COMPOUNDRULE ssmm*ee
 
 NEEDCOMPOUND xx
+COMPOUNDPERMITFLAG pp
 
 SFX 13 Y 1
 SFX 13 0 bork .
@@ -505,7 +512,10 @@
 SFX aé 0 aé .
 
 PFX zz Y 1
-PFX zz 0 pre .
+PFX zz 0 pre/pp .
+
+PFX yy Y 1
+PFX yy 0 nou .
 5affend
 
 5dicstart
@@ -513,14 +523,14 @@
 foo/a1aé!!
 bar/zz13ee
 start/ss
-end/ee
+end/eeyy
 middle/mmxx
 5dicend
 
 5good: fooa1 fooaé bar prebar barbork prebarbork  startprebar
-      start end startend  startmiddleend
+      start end startend  startmiddleend nouend
 bad: foo fooa2 prabar probarbirk middle startmiddle middleend endstart
-	startprobar
+	startprobar startnouend
 badend
 
 6affstart
@@ -534,6 +544,8 @@
 
 NEEDCOMPOUND Xx
 
+COMPOUNDPERMITFLAG p
+
 SFX N3 Y 1
 SFX N3 0 bork .
 
@@ -544,7 +556,7 @@
 SFX Aé 0 aé .
 
 PFX Zz Y 1
-PFX Zz 0 pre .
+PFX Zz 0 pre/p .
 6affend
 
 6dicstart
@@ -576,6 +588,7 @@
 COMPOUNDRULE 2,77*123
 
 NEEDCOMPOUND 1
+COMPOUNDPERMITFLAG 432
 
 SFX 61003 Y 1
 SFX 61003 0 meat .
@@ -587,7 +600,7 @@
 SFX 111 0 aé .
 
 PFX 17 Y 1
-PFX 17 0 pre .
+PFX 17 0 pre/432 .
 7affend
 
 7dicstart
diff --git a/src/testdir/test59.ok b/src/testdir/test59.ok
index 29c9696..931cdd9 100644
--- a/src/testdir/test59.ok
+++ b/src/testdir/test59.ok
@@ -135,6 +135,7 @@
 utilize
 utils
 word
+nouword
 -------
 bad
 ['end', 'bork', 'word']
@@ -156,10 +157,18 @@
 ['word end', 'word', 'wordword']
 wordstart
 ['word start', 'bork start']
+preborkprebork
+['prebork prebork', 'preborkbork', 'preborkborkbork']
+preborkpreborkbork
+['prebork preborkbork', 'preborkborkbork', 'preborkborkborkbork']
 startwordwordwordwordend
 ['startwordwordwordword end', 'startwordwordwordword', 'start wordwordwordword end']
 borkpreborkpreborkbork
-['bork preborkpreborkbork', 'borkprebork preborkbork', 'borkpreborkprebork bork']
+['bork preborkpreborkbork', 'bork prebork preborkbork', 'bork preborkprebork bork']
+utilsbork
+['utilbork', 'utils bork', 'util bork']
+startnouword
+['start nouword', 'startword', 'startborkword']
 
 test 5-5
 # file: Xtest.utf-8.spl
@@ -168,6 +177,7 @@
 end
 fooa1
 fooaé
+nouend
 prebar
 prebarbork
 start
@@ -192,6 +202,8 @@
 ['end start', 'start']
 startprobar
 ['startprebar', 'start prebar', 'startbar']
+startnouend
+['start nouend', 'startend']
 
 test 6-6
 # file: Xtest.utf-8.spl