summaryrefslogtreecommitdiff
path: root/perly.c
diff options
context:
space:
mode:
authorLarry Wall <lwall@jpl-devvax.jpl.nasa.gov>1990-08-13 09:45:26 +0000
committerLarry Wall <lwall@jpl-devvax.jpl.nasa.gov>1990-08-13 09:45:26 +0000
commit6eb13c3b624098fc688ac86672bc30e26cbf8fd4 (patch)
tree13f2a8c28c0c79a68f94d0a2c6d852b0ad86f1b9 /perly.c
parent62b28dd9eb2541847d5ce270cb7493fed626d1ef (diff)
downloadperl-6eb13c3b624098fc688ac86672bc30e26cbf8fd4.tar.gz
perl 3.0 patch #28 (combined patch)
Certain systems, notable Ultrix, set the close-on-exec flag by default on dup'ed file descriptors. This is anti-social when you're creating a new STDOUT. The flag is now forced off for STDIN, STDOUT and STDERR. Some yaccs report 29 shift/reduce conflicts and 59 reduce/reduce conflicts, while other yaccs and bison report 27 and 61. The Makefile now says to expect either thing. I'm not sure if there's a bug lurking there somewhere. The defined(@array) and defined(%array) ended up defining the arrays they were trying to determine the status of. Oops. Using the status of NSIG to determine whether <signal.h> had been included didn't work right on Xenix. A fix seems to be beyond Configure at the moment, so we've got some OS dependent #ifdefs in there. There were some syntax errors in the new code to determine whether it is safe to emulate rename() with unlink/link/unlink. Obviously heavily tested code... :-) Patch 27 introduced the possibility of using identifiers as unquoted strings, but the code to warn against the use of totally lowercase identifiers looped infinitely. I documented that you can't interpolate $) or $| in pattern. It was actually implied under s///, but it should have been more explicit. Patterns with {m} rather than {m,n} didn't work right. Tests io.fs and op.stat had difficulties under AFS. They now ignore the tests in question if they think they're running under /afs. The shift/reduce expectation message was off for a2p's Makefile.
Diffstat (limited to 'perly.c')
-rw-r--r--perly.c9
1 files changed, 7 insertions, 2 deletions
diff --git a/perly.c b/perly.c
index b5c1465592..33b4a32cee 100644
--- a/perly.c
+++ b/perly.c
@@ -1,4 +1,4 @@
-char rcsid[] = "$Header: perly.c,v 3.0.1.6 90/08/09 04:55:50 lwall Locked $\nPatch level: ###\n";
+char rcsid[] = "$Header: perly.c,v 3.0.1.7 90/08/13 22:22:22 lwall Locked $\nPatch level: ###\n";
/*
* Copyright (c) 1989, Larry Wall
*
@@ -6,6 +6,9 @@ char rcsid[] = "$Header: perly.c,v 3.0.1.6 90/08/09 04:55:50 lwall Locked $\nPat
* as specified in the README file that comes with the perl 3.0 kit.
*
* $Log: perly.c,v $
+ * Revision 3.0.1.7 90/08/13 22:22:22 lwall
+ * patch28: defined(@array) and defined(%array) didn't work right
+ *
* Revision 3.0.1.6 90/08/09 04:55:50 lwall
* patch19: added -x switch to extract script from input trash
* patch19: Added -c switch to do compilation only
@@ -571,6 +574,8 @@ FIX YOUR KERNEL, PUT A C WRAPPER AROUND THIS SCRIPT, OR USE -u AND UNDUMP!\n");
savestack = anew(Nullstab); /* for saving non-local values */
stack = anew(Nullstab); /* for saving non-local values */
stack->ary_flags = 0; /* not a real array */
+ afill(stack,63); afill(stack,-1); /* preextend stack */
+ afill(savestack,63); afill(savestack,-1);
/* now parse the script */
@@ -845,7 +850,7 @@ int *arglast;
if (instr(tokenbuf,".h "))
strcat(tokenbuf," (change .h to .ph maybe?)");
if (instr(tokenbuf,".ph "))
- strcat(tokenbuf," (did you run makelib?)");
+ strcat(tokenbuf," (did you run h2ph?)");
fatal("%s",tokenbuf);
}
if (gimme != G_ARRAY)