From 37da2899f40661e3e9631e497da8dc59b971cbd0 Mon Sep 17 00:00:00 2001 From: "Charles.Forsyth" Date: Fri, 22 Dec 2006 17:07:39 +0000 Subject: 20060303a --- appl/acme/file.m | 40 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) create mode 100644 appl/acme/file.m (limited to 'appl/acme/file.m') diff --git a/appl/acme/file.m b/appl/acme/file.m new file mode 100644 index 00000000..7e68e40b --- /dev/null +++ b/appl/acme/file.m @@ -0,0 +1,40 @@ +Filem : module { + PATH : con "/dis/acme/file.dis"; + + init : fn(mods : ref Dat->Mods); + + File : adt { + buf : ref Bufferm->Buffer; # the data + delta : ref Bufferm->Buffer; # transcript of changes + epsilon : ref Bufferm->Buffer; # inversion of delta for redo + elogbuf: ref Bufferm->Buffer; # log of pending editor changes + elog: Editlog->Elog; # current pending change + name : string; # name of associated file + qidpath : big; # of file when read + mtime : int; # of file when read + dev : int; # of file when read + unread : int; # file has not been read from disk + editclean: int; # mark clean after edit command + seq : int; # if seq==0, File acts like Buffer + mod : int; + curtext : cyclic ref Textm->Text; # most recently used associated text + text : cyclic array of ref Textm->Text; # list of associated texts + ntext : int; + dumpid : int; # used in dumping zeroxed windows + + addtext : fn(f : self ref File, t : ref Textm->Text) : ref File; + deltext : fn(f : self ref File, t : ref Textm->Text); + insert : fn(f : self ref File, n : int, s : string, m : int); + delete : fn(f : self ref File, m : int, n : int); + loadx : fn(f : self ref File, p : int, fd : ref Sys->FD) : int; + setname : fn(f : self ref File, s : string, n : int); + undo : fn(f : self ref File, p : int, q : int, r : int) : (int, int); + mark : fn(f : self ref File); + reset : fn(f : self ref File); + close : fn(f : self ref File); + undelete : fn(f : self ref File, b : ref Bufferm->Buffer, m : int, n : int); + uninsert : fn(f : self ref File, b : ref Bufferm->Buffer, m : int, n : int); + unsetname : fn(f : self ref File, b : ref Bufferm->Buffer); + redoseq : fn(f: self ref File): int; + }; +}; -- cgit v1.2.3