Lugaru's Epsilon
Programmer's
Editor

Context:
Epsilon User's Manual and Reference
   Commands by Topic
      Advanced Topics
         Changing Commands with EEL
         Updating from an Old Version
            Updating from Epsilon 7
            Updating from Epsilon 4
         Keys and their Representation
            Mouse Keys
         . . .

Previous   Up    Next
Updating from an Old Version  Commands by Topic   Updating from Epsilon 4


Epsilon User's Manual and Reference > Commands by Topic > Advanced Topics > Updating from an Old Version >

Updating from Epsilon 7

This section explains how to transfer customizations from a version of Epsilon so old that the import-customizations command isn't supported. The import-customizations command is available when updating from version 8 or later, under Windows or Unix.

This section also applies if you're updating from a DOS or OS/2 implementation of Epsilon, regardless of its version, since import-customizations is only supported for the Windows and Unix implementations.

Moving your customizations (such as variable settings, changed bindings, or keyboard macros) from your old version of Epsilon into the new version requires several steps.

  • Start the old version of Epsilon as you do normally.

  • Run the list-all command.

    This will make a list of all the variables, bindings, macros, and functions defined in your old version of Epsilon.

  • Save the result in a file. We will assume you wrote it to a file named "after".

  • You should no longer need the old version of Epsilon, so you can now install the new version in place of the old one if you wish. Or you can install the new version in a separate directory.

  • Locate the "changes" subdirectory within Epsilon's main directory.

For each old version of Epsilon, you'll need several files in the steps below. In the description that follows, we will assume that you want to move from Epsilon 7.0 to this version, and will use files with names like list70.std. Substitute the correct file name if you have a different version (for example, list40.std to upgrade from Epsilon 4).

  • Locate the file in the changes subdirectory from the new version of Epsilon with a name like list70.std. It resembles the "after" file, but comes from an unmodified copy of that version of Epsilon. We will call this the "before" file. If you have a very old version for which there is no .std file, see Updating from Epsilon 4 to make one.

  • Start the new version of Epsilon. Run the list-changes command. It will ask for the names of the "before" and "after" files, and will then make a list of differences between the files, a "changed" file. When it finishes, you will have a list of the changes you made to the old version of Epsilon, in the format used by the list-all command. Edit this to remove changes you don't want in the new version, and save it.

  • Run the load-changes command, and give it the name of the "changed" file from the previous step. It will load the changes into Epsilon. You can define commands, subroutines, and some variables only from a compiled EEL file, not via load-changes. If any of these appear in your changed file, Epsilon will add a comment after that line, stating why it couldn't make the change.

  • Use the list-customizations command to add your customizations to Epsilon's einit.ecm file.

Note that this procedure will not spot changes made in .e files, only those made to variables, bindings or macros. It will notice if you have defined a new command, but not if you have modified an existing command.

The above procedure uses several commands. The list-all command lists the current state of Epsilon in text form, mentioning all commands and subroutines, and describing all key bindings, macros, and variables. The list-changes command accepts the names of the "before" and "after" files produced by list-all, and runs the compare-sorted-windows command on them to make a list of the lines in "after" that don't match a line in "before".

Finally, the load-changes command reads this list of differences and makes each modification listed. It knows how to create variables, define macros, and make bindings, but it can't transfer extension-language commands. You'll have to use the new EEL compiler to incorporate any EEL extensions you wrote.



Previous   Up    Next
Updating from an Old Version  Commands by Topic   Updating from Epsilon 4


Lugaru Copyright (C) 1984, 2012 Lugaru Software Ltd. All Rights Reserved.