itsrc/cmd/acme: provide info on presense or absence of undo history (#528) - plan9port - [fork] Plan 9 from user space Err mx1.adamsgaard.dk 70 hgit clone git://src.adamsgaard.dk/plan9port URL:git://src.adamsgaard.dk/plan9port mx1.adamsgaard.dk 70 1Log /src/plan9port/log.gph mx1.adamsgaard.dk 70 1Files /src/plan9port/files.gph mx1.adamsgaard.dk 70 1Refs /src/plan9port/refs.gph mx1.adamsgaard.dk 70 1README /src/plan9port/file/README.md.gph mx1.adamsgaard.dk 70 1LICENSE /src/plan9port/file/LICENSE.gph mx1.adamsgaard.dk 70 i--- Err mx1.adamsgaard.dk 70 1commit d0d440860f2000a1560abb3f593cdc325fcead4c /src/plan9port/commit/d0d440860f2000a1560abb3f593cdc325fcead4c.gph mx1.adamsgaard.dk 70 1parent 7b0b2065faf449f820b092afb74cf0af2dae79a3 /src/plan9port/commit/7b0b2065faf449f820b092afb74cf0af2dae79a3.gph mx1.adamsgaard.dk 70 hAuthor: Roger Peppe URL:mailto:rogpeppe@gmail.com mx1.adamsgaard.dk 70 iDate: Tue, 19 Oct 2021 17:08:45 +0100 Err mx1.adamsgaard.dk 70 i Err mx1.adamsgaard.dk 70 isrc/cmd/acme: provide info on presense or absence of undo history (#528) Err mx1.adamsgaard.dk 70 i Err mx1.adamsgaard.dk 70 iIt's sometimes useful to know whether there's been editing activity Err mx1.adamsgaard.dk 70 iin a window. This PR adds that information to the ctl file. Err mx1.adamsgaard.dk 70 i Err mx1.adamsgaard.dk 70 iChange-Id: I21a342ac636dd5c7701b3ed560e3526867329c2c Err mx1.adamsgaard.dk 70 iDiffstat: Err mx1.adamsgaard.dk 70 i M man/man4/acme.4 | 7 ++++--- Err mx1.adamsgaard.dk 70 i M src/cmd/acme/fns.h | 2 ++ Err mx1.adamsgaard.dk 70 i M src/cmd/acme/wind.c | 4 ++-- Err mx1.adamsgaard.dk 70 i Err mx1.adamsgaard.dk 70 i3 files changed, 8 insertions(+), 5 deletions(-) Err mx1.adamsgaard.dk 70 i--- Err mx1.adamsgaard.dk 70 1diff --git a/man/man4/acme.4 b/man/man4/acme.4 /src/plan9port/file/man/man4/acme.4.gph mx1.adamsgaard.dk 70 it@@ -184,9 +184,10 @@ is always appended; the file offset is ignored. Err mx1.adamsgaard.dk 70 i .B ctl Err mx1.adamsgaard.dk 70 i may be read to recover the five numbers as held in the Err mx1.adamsgaard.dk 70 i .B index Err mx1.adamsgaard.dk 70 i-file, described above, plus three more fields: the width of the Err mx1.adamsgaard.dk 70 i-window in pixels, the name of the font used in the window, Err mx1.adamsgaard.dk 70 i-and the width of a tab character in pixels. Err mx1.adamsgaard.dk 70 i+file, described above, plus five more fields: the width of the Err mx1.adamsgaard.dk 70 i+window in pixels; the name of the font used in the window; Err mx1.adamsgaard.dk 70 i+the width of a tab character in pixels; a 1 if there is undo history, 0 otherwise; Err mx1.adamsgaard.dk 70 i+a 1 if there is redo history, 0 otherwise. Err mx1.adamsgaard.dk 70 i Text messages may be written to Err mx1.adamsgaard.dk 70 i .B ctl Err mx1.adamsgaard.dk 70 i to affect the window. Err mx1.adamsgaard.dk 70 1diff --git a/src/cmd/acme/fns.h b/src/cmd/acme/fns.h /src/plan9port/file/src/cmd/acme/fns.h.gph mx1.adamsgaard.dk 70 it@@ -25,6 +25,8 @@ void savemouse(Window*); Err mx1.adamsgaard.dk 70 i int restoremouse(Window*); Err mx1.adamsgaard.dk 70 i void clearmouse(void); Err mx1.adamsgaard.dk 70 i void allwindows(void(*)(Window*, void*), void*); Err mx1.adamsgaard.dk 70 i+uint seqof(Window*, int); Err mx1.adamsgaard.dk 70 i+ Err mx1.adamsgaard.dk 70 i uint loadfile(int, uint, int*, int(*)(void*, uint, Rune*, int), void*, DigestState*); Err mx1.adamsgaard.dk 70 i void movetodel(Window*); Err mx1.adamsgaard.dk 70 i Err mx1.adamsgaard.dk 70 1diff --git a/src/cmd/acme/wind.c b/src/cmd/acme/wind.c /src/plan9port/file/src/cmd/acme/wind.c.gph mx1.adamsgaard.dk 70 it@@ -689,8 +689,8 @@ winctlprint(Window *w, char *buf, int fonts) Err mx1.adamsgaard.dk 70 i sprint(buf, "%11d %11d %11d %11d %11d ", w->id, w->tag.file->b.nc, Err mx1.adamsgaard.dk 70 i w->body.file->b.nc, w->isdir, w->dirty); Err mx1.adamsgaard.dk 70 i if(fonts) Err mx1.adamsgaard.dk 70 i- return smprint("%s%11d %q %11d ", buf, Dx(w->body.fr.r), Err mx1.adamsgaard.dk 70 i- w->body.reffont->f->name, w->body.fr.maxtab); Err mx1.adamsgaard.dk 70 i+ return smprint("%s%11d %q %11d %11d %11d ", buf, Dx(w->body.fr.r), Err mx1.adamsgaard.dk 70 i+ w->body.reffont->f->name, w->body.fr.maxtab, seqof(w, 1) != 0, seqof(w, 0) != 0); Err mx1.adamsgaard.dk 70 i return buf; Err mx1.adamsgaard.dk 70 i } Err mx1.adamsgaard.dk 70 i Err mx1.adamsgaard.dk 70 .