home *** CD-ROM | disk | FTP | other *** search
-
-
-
-
-
-
- _1_2. _V_E_R_S_I_O_N_S
-
- Elvis currently works under BSD UNIX, AT&T System-V
- UNIX, SCO XENIX, Minix, Coherent, MS-DOS, Atari TOS,
- OS9/68k, VAX/VMS, and AmigaDos. This section of the manual
- provides special information that applies to each particular
- version of Elvis.
-
- For all versions except MS-DOS and VMS, the file
- "Makefile.mix" should be copied to "Makefile", and then
- edited to select the correct set of options for your system.
- There is more information about this embedded in the file
- itself.
-
- _1_2._1. _B_S_D _U_N_I_X
-
- Temporary files are stored in /tmp.
-
- You should modify /etc/rc so that the temp files are
- preserved when the system is rebooted. Find a line in
- /etc/rc which reads
-
- ex4.3preserve /tmp
-
- or something like that, and append the following line:
-
- elvprsv /tmp/elv*
-
- If you do not have permission to modify /etc/rc, don't
- fret. The above modification is only needed to allow you to
- recover your changes after a system crash. You can still
- run Elvis without that modification, and you can still
- recover your changes when Elvis crashes or when your dialup
- modem looses the carrier signal, or something like that.
- Only a system crash or power failure could hurt you.
-
- Both Elvis and the real Vi read initialization commands
- from a file called ".exrc", but the commands in that file
- might work on one but not the other. For example, "set
- keywordprg=man" will work for Elvis, but Vi will complain
- because it doesn't have a "keywordprg" option. If the warn-
- ing messages annoy you, then you can edit the config.h file
- to change the name of the initialization file ".exrc" to
- something else, such as ".elvisrc".
-
- If you use X windows, you may wish to add "-DCS_LATIN1"
- to CFLAGS. This will cause the digraph table and the flip-
- case option to have default values that are appropriate for
- the LATIN-1 character set. That's the standard character
- set for X.
-
- The default mailer used notify users when text is
- preserver is "mail". You may wish to change this to "Mail"
- (with an uppercase 'M'). See the description of "MAILER" in
-
-
-
- June 13, 1992
-
-
-
-
-
- 12-2 VERSIONS 12-2
-
-
- the CFLAGS section of this manual.
-
- The default keyboard macro time-out value is larger for
- BSD than it is for some other systems, because I've had
- trouble running Elvis via rlogin or Xterm. I guess it takes
- a while for those keystokes to squirt through the net.
-
- _1_2._2. _S_y_s_t_e_m-_V _U_N_I_X
-
- Most SysV UNIX systems use terminfo instead of termcap,
- but the terminfo library doesn't seem to have a standard
- name. As shipped, Elvis' Makefile.mix is configured with
- "LIBS=-lterm". You may need to change it to "LIBS=-
- ltermcap" or "LIBS=-lterminfo" or even "LIBS=-lcurses".
-
- The /etc/rc file should be modified as described for
- BSD systems, above. The only difference is that SysV sys-
- tems tend to have directories for initialization, instead of
- a single large /etc/rc file. Editor recovery is usually
- done somewhere in the /etc/rc2.d directory.
-
- The potential trouble with ".exrc" described above for
- BSD UNIX applies to System-V UNIX as well.
-
- Elvis uses control-C as the interrupt key, not Delete.
-
- _1_2._3. _S_C_O _X_e_n_i_x
-
- For Xenix-386, you can use the generic System-V set-
- tings. You may wish to add "-DCS_IBMPC" to CFLAGS, to have
- the digraph table and flipcase option start up in a mode
- that is appropriate for the console.
-
- There is a separate group of settings for use with Xenix-
- 286. It already has "-DCS_IBMPC" in CFLAGS.
-
- The default mailer used notify users when text is
- preserver is "mail". You may wish to change this to
- "mailx". See the description of "MAILER" in the CFLAGS sec-
- tion of this manual.
-
- Because Xenix is so similar to System-V, everything I
- said earlier about System-V applies to the Xenix version
- too, except that editor recovery probably belongs in a
- directory called /etc/rc.d/8.
-
- _1_2._4. _M_i_n_i_x
-
- There are separate settings in Makefile.mix for Minix-
- PC and Minix-68k. The differences between these two are
- that the 68k version uses ".o" for the object file extension
- where the PC version uses ".s", and the PC version has some
- extra flags in CFLAGS to reduce the size of Elvis. The PC
- version also uses tinytcap (instead of the full termcap) to
-
-
-
- June 13, 1992
-
-
-
-
-
- 12-3 VERSIONS 12-3
-
-
- make it smaller.
-
- Minix-PC users should read the CFLAGS section of this
- manual very carefully. You have some choices to make...
-
- The temporary files are stored in /usr/tmp. The
- /usr/tmp directory must exist before you run Elvis, and it
- must be readable/writable by everybody. We use /usr/tmp
- instead of /tmp because after a system crash or power
- failure, you can recover the altered version of a file from
- the temporary file in /usr/tmp. If it was stored in /tmp,
- though, then it would be lost because /tmp is normally
- located on the RAM disk.
-
- Elvis uses control-C as the interrupt key, not Delete.
-
- _1_2._5. _C_o_h_e_r_e_n_t
-
- Elvis was ported to Coherent by Esa Ahola.
-
- Elvis is too large to run under Coherent unless you
- eliminate some features via the CFLAGS setting. The recom-
- mended settings, in Makefile.mix, produce a working version
- of Elvis which emulates Vi faithfully, but lacks most of the
- extensions. You should read the CFLAGS section of this
- manual carefully.
-
- You can probably reduce the size of Elvis by using
- tinytcap.c instead of -lterm. This would allow you to keep
- most features of Elvis, at the expense of terminal indepen-
- dence. (Tinytcap.c has ANSI escape sequences hard-coded
- into it.) To use tinytcap, just add "tinytcap.o" to the
- "EXTRA=" line in the Makefile, and remove "-lterm" from the
- "LIBS=" line.
-
- The temporary files are stored in /tmp. You should
- modify your /etc/rc file as described for BSD earlier.
-
- _1_2._6. _M_S-_D_O_S
-
- Elvis was ported to MS-DOS by Guntram Blohm and Martin
- Patzel. Willett Kempton added support for the DEC Rainbow.
-
- Ideally, Elvis should be compiled with Microsoft C 5.10
- and the standard Microsoft Make utility, via the command
- "make elvis.mak". This will compile Elvis and all related
- utilities.
-
- With Microsoft C 6.00, you may have trouble compiling
- regexp.c. If so, try compiling it without optimization.
-
- The "Makefile.mix" file contains a set of suggested
- settings for compiling elvis with Turbo-C or Borland C. (If
- you have Turbo-C, but not the Make utility, then you can
-
-
-
- June 13, 1992
-
-
-
-
-
- 12-4 VERSIONS 12-4
-
-
- _a_l_m_o_s_t use the "Elvis.prj" file to compile Elvis, but you
- must explicitly force Turbo-C to compile it with the
- "medium" memory model. Most of the related programs [ctags,
- ref, virec, refont, and wildcard] are only one file long, so
- you should have no trouble compiling them.) The "alias.c"
- file is meant to be compiled once into an executable named
- "ex.exe". You should then copy "ex.exe" to "vi.exe" and
- "view.exe".
-
- Elvis stores its temporary files in C:\tmp. If this is
- not satisfactory, then you should edit the CFLAGS line of
- your Makefile to change TMPDIR to something else before com-
- piling. You can also control the name of the temp directory
- via an environment variable named TMP or TEMP. The direc-
- tory must exist before you can run Elvis.
-
- The TERM environment variable determines how elvis will
- write to the screen. It can be set to any one of the fol-
- lowing values:
-
- pcbios Use BIOS calls on an IBM-PC clone.
- rainbow Use DEC Rainbow interface.
- ansi Use ANSI.SYS driver.
- nansi User faster NANSI.SYS driver.
-
-
- If the TERM variable isn't set, then elvis will
- automatically select either the "rainbow" interface (when
- run on a Rainbow) or "pcbios" (on an IBM clone).
-
- You may prefer to use NANSI.SYS for speed; or you may
- NEED to use ANSI.SYS for a non-clone, such as a lap-top. If
- so, you should install one of these drivers by adding
- "driver = nansi.sys" (or whatever) to your CONFIG.SYS file,
- and then you should define TERM to be "nansi" (or whatever)
- by adding "set TERM=nansi" to your AUTOEXEC.BAT file. You
- must then reboot for these changes to take effect. After
- that, Elvis will notice the "TERM" setting and use the
- driver.
-
- Since ".exrc" is not a valid DOS filename, the name of
- the initialization file has been changed to "elvis.rc".
- Elvis will look for an "elvis.rc" file first in your home
- directory, and then in the current directory. Note that you
- must set an environment variable named "HOME" to the full
- pathname of your home directory, for Elvis to check there;
- if "HOME" isn't set, then Elvis won't look for "elvis.rc".
- To set "HOME", you would typically add the following line to
- your AUTOEXEC.BAT file:
- set HOME c:\
-
- An extra program, called "wildcard", is needed for MS-
- DOS. It expands wildcard characters in file names. If
- Elvis flashes a "Bad command or filename" message when it
-
-
-
- June 13, 1992
-
-
-
-
-
- 12-5 VERSIONS 12-5
-
-
- starts, then you've probably lost the WILDCARD.EXE program
- somehow.
-
- Elvis can run under Windows, but only in full-screen
- mode. Also, Windows uses an environment variable called
- TEMP which interferes with elvis' usage of TEMP; to work
- around this, you can simply set an environment variable
- named TMP (with no 'E') to the name of elvis' temporary
- directory. When TEMP and TMP are both set, Elvis uses TMP
- and ignored TEMP.
-
- _1_2._7. _A_t_a_r_i _T_O_S
-
- Elvis was ported to Atari TOS by Guntram Blohm and Mar-
- tin Patzel. It is very similar to the MS-DOS version. It
- has been tested with the Mark Williams C compiler and also
- GNU-C.
-
- The TERM environment variable is ignored; the ST port
- always assumes that TERM=vt52. The SHELL (not COMSPEC!)
- variable should be set to the name of a line-oriented shell.
-
- A simple shell in included with Elvis. Its source is
- in "shell.c", and the name of the executable is "shell.ttp".
- The file "profile.sh" should contain a set of instructions
- to be executed when the shell first starts up. An example
- of this file is included, but you will almost certainly want
- to edit it right away to match your configuration. (If you
- already have a command-line shell, then you'll probably want
- to continue using it. The shell that comes with Elvis is
- very limited.)
-
- Currently, character attributes cannot be displayed on
- the screen.
-
- Elvis runs under MiNT (a free multi-tasking extension
- to TOS) but it can be a CPU hog because of the way that
- Elvis reads from the keyboard with timeout. Also, Elvis
- doesn't use any of the special features of MiNT. I have
- received a set of patches that optimize Elvis for MiNT, but
- they arrived too late to integrate into this release.
-
- _1_2._8. _O_S_9/_6_8_k
-
- Elvis was ported to OS9/68k by Peter Reinig.
-
- The Makefile is currently configured to install Elvis
- and the related programs in /dd/usr/cmds If this this is
- unacceptable, then you should change the BIN setting to some
- other directory. Similarly, it expects the source code to
- reside in /dd/usr/src/elvis; the ODIR setting is used to
- control this.
-
- Temporary files are stored in the /dd/tmp directory.
-
-
-
- June 13, 1992
-
-
-
-
-
- 12-6 VERSIONS 12-6
-
-
- Your /dd/startup file may need to be modified to prevent it
- from deleting Elvis' temporary files; make /dd/startup run
- the _e_l_v_p_r_s_v program before it wipes out /dd/tmp.
-
- The program in alias.c is linked repeatedly to produce
- the "vi", "view", and "input" aliases for Elvis. Sadly, the
- "ex" alias is impossible to implement under OS9 because the
- shell has a built-in command by that name.
-
- For some purposes, you must give `make' the "-b"
- option. Specifically, you need this for "make -b clean" and
- "make -b install".
-
- _1_2._9. _V_A_X/_V_M_S
-
- John Campbell ported Elvis to VAX/VMS.
-
- A heavily laden VAX can take half an hour to compile
- elvis. This is normal. Don't panic.
-
- While running, elvis will create temporary files in
- SYS$SCRATCH. Enter SHOW LOGICAL SYS$SCRATCH to see what
- actual directory you are using. Many sites have SYS$SCRATCH
- equivalenced to SYS$LOGIN. The elvis temporary files look
- like the following on VMS while elvis is running:
- ELV_1123A.1;1 ELV_1123A.2;1 SO070202.;1
-
- Also, filtering commands (like !!dir and !}fmt) should
- work on VMS. This assumes, however, that you can create
- temporary mailboxes and that your mailbox quota (a sysgen
- parameter) is at least 256 bytes for a single write to the
- mailbox. This is the default sysgen parameter, so there
- should be few people who experience filter problems.
-
- Additionally, an attempt was made to support the stan-
- dard terminals on VMS: "vt52", "vt100", "vt200", "vt300",
- "vt101", "vt102". Non-standard terminals could be supported
- by setting your terminal type to UNKNOWN (by entering SET
- TERM/UNKNOWN) and defining the logical name ELVIS_TERM.
- Whatever ELVIS_TERM translates to, however, will have to be
- included in tinytcap.c. Note that the upper/lowercase dis-
- tinctions are significant, and that DCL will upshift charac-
- ters that are not quoted strings, so enter DEFINE ELVIS_TERM
- "hp2621a". As distributed, it would probably not be a good
- idea to have more than the standard terminals in tinytcap.c
- (else it wouldn't be tiny, would it?). Changes here, of
- course, would require a recompilation to take effect.
-
- If you have a version of the "termcap" library and
- database on your system, then you may wish to replace
- tinytcap with the real termcap.
-
-
-
-
-
-
- June 13, 1992
-
-
-
-
-
- 12-7 VERSIONS 12-7
-
-
- _1_2._1_0. _A_m_i_g_a_D_O_S
-
- Mike Rieser and Dale Rahn ported Elvis to AmigaDOS.
-
- The port was done using Manx Aztec C version 5.2b.
- Elvis uses about as much space as it can and still be small
- code and data. Elvis should also compile under DICE, though
- there may be a little trouble with signed versus unsigned
- chars.
-
- The port has been done so the same binary will run
- under both versions of AmigaDOS. Under AmigaDOS 2.04, Elvis
- supports all the documented features. It also uses an
- external program ref to do tag lookup. So, the accompanying
- programs: ref and ctags are recommended. Under AmigaDOS
- 1.2/1.3 Elvis works, buts lacks the more advanced features.
-
- For the port to AmigaDOS 2.04, we tried to use as many
- Native AmigaDOS calls as we could. This should increase
- Elvis's chances at being compiled with other compilers.
- DICE seems to have a different default char type. You may
- need to use the UCHAR() macro in tio.c. To test it, try the
- :map command; if it looks right, things are cool.
-
- For the port to AmigaDOS 1.3, we tried to make sure the
- program was at least usable. Many features are missing,
- most notably running commands in subshells. Also, what we
- could get working, we used Aztec functions to support them,
- so this part is little more compiler dependent.
-
- Aztec is compatible with the SAS libcall #pragma. I
- personally prefer using the includes that come from Commo-
- dore over the ones supplied with Aztec, but for people with
- a straight Aztec installation, I went with the default names
- for the Aztec pragmas.
-
- One include you'll need is <sys/types.h>. Its a common
- include when porting software just make yourself one. Its a
- two line file that saves a lot of hassle especially in the
- elvis source. So, make a directory where your includes are
- located called `sys' and in a file below that type:
- /* sys/types.h */
- #include <exec/types.h>
-
- When setting environment variables (either local or
- global) for variables that specify a directory, make sure
- the variable ends in `:' or `/'. This saved from having to
- change much of the way elvis works. The default temporary
- directory (if TEMP and TMP aren't specified) is "T:". The
- default if HOME directory (if no HOME environment variable
- is set) is "S:".
-
- To avoid conlict with other uses, Elvis uses elvis.rc
- instead of .exrc or where it looks for macros.
-
-
-
- June 13, 1992
-
-
-
-
-
- 12-8 VERSIONS 12-8
-
-
- _1_2._1_1. _O_t_h_e_r _S_y_s_t_e_m_s
-
- For Sun workstations, use the BSD configuration. Ear-
- lier versions of elvis didn't link correctly due to a quirk
- in Sun's version of the "make" utility, but this version of
- elvis has a work-around for that quirk so you should have no
- trouble at all.
-
- For Linux, use the SysV settings. You can probably
- just remove the "-lterm" from the "LIBS= -lterm" line, since
- linux keeps the termcap functions in the standard C library.
-
- For other UNIXoid systems, I suggest you start with the
- Minix-68k settings and then grow from that. Minix is a nice
- starting point because it is a clone of Version 7 UNIX,
- which was the last common ancestor of BSD UNIX and SysV
- UNIX. Any Operating System which claims any UNIX compati-
- bility what so ever will therefore support V7/Minix code.
- You may need to fiddle with #include directives or some-
- thing, though. Minix-68k is a better starting point than
- Minix-PC because the PC compiler has some severe quirks.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- June 13, 1992
-
-
-