H This distribution contains a *very* crude port of gnu m4 1.4.  There's aH lot left to clean up - but on the plus side, it does seem to work ok, atG least on the real cases I've tried, it fails some of the checks, but I  K think that it's actually OK, it's just picking up Unix vs. VMS differences.    To build it, do:   $ @make_vms.com   2 To test it, define m4 as a foreign symbol, then do   $ set def [.checks]  $ @check-them %%.*   Most pass, these failed:  E   FAILED = " 30.INCLUDE:err 51.EVAL:err 53.ESYSCMD:out 54.SYSVAL:out"    The problems with these are:  I 54.SYSVAL    can't work, it's trying UNIX commands on OpenVMS, ignore it.   H 53.ESYSCMD   can't work, trying Unix commands on OpenVMS.  This variant               works:    $ create 53.ESYSCMD_VMS * dnl ../doc/m4.texinfo:2924: Origin of test1 define(`vice', `esyscmd(search [-]COPYING vice)') 
 dnl @result{}  vice) dnl @result{}  Ty Coon, President of Vice 
 dnl @result{}   H 51.EVAL      fails on Unix at the same line.  Probably that's the point,H              and the check detects that the error messages are different  D 30.INCLUDE   This is like the preceding - a test that is supposed toF              generate an error, and check-them just compares the error?              messages for Unix vs. OpenVMS, which are the same.    History:  I I started with a clean Unix gnu m4 1.4 distribution, folded in the pieces # from the beta port of m4 1.2 from:    0  ftp://vms.gnu.ai.mit.edu/gnu-vms/software/beta/  D then wrote a very quick and dirty build procedure to get it to work.C (The descrip.mms stuff wasn't working for me, it might for you, see F INSTALL.VMS.  The key problem seems to be that the directory structure changed between distributions.)   ; Redirection of the output of this program wouldn't work via    ! $ define/user sys$output file.out   5 So I added the command line options (case sensitive):     --output=file
  -O=file    6 to direct the output to a file.  Use these switches!  6 When I tried tricks to get the output into a file like   $ create doit.com  $ m4 foo.m4  ^Z $ @doit/out=results.txt   4 Funny things happened, for instance, a line such as:     foo;   might come out like      foo  ;   6 This doesn't happen with the command line redirection.  * No guarantees, warranties, or any of that!     15-AUG-1997  David Mathog mathog@seqaxp.bio.caltech.edu ? Manager, sequence analysis facility, biology division, Caltech  