summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--sys/src/cmd/mk/lex.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/sys/src/cmd/mk/lex.c b/sys/src/cmd/mk/lex.c
index d942918f3..5c4bc99be 100644
--- a/sys/src/cmd/mk/lex.c
+++ b/sys/src/cmd/mk/lex.c
@@ -67,7 +67,7 @@ eof:
static int
bquote(Biobuf *bp, Bufblock *buf)
{
- int c, line, term;
+ int c, line, term, depth;
int start;
line = mkinline;
@@ -80,9 +80,12 @@ bquote(Biobuf *bp, Bufblock *buf)
} else
term = '`'; /* sh style */
+ depth = 1;
start = buf->current-buf->start;
for(;c > 0; c = nextrune(bp, 0)){
- if(c == term){
+ if(c == '{' && term == '}')
+ depth++;
+ if(c == term && --depth == 0){
insert(buf, '\n');
insert(buf,0);
buf->current = buf->start+start;