Commit Diff


commit - 7b0b2065faf449f820b092afb74cf0af2dae79a3
commit + d0d440860f2000a1560abb3f593cdc325fcead4c
blob - a285b3b8954ba5773766573124da4ed6ac3673b9
blob + f55a85b75b11ec7be5cb4ca1a36cc42648726dd0
--- man/man4/acme.4
+++ man/man4/acme.4
@@ -184,9 +184,10 @@ is always appended; the file offset is ignored.
 .B ctl
 may be read to recover the five numbers as held in the
 .B index
-file, described above, plus three more fields: the width of the
-window in pixels, the name of the font used in the window,
-and the width of a tab character in pixels.
+file, described above, plus five more fields: the width of the
+window in pixels; the name of the font used in the window;
+the width of a tab character in pixels; a 1 if there is undo history, 0 otherwise;
+a 1 if there is redo history, 0 otherwise.
 Text messages may be written to
 .B ctl
 to affect the window.
blob - c0339c23069ae9c9929f4d808580d1a8c770a6a9
blob + 969db417f2a7c78e16ddc8273a246a0f37522390
--- src/cmd/acme/fns.h
+++ src/cmd/acme/fns.h
@@ -25,6 +25,8 @@ void	savemouse(Window*);
 int	restoremouse(Window*);
 void	clearmouse(void);
 void	allwindows(void(*)(Window*, void*), void*);
+uint seqof(Window*, int);
+
 uint loadfile(int, uint, int*, int(*)(void*, uint, Rune*, int), void*, DigestState*);
 void	movetodel(Window*);
 
blob - 0cba59205b164d841b11947980baf9d523e95cbe
blob + 98c97368c6f01df3e10a1a74ed4a32c7c71bf710
--- src/cmd/acme/wind.c
+++ src/cmd/acme/wind.c
@@ -689,8 +689,8 @@ winctlprint(Window *w, char *buf, int fonts)
 	sprint(buf, "%11d %11d %11d %11d %11d ", w->id, w->tag.file->b.nc,
 		w->body.file->b.nc, w->isdir, w->dirty);
 	if(fonts)
-		return smprint("%s%11d %q %11d ", buf, Dx(w->body.fr.r),
-			w->body.reffont->f->name, w->body.fr.maxtab);
+		return smprint("%s%11d %q %11d %11d %11d ", buf, Dx(w->body.fr.r),
+			w->body.reffont->f->name, w->body.fr.maxtab, seqof(w, 1) != 0, seqof(w, 0) != 0);
 	return buf;
 }