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;