Port of Tcl7.0/Tk3.3 to VMS	   August 93

This is a port of tcl 7.0b2 and tk3.3b2 to Alpha/OpenVMS 1.5 and Vax/VMS.

o The file "makefile.vms" is a makefile accepted by our port of BSD/Reno
  pmake. Edit the file "arch.com" to echo either "vax" or "alpha" as
  appropriate. There must be a f$something that tells me if its a vax
  or an alpha.

o The logical name TCL_LIBRARY needs to be defined as a Unix-format directory
  e.g.

	$ define/job	TCL_LIBRARY	"/dka100/angel/tcl70/library"

  Defining it so simplifies the porting of unix .tcl scripts.

o The "glob" command now accepts Unix-style file specs.

o The "format" command on OpenVMS seems to work much better than on the
  VAX. "source tests/format.test" to see.

o The "open" command can't open a pipe. I'll probably get this working
  soon, it isn't too difficult to do (for a single pipe i.e. 
  [open "|show sys" r].

o To build, copy all the files in the [.vms] directory up one level.

o wish.exe only works when reading from a terminal. Redirecting sys$input
  to a file doesn't.

o Read the rest of this file, most caveats still apply.

Later,

angel@flipper.rsmas.miami.edu

Port of Tcl 6.7 to VMS     Apr 93

Done by Bhavesh Damania, with some assistance from John Kimball 
(jkimball@src.honeywell.com).

This file contains additional details regarding making the 6.7 version of
tcl run on the vms side.

Most Tcl stuff works.  The following tests blow up (they were deleted from
the [.tests] subdirectory] --
    cd.test  env.test   exec.text  file.text  glob.test  info.test
    open.test  scan.test  source.test
Most of these Tcl features do *something* -- most work, even usefully --
but the VMS behavior is different enough from the Unix that the tests
would need serious rewriting.

In [.tests]test-results.vms you can view the log of a sample run of the
(remaining) tests. You'll note that "format.test" runs oddly, due to VMS C
oddness.

The following files are notable:

makefile: The makefile for the vms-hosted version. It generates an
          executable version of tcltest.exe. Make sure that the variable
          TCL_DIR and CFLAGS fit your setup.

          We build this with "mms/descrip=makefile."

diff_unix_vms: Differences between the unix and the vms version.
           This is created using unix 'diff'.

[.library]diff_unix_vms: Differences between the unix and the vms version.



Port of Tcl 6.2 to VMS

Done by Angel Li

Hola,

This is my initial attempt at porting tk 1.4 and tcl 6.2 to VMS.  For tcl,
everything seems to work except for

	o pipelines in the "exec" command
	o opening a pipe with the "open" command
	o the "scan" command doesn't work like Unix's scan
	o the "format" command doesn't work like Unix's scan

I've tried to minimize the number of changes to the sources, it might have
a better chance of being integrated with the official release of tcl and tk.
The only major edit I've done was changing the filename "tclInt.h" to
"tclint.h".  Usually my sources are NFS mounted and Multinet maps "tclInt.h"
to some other similar name on the VMS side.  I could try putting a link in.
Anyhow, for now, the sources have the lower case names.

The "exec" command seems to work, even the asynchronous calls but currently
it is not possible to run an interactive program like an editor.  sys$output
is being redirected to a file so it can be trapped.  Any hints on how to
do this right are welcome.

The "times" command is only accurate to the nearest second because of my
emulation of the gettimeofday(2) call.  I could not get better accuracy than
a second by converting the VMS quadtime format to the Unix seconds-from-1-1-70
format.

The "glob" commands only accepts valid RMS wildcard specs.  It currently
returns fully qualified filenames i.e. "glob *.c" returns "dd:[dir]name.c"
instead of just "name.c".  If this really bothers me I'll parse the input
mask and output names and strip out the junk.

The "format" command returns results that are very unlike those expected by
the script format.test.  The results look right though, just mis-formatted,
way mis-formatted.  Look at tcl-format.out for results of the format test.
Sigh...

The "scan" command is broken and I haven't tried to debug it.  Both are probably
due to the funky VMS C runtime support.  Someone should port Torek's stdio
or the GNU libc or libg++'s stdio or ...

The file "makefile.vms" is what I use to build this package.  It defines
the logical name "TCL_LIBRARY" as the directory where the files in [.library]
are kept.  Install these any where you wish.  The make program I use is a
port of the BSD NET-2 pmake program.  The ":V" qualifier is a local mod
that generates a list of comma separated tokens.

Filenames may be specified in Unix format to those commands that have
filename-type arguments.  This is my preferred format.

Run all the tests to see what actually works.  Those tests that play with
files fail usually because of illegal file names or "exec" of Unix commands.


Good luck,

angel@flipper.rsmas.miami.edu
