summaryrefslogtreecommitdiff
path: root/x2p
diff options
context:
space:
mode:
authorLarry Wall <lwall@jpl-devvax.jpl.nasa.gov>1991-01-11 05:47:59 +0000
committerLarry Wall <lwall@jpl-devvax.jpl.nasa.gov>1991-01-11 05:47:59 +0000
commit7e1cf235bd6c3a4fbf1093f84db8002929b8b6c6 (patch)
treeb40f89bf7894e94dab7bb84fc004eb03bd4b904a /x2p
parent4e8eb4f0f838674cc353c6a5ff3e06ff40cd5ea9 (diff)
downloadperl-7e1cf235bd6c3a4fbf1093f84db8002929b8b6c6.tar.gz
perl 3.0 patch #42 (combined patch)
Most of these patches are pretty self-explanatory. Much of this is random cleanup in preparation for version 4.0, so I won't talk about it here. A couple of things should be noted, however. First, there's a new -0 option that allows you to specify (in octal) the initial value of $/, the record separator. It's primarily intended for use with versions of find that support -print0 to delimit filenames with nulls, but it's more general than that: null ^A default CR paragraph mode file slurp mode This feature is so new that it didn't even make it into the book. The other major item is that different patchlevels of perl can now coexist in your bin directory. The names "perl" and "taintperl" are just links to "perl3.044" and "tperl3.044". This has several benefits. The perl3.044 invokes the corresponding tperl3.044 rather than taintperl, so it always runs the correct version. Second, you can "freeze" a script by putting a #! line referring to a version that it is known to work with. Third, you can put a new version out there to try out before making it the default perl. Lastly, it sells more disk drives. :-) Barring catastrophe, this will likely be the last patch before version 4.0 comes out.
Diffstat (limited to 'x2p')
-rw-r--r--x2p/Makefile.SH6
-rw-r--r--x2p/a2p.y10
2 files changed, 13 insertions, 3 deletions
diff --git a/x2p/Makefile.SH b/x2p/Makefile.SH
index 119a60dae2..4ab3ec9c12 100644
--- a/x2p/Makefile.SH
+++ b/x2p/Makefile.SH
@@ -5,6 +5,7 @@ case $CONFIG in
'')
if test ! -f config.sh; then
ln ../config.sh . || \
+ ln -s ../config.sh . || \
ln ../../config.sh . || \
ln ../../../config.sh . || \
(echo "Can't find config.sh."; exit 1)
@@ -18,9 +19,12 @@ case "$mallocsrc" in
esac
echo "Extracting x2p/Makefile (with variable substitutions)"
cat >Makefile <<!GROK!THIS!
-# $Header: Makefile.SH,v 3.0.1.7 90/11/10 02:20:15 lwall Locked $
+# $Header: Makefile.SH,v 3.0.1.8 91/01/11 18:34:40 lwall Locked $
#
# $Log: Makefile.SH,v $
+# Revision 3.0.1.8 91/01/11 18:34:40 lwall
+# patch42: x2p/Makefile.SH blew up on /afs misfeature
+#
# Revision 3.0.1.7 90/11/10 02:20:15 lwall
# patch38: random cleanup
#
diff --git a/x2p/a2p.y b/x2p/a2p.y
index 13c68b8625..1a1e61e372 100644
--- a/x2p/a2p.y
+++ b/x2p/a2p.y
@@ -1,5 +1,5 @@
%{
-/* $Header: a2p.y,v 3.0.1.2 90/08/09 05:47:26 lwall Locked $
+/* $Header: a2p.y,v 3.0.1.3 91/01/11 18:35:57 lwall Locked $
*
* Copyright (c) 1989, Larry Wall
*
@@ -7,6 +7,10 @@
* as specified in the README file that comes with the perl 3.0 kit.
*
* $Log: a2p.y,v $
+ * Revision 3.0.1.3 91/01/11 18:35:57 lwall
+ * patch42: a2p didn't recognize split with regular expression
+ * patch42: a2p didn't handle > redirection right
+ *
* Revision 3.0.1.2 90/08/09 05:47:26 lwall
* patch19: a2p didn't handle {foo = (bar == 123)}
*
@@ -219,6 +223,8 @@ term : variable
{ $$ = oper2(OSUBSTR,$3,$5); }
| SPLIT '(' expr ',' VAR ',' expr ')'
{ $$ = oper3(OSPLIT,$3,aryrefarg(numary($5)),$7); }
+ | SPLIT '(' expr ',' VAR ',' REGEX ')'
+ { $$ = oper3(OSPLIT,$3,aryrefarg(numary($5)),oper1(OREGEX,$7));}
| SPLIT '(' expr ',' VAR ')'
{ $$ = oper2(OSPLIT,$3,aryrefarg(numary($5))); }
| INDEX '(' expr ',' expr ')'
@@ -371,7 +377,7 @@ simple
;
redir : '>' %prec FIELD
- { $$ = oper1(OREDIR,$1); }
+ { $$ = oper1(OREDIR,string(">",1)); }
| GRGR
{ $$ = oper1(OREDIR,string(">>",2)); }
| '|'