Here is a patch for p9p acme. It adds an option -t which gives single-line tags as in Plan 9 acme.
Mark. diff -r ff3404f79037 src/cmd/acme/acme.c --- a/src/cmd/acme/acme.c Sat Jan 19 10:05:12 2013 +0100 +++ b/src/cmd/acme/acme.c Sun Apr 07 14:27:42 2013 +0200 @@ -113,6 +113,9 @@ case 'r': swapscrollbuttons = TRUE; break; + case 't': + neverexpandtag = TRUE; + break; case 'W': winsize = ARGF(); if(winsize == nil) @@ -120,7 +123,7 @@ break; default: Usage: - fprint(2, "usage: acme -a -c ncol -f fontname -F fixedwidthfontname -l loadfile -W winsize\n"); + fprint(2, "usage: acme -a -c ncol -f fontname -F fixedwidthfontname -l loadfile -t -W winsize\n"); threadexitsall("usage"); }ARGEND diff -r ff3404f79037 src/cmd/acme/dat.h --- a/src/cmd/acme/dat.h Sat Jan 19 10:05:12 2013 +0100 +++ b/src/cmd/acme/dat.h Sun Apr 07 14:27:42 2013 +0200 @@ -548,6 +548,7 @@ int globalautoindent; int dodollarsigns; char* mtpt; +int neverexpandtag; enum { diff -r ff3404f79037 src/cmd/acme/rows.c --- a/src/cmd/acme/rows.c Sat Jan 19 10:05:12 2013 +0100 +++ b/src/cmd/acme/rows.c Sun Apr 07 14:27:42 2013 +0200 @@ -289,7 +289,7 @@ /* Expand tag if necessary */ if(t->what == Tag){ t->w->tagsafe = FALSE; - if(r == '\n') + if(r == '\n' && neverexpandtag == FALSE) t->w->tagexpand = TRUE; winresize(w, w->r, TRUE, TRUE); } diff -r ff3404f79037 src/cmd/acme/text.c --- a/src/cmd/acme/text.c Sat Jan 19 10:05:12 2013 +0100 +++ b/src/cmd/acme/text.c Sun Apr 07 14:27:42 2013 +0200 @@ -662,8 +662,12 @@ Rune *rp; Text *u; - if(t->what!=Body && t->what!=Tag && r=='\n') - return; + if(t->what!=Body && r=='\n'){ + if(t->what!=Tag) + return; + if(neverexpandtag == TRUE) + return; + } if(t->what == Tag) t->w->tagsafe = FALSE; @@ -756,7 +760,7 @@ Tagdown: /* expand tag to show all text */ - if(!t->w->tagexpand){ + if(neverexpandtag == FALSE){ t->w->tagexpand = TRUE; winresize(t->w, t->w->r, FALSE, TRUE); } diff -r ff3404f79037 src/cmd/acme/wind.c --- a/src/cmd/acme/wind.c Sat Jan 19 10:05:12 2013 +0100 +++ b/src/cmd/acme/wind.c Sun Apr 07 14:27:42 2013 +0200 @@ -24,7 +24,8 @@ w->tag.w = w; w->taglines = 1; - w->tagexpand = TRUE; + if(neverexpandtag == FALSE) + w->tagexpand = TRUE; w->body.w = w; w->id = ++winid; incref(&w->ref);