:::::::::::::: tcl67/000-readme.vms :::::::::::::: 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 :::::::::::::: tk32/000-readme.vms :::::::::::::: Port of Tk 3.2 to VMS Apr 93 Done by Bhavesh Damania, with some assistance from John Kimball (jkimball@src.honeywell.com). Most things in the 'widget' demo work. Canvases don't work yet, and we haven't tried to figure out why (we don't use them, yet). The following files are notable: makefile: The makefile for the vms-hosted version . It generates an executable version of wish.exe. Make sure that the variable TCL_DIR, TK_LIBRARY and CFLAGS fit your setup. tkint.h: This file contains a constrant string saying where the tk library is located. You will have to update to reflect the pathname where the library resides, unless you use the TK_LIBRARY define in the makefile, as mentioned above. diff_unix_vms: Differences between the unix and the vms version. This is created using the unix utility diff library/diff_unix_vms: Differences between the unix and the vms version. ============================================================================== Port of Tk 1.4 to VMS Done by Angel Li Hola, This is my initial attempt at porting tk 1.4 and tcl 6.2 to VMS. For tk, most everything seems to work, the test program "widgets" runs ok and the BYO program displays its initial trio of windows. The only "funny" is for those writing C programs, the routine Tk_CreateFileHandler takes as an argument an event flag instead of a file descriptor. This event flag *MUST* be in the same cluster as the event flag used by X windows and returned by the Xlib macro ConnectionNumber. For VMS 5.5, this event flag happens to be 24 i.e., the first cluster. This is due to the way I emulated the select(2) call. wish, the windowing shell, also runs. To read sys$input, I had to write some code but it seems to work. It's a good example of using Tk_CreateFileHandler on VMS. The experimental text widget along with some other geometry managers and packers are also included in this release and there is a test program in the [.demos] directory called "text". I got these from Usenet, some site in Finland and barkley.berkeley.edu. The manual pages and doc files are left out of the backup saveset to save some space. Get them from sprite.berkeley.edu. Good luck, angel@flipper.rsmas.miami.edu