|
|
DataMuseum.dkPresents historical artifacts from the history of: DKUUG/EUUG Conference tapes |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about DKUUG/EUUG Conference tapes Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - metrics - downloadIndex: T k
Length: 2489 (0x9b9)
Types: TextFile
Names: »kepteditor.com«
└─⟦a05ed705a⟧ Bits:30007078 DKUUG GNU 2/12/89
└─⟦46d41b2d0⟧ »./emacs-18.55.tar.Z«
└─⟦fa971747f⟧
└─⟦this⟧ »dist-18.55/kepteditor.com«
$ verify = f$verify (0)
$ !
$ ! Kept_Editor.COM
$ ! Command file for use on VMS to spawn an Emacs process
$ ! that can be suspended with C-z and will not go away
$ ! when other programs are run. This is the normal way
$ ! for users to invoke Emacs on VMS; the command "emacs"
$ ! is normally defined to execute this file.
$ ! That definition, and other definitions used by it, are done by `emacs.com'.
$ ! Users who want to use Emacs should have their `login.com' files
$ ! execute `emacs.com', which is to be found in this directory.
$ !
$ ! Joe Kelsey
$ ! FlexComm Corp.
$ !
$ ! September, 1985
$ !
$ ! Run or attach to an editor in a kept fork.
$ !
$ ! Modified by Marty Sasaki to define the job logical name
$ ! "EMACS_FILE_NAME" with the value of the filename on the command
$ ! line. Lisp code can then use the value of the logical to resume or
$ ! to start editing in that file.
$ !
$ !
$ edit = ""
$ name = p1 + " " + f$trnlnm ( "TT" ) - ":"
$ priv_list = f$setprv ("NOWORLD, NOGROUP")
$ pid = 0
$ 10$:
$ proc = f$getjpi ( f$pid ( pid ), "PRCNAM")
$ if proc .eqs. name then -
$ goto attach
$ if pid .ne. 0 then -
$ goto 10$
$ spawn:
$ args = p2 + " " + p3 + " " + p4 + " " + p5 + " " + -
p6 + " " + p7 + " " + p8
$ priv_list = f$setprv ( priv_list )
$ write sys$error -
"[Spawning a new Kept ''P1']"
$ if p1 .nes. "TPU" then -
$ goto check_emacs
$ define/user sys$input sys$command
$ spawn /process="''NAME'" -
/nolog -
edit/'p1' 'args'
$ goto quit
$ check_emacs:
$ if p1 .nes. "EMACS" then -
$ goto un_kempt
$ define/user sys$input sys$command
$ spawn /process="''NAME'" -
/nolog -
runemacs 'args'
$ goto quit
$ un_kempt:
$ ! The editor is unruly - spawn a process and let the user deal with the
$ ! editor himself.
$ spawn /process="''NAME'" -
/nolog
$ goto quit
$ attach:
$ priv_list = f$setprv ( priv_list )
$ message_status = f$environment("message")
$ set noon
$ set message /nofacility/noidentification/noseverity/notext
$ deassign/job emacs_file_name
$ set on
$ set message 'message_status
$ if p2 .eqs. "" then goto no_logical
$ temp = f$trnlnm("SYS$DISK") + f$directory() + p2
$ temp = f$edit(temp,"lowercase")
$ define/nolog/job emacs_file_name "''temp'"
$ no_logical:
$ write sys$error -
"[Attaching to process ''NAME']"
$ define/user sys$input sys$command
$ attach "''NAME'"
$ quit:
$ write sys$error -
"[Attached to DCL in directory ''F$TRNLNM("SYS$DISK")'''F$DIRECTORY()']"
$ if verify then -
$ set verify
$ exit