aboutsummaryrefslogtreecommitdiffstats
path: root/vms
diff options
context:
space:
mode:
Diffstat (limited to 'vms')
-rw-r--r--vms/ChangeLog56
-rw-r--r--vms/descrip.mms163
-rw-r--r--vms/gawkmisc.vms26
-rw-r--r--vms/vms-conf.h9
-rw-r--r--vms/vms_fwrite.c2
-rw-r--r--vms/vms_gawk.c10
-rw-r--r--vms/vmsbuild.com50
-rw-r--r--vms/vmstest.com405
8 files changed, 390 insertions, 331 deletions
diff --git a/vms/ChangeLog b/vms/ChangeLog
index 4efd37b2..3e4688b2 100644
--- a/vms/ChangeLog
+++ b/vms/ChangeLog
@@ -12,6 +12,26 @@
* descrip.mms (REL, PATCHLVL): Move to 4.0.2.
* vms-conf.h (VERSION, PACKAGE_VERSION, PACKAGE_STRING): Move to 4.0.2.
+2012-12-18 John E. Malmberg <wb8tyw@qsl.net>
+
+ * descrip.mms: Make the build procedure run on a default directory
+ that is on a VMS logical name search list.
+ * vmstest.com: Make the tests run on a default directory that is on
+ a VMS logical name search list.
+
+2012-12-13 Anders Wallin <anders_s_wallin@yahoo.se>
+
+ * descrip.mms: Update to handle removal of pgawk and dgawk,
+ workaround for MMS bug
+
+2012-12-09 Anders Wallin <anders_s_wallin@yahoo.se>
+
+ * vmstest.com: Updated to match main test/Makefile.
+
+2012-12-02 Arnold D. Robbins <arnold@skeeve.com>
+
+ * vms_gawk.c (CmdName): Force to just "GAWK".
+
2012-11-24 Arnold D. Robbins <arnold@skeeve.com>
* vmstest.com: Fix typo in applying previous patch.
@@ -20,10 +40,46 @@
* vmstest.com: Updated to match main test/Makefile.
+2012-11-14 Arnold D. Robbins <arnold@skeeve.com>
+
+ * vmsbuild.com: Updated. Thanks to Anders Wallin.
+ * vms-conf.h: Ditto, ditto.
+
+2012-11-12 Arnold D. Robbins <arnold@skeeve.com>
+
+ * gawkmisc.vms (os_isreadable): Change first argument type to
+ awk_input_buf_t.
+ * vms-conf.h (HAVE_STDINT_H): Define.
+ (SHLIBEXT, DEFLIBPATH): Add definitions.
+ * vms_fwrite.c (tty_fwrite): Check do_debug instead of no-longer-
+ extant which_gawk variable.
+ * vms_gawk.c (vms_gawk): Check do_debug and do_profiling instead
+ of which_gawk.
+
+ Thanks to Anders Wallin.
+
+2012-08-08 Arnold D. Robbins <arnold@skeeve.com>
+
+ * gawkmisc.vms (os_isreadable): Take IOBUF_PUBLIC instead of fd and
+ use passed in info.
+
+2012-07-29 Arnold D. Robbins <arnold@skeeve.com>
+
+ * gawkmisc.vms (os_isreadable): Add isdir pointer parameter to be
+ set to true if fd is for a directory.
+
+2012-07-26 Arnold D. Robbins <arnold@skeeve.com>
+
+ * gawkmisc.vms (os_isreadable): New function.
+
2012-03-29 Arnold D. Robbins <arnold@skeeve.com>
* config.h: Add definition for _Noreturn.
+2012-03-20 Andrew J. Schorr <aschorr@telemetry-investments.com>
+
+ * gawkmisc.vms (deflibpath): New global variable.
+
2012-03-28 Arnold D. Robbins <arnold@skeeve.com>
* 4.0.1: Release tar ball made.
diff --git a/vms/descrip.mms b/vms/descrip.mms
index d431af8f..77dad90a 100644
--- a/vms/descrip.mms
+++ b/vms/descrip.mms
@@ -12,14 +12,6 @@
# gawk.exe :
# This is the default target. DEC C has become the default compiler.
#
-# pgawk.exe :
-# An alternate version which generates some profiling feedback for
-# the awk programs it executes. Included with `make all'.
-#
-# dgawk.exe :
-# An alternate version which supports debugging.
-# Included with `make all'.
-#
# awkgram.c :
# If you don't have bison but do have VMS POSIX or DEC/Shell,
# change the PARSER and PASERINIT macros to use yacc. If you don't
@@ -100,14 +92,15 @@ ECHO = write sys$output
NOOP = continue
# object files
-GAWKOBJ = eval.obj,profile.obj
-PGAWKOBJ = eval_p.obj,profile_p.obj
-DGAWKOBJ = eval_d.obj,profile.obj,command.obj,debug.obj
-AWKOBJ1 = array.obj,awkgram.obj,builtin.obj,dfa.obj,ext.obj,\
- field.obj,floatcomp.obj,gawkmisc.obj,getopt.obj,getopt1.obj,\
- io.obj
-AWKOBJ2 = main.obj,msg.obj,node.obj,random.obj,re.obj,\
- regex.obj,replace.obj,version.obj
+GAWKOBJ = eval.obj,profile.obj
+AWKOBJ1 = array.obj,awkgram.obj,builtin.obj,cint_array.obj,\
+ command.obj,debug.obj,dfa.obj,ext.obj,field.obj,\
+ floatcomp.obj,gawkapi.obj,gawkmisc.obj,getopt.obj,getopt1.obj
+
+AWKOBJ2 = int_array.obj,io.obj,main.obj,mpfr.obj,msg.obj,node.obj,\
+ random.obj,re.obj,regex.obj,replace.obj,\
+ str_array.obj,symbol.obj,version.obj
+
AWKOBJS = $(AWKOBJ1),$(AWKOBJ2)
# VMSOBJS
@@ -117,56 +110,27 @@ VMSCODE = vms_misc.obj,vms_popen.obj,vms_fwrite.obj,vms_args.obj,\
VMSCMD = gawk_cmd.obj # built from .cld file
VMSOBJS = $(VMSCODE),$(VMSCMD)
-# primary source files
-AWKSRC = array.c,builtin.c,dfa.c,eval.c,eval_p.c,ext.c,field.c,\
- floatcomp.c,gawkmisc.c,getopt.c,getopt1.c,io.c,main.c,\
- msg.c,node.c,profile.c,profile_p.c,random.c,re.c,regcomp.c,\
- regex.c,regex_internal.c,regexec.c,replace.c,version.c
-
-DBGSRC = eval_d.c,debug.c,command.y,cmd.h
-
-ALLSRC = $(AWKSRC),awkgram.y,awk.h,custom.h,dfa.h,getopt.h,\
- gettext.h,mbsupport.h,protos.h,random.h
-
-VMSSRC = $(VMSDIR)gawkmisc.vms,$(VMSDIR)vms_misc.c,$(VMSDIR)vms_popen.c,\
- $(VMSDIR)vms_fwrite.c,$(VMSDIR)vms_args.c,$(VMSDIR)vms_gawk.c,\
- $(VMSDIR)vms_cli.c
-VMSHDRS = $(VMSDIR)redirect.h,$(VMSDIR)vms.h,$(VMSDIR)fcntl.h,\
- $(VMSDIR)varargs.h,$(VMSDIR)unixlib.h
-VMSOTHR = $(VMSDIR)descrip.mms,$(VMSDIR)vmsbuild.com,$(VMSDIR)version.com,\
- $(VMSDIR)gawk.hlp
-
DOCS= $(DOCDIR)gawk.1,$(DOCDIR)gawk.texi,$(DOCDIR)texinfo.tex
# Release of gawk
-REL=4.0
-PATCHLVL=2
+REL=4.1
+PATCHLVL=0
# generic target
-all : gawk,pgawk,dgawk
- $(NOOP)
+all : gawk
+ @ $(NOOP)
# dummy target to allow building "gawk" in addition to explicit "gawk.exe"
gawk : gawk.exe
- $(ECHO) " GAWK "
-pgawk : pgawk.exe
- $(ECHO) " PGAWK "
-dgawk : dgawk.exe
- $(ECHO) " DGAWK "
+ @ $(ECHO) "$< is upto date"
# rules to build gawk
gawk.exe : $(GAWKOBJ) $(AWKOBJS) $(VMSOBJS) gawk.opt
$(LINK) $(LINKFLAGS) gawk.opt/options
-# rules to build pgawk and dgawk
-pgawk.exe : $(PGAWKOBJ) $(AWKOBJS) $(VMSOBJS) pgawk.opt
- $(LINK) $(LINKFLAGS) pgawk.opt/options
-dgawk.exe : $(DGAWKOBJ) $(AWKOBJS) $(VMSOBJS) dgawk.opt
- $(LINK) $(LINKFLAGS) dgawk.opt/options
-
gawk.opt : $(MAKEFILE) # create linker options file
- open/write opt gawk.opt ! ~ 'cat <<close >gawk.opt'
- write opt "! GAWK -- GNU awk"
+ @ open/write opt sys$disk:[]gawk.opt ! ~ 'cat <<close >gawk.opt'
+ @ write opt "! GAWK -- GNU awk"
@ write opt "$(GAWKOBJ)"
@ write opt "$(AWKOBJ1)"
@ write opt "$(AWKOBJ2)"
@@ -174,59 +138,52 @@ gawk.opt : $(MAKEFILE) # create linker options file
@ write opt "psect_attr=environ,noshr !extern [noshare] char **"
@ write opt "stack=48 !preallocate more pages (default is 20)"
@ write opt "iosegment=128 !ditto (default is 32)"
- write opt "$(LIBS)"
- write opt "identification=""V$(REL).$(PATCHLVL)"""
- close opt
-
-pgawk.opt : $(MAKEFILE) # create linker options file
- open/write opt pgawk.opt
- write opt "! PGAWK -- GNU awk w/ run-time profiling"
- @ write opt "$(PGAWKOBJ)"
- @ write opt "$(AWKOBJ1)"
- @ write opt "$(AWKOBJ2)"
- @ write opt "$(VMSOBJS)"
- @ write opt "psect_attr=environ,noshr !extern [noshare] char **"
- @ write opt "stack=48 !preallocate more pages (default is 20)"
- @ write opt "iosegment=128 !ditto (default is 32)"
- write opt "$(LIBS)"
- write opt "identification=""V$(REL).$(PATCHLVL)"""
- close opt
-
-dgawk.opt : $(MAKEFILE) # create linker options file
- open/write opt dgawk.opt
- write opt "! DGAWK -- GNU awk w/ debugging"
- @ write opt "$(DGAWKOBJ)"
- @ write opt "$(AWKOBJ1)"
- @ write opt "$(AWKOBJ2)"
- @ write opt "$(VMSOBJS)"
- @ write opt "psect_attr=environ,noshr !extern [noshare] char **"
- @ write opt "stack=48 !preallocate more pages (default is 20)"
- @ write opt "iosegment=128 !ditto (default is 32)"
- write opt "$(LIBS)"
- write opt "identification=""V$(REL).$(PATCHLVL)"""
- close opt
+ @ write opt "$(LIBS)"
+ @ write opt "identification=""V$(REL).$(PATCHLVL)"""
+ @ close opt
+$(VMSCODE) : awk.h config.h $(VMSDIR)redirect.h $(VMSDIR)vms.h
+$(AWKOBJS) : awk.h gettext.h mbsupport.h regex.h dfa.h config.h $(VMSDIR)redirect.h
+$(GAWKOBJ) : awk.h config.h $(VMSDIR)redirect.h
+
+#-----------------------------------------------------------------------------
+# Older versions of MMS have problems handling lower case file names typically
+# found on ODS-5 disks. Fix this by adding explicit dependencies.
+#_____________________________________________________________________________
+array.obj : array.c
+awkgram.obj : awkgram.c awk.h
+builtin.obj : builtin.c floatmagic.h random.h
+cint_array.obj : cint_array.c
+command.obj : command.c cmd.h
+debug.obj : debug.c cmd.h
+dfa.obj : dfa.c dfa.h
+ext.obj : ext.c
+eval.obj : eval.c
+field.obj : field.c
+floatcomp.obj : floatcomp.c
+gawkaoi.obj : gawkapi.c
+gawkmisc.obj : gawkmisc.c $(VMSDIR)gawkmisc.vms
+getopt.obj : getopt.c
+getopt1.obj : getopt1.c
+int_array.obj : int_array.c
+io.obj : io.c
+main.obj : main.c
+msg.obj : msg.c
+mpfr.obj : mpfr.c
+node.obj : node.c
+profile.obj : profile.c
+random.obj : random.c random.h
+re.obj : re.c
+regex.obj : regex.c regcomp.c regex_internal.c regexec.c regex.h regex_internal.h
+str_array.obj : str_array.c
+symbol.obj : symbol.c
+version.obj : version.c
vms_misc.obj : $(VMSDIR)vms_misc.c
vms_popen.obj : $(VMSDIR)vms_popen.c
vms_fwrite.obj : $(VMSDIR)vms_fwrite.c
vms_args.obj : $(VMSDIR)vms_args.c
vms_gawk.obj : $(VMSDIR)vms_gawk.c
vms_cli.obj : $(VMSDIR)vms_cli.c
-$(VMSCODE) : awk.h config.h $(VMSDIR)redirect.h $(VMSDIR)vms.h
-
-gawkmisc.obj : gawkmisc.c $(VMSDIR)gawkmisc.vms
-
-$(AWKOBJS) : awk.h gettext.h mbsupport.h regex.h dfa.h \
- config.h $(VMSDIR)redirect.h
-$(GAWKOBJ) : awk.h config.h $(VMSDIR)redirect.h
-$(PGAWKOBJ) : awk.h config.h $(VMSDIR)redirect.h
-$(DGAWKOBJ) : awk.h config.h $(VMSDIR)redirect.h
-random.obj : random.h
-builtin.obj : floatmagic.h random.h
-awkgram.obj : awkgram.c awk.h
-dfa.obj : dfa.c dfa.h
-regex.obj : regex.c regcomp.c regex_internal.c regexec.c regex.h regex_internal.h
-command.obj,debug.obj : cmd.h
replace.obj : replace.c $(MISSNGD)system.c $(MISSNGD)memcmp.c \
$(MISSNGD)memcpy.c $(MISSNGD)memset.c $(MISSNGD)memmove.c \
$(MISSNGD)strncasecmp.c $(MISSNGD)strerror.c \
@@ -245,6 +202,7 @@ awkgram.c : awkgram.y # foo.y :: yacc => y[_]tab.c, bison => foo_tab.c
@- if f$search("ytab.c") .nes."" then rename/new_vers ytab.c $@
@- if f$search("y_tab.c") .nes."" then rename/new_vers y_tab.c $@
@- if f$search("awkgram_tab.c").nes."" then rename/new_vers awkgram_tab.c $@
+
command.c : command.y
@- if f$search("ytab.c") .nes."" then delete ytab.c;*
@- if f$search("y_tab.c") .nes."" then delete y_tab.c;*
@@ -256,13 +214,13 @@ command.c : command.y
@- if f$search("command_tab.c").nes."" then rename/new_vers command_tab.c $@
config.h : $(VMSDIR)vms-conf.h
- copy $< $@
+ copy $< sys$disk:[]$@
$(VMSCMD) : $(VMSDIR)gawk.cld
set command $(CLDFLAGS)/object=$@ $<
# special target for loading the help text into a VMS help library
-install.help : $(VMS)gawk.hlp
+install.help : $(VMSDIR)gawk.hlp
library/help $(HELPLIB) $< /log
# miscellaneous other targets
@@ -271,13 +229,12 @@ tidy :
- if f$search("[.*]*.*;-1").nes."" then purge [.*]
clean :
- - delete *.obj;*,gawk.opt;*,pgawk.opt;*,dgawk.opt;*
+ - if f$search ("*.obj") .nes. "" then delete *.obj;*
+ - if f$search ("gawk.opt") .nes. "" then delete gawk.opt;*
spotless : clean tidy
- if f$search("config.h").nes."" then rename config.h config.h-old/New
- if f$search("gawk.exe").nes."" then delete gawk.exe;*
- - if f$search("pgawk.exe").nes."" then delete pgawk.exe;*
- - if f$search("dgawk.exe").nes."" then delete dgawk.exe;*
- if f$search("gawk.dvi").nes."" then delete gawk.dvi;*
- if f$search("[.doc]texindex.exe").nes."" then delete [.doc]texindex.exe;*
diff --git a/vms/gawkmisc.vms b/vms/gawkmisc.vms
index 346a1e88..08c8fb5e 100644
--- a/vms/gawkmisc.vms
+++ b/vms/gawkmisc.vms
@@ -25,6 +25,7 @@
char quote = '\'';
char *defpath = DEFPATH;
+char *deflibpath = DEFLIBPATH;
char envsep = ',';
/* gawk_name --- pull out the "gawk" part from how the OS called us */
@@ -143,6 +144,31 @@ int fd;
return (fstat(fd, &sbuf) == 0 && S_ISDIR(sbuf.st_mode));
}
+/* os_isreadable --- fd can be read from */
+
+int
+os_isreadable(const awk_input_buf_t *iobuf, bool *isdir)
+{
+ *isdir = false;
+
+ switch (iobuf->sbuf.st_mode & S_IFMT) {
+ case S_IFREG:
+ case S_IFCHR: /* ttys, /dev/null, .. */
+#ifdef S_IFSOCK
+ case S_IFSOCK:
+#endif
+#ifdef S_IFIFO
+ case S_IFIFO:
+#endif
+ return true;
+ case S_IFDIR:
+ *isdir = true;
+ /* fall through */
+ default:
+ return false;
+ }
+}
+
/* os_is_setuid --- true if running setuid root */
int
diff --git a/vms/vms-conf.h b/vms/vms-conf.h
index d4dd0f9b..910d519b 100644
--- a/vms/vms-conf.h
+++ b/vms/vms-conf.h
@@ -45,6 +45,10 @@
#define STACK_DIRECTION (-1)
#endif /*0*/
+#include <bitypes.h>
+#define INT32_MAX __INT32_MAX
+#define INT32_MIN __INT32_MIN
+
/* dynamic loading is possible */
#undef DYNAMIC
@@ -545,6 +549,10 @@
/* Whether `time_t' is an unsigned type. */
#define TIME_T_UNSIGNED 1
+/* Extension for shared libraries */
+#define SHLIBEXT "exe"
+
+
/*******************************/
/* Gawk configuration options. */
/*******************************/
@@ -561,6 +569,7 @@
*/
#define DEFPATH ".,/AWK_LIBRARY"
+#define DEFLIBPATH ".,/AWK_LIBRARY"
#define ENVSEP ','
/*
diff --git a/vms/vms_fwrite.c b/vms/vms_fwrite.c
index 921ac2d4..1a16f58c 100644
--- a/vms/vms_fwrite.c
+++ b/vms/vms_fwrite.c
@@ -77,7 +77,7 @@ tty_fwrite( const void *buf, size_t size, size_t number, FILE *file )
chan = file_num < _NFILE ? channel[file_num] : -1;
if (chan == 0) { /* if not initialized, need to assign a channel */
if (isatty(file_num) > 0 /* isatty: 1=yes, 0=no, -1=problem */
- && which_gawk != exe_debugging) {
+ && ! do_debug) {
Dsc device;
char devnam[255+1];
diff --git a/vms/vms_gawk.c b/vms/vms_gawk.c
index 222d803d..f22e2fa9 100644
--- a/vms/vms_gawk.c
+++ b/vms/vms_gawk.c
@@ -51,7 +51,7 @@ extern void *gawk_cmd;
extern void _exit(int);
static int vms_usage(int);
-static const char *CmdName; /* "GAWK", "DGAWK", or "PGAWK" */
+static const char *CmdName = "GAWK";
#define ARG_SIZ 250
union arg_w_prefix { /* structure used to simplify prepending of "-" */
@@ -80,10 +80,6 @@ vms_gawk()
int native_dcl = 1, /* assume true until we know otherwise */
short_circ; /* some options make P1, /commands, /input superfluous */
- CmdName = (which_gawk == exe_profiling) ? "PGAWK"
- : (which_gawk == exe_debugging) ? "DGAWK"
- : "GAWK";
-
/* check "GAWK_P1"--it's required; its presence will tip us off */
sts = Cli_Present("GAWK_P1");
if (CondVal(sts) == CondVal(CLI$_SYNTAX)) {
@@ -98,7 +94,7 @@ vms_gawk()
}
short_circ = Present("USAGE") || Present("VERSION") || Present("COPYRIGHT");
if (vmswork(sts)) /* command parsed successfully */
- v_add_arg(argc = 0, CmdName); /* save "GAWK|DGAWK|PGAWK" as argv[0] */
+ v_add_arg(argc = 0, CmdName); /* save "GAWK" as argv[0] */
else if (CondVal(sts) == CondVal(CLI$_INSFPRM))
/* vms_usage() will handle /usage, /version, and /copyright */
return short_circ ? vms_usage(0)
@@ -245,7 +241,7 @@ options: /FIELD_SEPARATOR=\"FS_value\" \n\
complaint = 0; /* clean exit */
} else if (Present("VERSION") || Present("COPYRIGHT")) {
/* construct a truncated Unix-style command line to control main() */
- v_add_arg(argc=0, CmdName); /* save "GAWK",&c as argv[0] */
+ v_add_arg(argc=0, CmdName); /* save "GAWK" as argv[0] */
#if 0
v_add_arg(++argc, Present("VERSION") ? "-V" : "-C");
#else
diff --git a/vms/vmsbuild.com b/vms/vmsbuild.com
index d93fefe1..95c6aeb3 100644
--- a/vms/vmsbuild.com
+++ b/vms/vmsbuild.com
@@ -10,9 +10,10 @@ $! gawk 3.1.1 revised, Apr'02
$! gawk 3.1.6 revised, Mar'07
$! gawk-bytecode revd, Jan'10
$! gawk 4.0.0 revd, May'11
+$! gawk 4.1.0 revd, Nov'12
$!
-$ REL = "4.0" !release version number
-$ PATCHLVL = "2"
+$ REL = "4.1" !release version number
+$ PATCHLVL = "0"
$!
$!
$ CCFLAGS = "/noList" ! "/noOpt/Debug"
@@ -90,12 +91,15 @@ $ cc regex.c
$ cc replace.c
$ cc version.c
$ cc eval.c
-$ cc eval_p.c
-$ cc eval_d.c
$ cc profile.c
-$ cc profile_p.c
$ cc command.c
$ cc debug.c
+$ cc int_array.c
+$ cc cint_array.c
+$ cc gawkapi.c
+$ cc mpfr.c
+$ cc str_array.c
+$ cc symbol.c
$ cc [.vms]vms_misc.c
$ cc [.vms]vms_popen.c
$ cc [.vms]vms_fwrite.c
@@ -112,6 +116,7 @@ array.obj,awkgram.obj,builtin.obj,dfa.obj,ext.obj,field.obj,floatcomp.obj
gawkmisc.obj,getopt.obj,getopt1.obj,io.obj
main.obj,msg.obj,node.obj
random.obj,re.obj,regex.obj,replace.obj,version.obj,eval.obj,profile.obj
+command.obj,debug.obj,int_array.obj,cint_array.obj,gawkapi.obj,mpfr.obj,str_array.obj,symbol.obj
[]vms_misc.obj,vms_popen.obj,vms_fwrite.obj,vms_args.obj
[]vms_gawk.obj,vms_cli.obj,gawk_cmd.obj
psect_attr=environ,noshr !extern [noshare] char **
@@ -122,42 +127,7 @@ $ write Fopt libs
$ write Fopt "identification=""V''REL'.''PATCHLVL'"""
$ close Fopt
$!
-$ create pgawk.opt
-! PGAWK -- GNU awk w/ run-time profiling
-array.obj,awkgram.obj,builtin.obj,dfa.obj,ext.obj,field.obj,floatcomp.obj
-gawkmisc.obj,getopt.obj,getopt1.obj,io.obj
-main.obj,msg.obj,node.obj
-random.obj,re.obj,regex.obj,replace.obj,version.obj,eval_p.obj,profile_p.obj
-[]vms_misc.obj,vms_popen.obj,vms_fwrite.obj,vms_args.obj
-[]vms_gawk.obj,vms_cli.obj,gawk_cmd.obj
-psect_attr=environ,noshr !extern [noshare] char **
-stack=48 !preallocate more pages (default is 20)
-iosegment=128 !ditto (default is 32)
-$ open/append Fopt pgawk.opt
-$ write Fopt libs
-$ write Fopt "identification=""V''REL'.''PATCHLVL'"""
-$ close Fopt
-$!
-$ create dgawk.opt
-! DGAWK -- GNU awk w/ debugging
-array.obj,awkgram.obj,builtin.obj,dfa.obj,ext.obj,field.obj,floatcomp.obj
-gawkmisc.obj,getopt.obj,getopt1.obj,io.obj
-main.obj,msg.obj,node.obj
-random.obj,re.obj,regex.obj,replace.obj,version.obj
-eval_d.obj,profile.obj,command.obj,debug.obj
-[]vms_misc.obj,vms_popen.obj,vms_fwrite.obj,vms_args.obj
-[]vms_gawk.obj,vms_cli.obj,gawk_cmd.obj
-psect_attr=environ,noshr !extern [noshare] char **
-stack=48 !preallocate more pages (default is 20)
-iosegment=128 !ditto (default is 32)
-$ open/append Fopt dgawk.opt
-$ write Fopt libs
-$ write Fopt "identification=""V''REL'.''PATCHLVL'"""
-$ close Fopt
-$!
$ v = f$verify(1)
$ link/exe=gawk.exe gawk.opt/options
-$ link/exe=pgawk.exe pgawk.opt/options
-$ link/exe=dgawk.exe dgawk.opt/options
$! 'f$verify(v)'
$ exit
diff --git a/vms/vmstest.com b/vms/vmstest.com
index 60534efa..2aebe9ff 100644
--- a/vms/vmstest.com
+++ b/vms/vmstest.com
@@ -8,6 +8,10 @@ $
$! 3.1.7: changed to share code among many common tests, and
$! to put results for test foo into _foo.tmp instead of tmp.
$!
+$! 4.0.71: New tests:
+$! functab1,functab2,functab3,id,incdupe,incdupe2, incdupe3,include2
+$! symtab1,symtab2,symtab3,symtab4,symtab5,symtab6
+$!
$ echo = "write sys$output"
$ cmp = "diff/Output=_NL:/Maximum=1"
$ igncascmp = "''cmp'/Ignore=Case"
@@ -15,12 +19,10 @@ $ sumslp = "edit/Sum"
$ rm = "delete/noConfirm/noLog"
$ mv = "rename/New_Vers"
$ gawk = "$sys$disk:[-]gawk"
-$ pgawk = "$sys$disk:[-]pgawk"
$ AWKPATH_srcdir = "define/User AWKPATH sys$disk:[]"
$
$ listdepth = 0
$ pipeok = 0
-$ pgawkok = -1
$ floatmode = -1 ! 0: D_float, 1: G_float, 2: IEEE T_float
$
$ list = p1+" "+p2+" "+p3+" "+p4+" "+p5+" "+p6+" "+p7+" "+p8
@@ -34,7 +36,7 @@ $all:
$bigtest: echo "bigtest..."
$ ! omits "printlang" and "extra"
$ list = "basic unix_tests gawk_ext vms_tests charset_tests" -
- + " machine_tests pgawk_tests"
+ + " machine_tests"
$ gosub list_of_tests
$ return
$
@@ -99,18 +101,20 @@ $gawk_ext: echo "gawk_ext... (gawk.extensions)"
$ list = "aadelete1 aadelete2 aarray1 aasort aasorti" -
+ " argtest arraysort backw badargs beginfile1 binmode1" -
+ " clos1way charasbytes delsub devfd devfd1 devfd2 dumpvars exit" -
- + " fieldwdth fpat1 fpat2 fpat3 fpatnull funlen fsfwfs" -
+ + " fieldwdth fpat1 fpat2 fpat3 fpatnull funlen functab1" -
+ + " functab2 functab3 fsfwfs" -
+ " fwtest fwtest2 fwtest3" -
+ " gensub gensub2 getlndir gnuops2 gnuops3 gnureops" -
- + " icasefs icasers igncdym igncfs ignrcase ignrcas2"
+ + " icasefs id icasers igncdym igncfs ignrcase ignrcas2 incdupe incdupe2 incdupe3"
$ gosub list_of_tests
-$ list = "indirectcall lint lintold lintwarn match1" -
+$ list = "include2 indirectcall lint lintold lintwarn match1" -
+ " match2 match3 manyfiles mbprintf3 mbstr1" -
+ " nastyparm next nondec" -
+ " nondec2 patsplit posix profile1 procinfs printfbad1" -
- + " printfbad2 printfbad3 pty1 regx8bit rebuf reint" -
- + " reint2 rsstart1 rsstart2 rsstart3 rstest6 shadow" -
- + " sortfor sortu splitarg4 strtonum strftime switch2"
+ + " printfbad2 printfbad3 profile2 profile3 pty1" -
+ + " regx8bit rebuf reint reint2 rsstart1 rsstart2 rsstart3 rstest6" -
+ + " shadow sortfor sortu splitarg4 strtonum strftime switch2" -
+ + " symtab1 symtab2 symtab3 symtab4 symtab5 symtab6"
$ gosub list_of_tests
$ return
$
@@ -136,16 +140,6 @@ $ list = "double1 double2 fmtspcl intformat"
$ gosub list_of_tests
$ return
$
-$ ! pgawk_tests is part of bigtest; profile_tests is a separate subset
-$profile_tests: echo "profile_tests..."
-$ list = "profile1"
-$ gosub list_of_tests
-$ ! fall through to pgawk_tests
-$pgawk_tests: echo "pgawk_tests..."
-$ list = "profile2 profile3"
-$ gosub list_of_tests
-$ return
-$
$extra: echo "extra..."
$ list = "regtest inftest inet"
$ gosub list_of_tests
@@ -274,7 +268,7 @@ $zeroe0:
$! common with 'test'.in
$ echo "''test'"
$ gawk -f 'test'.awk 'test'.in >_'test'.tmp
-$ cmp 'test'.ok _'test'.tmp
+$ cmp 'test'.ok sys$disk:[]_'test'.tmp
$ if $status then rm _'test'.tmp;
$ return
$
@@ -344,7 +338,7 @@ $zeroflag:
$! common without 'test'.in
$ echo "''test'"
$ gawk -f 'test'.awk >_'test'.tmp
-$ cmp 'test'.ok _'test'.tmp
+$ cmp 'test'.ok sys$disk:[]_'test'.tmp
$ if $status then rm _'test'.tmp;
$ return
$
@@ -380,15 +374,16 @@ $pty1:
$ echo "''test': not supported"
$ return
$
-$messages: echo "messages"
+$
+$messages: echo "''test'"
$ set noOn
-$ gawk -f messages.awk > out2 >& out3
-$ cmp out1.ok out1.
-$ if $status then rm out1.;
-$ cmp out2.ok out2.
-$ if $status then rm out2.;
-$ cmp out3.ok out3.
-$ if $status then rm out3.;
+$ gawk -f 'test'.awk > _out2 >& _out3
+$ cmp out1.ok sys$disk:[]_out1.
+$ if $status then rm _out1.;
+$ cmp out2.ok sys$disk:[]_out2.
+$ if $status then rm _out2.;
+$ cmp out3.ok sys$disk:[]_out3.
+$ if $status then rm _out3.;
$ set On
$ return
$
@@ -396,34 +391,34 @@ $argarray: echo "argarray"
$ define/User TEST "test" !this is useless...
$ gawk -f argarray.awk ./argarray.in - >_argarray.tmp
just a test
-$ cmp argarray.ok _argarray.tmp
+$ cmp argarray.ok sys$disk:[]_argarray.tmp
$ if $status then rm _argarray.tmp;
$ return
$
$fstabplus: echo "fstabplus"
$ gawk -f fstabplus.awk >_fstabplus.tmp
1 2
-$ cmp fstabplus.ok _fstabplus.tmp
+$ cmp fstabplus.ok sys$disk:[]_fstabplus.tmp
$ if $status then rm _fstabplus.tmp;
$ return
$
$longwrds: echo "longwrds"
$ gawk -v "SORT=sort sys$input: _longwrds.tmp" -f longwrds.awk longwrds.in >_NL:
-$ cmp longwrds.ok _longwrds.tmp
+$ cmp longwrds.ok sys$disk:[]_longwrds.tmp
$ if $status then rm _longwrds.tmp;
$ return
$
$fieldwdth: echo "fieldwdth"
$ gawk -v "FIELDWIDTHS=2 3 4" "{ print $2}" >_fieldwdth.tmp
123456789
-$ cmp fieldwdth.ok _fieldwdth.tmp
+$ cmp fieldwdth.ok sys$disk:[]_fieldwdth.tmp
$ if $status then rm _fieldwdth.tmp;
$ return
$
$ignrcase: echo "ignrcase"
$ gawk -v "IGNORECASE=1" "{ sub(/y/, """"); print}" >_ignrcase.tmp
xYz
-$ cmp ignrcase.ok _ignrcase.tmp
+$ cmp ignrcase.ok sys$disk:[]_ignrcase.tmp
$ if $status then rm _ignrcase.tmp;
$ return
$
@@ -441,7 +436,7 @@ $
$posix: echo "posix"
$ gawk -f posix.awk >_posix.tmp
1:2,3 4
-$ cmp posix.ok _posix.tmp
+$ cmp posix.ok sys$disk:[]_posix.tmp
$ if $status then rm _posix.tmp;
$ return
$
@@ -476,19 +471,19 @@ $ return
$
$compare: echo "compare"
$ gawk -f compare.awk 0 1 compare.in >_compare.tmp
-$ cmp compare.ok _compare.tmp
+$ cmp compare.ok sys$disk:[]_compare.tmp
$ if $status then rm _compare.tmp;
$ return
$
$rs: echo "rs"
$ gawk -v "RS=" "{ print $1, $2}" rs.in >_rs.tmp
-$ cmp rs.ok _rs.tmp
+$ cmp rs.ok sys$disk:[]_rs.tmp
$ if $status then rm _rs.tmp;
$ return
$
$fsbs: echo "fsbs"
$ gawk -v "FS=\" "{ print $1, $2 }" fsbs.in >_fsbs.tmp
-$ cmp fsbs.ok _fsbs.tmp
+$ cmp fsbs.ok sys$disk:[]_fsbs.tmp
$ if $status then rm _fsbs.tmp;
$ return
$
@@ -496,14 +491,14 @@ $inftest: echo "inftest"
$ !! echo "This test is very machine specific..."
$ set noOn
$ gawk -f inftest.awk >_inftest.tmp
-$ !! cmp inftest.ok _inftest.tmp !just care that gawk doesn't crash...
+$ !! cmp inftest.ok sys$disk:[]_inftest.tmp !just care that gawk doesn't crash...
$ if $status then rm _inftest.tmp;
$ set On
$ return
$
$getline2: echo "getline2"
$ gawk -f getline2.awk getline2.awk getline2.awk >_getline2.tmp
-$ cmp getline2.ok _getline2.tmp
+$ cmp getline2.ok sys$disk:[]_getline2.tmp
$ if $status then rm _getline2.tmp;
$ return
$
@@ -515,20 +510,20 @@ $ return
$
$negexp: echo "negexp"
$ gawk "BEGIN { a = -2; print 10^a }" >_negexp.tmp
-$ cmp negexp.ok _negexp.tmp
+$ cmp negexp.ok sys$disk:[]_negexp.tmp
$ if $status then rm _negexp.tmp;
$ return
$
$awkpath: echo "awkpath"
$ define/User AWK_LIBRARY [],[.lib]
$ gawk -f awkpath.awk >_awkpath.tmp
-$ cmp awkpath.ok _awkpath.tmp
+$ cmp awkpath.ok sys$disk:[]_awkpath.tmp
$ if $status then rm _awkpath.tmp;
$ return
$
$argtest: echo "argtest"
$ gawk -f argtest.awk -x -y abc >_argtest.tmp
-$ cmp argtest.ok _argtest.tmp
+$ cmp argtest.ok sys$disk:[]_argtest.tmp
$ if $status then rm _argtest.tmp;
$ return
$
@@ -537,7 +532,7 @@ $ on error then continue
$ gawk -f 2>&1 >_badargs.too
$! search/Match=Nor _badargs.too "patchlevel" /Output=_badargs.tmp
$ gawk "/patchlevel/{next}; {gsub(""\"""",""'""); print}" <_badargs.too >_badargs.tmp
-$ cmp badargs.ok _badargs.tmp
+$ cmp badargs.ok sys$disk:[]_badargs.tmp
$ if $status then rm _badargs.tmp;,_badargs.too;
$ return
$
@@ -546,7 +541,7 @@ $ ! This one might fail, depending on the tool used to unpack the
$ ! distribution. Some will add a final newline if the file lacks one.
$ AWKPATH_srcdir
$ gawk --lint -f nonl.awk _NL: >_nonl.tmp 2>&1
-$ cmp nonl.ok _nonl.tmp
+$ cmp nonl.ok sys$disk:[]_nonl.tmp
$ if $status then rm _nonl.tmp;
$ return
$
@@ -556,14 +551,14 @@ $ AWKPATH_srcdir
$ gawk --lint -f defref.awk >_defref.tmp 2>&1
$ if .not.$status then call exit_code 2 _defref.tmp
$ set On
-$ cmp defref.ok _defref.tmp
+$ cmp defref.ok sys$disk:[]_defref.tmp
$ if $status then rm _defref.tmp;
$ return
$
$nofmtch: echo "nofmtch"
$ AWKPATH_srcdir
$ gawk --lint -f nofmtch.awk >_nofmtch.tmp 2>&1
-$ cmp nofmtch.ok _nofmtch.tmp
+$ cmp nofmtch.ok sys$disk:[]_nofmtch.tmp
$ if $status then rm _nofmtch.tmp;
$ return
$
@@ -585,7 +580,7 @@ $ write ftmp wkd," ",mon," ",day," ",tim," ",tz," ",yr
$ close ftmp
$ gawk -v "OUTPUT"=_strftime.tmp -f strftime.awk strftime.in
$ set noOn
-$ cmp strftime.ok _strftime.tmp
+$ cmp strftime.ok sys$disk:[]_strftime.tmp
$ if $status then rm _strftime.tmp;,strftime.ok;*,strftime.in;*
$ set On
$ return
@@ -593,23 +588,84 @@ $
$litoct: echo "litoct"
$ gawk --traditional -f litoct.awk >_litoct.tmp
ab
-$ cmp litoct.ok _litoct.tmp
+$ cmp litoct.ok sys$disk:[]_litoct.tmp
$ if $status then rm _litoct.tmp;
$ return
$
$resplit: echo "resplit"
$ gawk -- "{ FS = "":""; $0 = $0; print $2 }" >_resplit.tmp
a:b:c d:e:f
-$ cmp resplit.ok _resplit.tmp
+$ cmp resplit.ok sys$disk:[]_resplit.tmp
$ if $status then rm _resplit.tmp;
$ return
$
$intprec: echo "intprec"
$ gawk -f intprec.awk >_intprec.tmp 2>&1
-$ cmp intprec.ok _intprec.tmp
+$ cmp intprec.ok sys$disk:[]_intprec.tmp
$ if $status then rm _intprec.tmp;
$ return
$
+$incdupe: echo "''test'"
+$ set noOn
+$ gawk --lint -i inclib -i inclib.awk "BEGIN {print sandwich(""a"", ""b"", ""c"")}" > _'test'.tmp 2>&1
+$ if .not. $status then call exit_code 1 _'test'.tmp
+$ cmp 'test'.ok sys$disk:[]_'test'.tmp
+$ if $status then rm _'test'.tmp;*
+$ set On
+$ return
+$
+$incdupe2: echo "''test'"
+$ set noOn
+$ gawk --lint -f inclib -f inclib.awk >_'test'.tmp 2>&1
+$ if .not. $status then call exit_code 1 _'test'.tmp
+$ cmp 'test'.ok sys$disk:[]_'test'.tmp
+$ if $status then rm _'test'.tmp;*
+$ set On
+$ return
+$
+$incdupe3: echo "''test'"
+$ gawk --lint -f hello -f hello.awk >_'test'.tmp 2>&1
+$ cmp 'test'.ok sys$disk:[]_'test'.tmp
+$ if $status then rm _'test'.tmp;*
+$ return
+$
+$include2: echo "''test'"
+$ gawk -i inclib "BEGIN {print sandwich(""a"", ""b"", ""c"")}" >_'test'.tmp 2>&1
+$ cmp 'test'.ok sys$disk:[]_'test'.tmp
+$ if $status then rm _'test'.tmp;*
+$ return
+$
+$id:
+$symtab1:
+$symtab2:
+$symtab3: echo "''test'"
+$ set noOn
+$ gawk -f 'test'.awk >_'test'.tmp 2>&1
+$ if .not. $status then call exit_code 2 _'test'.tmp
+$ cmp 'test'.ok sys$disk:[]_'test'.tmp
+$ if $status then rm _'test'.tmp;*
+$ set On
+$ return
+$
+$symtab4:
+$symtab5: echo "''test'"
+$ set noOn
+$ gawk -f 'test'.awk <'test'.in >_'test'.tmp 2>&1
+$ if .not. $status then call exit_code 2 _'test'.tmp
+$ cmp 'test'.ok sys$disk:[]_'test'.tmp
+$ if $status then rm _'test'.tmp;*
+$ set On
+$ return
+$
+$symtab6: echo "''test'"
+$ set noOn
+$ gawk -d__'test'.tmp -f 'test'.awk
+$ pipe search __'test'.tmp "ENVIRON" /match=nand | search sys$pipe "PROCINFO" /match=nand > _'test'.tmp
+$ cmp 'test'.ok sys$disk:[]_'test'.tmp
+$ if $status then rm _'test'.tmp;*,__'test'.tmp;*
+$ set On
+$ return
+$
$childin: echo "childin skipped"
$ return
$! note: this `childin' test currently [gawk 3.0.3] fails for vms
@@ -619,28 +675,28 @@ $ echo "note: type ``hi<return><ctrl/Z>'",-
$!! @echo hi | gawk "BEGIN { ""cat"" | getline; print; close(""cat"") }" >_childin.tmp
$ gawk "BEGIN { ""type sys$input:"" | getline; print; close(""type sys$input:"") }" >_childin.tmp
hi
-$ cmp childin.ok _childin.tmp
+$ cmp childin.ok sys$disk:[]_childin.tmp
$ if $status then rm _childin.tmp;
$ return
$
$noeffect: echo "noeffect"
$ AWKPATH_srcdir
$ gawk --lint -f noeffect.awk >_noeffect.tmp 2>&1
-$ cmp noeffect.ok _noeffect.tmp
+$ cmp noeffect.ok sys$disk:[]_noeffect.tmp
$ if $status then rm _noeffect.tmp;
$ return
$
$numsubstr: echo "numsubstr"
$ AWKPATH_srcdir
$ gawk -f numsubstr.awk numsubstr.in >_numsubstr.tmp
-$ cmp numsubstr.ok _numsubstr.tmp
+$ cmp numsubstr.ok sys$disk:[]_numsubstr.tmp
$ if $status then rm _numsubstr.tmp;
$ return
$
$prmreuse: echo "prmreuse"
$ if f$search("prmreuse.ok").eqs."" then create prmreuse.ok
$ gawk -f prmreuse.awk >_prmreuse.tmp
-$ cmp prmreuse.ok _prmreuse.tmp
+$ cmp prmreuse.ok sys$disk:[]_prmreuse.tmp
$ if $status then rm _prmreuse.tmp;
$ return
$
@@ -650,7 +706,7 @@ $ return
$!!fflush: echo "fflush"
$ ! hopelessly Unix-specific
$!! @fflush.sh >_fflush.tmp
-$ cmp fflush.ok _fflush.tmp
+$ cmp fflush.ok sys$disk:[]_fflush.tmp
$ if $status then rm _fflush.tmp;
$ return
$
@@ -659,47 +715,47 @@ $ echo "getlnhd skipped"
$ return
$!!getlnhd: echo "getlnhd"
$ gawk -f getlnhd.awk >_getlnhd.tmp
-$ cmp getlnhd.ok _getlnhd.tmp
+$ cmp getlnhd.ok sys$disk:[]_getlnhd.tmp
$ if $status then rm _getlnhd.tmp;
$ return
$
$tweakfld: echo "tweakfld"
$ gawk -f tweakfld.awk tweakfld.in >_tweakfld.tmp
$ if f$search("errors.cleanup").nes."" then rm errors.cleanup;*
-$ cmp tweakfld.ok _tweakfld.tmp
+$ cmp tweakfld.ok sys$disk:[]_tweakfld.tmp
$ if $status then rm _tweakfld.tmp;
$ return
$
$clsflnam: echo "clsflnam"
$ if f$search("clsflnam.ok").eqs."" then create clsflnam.ok
$ gawk -f clsflnam.awk clsflnam.in >_clsflnam.tmp 2>&1
-$ cmp clsflnam.ok _clsflnam.tmp
+$ cmp clsflnam.ok sys$disk:[]_clsflnam.tmp
$ if $status then rm _clsflnam.tmp;
$ return
$
$mmap8k: echo "mmap8k"
$ gawk "{ print }" mmap8k.in >_mmap8k.tmp
-$ cmp mmap8k.in _mmap8k.tmp
+$ cmp mmap8k.in sys$disk:[]_mmap8k.tmp
$ if $status then rm _mmap8k.tmp;
$ return
$
$eofsplit: echo "eofsplit"
$ if f$search("eofsplit.ok").eqs."" then create eofsplit.ok
$ gawk -f eofsplit.awk >_eofsplit.tmp
-$ cmp eofsplit.ok _eofsplit.tmp
+$ cmp eofsplit.ok sys$disk:[]_eofsplit.tmp
$ if $status then rm _eofsplit.tmp;
$ return
$
$back89: echo "back89"
$ gawk "/a\8b/" back89.in >_back89.tmp
-$ cmp back89.ok _back89.tmp
+$ cmp back89.ok sys$disk:[]_back89.tmp
$ if $status then rm _back89.tmp;
$ return
$
$tradanch: echo "tradanch"
$ if f$search("tradanch.ok").eqs."" then create tradanch.ok
$ gawk --traditional -f tradanch.awk tradanch.in >_tradanch.tmp
-$ cmp tradanch.ok _tradanch.tmp
+$ cmp tradanch.ok sys$disk:[]_tradanch.tmp
$ if $status then rm _tradanch.tmp;
$ return
$
@@ -707,14 +763,14 @@ $pid: echo "pid"
$ pid = f$integer("%x" + f$getjpi("","PID"))
$ ppid = f$integer("%x" + f$getjpi("","OWNER"))
$ gawk -v "ok_pid=''pid'" -v "ok_ppid=''ppid'" -f pid.awk >_pid.tmp >& _NL:
-$ cmp pid.ok _pid.tmp
+$ cmp pid.ok sys$disk:[]_pid.tmp
$ if $status then rm _pid.tmp;
$ return
$
$strftlng: echo "strftlng"
$ define/User TZ "UTC" !useless
$ gawk -f strftlng.awk >_strftlng.tmp
-$ cmp strftlng.ok _strftlng.tmp
+$ cmp strftlng.ok sys$disk:[]_strftlng.tmp
$ if $status then rm _strftlng.tmp;
$ return
$
@@ -722,7 +778,7 @@ $nfldstr: echo "nfldstr"
$ if f$search("nfldstr.ok").eqs."" then create nfldstr.ok
$ gawk "$1 == 0 { print ""bug"" }" >_nfldstr.tmp
-$ cmp nfldstr.ok _nfldstr.tmp
+$ cmp nfldstr.ok sys$disk:[]_nfldstr.tmp
$ if $status then rm _nfldstr.tmp;
$ return
$
@@ -732,13 +788,13 @@ $!! @echo A B C D E | tr -d '\12' | $(AWK) '{ print $$NF }' - $(srcdir)/nors.in
$!! so just read a line from sys$input instead
$ gawk "{ print $NF }" - nors.in >_nors.tmp
A B C D E
-$ cmp nors.ok _nors.tmp
+$ cmp nors.ok sys$disk:[]_nors.tmp
$ if $status then rm _nors.tmp;
$ return
$
$reint: echo "reint"
$ gawk --re-interval -f reint.awk reint.in >_reint.tmp
-$ cmp reint.ok _reint.tmp
+$ cmp reint.ok sys$disk:[]_reint.tmp
$ if $status then rm _reint.tmp;
$ return
$
@@ -748,7 +804,7 @@ $ AWKPATH_srcdir
$ gawk -f noparms.awk >_noparms.tmp 2>&1
$ if .not.$status then call exit_code 1 _noparms.tmp
$ set On
-$ cmp noparms.ok _noparms.tmp
+$ cmp noparms.ok sys$disk:[]_noparms.tmp
$ if $status then rm _noparms.tmp;
$ return
$
@@ -758,7 +814,7 @@ $ define/User test1 []test1.
$ define/User test2 []test2.
$ gawk -f pipeio1.awk >_pipeio1.tmp
$ rm test1.;,test2.;
-$ cmp pipeio1.ok _pipeio1.tmp
+$ cmp pipeio1.ok sys$disk:[]_pipeio1.tmp
$ if $status then rm _pipeio1.tmp;
$ return
$
@@ -769,15 +825,15 @@ $!!pipeio2: echo "pipeio2"
$ cat = "gawk -- {print}"
$ tr = "??" !unfortunately, no trivial substitution available...
$ gawk -v "SRCDIR=." -f pipeio2.awk >_pipeio2.tmp
-$ cmp pipeio2.ok _pipeio2.tmp
+$ cmp pipeio2.ok sys$disk:[]_pipeio2.tmp
$ if $status then rm _pipeio2.tmp;
$ return
$
$clobber: echo "clobber"
$ gawk -f clobber.awk >_clobber.tmp
-$ cmp clobber.ok seq.
+$ cmp clobber.ok sys$disk:[]seq.
$ if $status then rm seq.;*
-$ cmp clobber.ok _clobber.tmp
+$ cmp clobber.ok sys$disk:[]_clobber.tmp
$ if $status then rm _clobber.tmp;
$ return
$
@@ -786,7 +842,7 @@ $ set noOn
$ gawk -f nasty.awk >_nasty.tmp
$ call fixup_LRL nasty.ok
$ call fixup_LRL _nasty.tmp "purge"
-$ cmp nasty.ok _nasty.tmp
+$ cmp nasty.ok sys$disk:[]_nasty.tmp
$ if $status then rm _nasty.tmp;
$ set On
$ return
@@ -796,7 +852,7 @@ $ set noOn
$ gawk -f nasty2.awk >_nasty2.tmp
$ call fixup_LRL nasty2.ok
$ call fixup_LRL _nasty2.tmp "purge"
-$ cmp nasty2.ok _nasty2.tmp
+$ cmp nasty2.ok sys$disk:[]_nasty2.tmp
$ if $status then rm _nasty2.tmp;
$ set On
$ return
@@ -805,7 +861,9 @@ $aadelete1:
$aadelete2:
$arrayparm:
$fnaryscl:
-$match2:
+$functab1:
+$functab2:
+$functab3:
$nastyparm:
$opasnslf:
$opasnidx:
@@ -817,36 +875,36 @@ $ set noOn
$ gawk -f 'test'.awk >_'test'.tmp 2>&1
$ if .not.$status then call exit_code 2 _'test'.tmp
$ set On
-$ cmp 'test'.ok _'test'.tmp
+$ cmp 'test'.ok sys$disk:[]_'test'.tmp
$ if $status then rm _'test'.tmp;
$ return
$
$arynocls: echo "arynocls"
$ gawk -v "INPUT"=arynocls.in -f arynocls.awk >_arynocls.tmp
-$ cmp arynocls.ok _arynocls.tmp
+$ cmp arynocls.ok sys$disk:[]_arynocls.tmp
$ if $status then rm _arynocls.tmp;
$ return
$
$getlnbuf: echo "getlnbuf"
$ gawk -f getlnbuf.awk getlnbuf.in >_getlnbuf.tmp
$ gawk -f gtlnbufv.awk getlnbuf.in >_getlnbuf.too
-$ cmp getlnbuf.ok _getlnbuf.tmp
+$ cmp getlnbuf.ok sys$disk:[]_getlnbuf.tmp
$ if $status then rm _getlnbuf.tmp;
-$ cmp getlnbuf.ok _getlnbuf.too
+$ cmp getlnbuf.ok sys$disk:[]_getlnbuf.too
$ if $status then rm _getlnbuf.too;
$ return
$
$lint: echo "lint"
$ AWKPATH_srcdir
$ gawk -f lint.awk >_lint.tmp 2>&1
-$ cmp lint.ok _lint.tmp
+$ cmp lint.ok sys$disk:[]_lint.tmp
$ if $status then rm _lint.tmp;
$ return
$
$lintold: echo "lintold"
$ AWKPATH_srcdir
$ gawk -f lintold.awk --lint-old <lintold.in >_lintold.tmp 2>&1
-$ cmp lintold.ok _lintold.tmp
+$ cmp lintold.ok sys$disk:[]_lintold.tmp
$ if $status then rm _lintold.tmp;
$ return
$
@@ -854,7 +912,7 @@ $ofmtbig: echo "ofmtbig"
$ set noOn
$ gawk -f ofmtbig.awk ofmtbig.in >_ofmtbig.tmp 2>&1
$ set On
-$ cmp ofmtbig.ok _ofmtbig.tmp
+$ cmp ofmtbig.ok sys$disk:[]_ofmtbig.tmp
$ if $status then rm _ofmtbig.tmp;
$ return
$
@@ -892,13 +950,13 @@ $ return
$
$redfilnm: echo "redfilnm"
$ gawk -f redfilnm.awk srcdir="." redfilnm.in >_redfilnm.tmp
-$ cmp redfilnm.ok _redfilnm.tmp
+$ cmp redfilnm.ok sys$disk:[]_redfilnm.tmp
$ if $status then rm _redfilnm.tmp;
$ return
$
$leaddig: echo "leaddig"
$ gawk -v "x=2E" -f leaddig.awk >_leaddig.tmp
-$ cmp leaddig.ok _leaddig.tmp
+$ cmp leaddig.ok sys$disk:[]_leaddig.tmp
$ if $status then rm _leaddig.tmp;
$ return
$
@@ -907,7 +965,7 @@ $ echo "clos1way: not supported"
$ return
$!!clos1way: echo "clos1way"
$ gawk -f clos1way.awk >_clos1way.tmp
-$ cmp clos1way.ok _clos1way.tmp
+$ cmp clos1way.ok sys$disk:[]_clos1way.tmp
$ if $status then rm _clos1way.tmp;
$ return
$
@@ -916,7 +974,7 @@ $ set noOn
$ AWKPATH_srcdir
$ gawk --lint -f shadow.awk >_shadow.tmp 2>&1
$ set On
-$ cmp shadow.ok _shadow.tmp
+$ cmp shadow.ok sys$disk:[]_shadow.tmp
$ if $status then rm _shadow.tmp;
$ return
$
@@ -926,7 +984,7 @@ $ AWKPATH_srcdir
$ gawk --lint -f lintwarn.awk >_lintwarn.tmp 2>&1
$ if .not.$status then call exit_code 1 _lintwarn.tmp
$ set On
-$ cmp lintwarn.ok _lintwarn.tmp
+$ cmp lintwarn.ok sys$disk:[]_lintwarn.tmp
$ if $status then rm _lintwarn.tmp;
$ return
$
@@ -937,14 +995,14 @@ $!! the records here are too long for DIFF to handle
$!! so assume success as long as gawk doesn't crash
$!! call fixup_LRL longsub.ok
$!! call fixup_LRL _longsub.tmp "purge"
-$!! cmp longsub.ok _longsub.tmp
+$!! cmp longsub.ok sys$disk:[]_longsub.tmp
$ if $status then rm _longsub.tmp;
$ set On
$ return
$
$arrayprm3: echo "arrayprm3"
$ gawk -f arrayprm3.awk arrayprm3.in >_arrayprm3.tmp
-$ cmp arrayprm3.ok _arrayprm3.tmp
+$ cmp arrayprm3.ok sys$disk:[]_arrayprm3.tmp
$ if $status then rm _arrayprm3.tmp;
$ return
$
@@ -958,7 +1016,6 @@ $aryprm4:
$aryprm5:
$aryprm6:
$aryprm7:
-$delfunc:
$dfastress:
$nfneg:
$numindex:
@@ -970,18 +1027,19 @@ $ set noOn
$ gawk -f 'test'.awk 'test'.in >_'test'.tmp 2>&1
$ if .not.$status then call exit_code 2 _'test'.tmp
$ set On
-$ cmp 'test'.ok _'test'.tmp
+$ cmp 'test'.ok sys$disk:[]_'test'.tmp
$ if $status then rm _'test'.tmp;
$ return
$
-$fnamedat:
-$fnasgnm:
+$ !
+$ ! For tests requiring exit code 2
+$ !
$ echo "''test'"
$ set noOn
$ gawk -f 'test'.awk <'test'.in >_'test'.tmp 2>&1
$ if .not.$status then call exit_code 2 _'test'.tmp
$ set On
-$ cmp 'test'.ok _'test'.tmp
+$ cmp 'test'.ok sys$disk:[]_'test'.tmp
$ if $status then rm _'test'.tmp;
$ return
$
@@ -989,12 +1047,15 @@ $exitval2: echo "exitval2 skipped"
$ return
$!!exitval2: echo "exitval2"
$ gawk -f exitval2.awk exitval2.in >_exitval2.tmp
-$ cmp exitval2.ok _exitval2.tmp
+$ cmp exitval2.ok sys$disk:[]_exitval2.tmp
$ if $status then rm _exitval2.tmp;
$ return
$
+$delfunc:
$fcall_exit2:
+$fnamedat:
$fnarray2:
+$fnasgnm:
$fnmisc:
$gsubasgn:
$unterm:
@@ -1003,7 +1064,7 @@ $ set noOn
$ gawk -f 'test'.awk 'test'.in >_'test'.tmp 2>&1
$ if .not.$status then call exit_code 1 _'test'.tmp
$ set On
-$ cmp 'test'.ok _'test'.tmp
+$ cmp 'test'.ok sys$disk:[]_'test'.tmp
$ if $status then rm _'test'.tmp;
$ return
$
@@ -1011,13 +1072,13 @@ $getline: echo "getline skipped"
$ return
$!!getline: echo "getline"
$ gawk -f getline.awk getline.in >_getline.tmp
-$ cmp getline.ok _getline.tmp
+$ cmp getline.ok sys$disk:[]_getline.tmp
$ if $status then rm _getline.tmp;
$ return
$
$gsubtst3: echo "gsubtst3"
$ gawk --re-interval -f gsubtst3.awk gsubtst3.in >_gsubtst3.tmp
-$ cmp gsubtst3.ok _gsubtst3.tmp
+$ cmp gsubtst3.ok sys$disk:[]_gsubtst3.tmp
$ if $status then rm _gsubtst3.tmp;
$ return
$
@@ -1029,7 +1090,7 @@ $ oldout = f$search("_iobug1.tmp;")
$ gawk -f iobug1.awk iobug1.in >_iobug1.tmp
$ badout = f$search("_iobug1.tmp;-1")
$ if badout.nes."" .and. badout.nes.oldout then rm 'badout'
-$ cmp iobug1.ok _iobug1.tmp
+$ cmp iobug1.ok sys$disk:[]_iobug1.tmp
$ if $status then rm _iobug1.tmp;
$ return
$
@@ -1037,7 +1098,7 @@ $rstest4: echo "rstest4 skipped"
$ return
$!!rstest4: echo "rstest4"
$ gawk -f rstest4.awk rstest4.in >_rstest4.tmp
-$ cmp rstest4.ok _rstest4.tmp
+$ cmp rstest4.ok sys$disk:[]_rstest4.tmp
$ if $status then rm _rstest4.tmp;
$ return
$
@@ -1045,13 +1106,14 @@ $rstest5: echo "rstest5 skipped"
$ return
$!!rstest5: echo "rstest5"
$ gawk -f rstest5.awk rstest5.in >_rstest5.tmp
-$ cmp rstest5.ok _rstest5.tmp
+$ cmp rstest5.ok sys$disk:[]_rstest5.tmp
$ if $status then rm _rstest5.tmp;
$ return
$
$fcall_exit:
$fnarray:
$funsmnam:
+$match2:
$paramdup:
$paramres:
$parseme:
@@ -1062,7 +1124,7 @@ $ set noOn
$ gawk -f 'test'.awk >_'test'.tmp 2>&1
$ if .not.$status then call exit_code 1 _'test'.tmp
$ set On
-$ cmp 'test'.ok _'test'.tmp
+$ cmp 'test'.ok sys$disk:[]_'test'.tmp
$ if $status then rm _'test'.tmp;
$ return
$
@@ -1073,7 +1135,7 @@ $uninit5:
$uninitialized:
$ echo "''test'"
$ gawk --lint -f 'test'.awk 'test'.in >_'test'.tmp 2>&1
-$ cmp 'test'.ok _'test'.tmp
+$ cmp 'test'.ok sys$disk:[]_'test'.tmp
$ if $status then rm _'test'.tmp;
$ return
$
@@ -1087,7 +1149,7 @@ $ gawk "{gsub(""file specification syntax error"", ""no such file or directory""
_space.tmp >_space.too
$ rm _space.tmp;
$ mv _space.too _space.tmp
-$ igncascmp space.ok _space.tmp
+$ igncascmp space.ok sys$disk:[]_space.tmp
$ if $status then rm _space.tmp;
$ return
$
@@ -1095,7 +1157,7 @@ $posix2008sub:
$printf0:
$ echo "''test'"
$ gawk --posix -f 'test'.awk >_'test'.tmp
-$ cmp 'test'.ok _'test'.tmp
+$ cmp 'test'.ok sys$disk:[]_'test'.tmp
$ if $status then rm _'test'.tmp;
$ return
$
@@ -1114,7 +1176,7 @@ $ pipe -
gawk -- "BEGIN {RS = """"; ORS = ""\n\n""}; {print}" | -
gawk -- "/^[^a]/; END {print NR}" >_rsnulbig.tmp
$ set On
-$ cmp rsnulbig.ok _rsnulbig.tmp
+$ cmp rsnulbig.ok sys$disk:[]_rsnulbig.tmp
$ if $status then rm _rsnulbig.tmp;
$ return
$
@@ -1133,7 +1195,7 @@ $ pipe -
gawk -- "BEGIN {RS=""""; ORS=""\n\n"" }; {print}" | -
gawk -- "/^[^a]/; END {print NR}" >_rsnulbig2.tmp
$ set On
-$ cmp rsnulbig2.ok _rsnulbig2.tmp
+$ cmp rsnulbig2.ok sys$disk:[]_rsnulbig2.tmp
$ if $status then rm _rsnulbig2.tmp;
$ return
$
@@ -1144,7 +1206,7 @@ $widesub3:
$ echo "''test'"
$ gosub define_gawklocale
$ gawk -f 'test'.awk 'test'.in >_'test'.tmp
-$ cmp 'test'.ok _'test'.tmp
+$ cmp 'test'.ok sys$disk:[]_'test'.tmp
$ if $status then rm _'test'.tmp;
$ return
$
@@ -1156,7 +1218,7 @@ $widesub4:
$ echo "''test'"
$ gosub define_gawklocale
$ gawk -f 'test'.awk >_'test'.tmp
-$ cmp 'test'.ok _'test'.tmp
+$ cmp 'test'.ok sys$disk:[]_'test'.tmp
$ if $status then rm _'test'.tmp;
$ return
$
@@ -1164,13 +1226,13 @@ $! This test is somewhat suspect for vms due to exit code manipulation
$exitval1: echo "exitval1"
$ gawk -f exitval1.awk >_exitval1.tmp 2>&1
$ if $status then call exit_code 0 _exitval1.tmp
-$ cmp exitval1.ok _exitval1.tmp
+$ cmp exitval1.ok sys$disk:[]_exitval1.tmp
$ if $status then rm _exitval1.tmp;
$ return
$
$fsspcoln: echo "fsspcoln"
$ gawk -f fsspcoln.awk "FS=[ :]+" fsspcoln.in >_forspcoln.tmp
-$ cmp fsspcoln.ok _forspcoln.tmp
+$ cmp fsspcoln.ok sys$disk:[]_forspcoln.tmp
$ if $status then rm _forspcoln.tmp;
$ return
$
@@ -1179,13 +1241,13 @@ $ ! assume we're running in the test subdirectory; we don't want to
$ ! perform a messy conversion of [] into its file specification
$ gawk -v "SRCDIR=[-]test.dir" -f getlndir.awk >_getlndir.tmp
$! getlndir.ok expects "Is a directory", we see "is a directory"
-$ igncascmp getlndir.ok _getlndir.tmp
+$ igncascmp getlndir.ok sys$disk:[]_getlndir.tmp
$ if $status then rm _getlndir.tmp;
$ return
$
$rsstart2: echo "rsstart2"
$ gawk -f rsstart2.awk rsstart1.in >_rsstart2.tmp
-$ cmp rsstart2.ok _rsstart2.tmp
+$ cmp rsstart2.ok sys$disk:[]_rsstart2.tmp
$ if $status then rm _rsstart2.tmp;
$ return
$
@@ -1207,7 +1269,7 @@ $ pipe -
gawk -- "FNR <= 10" rsstart1.in | -
gawk -f rsstart2.awk >_rsstart3.tmp
$ set On
-$ cmp rsstart3.ok _rsstart3.tmp
+$ cmp rsstart3.ok sys$disk:[]_rsstart3.tmp
$ if $status then rm _rsstart3.tmp;
$ return
$
@@ -1238,7 +1300,7 @@ $ gawk -- "FNR==1 {sub(""1"",""0"")}; {print}" _rtlen01.tmp >_rtlen01.too
$ rm _rtlen01.tmp;
$ mv _rtlen01.too _rtlen01.tmp
$ endif
-$ cmp 'f' _'test'.tmp
+$ cmp 'f' sys$disk:[]_'test'.tmp
$ if $status then rm _'test'.tmp;
$ return
$
@@ -1257,7 +1319,7 @@ $ endsubroutine !do__rtlen01
$
$nondec2: echo "nondec2"
$ gawk --non-decimal-data -v "a=0x1" -f nondec2.awk >_nondec2.tmp
-$ cmp nondec2.ok _nondec2.tmp
+$ cmp nondec2.ok sys$disk:[]_nondec2.tmp
$ if $status then rm _nondec2.tmp;
$ return
$
@@ -1274,27 +1336,27 @@ $ gawk "{gsub(""no-such-file"", ""no/such/file""); print}" _nofile.tmp >_nofile.
$ rm _nofile.tmp;
$ mv _nofile.too _nofile.tmp
$! nofile.ok expects "No such file ...", we see "no such file ..."
-$ igncascmp nofile.ok _nofile.tmp
+$ igncascmp nofile.ok sys$disk:[]_nofile.tmp
$ if $status then rm _nofile.tmp;
$ return
$
$binmode1: echo "binmode1"
$ gawk -v "BINMODE=3" "BEGIN { print BINMODE }" >_binmode1.tmp
-$ cmp binmode1.ok _binmode1.tmp
+$ cmp binmode1.ok sys$disk:[]_binmode1.tmp
$ if $status then rm _binmode1.tmp;
$ return
$
$subi18n: echo "subi18n"
$ define/User GAWKLOCALE "en_US.UTF-8"
$ gawk -f subi18n.awk >_subi18n.tmp
-$ cmp subi18n.ok _subi18n.tmp
+$ cmp subi18n.ok sys$disk:[]_subi18n.tmp
$ if $status then rm _subi18n.tmp;
$ return
$
$concat4: echo "concat4"
$ define/User GAWKLOCALE "en_US.UTF-8"
$ gawk -f concat4.awk concat4.in >_concat4.tmp
-$ cmp concat4.ok _concat4.tmp
+$ cmp concat4.ok sys$disk:[]_concat4.tmp
$ if $status then rm _concat4.tmp;
$ return
$
@@ -1302,7 +1364,7 @@ $devfd: echo "devfd: not supported"
$ return
$!!devfd: echo "devfd"
$ gawk 1 /dev/fd/4 /dev/fd/5 4< /devfd.in4 5< devfd.in5 >_devfd.tmp
-$ cmp devfd.ok _devfd.tmp
+$ cmp devfd.ok sys$disk:[]_devfd.tmp
$ if $status then rm _devfd.tmp;
$ return
$
@@ -1310,7 +1372,7 @@ $devfd1: echo "devfd1: not supported"
$ return
$!!devfd1: echo "devfd1"
$ gawk -f devfd1.awk 4< devfd.in1 5< devfd.in2 >_devfd1.tmp
-$ cmp devfd1.ok _devfd1.tmp
+$ cmp devfd1.ok sys$disk:[]_devfd1.tmp
$ if $status then rm _devfd1.tmp;
$ return
$
@@ -1319,7 +1381,7 @@ $ return
$!!devfd2: echo "devfd2"
$! The program text is the '1' which will print each record. How compact can you get?
$ gawk 1 /dev/fd/4 /dev/fd/5 4< /devfd.in1 5< devfd.in2 >_devfd2.tmp
-$ cmp devfd2.ok _devfd2.tmp
+$ cmp devfd2.ok sys$disk:[]_devfd2.tmp
$ if $status then rm _devfd2.tmp;
$ return
$
@@ -1340,21 +1402,21 @@ $ set noOn
$ gawk -f /dev/null --source "BEGIN {return junk}" >_mixed1.tmp 2>&1
$ if .not.$status then call exit_code 1 _mixed1.tmp
$ set On
-$ cmp mixed1.ok _mixed1.tmp
+$ cmp mixed1.ok sys$disk:[]_mixed1.tmp
$ if $status then rm _mixed1.tmp;
$ return
$
$mtchi18n: echo "mtchi18n"
$ define/User GAWKLOCALE "ru_RU.UTF-8"
$ gawk -f mtchi18n.awk mtchi18n.in >_mtchi18n.tmp
-$ cmp mtchi18n.ok _mtchi18n.tmp
+$ cmp mtchi18n.ok sys$disk:[]_mtchi18n.tmp
$ if $status then rm _mtchi18n.tmp;
$ return
$
$reint2: echo "reint2"
$ gosub define_gawklocale
$ gawk --re-interval -f reint2.awk reint2.in >_reint2.tmp
-$ cmp reint2.ok _reint2.tmp
+$ cmp reint2.ok sys$disk:[]_reint2.tmp
$ if $status then rm _reint2.tmp;
$ return
$
@@ -1362,7 +1424,7 @@ $localenl: echo "localenl skipped"
$ return
$!!localenl: echo "localenl"
$ @localenl.com /Output=_localenl.tmp ! sh ./localenl.sh >tmp.
-$ cmp localenl.ok _localenl.tmp
+$ cmp localenl.ok sys$disk:[]_localenl.tmp
$ if $status then rm _localenl.tmp;
$ return
$
@@ -1372,7 +1434,7 @@ $!!mbprintf1: echo "mbprintf1"
$! Makefile test exports this, but we don't want to impact user's environment
$ define/User GAWKLOCALE "en_US.UTF-8"
$ gawk -f mbprintf1.awk mbprintf1.in >_mbprintf1.tmp
-$ cmp mbprintf1.ok _mbprintf1.tmp
+$ cmp mbprintf1.ok sys$disk:[]_mbprintf1.tmp
$ if $status then rm _mbprintf1.tmp;
$ return
$
@@ -1380,7 +1442,7 @@ $mbprintf2: echo "mbprintf2"
$! Makefile test exports this, ...
$ define/User GAWKLOCALE "ja_JP.UTF-8"
$ gawk -f mbprintf2.awk >_mbprintf2.tmp
-$ cmp mbprintf2.ok _mbprintf2.tmp
+$ cmp mbprintf2.ok sys$disk:[]_mbprintf2.tmp
$ if $status then rm _mbprintf2.tmp;
$ return
$
@@ -1388,7 +1450,7 @@ $mbprintf3: echo "mbprintf3"
$! Makefile test exports this, ...
$ define/User GAWKLOCALE "en_US.UTF-8"
$ gawk -f mbprintf3.awk mbprintf3.in >_mbprintf2.tmp
-$ cmp mbprintf3.ok _mbprintf2.tmp
+$ cmp mbprintf3.ok sys$disk:[]_mbprintf2.tmp
$ if $status then rm _mbprintf2.tmp;
$ return
$
@@ -1398,14 +1460,14 @@ $!!mbfw1: echo "mbfw1"
$! Makefile test exports this, ...
$ define/User GAWKLOCALE "en_US.UTF-8"
$ gawk -f mbfw1.awk mbfw1.in >_mbfw1.tmp
-$ cmp mbfw1.ok _mbfw1.tmp
+$ cmp mbfw1.ok sys$disk:[]_mbfw1.tmp
$ if $status then rm _mbfw1.tmp;
$ return
$
$gsubtst6: echo "gsubtst6"
$ define/User GAWKLOCALE "C"
$ gawk -f gsubtst6.awk >_gsubtst6.tmp
-$ cmp gsubtst6.ok _gsubtst6.tmp
+$ cmp gsubtst6.ok sys$disk:[]_gsubtst6.tmp
$ if $status then rm _gsubtst6.tmp;
$ return
$
@@ -1413,7 +1475,7 @@ $mbstr1: echo "mbstr1"
$ gosub define_gawklocale
$ AWKPATH_srcdir
$ gawk -f mbstr1.awk >_mbstr1.tmp
-$ cmp mbstr1.ok _mbstr1.tmp
+$ cmp mbstr1.ok sys$disk:[]_mbstr1.tmp
$ if $status then rm _mbstr1.tmp;
$ return
$
@@ -1423,7 +1485,7 @@ $ echo "''test'"
$ set noOn
$ gawk --lint -f 'test'.awk 'test'.in >_'test'.tmp 2>&1
$ set On
-$ cmp 'test'.ok _'test'.tmp
+$ cmp 'test'.ok sys$disk:[]_'test'.tmp
$ if $status then rm _'test'.tmp;
$ return
$
@@ -1436,7 +1498,7 @@ $ if floatmode.lt.2
$ then echo "fmtspcl: not supported"
$ else echo "fmtspcl"
$ gawk -f fmtspcl.awk >_fmtspcl.tmp 2>&1
-$ cmp fmtspcl.ok _fmtspcl.tmp
+$ cmp fmtspcl.ok sys$disk:[]_fmtspcl.tmp
$ if $status then rm _fmtspcl.tmp;
$ endif
$ return
@@ -1452,7 +1514,7 @@ $ hugeval = huge_'floatmode'
$ set noOn
$ gawk -v "HUGEVAL=''hugeval'" -f intformat.awk >_intformat.tmp 2>&1
$ set On
-$ cmp intformat.ok _intformat.tmp
+$ cmp intformat.ok sys$disk:[]_intformat.tmp
$ if $status then rm _intformat.tmp;
$ return
$
@@ -1472,73 +1534,56 @@ $ gawk -f - _beginfile1.tmp >_beginfile1.too
gsub("no-such-file","file"); gsub("Makefile.in","Makefile"); print }
$ rm _beginfile1.tmp;
$ mv _beginfile1.too _beginfile1.tmp
-$ igncascmp beginfile1.ok _beginfile1.tmp
+$ igncascmp beginfile1.ok sys$disk:[]_beginfile1.tmp
$ if $status then rm _beginfile1.tmp;
$ return
$
$dumpvars: echo "dumpvars"
$ gawk --dump-variables 1 <dumpvars.in >_NL: 2>&1
$ mv awkvars.out _dumpvars.tmp
-$ cmp dumpvars.ok _dumpvars.tmp
+$ cmp dumpvars.ok sys$disk:[]_dumpvars.tmp
$ if $status then rm _dumpvars.tmp;
$ return
$
-$profile1: echo "profile1"
-$ ! this profile test is run with gawk rather than pgawk
+$profile1: echo "''test'"
$ ! FIXME: for both gawk invocations which pipe output to SORT,
$ ! two output files get created; the top version has real output
$ ! but there's also an empty lower version.
-$ oldout = f$search("_profile1.tmp1")
-$ gawk --profile -v "sortcmd=SORT sys$intput: sys$output:" -
+$ oldout = f$search("_''test'.tmp1")
+$ gawk --pretty-print -v "sortcmd=SORT sys$intput: sys$output:" -
-f xref.awk dtdgport.awk > _'test'.tmp1
-$ badout = f$search("_profile1.tmp1;-1")
+$ badout = f$search("_''test'.tmp1;-1")
$ if badout.nes."" .and. badout.nes.oldout then rm 'badout'
-$ oldout = f$search("_profile1.tmp2")
+$ oldout = f$search("_''test'.tmp2")
$ gawk -v "sortcmd=SORT sys$intput: sys$output:" -
-f awkprof.out dtdgport.awk > _'test'.tmp2
-$ badout = f$search("_profile1.tmp2;-1")
+$ badout = f$search("_''test'.tmp2;-1")
$ if badout.nes."" .and. badout.nes.oldout then rm 'badout'
-$ cmp _profile1.tmp1 _profile1.tmp2
-$ if $status then rm _profile1.tmp%;,awkprof.out;
-$ return
-$
-$ ! pgawk tests; building pgawk is optional so have to check whether it's here
-$profile2:
-$profile3:
-$ if pgawkok.lt.0
-$ then f = f$parse(pgawk,".exe;")
-$ ! expect first parse to fail due to leading dollar sign
-$ if f.eqs."" then f = f$parse(f$extract(1,999,pgawk),".exe;")
-$ if f.nes."" then f = f$search(f)
-$ pgawkok = (f.nes."").and.1 ! set to 1 or 0
-$ if .not.pgawkok then -
- echo "Can't find pgawk.exe so can't run profiling tests."
-$ endif
-$ if pgawkok then goto do__'test'
-$ echo "''test' skipped"
+$ cmp _'test'.tmp1 sys$disk:[]_'test'.tmp2
+$ if $status then rm _'test'.tmp%;,awkprof.out;
$ return
$
-$do__profile2: echo "profile2"
-$ pgawk -v "sortcmd=SORT sys$input: sys$output:" -
+$profile2: echo "''test'"
+$ gawk --profile -v "sortcmd=SORT sys$input: sys$output:" -
-f xref.awk dtdgport.awk > _NL:
$ ! sed <awkprof.out 1,2d >_profile2.tmp
-$ sumslp awkprof.out /update=sys$input: /output=_profile2.tmp
+$ sumslp awkprof.out /update=sys$input: /output=_'test'.tmp
-1,2
/
$ rm awkprof.out;
-$ cmp profile2.ok _profile2.tmp
-$ if $status then rm _profile2.tmp;*
+$ cmp 'test'.ok sys$disk:[]_'test'.tmp
+$ if $status then rm _'test'.tmp;*
$ return
$
-$do__profile3: echo "profile3"
-$ pgawk -f profile3.awk > _NL:
+$profile3: echo "''test'"
+$ gawk --profile -f 'test'.awk > _NL:
$ ! sed <awkprof.out 1,2d >_profile3.tmp
-$ sumslp awkprof.out /update=sys$input: /output=_profile3.tmp
+$ sumslp awkprof.out /update=sys$input: /output=_'test'.tmp
-1,2
/
$ rm awkprof.out;
-$ cmp profile3.ok _profile3.tmp
-$ if $status then rm _profile3.tmp;*
+$ cmp 'test'.ok sys$disk:[]_'test'.tmp
+$ if $status then rm _'test'.tmp;*
$ return
$
$next: echo "next"
@@ -1550,7 +1595,7 @@ $ gawk "function f() {next}; {f()}; END{f()}" _NL: >>_next.tmp 2>&1
$ gawk "function f() {next}; BEGINFILE{f()}" _NL: >>_next.tmp 2>&1
$ gawk "function f() {next}; {f()}; ENDFILE{f()}" _NL: >>_next.tmp 2>&1
$ set On
-$ cmp next.ok _next.tmp
+$ cmp next.ok sys$disk:[]_next.tmp
$ if $status then rm _next.tmp;
$ return
$
@@ -1566,7 +1611,7 @@ $ endif
$ set noOn
$ call/Output=_exit.tmp do__exit
$ set On
-$ cmp exit.ok _exit.tmp
+$ cmp exit.ok sys$disk:[]_exit.tmp
$ if $status then rm _exit.tmp;
$ return
$
@@ -1616,7 +1661,7 @@ $ then create vms_cmd.ok
World!
$ endif
$ gawk /Commands="BEGIN { print ""World!"" }" _NL: /Output=_vms_cmd.tmp
-$ cmp vms_cmd.ok _vms_cmd.tmp
+$ cmp vms_cmd.ok sys$disk:[]_vms_cmd.tmp
$ if $status then rm _vms_cmd.tmp;
$ return
$
@@ -1629,7 +1674,7 @@ $ ! define/User dbg$input sys$command:
$ gawk -f - >_vms_io1.tmp
# prior to 3.0.4, gawk crashed doing any redirection after closing stdin
BEGIN { print "Hello" >"/dev/stdout" }
-$ cmp vms_io1.ok _vms_io1.tmp
+$ cmp vms_io1.ok sys$disk:[]_vms_io1.tmp
$ if $status then rm _vms_io1.tmp;
$ return
$
@@ -1655,9 +1700,9 @@ $ set noOn
$ ! define/User dbg$input sys$command:
$ gawk -- "BEGIN { print ""xyzzy"" >""_vms_io2.vfc"" }" >_vms_io2.tmp 2>&1
$ set On
-$ cmp _NL: _vms_io2.tmp
+$ cmp _NL: sys$disk:[]_vms_io2.tmp
$ if $status then rm _vms_io2.tmp;
-$ cmp vms_io2.ok _vms_io2.vfc
+$ cmp vms_io2.ok sys$disk:[]_vms_io2.vfc
$ if $status then rm _vms_io2.vfc;*
$ return
$