"++ UNIX ++***************************************************************** This is the MDL half of an interface between EMACS and MDL. An EMACS is created as an inferior of MDL. Stuff marked in EMACS for return to MDL is written to a temporary file when EMACS exits. MDL checks for the existence of this file when control is returned; if the file exists, its content is read into MDL, and then the file is deleted. -Shane The other half is /usr/mlisp/medit.ml and /usr/mlisp/mim-mode.ml. (gosling emacs). /a/gnu/emacs/medit.el and /usr/mlisp/mim-mode.el ***************************************************************************" ;"FORKS uses pipes, but I dont." FALSE> (*MEDIT-QUERY?*) (*MEDIT-FORK*) > (*MEDIT-DEFAULT-PATH*) >> > ;"*MEDIT-EDITOR* is the name of the exe file for the editor fork." ; ;"For gosling emacs." > ;"For gnu emacs." ; ;"For gosling emacs." > ;"For gnu emacs." > > ;"*MEDIT-FILENAME* is the name of the filename the editor writes as output." ".medit.mud">>> ) "AUX" (OUTCHAN .OUTCHAN) FN) #DECL ((OUTCHAN) (F) (FN) ) MEDIT]"> ) (.F > > >) ( >)>) (T >) ( >)>)> "DONE"> >)> T> ) > >) > ".medit.mud">> ) (OUTCHAN .OUTCHAN) (REDEFINE T) (PATH (! !.OBLIST)) FN) #DECL ((FILE) FALSE> (OUTCHAN) (REDEFINE) (FN) STRING (PATH) ) > >>>> > >>)>> (INCHAN OUTCHAN) ) ) (> ,*MEDIT-DEFAULT-PATH*) ( ) CH) #DECL ((OBL) OBLIST (NAME) (RESPONSE) STRING (CH) FALSE>) ) (>> > !.PATH)> .OBL>> !.PATH)>)>) (T > > ) (>>> > )>)> > >>> > !.PATH)> .OBL>> !.PATH)>)>)>)>)> >>)>> ) > ) ( >)>>> >) N) #DECL ((PROMPT S) STRING (INCHAN OUTCHAN) CHANNEL (N) FIX) >>> <==? >> >)> >)) <1 .SS>> <1 .SS>>> ) (T >)>>> [REST STRING]> (NAME) (OB) OBLIST (OUTCHAN) ) >>> > !,*MEDIT-DEFAULT-PATH*)> .OB>> !,*MEDIT-DEFAULT-PATH*)>)> ) (T )> > .NAMES>> ) Enter EMACS. The first time that MEDIT is invoked, if FN is supplied (standard file name defaults), the EMACS will read that file. FN is ignored in subsequent invocations. Kill the current EMACS if one exists. It is nice to call this before killing the MDL. > PATH will be spliced in front of the normal oblist path during loading from EMACS. > If BOOL is non-false, you will be askeded if you wish to use the default path (if there is one) or if you wish to name packages to be spliced into the path during loading. > Prepends oblists for PACKAGES to the default path. Each package must be loaded. Prepended proceeding from right to left (leftmost will be first in path). If you plan to debug a single package, say, \"FOO\" the best way is simply to do . If you are editing multiple packages, do and name the appropriate package(s) on return from EMACS. It is possible for new atoms internal to a package to end up on a wrong oblist if you zap stuff from more than one package at a time (this will occur if you create new functions and the first oblist in the path is different from the package in which the new functions were defined. You can set up the path yourself with MEDIT-PATH, but you must remember to place the internal oblist before the entry oblist. The obvious. The following variables control which emacs is used (Gnu or Gosling). Currently, Gnu emacs is used by default. *MEDIT-EDITOR* name of editor to use {\"GNUMACS\"} *MEDIT-JCL* command line for editor {(\"-L\" \"/USR/MIM/MEDIT\")} *MEDIT-FILE* - name of zap file {\"/tmp/USER.medit.mud\"} "> ,NULL>