about summary refs log tree commit diff
diff options
context:
space:
mode:
authorDuncaen <mail@duncano.de>2017-04-01 17:16:29 +0200
committerDuncaen <mail@duncano.de>2017-04-01 17:17:09 +0200
commit537282d6af33e24f653884b41dc54ac2d143a664 (patch)
tree0c9e77407f6e19bdf29412f1729a5ae176f44354
parentb960d5e3cc1abd1849ef6c0019f16ab7dd77e52a (diff)
downloadmblaze-537282d6af33e24f653884b41dc54ac2d143a664.tar.gz
mblaze-537282d6af33e24f653884b41dc54ac2d143a664.tar.xz
mblaze-537282d6af33e24f653884b41dc54ac2d143a664.zip
seq: fix selecting subthreads at the end of sequences and add test cases
-rw-r--r--seq.c4
-rw-r--r--t/7000-mseq.t11
2 files changed, 13 insertions, 2 deletions
diff --git a/seq.c b/seq.c
index f1fb6b1..9ff7f59 100644
--- a/seq.c
+++ b/seq.c
@@ -266,8 +266,10 @@ parse_subthread(char *map, long a, long *stopo)
 
 	for (s = map, line = 0; s; s = t+1) {
 		t = strchr(s, '\n');
-		if (!t)
+		if (!t) {
+			minindent = -1;
 			break;
+		}
 		line++;
 		int indent = 0;
 		while (*s && iswsp(*s)) {
diff --git a/t/7000-mseq.t b/t/7000-mseq.t
index 6a3a5c5..12d0b98 100644
--- a/t/7000-mseq.t
+++ b/t/7000-mseq.t
@@ -1,7 +1,7 @@
 #!/bin/sh -e
 cd ${0%/*}
 . ./lib.sh
-plan 8
+plan 10
 
 rm -rf test.dir
 mkdir test.dir
@@ -32,4 +32,13 @@ check_test  'subthread' -eq 2 'mseq 7_ | wc -l'
 check 'parent' 'mseq 6^ | grep "inbox/cur/5_1:2,"'
 check_test 'range' -eq 3 'mseq 1:3 | wc -l'
 
+cat <<! >seq
+inbox/cur/1:2,
+ inbox/cur/2:2,
+  inbox/cur/3:2,
+!
+
+check_test  'whole thread at the end' -eq 3 'mseq 2= | wc -l'
+check_test  'subthread at the end' -eq 2 'mseq 2_ | wc -l'
+
 )