WEBMERGE User’s Guide

E. W. (Wayne) Sewell Software Engineering Specialist E-Systems, Garland Division Mail Stop 53730, P. O. Box 660023 Dallas, Texas 75266–0023

June 2, 1987

1 Introduction

This document describes the use of the WEBMERGE program. It does not describe WEBMERGE in general, because the TUGboat article does that. Readyto-run versions are provided for the VAX and for the IBM PC. Instructions to port WEBMERGE to other systems are also provided. In general, if you have the regular WEB system running, you can run WEBMERGE.

Two different versions are provided: a regular WEB version (Pascal), and a MWEB version.

The following files should be present in all implementations:

WEBMUSER.TEX this user guide (LaTEX)
WEBMUSER.TEX DVI file for this user guide (LaTEX)
WEBM.TEX  TUGboat article describing WEBMERGE (LaTEX)
WEBM.DVI  DVI file for TUGboat article describing WEBMERGE

WEBMERGE.WEB  WEB source

WEBMERGE.MSP Change file for Microsoft Pascal
WEBMERGE.TUR Change file for Turbo Pascal
WEBMERGE.VAX Change file for VAX/VMS
WEBMERGE.TEX program listing

WEBMERGE.DVI DVI file for WEBMERGE listing
WEBMERGM.WEB source for MWEB version of WEBMERGE

WEBMERGM.MOD Modula-2 source (Logitech MS-DOS)

WEBMERGM.TEX listing for MWEB version of WEBMERGE

WEBMERGM.DVI DVI file for listing of MWEB version of WEBMERGE

2 VAX/VMS

The following additional files should be present in the VAX implementation:

WEBMERGE.CLD Command Language Definition file for VMS
WEBMERGE.COM Command Procedure to build WEBMERGE
WEBMERGE.PAS VAX Pascal source file

WEBMERGE.OBJ VMS Object file

WEBMERGE.EXE VMS executable

WEBMERGE.EXE should be copied to whatever directory contains TEXrelated executable images. If this is the Kellerman & Smith system (this is the implementation assumed by these instructions), then SYS$SYSTEM is the location of these images. If the images are elsewhere, the command language definition file (WEBMERGE.CLD) must be modified to reflect this.

The commands to run the WEBMERGE processors must be loaded into the DCL tables. To do this on a process-local basis use

 $ set command webm

If the command is defined process-local this way, the definition will go away upon logout. Therefore, this command must be placed into the login command procedure so that it is always available.

To permanently install the commands system wide:

     $ set command/replace/table=sys$library:dcltables -
            /output=sys$library:dcltables  webm

To run WEBMERGE, type :

$ webmerge/change_file=(changefile1,changefile2…) webfile

Optional command qualifiers:

     /out_web_file=outwebfile
     /out_change_file=outchangefile

The parenthesis around the list of change files are not required if there is only one change file. At least one is required; the default extensions are .ch for the changefiles and .web for webfile. If the optional parameters outwebfile and outchangefile are not specified, the default action taken is to create both files in the default directory with same filename as the input WEB file and extensions of .outweb and .outch (obviously, extensions such as these are possible only under VMS 4.x; if you are running under 3.x, you will have to specify the filename and extension). If either of these files is not needed, the null device (NL:) should be specified.

If the executable image must be rebuilt, because of a new release of VMS, VAX Pascal, or WEBMERGE itself, the EXE can be rebuilt from the source using WEBMERGE.COM. This command procedure assumes a Kellerman & Smith configuration—i. e. PROMPT.MAR in [TEX.TEX], etc. To actually do the build, set the default directory to be that of WEBMERGE and enter

     $ @webmerge

After the build completes, copy the new executable to SYS$SYSTEM (or whatever directory contains the TEX executables).

The Modula-2 version, WEBMERGM, has not been ported to the VAX, since my site doesn’t have a Modula-2 compiler. It shouldn’t be too difficult to port, since Modula-2 is so much more standard than Pascal. All that is required is to write a changefile (WEBMERGM.VAX) containing the changes specific to the VAX implementation and use MWEB to create a new WEBMERGM.MOD, which can then be compiled. Do not modify the WEB file.

3 MS-DOS

The following additional files should be present in the MS-DOS implementation:

    WEBMERGE.BAT batch file to build WEBMERGE

WEBMERGE.PAS Microsoft Pascal source file
WEBMERGE.TP Turbo Pascal source file
WEBMERGE.EXE MS-DOS executable

    WEBMERGE.COM MS-DOS COM file
    WEBMERGM.BAT batch file to build WEBMERGM

WEBMERGM.EXE MS-DOS executable
MSPSUPP.WEB Microsoft Pascal support module
MSPSUPP.PAS source file of Microsoft Pascal support module
MSPSUPP.TEX TEX file of Microsoft Pascal support module
MSPSUPP.DVI DVI file of Microsoft Pascal support module

There are three versions of WEBMERGE for the MS-DOS system. Two of them are EXE files and the third is a COM. Any of the three can be used if all you want to do is just run the program. If you want to modify it, which one you use depends on which compiler you have: Microsoft Pascal, Turbo Pascal, or Logitech Modula-2. Note: because of the precedence of COM files over EXE files, the COM version of WEBMERGE will always execute if they are both in the same directory.

To run the EXE version of WEBMERGE (MS Pascal), type :

webmerge webfile outwebfile outchangefile

All three parameters are required. If you do not wish to generate either the output change file or the output WEB file, the null device (NUL:) can be used. The default extensions for the filenames are ‘.web’ for the main WEB file, ‘.ch’ for the various changefiles, and ‘.out’ and ‘.och’ for the two output files. If the base file name for the change files and the output files is the same as for the main web file, an asterisk (*) means that the base file name should with the default extension should be used for that parameter.

For instance:

     webmerge junk * *

would read from ‘junk.web’ and write to ‘junk.out’ and ‘junk.och’. After entering the command, the program will prompt for the name of

a change file. After this is entered, it will prompt for another one. This will continue until all of the change files have been entered. Hitting ⟨Enter⟩ after the filename prompt will terminate the list.

The change file names can optionally be listed in a file and used with DOS I/O redirection, as in

webmerge webfile outwebfile outchangefile <changefilelist

If this mechanism is used, changefilelist must be a regular ASCII file with one filename per line and a completely blank line following the last name. Otherwise the system will hang and must be rebooted.

To run the COM version of WEBMERGE (Turbo), type :

webmerge webfile outwebfile outchangefile chfile1,chfile2…

To run WEBMERGM (Modula-2), type :

webmergm webfile outwebfile outchangefile chfile1,chfile2… !

The exclamation mark (!) is used as a delimiter for the list of changefiles.

4 Other implementations

In order to run WEBMERGE with any other computer system, a change file must be created with the modifications to tailor the program to that particular system. WEBMERGE was cloned from TANGLE, so the changefile used to adapt TANGLE to your system can be used as a starting point. Much of the input file handling (the main WEB file and the change files) was lifted verbatim from TANGLE, so the parts of the changefile dealing with input files can probably be reused. The code to generate the Pascal output was deleted in its entirety, so it can also be deleted from the change file.