Lugaru's Epsilon
Programmer's
Editor

 Previous Up Next Invoking Epsilon Getting Started How Epsilon Finds its Files

Configuration Variables

Epsilon for Unix uses several environment variables to set options and say where to look for files. Epsilon for Windows stores such settings in the System Registry, under the key HKEY_CURRENT_USER\SOFTWARE\Lugaru\Epsilon. Epsilon's setup program will generally create all necessary registry keys automatically.

We use the term configuration variable to refer to any setting that appears as an environment variable under Unix, or a registry entry under Windows. There are a small number of settings that are stored in environment variables on all platforms; these are generally settings that are provided by the operating system. These include COMSPEC, TMP or TEMP, EPSRUNS, and MIXEDCASEDRIVES.

Under Windows, the installation program creates a registry entry similar to this:

HKEY_CURRENT_USER\SOFTWARE\Lugaru\Epsilon\EpsPath=~;c:\epsilon

Of course, the actual entry, whether it's an environment variable setting or an entry in the system registry, would contain whatever directory Epsilon was actually installed in, not c:\epsilon.

If you have more than one version of Epsilon on your computer, you may want each to use a different set of options. You can override many of the configuration variables listed below by using a configuration variable whose name includes the specific version of Epsilon in use. For example, when Epsilon needs to locate its help file, it normally uses a configuration variable named EPSPATH. Epsilon version 6.01 would first check to see if a configuration variable named EPSPATH601 existed. If so, it would use that variable. If not, it would then try EPSPATH60, then EPSPATH6, and finally EPSPATH. Epsilon does the same sort of thing with all the configuration variables it uses, with the exception of DISPLAY, EPSRUNS, TEMP, and TMP.

Epsilon uses a similar procedure to distinguish registry entries for the Win32 console mode version from registry entries for the Win32 GUI version of Epsilon. For the console version, it checks registry names with an -NTCON suffix before the actual names; for the GUI version it checks for a -WIN suffix. So Epsilon 10.2 for Win32 console would seek an EPSPATH configuration variable using the names EPSPATH102-NTCON, EPSPATH102, EPSPATH10-NTCON, EPSPATH10, EPSPATH-NTCON, and finally EPSPATH, using the first one it finds.

For example, the Windows installation program for Epsilon doesn't actually add the EPSPATH entry shown above to the system registry. It really uses an entry like

HKEY_CURRENT_USER\SOFTWARE\Lugaru\Epsilon\EpsPath80=c:\epsilon

where EpsPath80 indicates that the entry should be used by version 8.0 of Epsilon, or version 8.01, or 8.02, but not by version 8.5. In this way, multiple versions of Epsilon can be installed at once, without overwriting each other's settings. This can be helpful when upgrading Epsilon from one version to the next.

Here we list all the configuration variables that Epsilon can use. Remember, under Windows, most of these names refer to entries in the registry, as described above. Under Unix, these are all environment variables.

CMDCONCURSHELLFLAGS
If defined, Epsilon puts the contents of this variable before the command line when you use the start-process command with a numeric argument. It overrides CMDSHELLFLAGS. See The Concurrent Process.

CMDSHELLFLAGS
If defined, Epsilon puts the contents of this variable before the command line when it runs a subshell that should execute a single command and exit.

COMSPEC
Epsilon for Windows needs a valid COMSPEC environment variable in order to run another program. Normally, the operating system automatically sets up this variable to give the file name of your command processor. If you change the variable manually, remember that the file must actually exist. Don't include command line options for your command processor in the COMSPEC variable. If a configuration variable called EPSCOMSPEC exists, Epsilon will use that instead of COMSPEC. (For Unix, see SHELL below.)

DISPLAY
Epsilon for Unix tries to run as an X11 program if this environment variable is defined, using the X server display it specifies.

EEL
The EEL compiler looks for a configuration variable named EEL before examining its command line, then "types in" the contents of that variable before the compiler's real command line. See EEL Command Line Flags.

EPSCOMSPEC
See COMSPEC above.

EPSCONCURCOMSPEC
If defined, Epsilon for Windows runs the shell command processor named by this variable instead of the one named by the EPSCOMSPEC or COMSPEC variables, when it starts a concurrent process. See The Concurrent Process.

EPSCONCURSHELL
If defined, Epsilon for Unix runs the shell command processor named by this variable instead of the one named by the EPSSHELL or SHELL variables, when it starts a concurrent process. See The Concurrent Process.

EPSCUSTDIR
Epsilon uses the directory named here as its customization directory (see The Customization Directory) instead of the usual one (under \Users or \Documents and Settings, for Windows, or at ~/.epsilon, for Unix). The directory must already exist, or Epsilon will ignore this variable.

EPSILON
Before examining the command line, Epsilon looks for a configuration variable named EPSILON and "types in" the value of that variable to the command line before the real command line. See Epsilon Command Line.

EPSMIXEDCASEDRIVES
This variable can contain a list of drive letters. If the variable exists, Epsilon doesn't change the case of file names on the listed drives. See File Name Case for details.

EPSPATH
Epsilon uses this configuration variable to locate its files. See How Epsilon Finds its Files.

EPSRUNS
When Epsilon runs another program, it sets this environment variable to indicate to the other program that it's running within Epsilon. A setting of C indicates the subprocess is running within Epsilon's concurrent process. A setting of P indicates the subprocess is running via the filter-region command or similar. A setting of Y indicates Epsilon ran the process in some other way, such as via the shell command.

EPSSHELL
See SHELL below.

ESESSION
Epsilon uses this variable as the name of its session file. See Session Files.

INTERCONCURSHELLFLAGS
If defined, Epsilon uses the contents of this variable as the command line to the shell command processor it starts when you use the start-process command without a numeric argument. It overrides INTERSHELLFLAGS. See The Concurrent Process.

INTERSHELLFLAGS
If defined, Epsilon uses the contents of this variable as a subshell command line when it runs a subshell that should prompt for a series of commands to execute. See The Concurrent Process.

MIXEDCASEDRIVES
This variable can contain a list of drive letters. If the variable exists, Epsilon doesn't change the case of file names on the listed drives. See File Name Case for details.

PATH
The operating system uses this variable to find executable programs such as epsilon.exe. Make sure this variable includes the directory containing Epsilon's executable files if you want to conveniently run Epsilon from the command line.

SHELL
Epsilon for Unix needs a valid SHELL environment variable in order to run another program. If a configuration variable called EPSSHELL exists, Epsilon will use that instead of SHELL. (See COMSPEC above for the non-Unix equivalent.)

TEMP
Epsilon puts any temporary files it creates in this directory, unless a TMP environment variable exists. See the description of the -fs flag in Epsilon Command Line.

TMP
Epsilon puts any temporary files it creates in this directory. See the description of the -fs flag in Epsilon Command Line.

Subtopics:

 Previous Up Next Invoking Epsilon Getting Started How Epsilon Finds its Files