home *** CD-ROM | disk | FTP | other *** search
/ NetNews Usenet Archive 1992 #26 / NN_1992_26.iso / spool / comp / os / vms / 17522 < prev    next >
Encoding:
Internet Message Format  |  1992-11-06  |  4.1 KB

  1. Path: sparky!uunet!sun-barr!decwrl!sdd.hp.com!zaphod.mps.ohio-state.edu!cs.utexas.edu!qt.cs.utexas.edu!news.Brown.EDU!noc.near.net!merrimack.edu!nin15b43
  2. From: nin15b43@merrimack.edu
  3. Newsgroups: comp.os.vms
  4. Subject: Re: EMACS as default mail editor?
  5. Message-ID: <1992Nov5.150928.2378@merrimack.edu>
  6. Date: 5 Nov 92 15:09:25 GMT
  7. References: <1992Nov4.162506.13620@synapse.bms.com>
  8. Organization: Merrimack College, No. Andover, MA, USA
  9. Lines: 138
  10.  
  11. In article <1992Nov4.162506.13620@synapse.bms.com>, kaz@bms.com writes:
  12. > Does anyone know if it's possile to specify EMACS as as the default
  13. > editor in MAIL?
  14. > The documentation for SET EDITOR in MAIL says to specify any callable
  15. > editor.  I don't beleive that EMACS is callable, but I'm not sure about
  16. > that.
  17. > I'm running EMACS v18.58.1 on VMS 5.4-2.
  18. Well, I use MicroGNUEmacs as my MAIL editor, but before that I used
  19. the full GNUEmacs.  No problems with either one.  The way I do it is
  20. to create a .COM file to call your editor.  Below is a copy of the
  21. .COM file I use, as well as the way to define the mail$edit system
  22. logical.  I also have a command file to run EMACS as a kept editor;
  23. it is also included below.
  24.  
  25. Extract the two .COM files separately, and put the definitions in
  26. your LOGIN.COM.  Don't forget to change the editor names, etc, to
  27. suit your system.
  28.  
  29. ----- cut here for MAILEDIT.COM -----
  30.  
  31. $    Verify = 'F$Verify(0)
  32. $ ! Command procedure to invoke MG from MAIL.
  33. $ !    MG :== $dev:[dir]MG
  34. $ !    DEFINE MAIL$EDIT dev:[dir]MGMAILEDIT.COM
  35. $ ! Inputs:
  36. $ !    P1 = Input file name.
  37. $ !    P2 = Output file name.
  38. $ ! Copy the input file to the output file, then invoke MG on it.
  39. $ !
  40. $ Set Noon
  41. $ If P2 .Nes. "" .AND. P1 .Nes. "" Then Copy 'P1' 'P2'
  42. $ Define/User Sys$Input Sys$Command
  43. $ MG 'P2'
  44. $ set term/appl
  45. $ If Verify Then Set Verify
  46. $ exit
  47.  
  48. ----- cut here for mail$edit definition -----
  49.  
  50. $  define/job/nolog    mail$edit    disk:[dir]mailedit.com
  51.  
  52. ----- cut here for KEPTEDITOR.COM -----
  53.  
  54. $!+
  55. $!   GNU Emacs kepteditor.com
  56. $!-
  57. $!
  58. $! Note:  the user can set the logical 'emacs_procname' from
  59. $!        thier LOGIN.COM to be anything they desire.  If one
  60. $!        is not set by the user, a default is used.
  61. $
  62. $ verify = f$verify (0)
  63. $
  64. $    name        = "''f$trnlnm("emacs_procnam")"
  65. $
  66. $    priv_list    = f$setprv ("noworld,nogroup")
  67. $    pid         = 0
  68. $ 10$:
  69. $     proc        = f$getjpi (f$pid(pid),"PRCNAM")
  70. $     if proc .eqs. name then -
  71. $        goto attach
  72. $     if pid .ne. 0 then -
  73. $        goto 10$
  74. $
  75. $ spawn:
  76. $    args    = p1 + " " + p2 + " " + p3 + " " + p4 + " " + -
  77.               p5 + " " + p6 + " " + p7 + " " + p8
  78. $     priv_list    = f$setprv (priv_list)
  79. $     write sys$error "Now starting ''name'..."
  80. $
  81. $    define/user    sys$input    sys$command
  82. $    spawn    /process="''name'" -
  83.         /nolog -
  84.         runemacs 'args'
  85. $    goto quit
  86. $
  87. $ attach:
  88. $     write sys$error "Returning to ''name'..."
  89. $     priv_list    = f$setprv (priv_list)
  90. $    message_status = f$environment("message")
  91. $    set noon
  92. $    set message /nofacility/noidentification/noseverity/notext
  93. $    deassign/job emacs_file_name
  94. $    set on
  95. $    set message 'message_status
  96. $    if p1 .eqs. "" then goto no_logical
  97. $    temp = f$trnlnm("SYS$DISK") + f$directory() + p1
  98. $    temp = f$edit(temp,"lowercase")
  99. $    define/nolog/job emacs_file_name "''temp'"
  100. $ no_logical:
  101. $     define/user    sys$input    sys$command
  102. $     attach "''name'"
  103. $
  104. $ quit:
  105. $    priv_list    = f$setprv ("noworld,nogroup")
  106. $    pid         = 0
  107. $20$:
  108. $     proc        = f$getjpi ( f$pid ( pid ), "PRCNAM")
  109. $     if proc .eqs. name then -
  110. $        goto attach_out
  111. $     if pid .ne. 0 then -
  112. $        goto 20$
  113. $       write sys$error " "
  114. $     write sys$error "Now quitting ''name'..."
  115. $       write sys$error "''name' exited."
  116. $       write sys$error " "
  117. $
  118. $attach_out:
  119. $    write sys$error -
  120. "Current directory: ''f$trnlnm("sys$disk")'''f$directory()'"
  121. $     priv_list    = f$setprv (priv_list)
  122. $    set term/appl
  123. $     if verify then set verify
  124. $    exit
  125.  
  126. ----- cut here for definition of the kept editor -----
  127.  
  128. $ em*acs  :== @disk:[dir]kepteditor.com
  129.  
  130. ----- cut here -----
  131.  
  132. > Thanks in advance...
  133. > -----------------
  134. > Joe Kazimierczyk
  135. > kaz@bms.com
  136.  
  137. You're welcome
  138.  
  139. Mark
  140. -- 
  141. - - - - - - - - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  142. Mark Gelinas      | UUCP:    samsung!hubdub!NIN15B43
  143. Merrimack College | or       NIN15B43@merrimack.edu
  144.