diff options
| author | Charles.Forsyth <devnull@localhost> | 2006-12-22 17:07:39 +0000 |
|---|---|---|
| committer | Charles.Forsyth <devnull@localhost> | 2006-12-22 17:07:39 +0000 |
| commit | 37da2899f40661e3e9631e497da8dc59b971cbd0 (patch) | |
| tree | cbc6d4680e347d906f5fa7fca73214418741df72 /appl/acme/file.m | |
| parent | 54bc8ff236ac10b3eaa928fd6bcfc0cdb2ba46ae (diff) | |
20060303a
Diffstat (limited to 'appl/acme/file.m')
| -rw-r--r-- | appl/acme/file.m | 40 |
1 files changed, 40 insertions, 0 deletions
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; + }; +}; |
