summaryrefslogtreecommitdiff
path: root/perly.c.diff
diff options
context:
space:
mode:
authorPerl 5 Porters <perl5-porters@africa.nicoh.com>1996-11-26 20:48:00 +1200
committerChip Salzenberg <chip@atlantic.net>1996-11-26 20:48:00 +1200
commitbbce6d69784bf43b0e69e8d312042d65f258af23 (patch)
treeeb5810e67656c19b6fb34dd0160c9131f24f65d1 /perly.c.diff
parent6d82b38436d2a39ffb7413e68ad91495cd645fff (diff)
downloadperl-bbce6d69784bf43b0e69e8d312042d65f258af23.tar.gz
[inseparable changes from patch from perl5.003_08 to perl5.003_09]
CORE LANGUAGE CHANGES Subject: Lexical locales From: Chip Salzenberg <chip@atlantic.net> Files: too many to list make effectiveness of locales depend on C<use locale> Subject: Lexical scoping cleanup From: Chip Salzenberg <chip@atlantic.net> Files: many... but mostly perly.y and toke.c tighten scoping of lexical variables, somewhat on the new constructs and somewhat on the old Subject: memory corruption / security bug in sysread,syswrite + patch Date: Mon, 25 Nov 1996 21:46:31 +0200 (EET) From: Jarkko Hietaniemi <jhi@cc.hut.fi> Files: MANIFEST pod/perldiag.pod pod/perlfunc.pod pp_sys.c t/op/sysio.t Msg-ID: <199611251946.VAA30459@alpha.hut.fi> (applied based on p5p patch as commit d7090df90a9cb89c83787d916e40d92a616b146d) DOCUMENTATION Subject: perldiag documentation patch. Date: Wed, 20 Nov 96 16:07:28 GMT From: Paul Marquess <pmarquess@bfsec.bt.co.uk> Files: pod/perldiag.pod private-msgid: <9611201607.AA12729@claudius.bfsec.bt.co.uk> Subject: a missing perldiag entry Date: Thu, 21 Nov 1996 15:24:02 -0500 From: Gurusamy Sarathy <gsar@engin.umich.edu> Files: pod/perldiag.pod private-msgid: <199611212024.PAA15758@aatma.engin.umich.edu> Subject: perlfunc patch Date: Wed, 20 Nov 96 14:04:08 GMT From: Paul Marquess <pmarquess@bfsec.bt.co.uk> Files: pod/perlfunc.pod Following on from the patch to make uc, lc etc default to $_ (as per Camel II), here is a followup patch to perlfunc that documents the change. I think I have documented all the other cases where $_ defaulting works as well. p5p-msgid: <9611201404.AA12477@claudius.bfsec.bt.co.uk> OTHER CORE CHANGES Subject: Properly prototype safe{malloc,calloc,realloc,free}. From: Chip Salzenberg <chip@atlantic.net> Files: proto.h Subject: UnixWare 2.1 fix for perl5.003_08 - cope with fp->_cnt < -1, allow debugging Date: Wed, 20 Nov 1996 14:27:06 +0100 From: John Hughes <john@AtlanTech.COM> Files: sv.c UnixWare 2.1 has no fp->_base so most of the debugging stuff in sv_gets just core dumps. Also, for some unknown reason fp->_cnt is sometimes < -1, screwing up the initial SvGROW in svgets. Appart from that its io is std. p5p-msgid: <01BBD6EE.E915C860@malvinas.AtlanTech.COM> Subject: die -> croak Date: Thu, 21 Nov 1996 16:11:21 -0500 From: Gurusamy Sarathy <gsar@engin.umich.edu> Files: pp_ctl.c private-msgid: <199611212111.QAA17070@aatma.engin.umich.edu> Subject: Cleanup of {,un}pack('w'). From: Chip Salzenberg <chip@atlantic.net> Files: pp.c Subject: Cleanups from Ilya. From: Chip Salzenberg <chip@atlantic.net> Files: gv.c malloc.c pod/perlguts.pod pp_ctl.c Subject: Fix for unpack('w') on 64-bit systems. From: Chip Salzenberg <chip@atlantic.net> Files: pp.c Subject: Re: LC_NUMERIC support is ready + performance Date: Mon, 25 Nov 1996 22:08:27 -0500 (EST) From: Ilya Zakharevich <ilya@math.ohio-state.edu> Files: sv.c Chip Salzenberg writes: > > Having thought about the use of our own gcvt() and atof(), I've run > away in horror. It's just too hairy. > > So I've implemented the only viable alternative I know of: Toggling > LC_NUMERIC to/from "C" as needed. > > Patch follows. > > I think _09 is *very* close. Since _09 is going to be alpha anyway, I reiterate my question: Is there any reason to not include my hash/array performance patches in _09? Btw, here is the next performance patch. It makes PADTMP values stealable too. I do not do by setting TEMP flags on them, since it would be a very distributed patch, and it would break some places which check for TEMP for some other reasons (yes, I checked ;-). This patch decreases *twice* the memory usage of perl -e '$a = "a" x 1e6; 1' Enjoy, p5p-msgid: <199611260308.WAA02677@monk.mps.ohio-state.edu> Subject: Hash key sharing improvements from Ilya. From: Chip Salzenberg <chip@atlantic.net> Files: hv.c hv.h proto.h Subject: Mortal stack pre-allocation from Ilya. From: Chip Salzenberg <chip@atlantic.net> Files: pp.c pp.h pp_ctl.c pp_hot.c pp_sys.c PORTABILITY Subject: VMS patches post-5.003_08 Date: Fri, 22 Nov 1996 18:16:31 -0500 (EST) From: Charles Bailey <bailey@hmivax.humgen.upenn.edu> Files: lib/ExtUtils/MM_Unix.pm lib/ExtUtils/MM_VMS.pm lib/ExtUtils/MakeMaker.pm lib/File/Path.pm mg.c pp_ctl.c utils/h2xs.PL vms/config.vms vms/descrip.mms vms/gen_shrfls.pl vms/genconfig.pl vms/perlvms.pod vms/vms.c vms/vmsish.h Here're diffs to bring a base 5.003_08 up to the current VMS working sources. Nearly all of the changes are VMS-specific, and comprise miscellaneous bugfixes accumulated since 5.003_07, rather than any particular problem with 5.003_08. I'm posting them here since some of the patches change core files, and I'd like to insure that I haven't accidentally created problems for anyone else. With these and a couple of of the small patches already send to p5p, 5.003_08 builds clean and passes all tests under VMS. Thanks, Chip, for all the work. p5p-msgid: <1996Nov22.181631.1603238@hmivax.humgen.upenn.edu>
Diffstat (limited to 'perly.c.diff')
-rw-r--r--perly.c.diff138
1 files changed, 39 insertions, 99 deletions
diff --git a/perly.c.diff b/perly.c.diff
index cc55c40ba9..3f4ab02357 100644
--- a/perly.c.diff
+++ b/perly.c.diff
@@ -1,7 +1,6 @@
Index: perly.c
***************
-*** 12,83 ****
- deprecate("\"do\" to call subroutines");
+*** 13,82 ****
}
- #line 29 "perly.y"
@@ -72,11 +71,9 @@ Index: perly.c
- #define ARROW 314
#define YYERRCODE 256
short yylhs[] = { -1,
- 40, 0, 7, 5, 8, 9, 6, 10, 10, 10,
---- 12,17 ----
+--- 13,16 ----
***************
-*** 1316,1342 ****
- int yynerrs;
+*** 1357,1367 ****
int yyerrflag;
int yychar;
- short *yyssp;
@@ -86,33 +83,12 @@ Index: perly.c
- short yyss[YYSTACKSIZE];
- YYSTYPE yyvs[YYSTACKSIZE];
- #define yystacksize YYSTACKSIZE
- #line 631 "perly.y"
+ #line 616 "perly.y"
/* PROGRAM */
- #line 1329 "y.tab.c"
- #define YYABORT goto yyabort
- #define YYACCEPT goto yyaccept
- #define YYERROR goto yyerrlab
- int
- yyparse()
- {
- register int yym, yyn, yystate;
- #if YYDEBUG
- register char *yys;
- extern char *getenv();
-
- if (yys = getenv("YYDEBUG"))
- {
- yyn = *yys;
---- 1250,1316 ----
- int yynerrs;
- int yyerrflag;
- int yychar;
- YYSTYPE yyval;
- YYSTYPE yylval;
- #line 631 "perly.y"
- /* PROGRAM */
- #line 1329 "y.tab.c"
- #define YYABORT goto yyabort
+--- 1291,1296 ----
+***************
+*** 1370,1381 ****
+--- 1299,1355 ----
#define YYACCEPT goto yyaccept
#define YYERROR goto yyerrlab
+
@@ -170,11 +146,9 @@ Index: perly.c
+ #if YYDEBUG
if (yys = getenv("YYDEBUG"))
{
- yyn = *yys;
***************
-*** 1349,1354 ****
---- 1323,1336 ----
- yyerrflag = 0;
+*** 1390,1393 ****
+--- 1364,1375 ----
yychar = (-1);
+ /*
@@ -187,27 +161,21 @@ Index: perly.c
+
yyssp = yyss;
yyvsp = yyvs;
- *yyssp = yystate = 0;
***************
-*** 1364,1370 ****
- yys = 0;
+*** 1405,1409 ****
if (yychar <= YYMAXTOKEN) yys = yyname[yychar];
if (!yys) yys = "illegal-symbol";
! printf("yydebug: state %d, reading %d (%s)\n", yystate,
yychar, yys);
}
- #endif
---- 1346,1352 ----
- yys = 0;
+--- 1387,1391 ----
if (yychar <= YYMAXTOKEN) yys = yyname[yychar];
if (!yys) yys = "illegal-symbol";
! fprintf(stderr, "yydebug: state %d, reading %d (%s)\n", yystate,
yychar, yys);
}
- #endif
***************
-*** 1374,1385 ****
- {
+*** 1415,1424 ****
#if YYDEBUG
if (yydebug)
! printf("yydebug: state %d, shifting to state %d\n",
@@ -218,9 +186,7 @@ Index: perly.c
! goto yyoverflow;
}
*++yyssp = yystate = yytable[yyn];
- *++yyvsp = yylval;
---- 1356,1381 ----
- {
+--- 1397,1420 ----
#if YYDEBUG
if (yydebug)
! fprintf(stderr, "yydebug: state %d, shifting to state %d\n",
@@ -245,10 +211,8 @@ Index: perly.c
! yyvsp = yyvs + yypv_index;
}
*++yyssp = yystate = yytable[yyn];
- *++yyvsp = yylval;
***************
-*** 1415,1426 ****
- {
+*** 1456,1465 ****
#if YYDEBUG
if (yydebug)
! printf("yydebug: state %d, error recovery shifting\
@@ -259,9 +223,7 @@ Index: perly.c
! goto yyoverflow;
}
*++yyssp = yystate = yytable[yyn];
- *++yyvsp = yylval;
---- 1411,1437 ----
- {
+--- 1452,1476 ----
#if YYDEBUG
if (yydebug)
! fprintf(stderr,
@@ -287,19 +249,15 @@ Index: perly.c
! yyvsp = yyvs + yypv_index;
}
*++yyssp = yystate = yytable[yyn];
- *++yyvsp = yylval;
***************
-*** 1430,1437 ****
- {
+*** 1471,1476 ****
#if YYDEBUG
if (yydebug)
! printf("yydebug: error recovery discarding state %d\n",
! *yyssp);
#endif
if (yyssp <= yyss) goto yyabort;
- --yyssp;
---- 1441,1449 ----
- {
+--- 1482,1488 ----
#if YYDEBUG
if (yydebug)
! fprintf(stderr,
@@ -307,19 +265,15 @@ Index: perly.c
! *yyssp);
#endif
if (yyssp <= yyss) goto yyabort;
- --yyssp;
***************
-*** 1448,1455 ****
- yys = 0;
+*** 1489,1494 ****
if (yychar <= YYMAXTOKEN) yys = yyname[yychar];
if (!yys) yys = "illegal-symbol";
! printf("yydebug: state %d, error recovery discards token %d (%s)\n",
! yystate, yychar, yys);
}
#endif
- yychar = (-1);
---- 1460,1468 ----
- yys = 0;
+--- 1501,1507 ----
if (yychar <= YYMAXTOKEN) yys = yyname[yychar];
if (!yys) yys = "illegal-symbol";
! fprintf(stderr,
@@ -327,36 +281,28 @@ Index: perly.c
! yystate, yychar, yys);
}
#endif
- yychar = (-1);
***************
-*** 1458,1464 ****
- yyreduce:
+*** 1499,1503 ****
#if YYDEBUG
if (yydebug)
! printf("yydebug: state %d, reducing by rule %d (%s)\n",
yystate, yyn, yyrule[yyn]);
#endif
- yym = yylen[yyn];
---- 1471,1477 ----
- yyreduce:
+--- 1512,1516 ----
#if YYDEBUG
if (yydebug)
! fprintf(stderr, "yydebug: state %d, reducing by rule %d (%s)\n",
yystate, yyn, yyrule[yyn]);
#endif
- yym = yylen[yyn];
***************
-*** 2246,2253 ****
- {
+*** 2268,2273 ****
#if YYDEBUG
if (yydebug)
! printf("yydebug: after reduction, shifting from state 0 to\
! state %d\n", YYFINAL);
#endif
yystate = YYFINAL;
- *++yyssp = YYFINAL;
---- 2259,2267 ----
- {
+--- 2281,2287 ----
#if YYDEBUG
if (yydebug)
! fprintf(stderr,
@@ -364,27 +310,21 @@ Index: perly.c
! YYFINAL);
#endif
yystate = YYFINAL;
- *++yyssp = YYFINAL;
***************
-*** 2261,2267 ****
- yys = 0;
+*** 2283,2287 ****
if (yychar <= YYMAXTOKEN) yys = yyname[yychar];
if (!yys) yys = "illegal-symbol";
! printf("yydebug: state %d, reading %d (%s)\n",
YYFINAL, yychar, yys);
}
- #endif
---- 2275,2281 ----
- yys = 0;
+--- 2297,2301 ----
if (yychar <= YYMAXTOKEN) yys = yyname[yychar];
if (!yys) yys = "illegal-symbol";
! fprintf(stderr, "yydebug: state %d, reading %d (%s)\n",
YYFINAL, yychar, yys);
}
- #endif
***************
-*** 2276,2295 ****
- yystate = yydgoto[yym];
+*** 2298,2307 ****
#if YYDEBUG
if (yydebug)
! printf("yydebug: after reduction, shifting from state %d \
@@ -395,17 +335,7 @@ Index: perly.c
! goto yyoverflow;
}
*++yyssp = yystate;
- *++yyvsp = yyval;
- goto yyloop;
- yyoverflow:
-! yyerror("yacc stack overflow");
- yyabort:
-! return (1);
- yyaccept:
-! return (0);
- }
---- 2290,2324 ----
- yystate = yydgoto[yym];
+--- 2312,2336 ----
#if YYDEBUG
if (yydebug)
! fprintf(stderr,
@@ -431,7 +361,17 @@ Index: perly.c
! yyvsp = yyvs + yypv_index;
}
*++yyssp = yystate;
- *++yyvsp = yyval;
+***************
+*** 2309,2316 ****
+ goto yyloop;
+ yyoverflow:
+! yyerror("yacc stack overflow");
+ yyabort:
+! return (1);
+ yyaccept:
+! return (0);
+ }
+--- 2338,2345 ----
goto yyloop;
yyoverflow:
! yyerror("Out of memory for yacc stack");