summaryrefslogtreecommitdiff
path: root/perly.c.diff
diff options
context:
space:
mode:
authorPerl 5 Porters <perl5-porters@africa.nicoh.com>1996-11-19 14:16:00 +1200
committerChip Salzenberg <chip@atlantic.net>1996-11-19 14:16:00 +1200
commit55497cffdd24c959994f9a8ddd56db8ce85e1c5b (patch)
tree444dfb8adc0e5b96d56e0532791122c366f50a3e /perly.c.diff
parentc822f08a5087943f7d9e2c36ce42ea035f03ab97 (diff)
downloadperl-55497cffdd24c959994f9a8ddd56db8ce85e1c5b.tar.gz
[inseparable changes from patch from perl5.003_07 to perl5.003_08]
CORE LANGUAGE CHANGES Subject: Bitwise op sign rationalization From: Chip Salzenberg <chip@atlantic.net> Files: op.c opcode.pl pod/perlop.pod pod/perltoc.pod pp.c pp.h pp_hot.c proto.h sv.c t/op/bop.t Make bitwise ops result in unsigned values, unless C<use integer> is in effect. Includes initial support for UVs. Subject: Defined scoping for C<my> in control structures From: Chip Salzenberg <chip@atlantic.net> Files: op.c perly.c perly.c.diff perly.h perly.y proto.h toke.c Finally defines semantics of "my" in control expressions, like the condition of "if" and "while". In all cases, scope of a "my" var extends to the end of the entire control structure. Also adds new construct "for my", which automatically declares the control variable "my" and limits its scope to the loop. Subject: Fix ++/-- after int conversion (e.g. 'printf "%d"') From: Chip Salzenberg <chip@atlantic.net> Files: pp.c pp_hot.c sv.c This patch makes Perl correctly ignore SvIVX() if either NOK or POK is true, since SvIVX() may be a truncated or overflowed version of the real value. Subject: Make code match Camel II re: functions that use $_ From: Paul Marquess <pmarquess@bfsec.bt.co.uk> Files: opcode.pl Subject: Provide scalar context on left side of "->" From: Chip Salzenberg <chip@atlantic.net> Files: perly.c perly.y Subject: Quote bearword package/handle FOO in "funcname FOO => 'bar'" From: Chip Salzenberg <chip@atlantic.net> Files: toke.c OTHER CORE CHANGES Subject: Warn on overflow of octal and hex integers From: Chip Salzenberg <chip@atlantic.net> Files: proto.h toke.c util.c Subject: If -w active, warn for commas and hashes ('#') in qw() From: Chip Salzenberg <chip@atlantic.net> Files: toke.c Subject: Fixes for pack('w') From: Ulrich Pfeifer <pfeifer@charly.informatik.uni-dortmund.de> Files: pp.c t/op/pack.t Subject: More complete output from sv_dump() From: Gurusamy Sarathy <gsar@engin.umich.edu> Files: sv.c Subject: Major '..' and debugger patches From: Ilya Zakharevich <ilya@math.ohio-state.edu> Files: lib/perl5db.pl op.c pp_ctl.c scope.c scope.h Subject: Fix for formline() From: Gurusamy Sarathy <gsar@engin.umich.edu> Files: global.sym mg.c perl.h pod/perldiag.pod pp_ctl.c proto.h sv.c t/op/write.t Subject: Fix stack botch in untie and binmode From: Gurusamy Sarathy <gsar@engin.umich.edu> Files: pp_sys.c Subject: Complete EMBED, including symbols from interp.sym From: Chip Salzenberg <chip@atlantic.net> Files: MANIFEST embed.pl ext/DynaLoader/dlutils.c ext/SDBM_File/sdbm/sdbm.h global.sym handy.h malloc.c perl.h pp_sys.c proto.h regexec.c toke.c util.c x2p/Makefile.SH x2p/a2p.h x2p/handy.h x2p/util.h New define EMBEDMYMALLOC makes embedding total by avoiding "Mymalloc" etc. Subject: Support old embedding for people who want it From: Chip Salzenberg <chip@atlantic.net> Files: MANIFEST Makefile.SH old_embed.pl old_global.sym PORTABILITY Subject: Miscellaneous VMS fixes From: Charles Bailey <bailey@HMIVAX.HUMGEN.UPENN.EDU> Files: lib/ExtUtils/Liblist.pm lib/ExtUtils/MM_VMS.pm lib/Math/Complex.pm lib/Time/Local.pm lib/timelocal.pl perl.h perl_exp.SH proto.h t/TEST t/io/read.t t/lib/findbin.t t/lib/getopt.t util.c utils/h2xs.PL vms/Makefile vms/config.vms vms/descrip.mms vms/ext/Stdio/Stdio.pm vms/ext/Stdio/Stdio.xs vms/perlvms.pod vms/test.com vms/vms.c Subject: DJGPP patches (MS-DOS) From: "Douglas E. Wegscheid" <wegscd@whirlpool.com> Files: doio.c dosish.h ext/SDBM_File/sdbm/sdbm.c handy.h lib/AutoSplit.pm lib/Cwd.pm lib/File/Find.pm malloc.c perl.c perl.h pp_sys.c proto.h sv.c util.c Subject: Patch to make Perl work under AmigaOS From: "Norbert Pueschel" <pueschel@imsdd.meb.uni-bonn.de> Files: MANIFEST hints/amigaos.sh installman lib/File/Basename.pm lib/File/Find.pm pod/pod2man.PL pp_sys.c util.c
Diffstat (limited to 'perly.c.diff')
-rw-r--r--perly.c.diff131
1 files changed, 75 insertions, 56 deletions
diff --git a/perly.c.diff b/perly.c.diff
index f31072a25f..cc55c40ba9 100644
--- a/perly.c.diff
+++ b/perly.c.diff
@@ -1,7 +1,6 @@
-*** perly.c.orig Sun Jul 7 23:27:45 1996
---- perly.c Sun Jul 7 23:27:46 1996
+Index: perly.c
***************
-*** 12,82 ****
+*** 12,83 ****
deprecate("\"do\" to call subroutines");
}
@@ -47,35 +46,36 @@
- #define ADDOP 288
- #define DOLSHARP 289
- #define DO 290
-- #define LOCAL 291
-- #define HASHBRACK 292
-- #define NOAMP 293
-- #define OROP 294
-- #define ANDOP 295
-- #define NOTOP 296
-- #define LSTOP 297
-- #define ASSIGNOP 298
-- #define OROR 299
-- #define ANDAND 300
-- #define BITOROP 301
-- #define BITANDOP 302
-- #define UNIOP 303
-- #define SHIFTOP 304
-- #define MATCHOP 305
-- #define UMINUS 306
-- #define REFGEN 307
-- #define POWOP 308
-- #define PREINC 309
-- #define PREDEC 310
-- #define POSTINC 311
-- #define POSTDEC 312
-- #define ARROW 313
+- #define HASHBRACK 291
+- #define NOAMP 292
+- #define LOCAL 293
+- #define MY 294
+- #define OROP 295
+- #define ANDOP 296
+- #define NOTOP 297
+- #define LSTOP 298
+- #define ASSIGNOP 299
+- #define OROR 300
+- #define ANDAND 301
+- #define BITOROP 302
+- #define BITANDOP 303
+- #define UNIOP 304
+- #define SHIFTOP 305
+- #define MATCHOP 306
+- #define UMINUS 307
+- #define REFGEN 308
+- #define POWOP 309
+- #define PREINC 310
+- #define PREDEC 311
+- #define POSTINC 312
+- #define POSTDEC 313
+- #define ARROW 314
#define YYERRCODE 256
short yylhs[] = { -1,
- 31, 0, 5, 3, 6, 6, 6, 7, 7, 7,
+ 40, 0, 7, 5, 8, 9, 6, 10, 10, 10,
--- 12,17 ----
***************
-*** 1375,1387 ****
+*** 1316,1342 ****
int yynerrs;
int yyerrflag;
int yychar;
@@ -86,13 +86,32 @@
- short yyss[YYSTACKSIZE];
- YYSTYPE yyvs[YYSTACKSIZE];
- #define yystacksize YYSTACKSIZE
- #line 571 "perly.y"
+ #line 631 "perly.y"
/* PROGRAM */
- #line 1388 "y.tab.c"
---- 1310,1317 ----
-***************
-*** 1388,1401 ****
---- 1318,1376 ----
+ #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
#define YYACCEPT goto yyaccept
#define YYERROR goto yyerrlab
@@ -138,7 +157,7 @@
register char *yys;
extern char *getenv();
+ #endif
-
++
+ struct ysv *ysave = (struct ysv*)safemalloc(sizeof(struct ysv));
+ SAVEDESTRUCTOR(yydestruct, ysave);
+ ysave->oldyydebug = yydebug;
@@ -147,14 +166,14 @@
+ ysave->oldyychar = yychar;
+ ysave->oldyyval = yyval;
+ ysave->oldyylval = yylval;
-+
+
+ #if YYDEBUG
if (yys = getenv("YYDEBUG"))
{
yyn = *yys;
***************
-*** 1408,1413 ****
---- 1383,1396 ----
+*** 1349,1354 ****
+--- 1323,1336 ----
yyerrflag = 0;
yychar = (-1);
@@ -170,7 +189,7 @@
yyvsp = yyvs;
*yyssp = yystate = 0;
***************
-*** 1423,1429 ****
+*** 1364,1370 ****
yys = 0;
if (yychar <= YYMAXTOKEN) yys = yyname[yychar];
if (!yys) yys = "illegal-symbol";
@@ -178,7 +197,7 @@
yychar, yys);
}
#endif
---- 1406,1412 ----
+--- 1346,1352 ----
yys = 0;
if (yychar <= YYMAXTOKEN) yys = yyname[yychar];
if (!yys) yys = "illegal-symbol";
@@ -187,7 +206,7 @@
}
#endif
***************
-*** 1433,1444 ****
+*** 1374,1385 ****
{
#if YYDEBUG
if (yydebug)
@@ -200,7 +219,7 @@
}
*++yyssp = yystate = yytable[yyn];
*++yyvsp = yylval;
---- 1416,1441 ----
+--- 1356,1381 ----
{
#if YYDEBUG
if (yydebug)
@@ -228,7 +247,7 @@
*++yyssp = yystate = yytable[yyn];
*++yyvsp = yylval;
***************
-*** 1474,1485 ****
+*** 1415,1426 ****
{
#if YYDEBUG
if (yydebug)
@@ -241,7 +260,7 @@
}
*++yyssp = yystate = yytable[yyn];
*++yyvsp = yylval;
---- 1471,1497 ----
+--- 1411,1437 ----
{
#if YYDEBUG
if (yydebug)
@@ -270,7 +289,7 @@
*++yyssp = yystate = yytable[yyn];
*++yyvsp = yylval;
***************
-*** 1489,1496 ****
+*** 1430,1437 ****
{
#if YYDEBUG
if (yydebug)
@@ -279,7 +298,7 @@
#endif
if (yyssp <= yyss) goto yyabort;
--yyssp;
---- 1501,1509 ----
+--- 1441,1449 ----
{
#if YYDEBUG
if (yydebug)
@@ -290,7 +309,7 @@
if (yyssp <= yyss) goto yyabort;
--yyssp;
***************
-*** 1507,1514 ****
+*** 1448,1455 ****
yys = 0;
if (yychar <= YYMAXTOKEN) yys = yyname[yychar];
if (!yys) yys = "illegal-symbol";
@@ -299,7 +318,7 @@
}
#endif
yychar = (-1);
---- 1520,1528 ----
+--- 1460,1468 ----
yys = 0;
if (yychar <= YYMAXTOKEN) yys = yyname[yychar];
if (!yys) yys = "illegal-symbol";
@@ -310,7 +329,7 @@
#endif
yychar = (-1);
***************
-*** 1517,1523 ****
+*** 1458,1464 ****
yyreduce:
#if YYDEBUG
if (yydebug)
@@ -318,7 +337,7 @@
yystate, yyn, yyrule[yyn]);
#endif
yym = yylen[yyn];
---- 1531,1537 ----
+--- 1471,1477 ----
yyreduce:
#if YYDEBUG
if (yydebug)
@@ -327,7 +346,7 @@
#endif
yym = yylen[yyn];
***************
-*** 2236,2243 ****
+*** 2246,2253 ****
{
#if YYDEBUG
if (yydebug)
@@ -336,7 +355,7 @@
#endif
yystate = YYFINAL;
*++yyssp = YYFINAL;
---- 2250,2258 ----
+--- 2259,2267 ----
{
#if YYDEBUG
if (yydebug)
@@ -347,7 +366,7 @@
yystate = YYFINAL;
*++yyssp = YYFINAL;
***************
-*** 2251,2257 ****
+*** 2261,2267 ****
yys = 0;
if (yychar <= YYMAXTOKEN) yys = yyname[yychar];
if (!yys) yys = "illegal-symbol";
@@ -355,7 +374,7 @@
YYFINAL, yychar, yys);
}
#endif
---- 2266,2272 ----
+--- 2275,2281 ----
yys = 0;
if (yychar <= YYMAXTOKEN) yys = yyname[yychar];
if (!yys) yys = "illegal-symbol";
@@ -364,7 +383,7 @@
}
#endif
***************
-*** 2266,2285 ****
+*** 2276,2295 ****
yystate = yydgoto[yym];
#if YYDEBUG
if (yydebug)
@@ -385,7 +404,7 @@
yyaccept:
! return (0);
}
---- 2281,2315 ----
+--- 2290,2324 ----
yystate = yydgoto[yym];
#if YYDEBUG
if (yydebug)