This keeps Rafael's warning for EBCDIC but reverses the other parts of his
patch. After applying, perly.c will need to be regenerated and
vms/vms_yfix.pl will need to be run. taint.t #73 does test ok now.
--- perl.c;-0 Mon Mar 25 09:17:50 2002
+++ perl.c Mon Mar 25 12:46:51 2002
@@ -2288,7 +2288,7 @@
PL_debug = atoi(s+1);
for (s++; isDIGIT(*s); s++) ;
}
-#if defined(EBCDIC) || defined(VMS)
+#ifdef EBCDIC
if (DEBUG_p_TEST_ && ckWARN_d(WARN_DEBUGGING))
Perl_warner(aTHX_ packWARN(WARN_DEBUGGING),
"-Dp not implemented on this platform\n");
--- perly.y;-0 Mon Mar 25 09:17:50 2002
+++ perly.y Mon Mar 25 12:46:50 2002
@@ -16,7 +16,7 @@
#include "EXTERN.h"
#define PERL_IN_PERLY_C
#include "perl.h"
-#if defined(EBCDIC) || defined(VMS)
+#ifdef EBCDIC
#undef YYDEBUG
#endif
#define dep() deprecate("\"do\" to call subroutines")
--- vms/vms_yfix.pl;-0 Wed Mar 20 15:11:22 2002
+++ vms/vms_yfix.pl Mon Mar 25 12:47:32 2002
@@ -28,9 +28,12 @@
$_ = "# ifndef getenv\n$_# endif\n";
}
elsif ( /getenv\("YYDEBUG"\)/ ) {
+ $_ = " {\n register int saved_errno = errno;\n"
+ . "#ifdef VMS\n register int saved_vaxc_errno = vaxc\$errno;\n"
+ . "#else\n register int saved_vaxc_errno = 0;\n#endif\n" . $_;
# Reset the "error" status if an optional lookup fails
while (not /^\s+\}/) { print COUT; $_ = <C>; }
- $_ .= "\telse SETERRNO(0,SS\$_NORMAL);\n";
+ $_ .= " else SETERRNO(saved_errno,saved_vaxc_errno);\n }\n";
}
else {
# add the dEXT tag to definitions of global vars, so we'll insert
[end of patch]
_______________________________________________
Craig A. Berry
mailto:[EMAIL PROTECTED]