/* FACILE : Various user facilities SYSTEM Lawrence Updated: 14 Decemober 82 RDE */ :- op(300,fx,[dir, ty, edit, redo]). % Directory listing of file index files :- emas(files). (dir) :- emas(dir). dir(File) :- emas(dir,File). % Type out a file (ty) :- $file_remembered(File), emas(list,File). ty(File) :- emas(list,File). % Gripe about the system gripe :- emas(gripe). % Jump to the User guide (User Manual = UM) um :- emas(um). % Edit a file (edit) :- $file_remembered(File), $edit(File). edit(File) :- $file_remember(File), $edit(File). % Redo a file by editing it and reconsulting it (redo) :- $file_remembered(File), $edit(File), reconsult(File). redo(File) :- $file_remember(File), $edit(File), reconsult(File). % How to actually edit a file $edit(File) :- exists(File), !, $doedit(File). $edit(File) :- tell(File), told, % Make sure it exists $doedit(File). % Remembering files $file_remember(V) :- var(V), !, nl, write('** Variable given as file name (filename must be atom)'), nl, fail. $file_remember(File) :- recorded($edit_file,_,ID), erase(ID), fail. $file_remember(File) :- recorda($edit_file,File,_). $file_remembered(File) :- recorded($edit_file,File,_), !, write('Using file: '), write(File), nl. $file_remembered(File) :- write('Sorry - no previous file to edit'), nl, fail.