home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Professional / OS2PRO194.ISO / os2 / editor / elvis / versions.doc < prev    next >
Text File  |  1994-01-30  |  18KB  |  529 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7. _1_2.  _V_E_R_S_I_O_N_S
  8.  
  9.      Elvis currently works under  BSD  UNIX,  AT&T  System-V
  10. UNIX,   SCO  XENIX,  Minix,  Coherent,  MS-DOS,  Atari  TOS,
  11. OS9/68k, VAX/VMS, and AmigaDos.  This section of the  manual
  12. provides special information that applies to each particular
  13. version of Elvis.
  14.  
  15.      For all  versions  except  MS-DOS  and  VMS,  the  file
  16. "Makefile.mix"  should  be  copied  to  "Makefile", and then
  17. edited to select the correct set of options for your system.
  18. There  is  more  information about this embedded in the file
  19. itself.
  20.  
  21. _1_2._1.  _B_S_D _U_N_I_X
  22.  
  23.      Temporary files are stored in /tmp.
  24.  
  25.      You should modify /etc/rc so that the  temp  files  are
  26. preserved  when  the  system  is  rebooted.   Find a line in
  27. /etc/rc which reads
  28.  
  29.      ex4.3preserve /tmp
  30.  
  31. or something like that, and append the following line:
  32.  
  33.      elvprsv /tmp/elv*
  34.  
  35.      If you do not have permission to modify /etc/rc,  don't
  36. fret.  The above modification is only needed to allow you to
  37. recover your changes after a system crash.   You  can  still
  38. run  Elvis  without  that  modification,  and  you can still
  39. recover your changes when Elvis crashes or when your  dialup
  40. modem  looses  the  carrier  signal, or something like that.
  41. Only a system crash or power failure could hurt you.
  42.  
  43.      Both Elvis and the real Vi read initialization commands
  44. from  a  file  called ".exrc", but the commands in that file
  45. might work on one but not  the  other.   For  example,  "set
  46. keywordprg=man"  will  work  for Elvis, but Vi will complain
  47. because it doesn't have a "keywordprg" option.  If the warn-
  48. ing  messages annoy you, then you can edit the config.h file
  49. to change the name of the  initialization  file  ".exrc"  to
  50. something else, such as ".elvisrc".
  51.  
  52.      If you use X windows, you may wish to add "-DCS_LATIN1"
  53. to  CFLAGS.  This will cause the digraph table and the flip-
  54. case option to have default values that are appropriate  for
  55. the  LATIN-1  character  set.  That's the standard character
  56. set for X.
  57.  
  58.      The default mailer  used  notify  users  when  text  is
  59. preserver  is "mail".  You may wish to change this to "Mail"
  60. (with an uppercase 'M').  See the description of "MAILER" in
  61.  
  62.  
  63.  
  64.                        June 13, 1992
  65.  
  66.  
  67.  
  68.  
  69.  
  70. 12-2                      VERSIONS                      12-2
  71.  
  72.  
  73. the CFLAGS section of this manual.
  74.  
  75.      The default keyboard macro time-out value is larger for
  76. BSD  than  it  is  for  some other systems, because I've had
  77. trouble running Elvis via rlogin or Xterm.  I guess it takes
  78. a while for those keystokes to squirt through the net.
  79.  
  80. _1_2._2.  _S_y_s_t_e_m-_V _U_N_I_X
  81.  
  82.      Most SysV UNIX systems use terminfo instead of termcap,
  83. but  the  terminfo  library  doesn't seem to have a standard
  84. name.  As shipped, Elvis' Makefile.mix  is  configured  with
  85. "LIBS=-lterm".   You  may  need  to  change  it  to  "LIBS=-
  86. ltermcap" or "LIBS=-lterminfo" or even "LIBS=-lcurses".
  87.  
  88.      The /etc/rc file should be modified  as  described  for
  89. BSD  systems,  above.  The only difference is that SysV sys-
  90. tems tend to have directories for initialization, instead of
  91. a  single  large  /etc/rc  file.  Editor recovery is usually
  92. done somewhere in the /etc/rc2.d directory.
  93.  
  94.      The potential trouble with ".exrc" described above  for
  95. BSD UNIX applies to System-V UNIX as well.
  96.  
  97.      Elvis uses control-C as the interrupt key, not Delete.
  98.  
  99. _1_2._3.  _S_C_O _X_e_n_i_x
  100.  
  101.      For Xenix-386, you can use the  generic  System-V  set-
  102. tings.   You may wish to add "-DCS_IBMPC" to CFLAGS, to have
  103. the digraph table and flipcase option start  up  in  a  mode
  104. that is appropriate for the console.
  105.  
  106. There is a separate group of settings for  use  with  Xenix-
  107. 286.  It already has "-DCS_IBMPC" in CFLAGS.
  108.  
  109.      The default mailer  used  notify  users  when  text  is
  110. preserver  is  "mail".   You  may  wish  to  change  this to
  111. "mailx".  See the description of "MAILER" in the CFLAGS sec-
  112. tion of this manual.
  113.  
  114.      Because Xenix is so similar to System-V,  everything  I
  115. said  earlier  about  System-V  applies to the Xenix version
  116. too, except that  editor  recovery  probably  belongs  in  a
  117. directory called /etc/rc.d/8.
  118.  
  119. _1_2._4.  _M_i_n_i_x
  120.  
  121.      There are separate settings in Makefile.mix for  Minix-
  122. PC  and  Minix-68k.   The  differences between these two are
  123. that the 68k version uses ".o" for the object file extension
  124. where  the PC version uses ".s", and the PC version has some
  125. extra flags in CFLAGS to reduce the size of Elvis.   The  PC
  126. version  also uses tinytcap (instead of the full termcap) to
  127.  
  128.  
  129.  
  130.                        June 13, 1992
  131.  
  132.  
  133.  
  134.  
  135.  
  136. 12-3                      VERSIONS                      12-3
  137.  
  138.  
  139. make it smaller.
  140.  
  141.      Minix-PC users should read the CFLAGS section  of  this
  142. manual very carefully.  You have some choices to make...
  143.  
  144.      The  temporary  files  are  stored  in  /usr/tmp.   The
  145. /usr/tmp  directory  must exist before you run Elvis, and it
  146. must be readable/writable by  everybody.   We  use  /usr/tmp
  147. instead  of  /tmp  because  after  a  system  crash or power
  148. failure, you can recover the altered version of a file  from
  149. the  temporary  file in /usr/tmp.  If it was stored in /tmp,
  150. though, then it would  be  lost  because  /tmp  is  normally
  151. located on the RAM disk.
  152.  
  153.      Elvis uses control-C as the interrupt key, not Delete.
  154.  
  155. _1_2._5.  _C_o_h_e_r_e_n_t
  156.  
  157.      Elvis was ported to Coherent by Esa Ahola.
  158.  
  159.      Elvis is too large to run  under  Coherent  unless  you
  160. eliminate  some features via the CFLAGS setting.  The recom-
  161. mended settings, in Makefile.mix, produce a working  version
  162. of Elvis which emulates Vi faithfully, but lacks most of the
  163. extensions.  You should read  the  CFLAGS  section  of  this
  164. manual carefully.
  165.  
  166.      You can probably reduce the  size  of  Elvis  by  using
  167. tinytcap.c  instead of -lterm.  This would allow you to keep
  168. most features of Elvis, at the expense of terminal  indepen-
  169. dence.   (Tinytcap.c  has  ANSI  escape sequences hard-coded
  170. into it.)  To use tinytcap, just  add  "tinytcap.o"  to  the
  171. "EXTRA="  line in the Makefile, and remove "-lterm" from the
  172. "LIBS=" line.
  173.  
  174.      The temporary files are stored  in  /tmp.   You  should
  175. modify your /etc/rc file as described for BSD earlier.
  176.  
  177. _1_2._6.  _M_S-_D_O_S
  178.  
  179.      Elvis was ported to MS-DOS by Guntram Blohm and  Martin
  180. Patzel.  Willett Kempton added support for the DEC Rainbow.
  181.  
  182.      Ideally, Elvis should be compiled with Microsoft C 5.10
  183. and  the  standard  Microsoft  Make utility, via the command
  184. "make elvis.mak".  This will compile Elvis and  all  related
  185. utilities.
  186.  
  187.      With Microsoft C 6.00, you may have  trouble  compiling
  188. regexp.c.  If so, try compiling it without optimization.
  189.  
  190.      The "Makefile.mix" file contains  a  set  of  suggested
  191. settings for compiling elvis with Turbo-C or Borland C.  (If
  192. you have Turbo-C, but not the Make  utility,  then  you  can
  193.  
  194.  
  195.  
  196.                        June 13, 1992
  197.  
  198.  
  199.  
  200.  
  201.  
  202. 12-4                      VERSIONS                      12-4
  203.  
  204.  
  205. _a_l_m_o_s_t  use  the  "Elvis.prj" file to compile Elvis, but you
  206. must  explicitly  force  Turbo-C  to  compile  it  with  the
  207. "medium" memory model.  Most of the related programs [ctags,
  208. ref, virec, refont, and wildcard] are only one file long, so
  209. you  should  have no trouble compiling them.)  The "alias.c"
  210. file is meant to be compiled once into an  executable  named
  211. "ex.exe".   You  should  then  copy "ex.exe" to "vi.exe" and
  212. "view.exe".
  213.  
  214.      Elvis stores its temporary files in C:\tmp.  If this is
  215. not  satisfactory,  then  you should edit the CFLAGS line of
  216. your Makefile to change TMPDIR to something else before com-
  217. piling.  You can also control the name of the temp directory
  218. via an environment variable named TMP or TEMP.   The  direc-
  219. tory must exist before you can run Elvis.
  220.  
  221.      The TERM environment variable determines how elvis will
  222. write  to  the screen.  It can be set to any one of the fol-
  223. lowing values:
  224.  
  225.                pcbios    Use BIOS calls on an IBM-PC clone.
  226.                rainbow   Use DEC Rainbow interface.
  227.                ansi      Use ANSI.SYS driver.
  228.                nansi     User faster NANSI.SYS driver.
  229.  
  230.  
  231.      If  the  TERM  variable  isn't  set,  then  elvis  will
  232. automatically  select  either  the "rainbow" interface (when
  233. run on a Rainbow) or "pcbios" (on an IBM clone).
  234.  
  235.      You may prefer to use NANSI.SYS for speed; or  you  may
  236. NEED to use ANSI.SYS for a non-clone, such as a lap-top.  If
  237. so, you should  install  one  of  these  drivers  by  adding
  238. "driver  = nansi.sys" (or whatever) to your CONFIG.SYS file,
  239. and then you should define TERM to be "nansi" (or  whatever)
  240. by  adding  "set TERM=nansi" to your AUTOEXEC.BAT file.  You
  241. must then reboot for these changes to  take  effect.   After
  242. that,  Elvis  will  notice  the  "TERM"  setting and use the
  243. driver.
  244.  
  245.      Since ".exrc" is not a valid DOS filename, the name  of
  246. the  initialization  file  has  been  changed to "elvis.rc".
  247. Elvis will look for an "elvis.rc" file first  in  your  home
  248. directory, and then in the current directory.  Note that you
  249. must set an environment variable named "HOME"  to  the  full
  250. pathname  of  your home directory, for Elvis to check there;
  251. if "HOME" isn't set, then Elvis won't look  for  "elvis.rc".
  252. To set "HOME", you would typically add the following line to
  253. your AUTOEXEC.BAT file:
  254.      set HOME c:\
  255.  
  256.      An extra program, called "wildcard", is needed for  MS-
  257. DOS.   It  expands  wildcard  characters  in file names.  If
  258. Elvis flashes a "Bad command or filename"  message  when  it
  259.  
  260.  
  261.  
  262.                        June 13, 1992
  263.  
  264.  
  265.  
  266.  
  267.  
  268. 12-5                      VERSIONS                      12-5
  269.  
  270.  
  271. starts,  then  you've probably lost the WILDCARD.EXE program
  272. somehow.
  273.  
  274.      Elvis can run under Windows, but  only  in  full-screen
  275. mode.   Also,  Windows  uses  an environment variable called
  276. TEMP which interferes with elvis' usage  of  TEMP;  to  work
  277. around  this,  you  can  simply  set an environment variable
  278. named TMP (with no 'E') to  the  name  of  elvis'  temporary
  279. directory.   When  TEMP and TMP are both set, Elvis uses TMP
  280. and ignored TEMP.
  281.  
  282. _1_2._7.  _A_t_a_r_i _T_O_S
  283.  
  284.      Elvis was ported to Atari TOS by Guntram Blohm and Mar-
  285. tin  Patzel.   It is very similar to the MS-DOS version.  It
  286. has been tested with the Mark Williams C compiler  and  also
  287. GNU-C.
  288.  
  289.      The TERM environment variable is ignored; the  ST  port
  290. always  assumes  that  TERM=vt52.   The SHELL (not COMSPEC!)
  291. variable should be set to the name of a line-oriented shell.
  292.  
  293.      A simple shell in included with Elvis.  Its  source  is
  294. in "shell.c", and the name of the executable is "shell.ttp".
  295. The file "profile.sh" should contain a set  of  instructions
  296. to  be  executed when the shell first starts up.  An example
  297. of this file is included, but you will almost certainly want
  298. to  edit it right away to match your configuration.  (If you
  299. already have a command-line shell, then you'll probably want
  300. to  continue  using  it.  The shell that comes with Elvis is
  301. very limited.)
  302.  
  303.      Currently, character attributes cannot be displayed  on
  304. the screen.
  305.  
  306.      Elvis runs under MiNT (a free  multi-tasking  extension
  307. to  TOS)  but  it  can  be a CPU hog because of the way that
  308. Elvis reads from the keyboard  with  timeout.   Also,  Elvis
  309. doesn't  use  any  of  the special features of MiNT.  I have
  310. received a set of patches that optimize Elvis for MiNT,  but
  311. they arrived too late to integrate into this release.
  312.  
  313. _1_2._8.  _O_S_9/_6_8_k
  314.  
  315.      Elvis was ported to OS9/68k by Peter Reinig.
  316.  
  317.      The Makefile is currently configured to  install  Elvis
  318. and  the  related  programs  in /dd/usr/cmds If this this is
  319. unacceptable, then you should change the BIN setting to some
  320. other  directory.   Similarly, it expects the source code to
  321. reside in /dd/usr/src/elvis; the ODIR  setting  is  used  to
  322. control this.
  323.  
  324.      Temporary files are stored in  the  /dd/tmp  directory.
  325.  
  326.  
  327.  
  328.                        June 13, 1992
  329.  
  330.  
  331.  
  332.  
  333.  
  334. 12-6                      VERSIONS                      12-6
  335.  
  336.  
  337. Your  /dd/startup file may need to be modified to prevent it
  338. from deleting Elvis' temporary files; make  /dd/startup  run
  339. the _e_l_v_p_r_s_v program before it wipes out /dd/tmp.
  340.  
  341.      The program in alias.c is linked repeatedly to  produce
  342. the "vi", "view", and "input" aliases for Elvis.  Sadly, the
  343. "ex" alias is impossible to implement under OS9 because  the
  344. shell has a built-in command by that name.
  345.  
  346.      For some  purposes,  you  must  give  `make'  the  "-b"
  347. option.  Specifically, you need this for "make -b clean" and
  348. "make -b install".
  349.  
  350. _1_2._9.  _V_A_X/_V_M_S
  351.  
  352.      John Campbell ported Elvis to VAX/VMS.
  353.  
  354.      A heavily laden VAX can take half an  hour  to  compile
  355. elvis.  This is normal.  Don't panic.
  356.  
  357.      While running, elvis will  create  temporary  files  in
  358. SYS$SCRATCH.   Enter  SHOW  LOGICAL  SYS$SCRATCH to see what
  359. actual directory you are using.  Many sites have SYS$SCRATCH
  360. equivalenced  to  SYS$LOGIN.  The elvis temporary files look
  361. like the following on VMS while elvis is running:
  362.        ELV_1123A.1;1       ELV_1123A.2;1       SO070202.;1
  363.  
  364.      Also, filtering commands (like !!dir and !}fmt)  should
  365. work  on  VMS.   This  assumes, however, that you can create
  366. temporary mailboxes and that your mailbox  quota  (a  sysgen
  367. parameter)  is  at least 256 bytes for a single write to the
  368. mailbox.  This is the default  sysgen  parameter,  so  there
  369. should be few people who experience filter problems.
  370.  
  371.      Additionally, an attempt was made to support the  stan-
  372. dard  terminals  on  VMS: "vt52", "vt100", "vt200", "vt300",
  373. "vt101", "vt102".  Non-standard terminals could be supported
  374. by  setting  your  terminal type to UNKNOWN (by entering SET
  375. TERM/UNKNOWN) and  defining  the  logical  name  ELVIS_TERM.
  376. Whatever  ELVIS_TERM translates to, however, will have to be
  377. included in tinytcap.c.  Note that the upper/lowercase  dis-
  378. tinctions are significant, and that DCL will upshift charac-
  379. ters that are not quoted strings, so enter DEFINE ELVIS_TERM
  380. "hp2621a".   As distributed, it would probably not be a good
  381. idea to have more than the standard terminals in  tinytcap.c
  382. (else  it  wouldn't  be  tiny, would it?).  Changes here, of
  383. course, would require a recompilation to take effect.
  384.  
  385.      If you have a version  of  the  "termcap"  library  and
  386. database  on  your  system,  then  you  may  wish to replace
  387. tinytcap with the real termcap.
  388.  
  389.  
  390.  
  391.  
  392.  
  393.  
  394.                        June 13, 1992
  395.  
  396.  
  397.  
  398.  
  399.  
  400. 12-7                      VERSIONS                      12-7
  401.  
  402.  
  403. _1_2._1_0.  _A_m_i_g_a_D_O_S
  404.  
  405.      Mike Rieser and Dale Rahn ported Elvis to AmigaDOS.
  406.  
  407.      The port was done using  Manx  Aztec  C  version  5.2b.
  408. Elvis  uses about as much space as it can and still be small
  409. code and data.  Elvis should also compile under DICE, though
  410. there  may  be  a little trouble with signed versus unsigned
  411. chars.
  412.  
  413.      The port has been done so  the  same  binary  will  run
  414. under both versions of AmigaDOS.  Under AmigaDOS 2.04, Elvis
  415. supports all the  documented  features.   It  also  uses  an
  416. external program ref to do tag lookup.  So, the accompanying
  417. programs: ref and ctags  are  recommended.   Under  AmigaDOS
  418. 1.2/1.3 Elvis works, buts lacks the more advanced features.
  419.  
  420.      For the port to AmigaDOS 2.04, we tried to use as  many
  421. Native  AmigaDOS  calls  as  we could.  This should increase
  422. Elvis's chances at  being  compiled  with  other  compilers.
  423. DICE  seems  to have a different default char type.  You may
  424. need to use the UCHAR() macro in tio.c.  To test it, try the
  425. :map command; if it looks right, things are cool.
  426.  
  427.      For the port to AmigaDOS 1.3, we tried to make sure the
  428. program  was  at  least  usable.  Many features are missing,
  429. most notably running commands in subshells.  Also,  what  we
  430. could  get working, we used Aztec functions to support them,
  431. so this part is little more compiler dependent.
  432.  
  433.      Aztec is compatible with the SAS  libcall  #pragma.   I
  434. personally  prefer  using the includes that come from Commo-
  435. dore over the ones supplied with Aztec, but for people  with
  436. a straight Aztec installation, I went with the default names
  437. for the Aztec pragmas.
  438.  
  439.      One include you'll need is <sys/types.h>.  Its a common
  440. include when porting software just make yourself one.  Its a
  441. two line file that saves a lot of hassle especially  in  the
  442. elvis  source.  So, make a directory where your includes are
  443. located called `sys' and in a file below that type:
  444.         /* sys/types.h */
  445.         #include <exec/types.h>
  446.  
  447.      When setting environment  variables  (either  local  or
  448. global)  for  variables  that specify a directory, make sure
  449. the variable ends in `:' or `/'.  This saved from having  to
  450. change  much  of the way elvis works.  The default temporary
  451. directory (if TEMP and TMP aren't specified) is  "T:".   The
  452. default  if  HOME directory (if no HOME environment variable
  453. is set) is "S:".
  454.  
  455.      To avoid conlict with other uses, Elvis  uses  elvis.rc
  456. instead of .exrc or where it looks for macros.
  457.  
  458.  
  459.  
  460.                        June 13, 1992
  461.  
  462.  
  463.  
  464.  
  465.  
  466. 12-8                      VERSIONS                      12-8
  467.  
  468.  
  469. _1_2._1_1.  _O_t_h_e_r _S_y_s_t_e_m_s
  470.  
  471.      For Sun workstations, use the BSD configuration.   Ear-
  472. lier  versions of elvis didn't link correctly due to a quirk
  473. in Sun's version of the "make" utility, but this version  of
  474. elvis has a work-around for that quirk so you should have no
  475. trouble at all.
  476.  
  477.      For Linux, use the SysV  settings.   You  can  probably
  478. just remove the "-lterm" from the "LIBS= -lterm" line, since
  479. linux keeps the termcap functions in the standard C library.
  480.  
  481.      For other UNIXoid systems, I suggest you start with the
  482. Minix-68k settings and then grow from that.  Minix is a nice
  483. starting point because it is a  clone  of  Version  7  UNIX,
  484. which  was  the  last  common  ancestor of BSD UNIX and SysV
  485. UNIX.  Any Operating System which claims any  UNIX  compati-
  486. bility  what  so  ever will therefore support V7/Minix code.
  487. You may need to fiddle with  #include  directives  or  some-
  488. thing,  though.   Minix-68k  is a better starting point than
  489. Minix-PC because the PC compiler has some severe quirks.
  490.  
  491.  
  492.  
  493.  
  494.  
  495.  
  496.  
  497.  
  498.  
  499.  
  500.  
  501.  
  502.  
  503.  
  504.  
  505.  
  506.  
  507.  
  508.  
  509.  
  510.  
  511.  
  512.  
  513.  
  514.  
  515.  
  516.  
  517.  
  518.  
  519.  
  520.  
  521.  
  522.  
  523.  
  524.  
  525.  
  526.                        June 13, 1992
  527.  
  528.  
  529.