win32 tweaks
[p5sagit/p5-mst-13.2.git] / perly_c.diff
index cfd369b..463df80 100644 (file)
@@ -1,8 +1,92 @@
-*** perly.c.orig       Sun Feb  7 04:48:56 1999
---- perly.c    Sun Feb  7 05:30:49 1999
+*** perly.c.orig       Mon Jul 26 03:27:57 1999
+--- perly.c    Mon Jul 26 02:47:03 1999
 ***************
-*** 7,10 ****
---- 7,25 ----
+*** 8,91 ****
+  #include "perl.h"
+  
+  #define dep() deprecate("\"do\" to call subroutines")
+  
+! #line 27 "perly.y"
+! /* I sense a Big Blue pattern here... */
+! #if !defined(OEMVS) && !defined(__OPEN_VM) && !defined(POSIX_BC)
+! #line 31 "perly.y"
+! typedef union {
+!     I32      ival;
+!     char *pval;
+!     OP *opval;
+!     GV *gvval;
+! } YYSTYPE;
+! #line 39 "perly.y"
+! #endif /* !OEMVS && !__OPEN_VM && !POSIX_BC */
+  
+! #ifdef USE_PURE_BISON
+! #define YYLEX_PARAM (&yychar)
+! #endif
+! #line 29 "y.tab.c"
+! #define WORD 257
+! #define METHOD 258
+! #define FUNCMETH 259
+! #define THING 260
+! #define PMFUNC 261
+! #define PRIVATEREF 262
+! #define FUNC0SUB 263
+! #define UNIOPSUB 264
+! #define LSTOPSUB 265
+! #define LABEL 266
+! #define FORMAT 267
+! #define SUB 268
+! #define ANONSUB 269
+! #define PACKAGE 270
+! #define USE 271
+! #define WHILE 272
+! #define UNTIL 273
+! #define IF 274
+! #define UNLESS 275
+! #define ELSE 276
+! #define ELSIF 277
+! #define CONTINUE 278
+! #define FOR 279
+! #define LOOPEX 280
+! #define DOTDOT 281
+! #define FUNC0 282
+! #define FUNC1 283
+! #define FUNC 284
+! #define UNIOP 285
+! #define LSTOP 286
+! #define RELOP 287
+! #define EQOP 288
+! #define MULOP 289
+! #define ADDOP 290
+! #define DOLSHARP 291
+! #define DO 292
+! #define HASHBRACK 293
+! #define NOAMP 294
+! #define LOCAL 295
+! #define MY 296
+! #define PREC_LOW 297
+! #define OROP 298
+! #define ANDOP 299
+! #define NOTOP 300
+! #define ASSIGNOP 301
+! #define OROR 302
+! #define ANDAND 303
+! #define BITOROP 304
+! #define BITANDOP 305
+! #define SHIFTOP 306
+! #define MATCHOP 307
+! #define UMINUS 308
+! #define REFGEN 309
+! #define POWOP 310
+! #define PREINC 311
+! #define PREDEC 312
+! #define POSTINC 313
+! #define POSTDEC 314
+! #define ARROW 315
+  #define YYERRCODE 256
+! short yylhs[] = {                                        -1,
+     46,    0,    9,    7,   10,    8,   11,   11,   11,   12,
+     12,   12,   12,   25,   25,   25,   25,   25,   25,   25,
+--- 8,25 ----
   #include "perl.h"
   
 + #define yydebug          PL_yydebug
 + #define yyval            PL_yyval
 + #define yylval           PL_yylval
 + 
-+ #ifdef PERL_OBJECT
-+ static void
-+ Dep(CPerlObj *pPerl)
-+ {
-+     pPerl->deprecate("\"do\" to call subroutines");
-+ }
-+ #define dep() Dep(this)
-+ #else
-  static void
-  dep(void)
-***************
-*** 12,93 ****
-      deprecate("\"do\" to call subroutines");
-  }
+  #define dep() deprecate("\"do\" to call subroutines")
   
-  #line 30 "perly.y"
-- /* I sense a Big Blue pattern here... */
-- #if !defined(OEMVS) && !defined(__OPEN_VM) && !defined(POSIX_BC)
-- #line 34 "perly.y"
-- typedef union {
--     I32      ival;
--     char *pval;
--     OP *opval;
--     GV *gvval;
-- } YYSTYPE;
-- #line 42 "perly.y"
-- #endif /* !OEMVS && !__OPEN_VM && !POSIX_BC */
-- 
-- #ifdef USE_PURE_BISON
-- #define YYLEX_PARAM (&yychar)
-- #endif
-- #line 32 "y.tab.c"
-- #define WORD 257
-- #define METHOD 258
-- #define FUNCMETH 259
-- #define THING 260
-- #define PMFUNC 261
-- #define PRIVATEREF 262
-- #define FUNC0SUB 263
-- #define UNIOPSUB 264
-- #define LSTOPSUB 265
-- #define LABEL 266
-- #define FORMAT 267
-- #define SUB 268
-- #define ANONSUB 269
-- #define PACKAGE 270
-- #define USE 271
-- #define WHILE 272
-- #define UNTIL 273
-- #define IF 274
-- #define UNLESS 275
-- #define ELSE 276
-- #define ELSIF 277
-- #define CONTINUE 278
-- #define FOR 279
-- #define LOOPEX 280
-- #define DOTDOT 281
-- #define FUNC0 282
-- #define FUNC1 283
-- #define FUNC 284
-- #define UNIOP 285
-- #define LSTOP 286
-- #define RELOP 287
-- #define EQOP 288
-- #define MULOP 289
-- #define ADDOP 290
-- #define DOLSHARP 291
-- #define DO 292
-- #define HASHBRACK 293
-- #define NOAMP 294
-- #define LOCAL 295
-- #define MY 296
-- #define OROP 297
-- #define ANDOP 298
-- #define NOTOP 299
-- #define ASSIGNOP 300
-- #define OROR 301
-- #define ANDAND 302
-- #define BITOROP 303
-- #define BITANDOP 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,
-     45,    0,    9,    7,   10,    8,   11,   11,   11,   12,
-     12,   12,   12,   24,   24,   24,   24,   24,   24,   24,
---- 27,35 ----
-      deprecate("\"do\" to call subroutines");
-  }
-+ #endif
+! static void yydestruct(pTHXo_ void *ptr);
   
-  #line 30 "perly.y"
+! #line 27 "perly.y"
   #define YYERRCODE 256
 ! static short yylhs[] = {                                 -1,
-     45,    0,    9,    7,   10,    8,   11,   11,   11,   12,
-     12,   12,   12,   24,   24,   24,   24,   24,   24,   24,
+     46,    0,    9,    7,   10,    8,   11,   11,   11,   12,
+     12,   12,   12,   25,   25,   25,   25,   25,   25,   25,
 ***************
-*** 109,113 ****
-     20,   21,   22,   35,   35,   35,   35,
+*** 107,111 ****
+     24,   19,   20,   21,   22,   23,   36,   36,   36,   36,
   };
 ! short yylen[] = {                                         2,
       0,    2,    4,    0,    4,    0,    0,    2,    2,    2,
       1,    2,    3,    1,    1,    3,    3,    3,    3,    3,
---- 51,55 ----
-     20,   21,   22,   35,   35,   35,   35,
+--- 41,45 ----
+     24,   19,   20,   21,   22,   23,   36,   36,   36,   36,
   };
 ! static short yylen[] = {                                  2,
       0,    2,    4,    0,    4,    0,    0,    2,    2,    2,
       1,    2,    3,    1,    1,    3,    3,    3,    3,    3,
 ***************
-*** 129,133 ****
-      2,    2,    2,    1,    1,    1,    1,
+*** 127,131 ****
+      2,    2,    2,    2,    2,    2,    1,    1,    1,    1,
   };
 ! short yydefred[] = {                                      1,
       0,    7,    0,   45,   56,   54,    0,   54,    8,   46,
       9,   11,    0,   47,   48,   49,    0,    0,    0,   63,
---- 71,75 ----
-      2,    2,    2,    1,    1,    1,    1,
+--- 61,65 ----
+      2,    2,    2,    2,    2,    2,    1,    1,    1,    1,
   };
 ! static short yydefred[] = {                               1,
       0,    7,    0,   45,   56,   54,    0,   54,    8,   46,
       9,   11,    0,   47,   48,   49,    0,    0,    0,   63,
 ***************
-*** 168,172 ****
-     33,    0,   23,
+*** 166,170 ****
+      5,    0,   30,    0,    0,   33,    0,   23,
   };
 ! short yydgoto[] = {                                       1,
-      9,   66,   10,   18,   95,   17,   86,  339,   89,  328,
-      3,   11,   12,   68,  344,  263,   70,   71,   72,   73,
---- 110,114 ----
-     33,    0,   23,
+      9,   66,   10,   18,   96,   17,   87,  344,   90,  333,
+      3,   11,   12,   68,  349,  267,   70,   71,   72,   73,
+--- 100,104 ----
+      5,    0,   30,    0,    0,   33,    0,   23,
   };
 ! static short yydgoto[] = {                                1,
-      9,   66,   10,   18,   95,   17,   86,  339,   89,  328,
-      3,   11,   12,   68,  344,  263,   70,   71,   72,   73,
+      9,   66,   10,   18,   96,   17,   87,  344,   90,  333,
+      3,   11,   12,   68,  349,  267,   70,   71,   72,   73,
 ***************
-*** 175,179 ****
-    250,  142,  267,   13,    2,   14,   15,   16,   85,  256,
+*** 174,178 ****
+    260,
   };
 ! short yysindex[] = {                                      0,
-      0,    0,  -66,    0,    0,    0,  -48,    0,    0,    0,
-      0,    0,  645,    0,    0,    0, -232, -227,  -27,    0,
---- 117,121 ----
-    250,  142,  267,   13,    2,   14,   15,   16,   85,  256,
+      0,    0,  142,    0,    0,    0,  -57,    0,    0,    0,
+      0,    0,  622,    0,    0,    0, -239, -229,  -10,    0,
+--- 108,112 ----
+    260,
   };
 ! static short yysindex[] = {                               0,
-      0,    0,  -66,    0,    0,    0,  -48,    0,    0,    0,
-      0,    0,  645,    0,    0,    0, -232, -227,  -27,    0,
+      0,    0,  142,    0,    0,    0,  -57,    0,    0,    0,
+      0,    0,  622,    0,    0,    0, -239, -229,  -10,    0,
 ***************
-*** 214,218 ****
-      0, -238,    0,
+*** 213,217 ****
+      0,  228,    0,   92,   92,    0, -204,    0,
   };
 ! short yyrindex[] = {                                      0,
-      0,    0,  249,    0,    0,    0,    0,    0,    0,    0,
-      0,    0,    0,    0,    0,    0,  184,    0,    0,    0,
---- 156,160 ----
-      0, -238,    0,
+      0,    0,  225,    0,    0,    0,    0,    0,    0,    0,
+      0,    0,    0,    0,    0,    0,  155,    0,    0,    0,
+--- 147,151 ----
+      0,  228,    0,   92,   92,    0, -204,    0,
   };
 ! static short yyrindex[] = {                               0,
-      0,    0,  249,    0,    0,    0,    0,    0,    0,    0,
-      0,    0,    0,    0,    0,    0,  184,    0,    0,    0,
+      0,    0,  225,    0,    0,    0,    0,    0,    0,    0,
+      0,    0,    0,    0,    0,    0,  155,    0,    0,    0,
 ***************
-*** 253,257 ****
-      0,  154,    0,
+*** 252,256 ****
+      0,    0,    0,    0,    0,    0,  168,    0,
   };
 ! short yygindex[] = {                                      0,
-      0,    0,    0,  374,  351,    0,  -12,    0,  946,  413,
-    -83,    0,    0,    0, -311,  -13, 4139, 4198,    0,    0,
---- 195,199 ----
-      0,  154,    0,
+      0,    0,    0,  339,  320,    0,  -11,    0,  913,  360,
+    -78,    0,    0,    0, -320,  -13, 4321,    0, 1367,    0,
+--- 186,190 ----
+      0,    0,    0,    0,    0,    0,  168,    0,
   };
 ! static short yygindex[] = {                               0,
-      0,    0,    0,  374,  351,    0,  -12,    0,  946,  413,
-    -83,    0,    0,    0, -311,  -13, 4139, 4198,    0,    0,
+      0,    0,    0,  339,  320,    0,  -11,    0,  913,  360,
+    -78,    0,    0,    0, -320,  -13, 4321,    0, 1367,    0,
 ***************
 *** 261,265 ****
   };
-  #define YYTABLESIZE 4425
+  #define YYTABLESIZE 4610
 ! short yytable[] = {                                      69,
-    207,   62,  181,  105,  168,  102,  105,  204,  168,  248,
-     20,  208,   62,  253,   58,  285,  274,  170,  298,  345,
---- 203,207 ----
+    206,   20,  295,   62,  113,  257,  184,  103,  183,  298,
+    172,   62,  125,  104,  252,  350,  104,   81,  209,  169,
+--- 195,199 ----
   };
-  #define YYTABLESIZE 4425
+  #define YYTABLESIZE 4610
 ! static short yytable[] = {                               69,
-    207,   62,  181,  105,  168,  102,  105,  204,  168,  248,
-     20,  208,   62,  253,   58,  285,  274,  170,  298,  345,
+    206,   20,  295,   62,  113,  257,  184,  103,  183,  298,
+    172,   62,  125,  104,  252,  350,  104,   81,  209,  169,
 ***************
-*** 706,710 ****
-      0,    0,    0,    0,  317,
+*** 724,728 ****
+      0,    0,    0,    0,    0,    0,    0,    0,    0,  321,
   };
 ! short yycheck[] = {                                      13,
-     41,   36,   86,   41,   91,   40,   44,   59,   91,   59,
-     59,   93,   36,  183,   59,   59,   41,   91,   41,  331,
---- 648,652 ----
-      0,    0,    0,    0,  317,
+     59,   59,   59,   36,   43,  185,   92,   40,   87,   59,
+     91,   36,   51,   41,   59,  336,   44,  257,   41,   40,
+--- 658,662 ----
+      0,    0,    0,    0,    0,    0,    0,    0,    0,  321,
   };
 ! static short yycheck[] = {                               13,
-     41,   36,   86,   41,   91,   40,   44,   59,   91,   59,
-     59,   93,   36,  183,   59,   59,   41,   91,   41,  331,
+     59,   59,   59,   36,   43,  185,   92,   40,   87,   59,
+     91,   36,   51,   41,   59,  336,   44,  257,   41,   40,
 ***************
-*** 1157,1161 ****
-  #define YYMAXTOKEN 314
+*** 1193,1197 ****
+  #define YYMAXTOKEN 315
   #if YYDEBUG
 ! char *yyname[] = {
   "end-of-file",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
   "'!'",0,0,"'$'","'%'","'&'",0,"'('","')'","'*'","'+'","','","'-'",0,0,0,0,0,0,0,
---- 1099,1103 ----
-  #define YYMAXTOKEN 314
+--- 1127,1131 ----
+  #define YYMAXTOKEN 315
   #if YYDEBUG
 ! static char *yyname[] = {
   "end-of-file",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
   "'!'",0,0,"'$'","'%'","'&'",0,"'('","')'","'*'","'+'","','","'-'",0,0,0,0,0,0,0,
 ***************
-*** 1174,1178 ****
-  "POSTDEC","ARROW",
+*** 1210,1214 ****
+  "POSTINC","POSTDEC","ARROW",
   };
 ! char *yyrule[] = {
   "$accept : prog",
   "$$1 :",
---- 1116,1120 ----
-  "POSTDEC","ARROW",
+--- 1144,1148 ----
+  "POSTINC","POSTDEC","ARROW",
   };
 ! static char *yyrule[] = {
   "$accept : prog",
   "$$1 :",
 ***************
-*** 1369,1397 ****
+*** 1408,1436 ****
   #endif
   #endif
 - int yydebug;
 - short yyss[YYSTACKSIZE];
 - YYSTYPE yyvs[YYSTACKSIZE];
 - #define yystacksize YYSTACKSIZE
-  #line 652 "perly.y"
+  #line 666 "perly.y"
    /* PROGRAM */
-! #line 1385 "y.tab.c"
+! #line 1424 "y.tab.c"
   #define YYABORT goto yyabort
   #define YYACCEPT goto yyaccept
   #define YYERROR goto yyerrlab
   
       if (yys = getenv("YYDEBUG"))
       {
---- 1311,1375 ----
+--- 1342,1391 ----
   #endif
   #endif
-  #line 652 "perly.y"
+  #line 666 "perly.y"
    /* PROGRAM */
-! #line 1318 "perly.c"
+! #line 1427 "perly.c"
   #define YYABORT goto yyabort
   #define YYACCEPT goto yyaccept
   #define YYERROR goto yyerrlab
 +     YYSTYPE oldyylval;
 + };
 + 
-+ void
-+ yydestruct(void *ptr)
-+ {
-+     struct ysv* ysave = (struct ysv*)ptr;
-+     if (ysave->yyss) Safefree(ysave->yyss);
-+     if (ysave->yyvs) Safefree(ysave->yyvs);
-+     yydebug  = ysave->oldyydebug;
-+     yynerrs  = ysave->oldyynerrs;
-+     yyerrflag        = ysave->oldyyerrflag;
-+     yychar   = ysave->oldyychar;
-+     yyval    = ysave->oldyyval;
-+     yylval   = ysave->oldyylval;
-+     Safefree(ysave);
-+ }
-+ 
   int
-! yyparse(void)
+! Perl_yyparse(pTHX)
   {
       register int yym, yyn, yystate;
 +     register short *yyssp;
       if (yys = getenv("YYDEBUG"))
       {
 ***************
-*** 1406,1409 ****
---- 1384,1397 ----
+*** 1445,1448 ****
+--- 1400,1413 ----
       yychar = (-1);
   
 +     /*
       yyssp = yyss;
       yyvsp = yyvs;
 ***************
-*** 1431,1440 ****
+*** 1470,1479 ****
   #if YYDEBUG
           if (yydebug)
 !             printf("yydebug: state %d, shifting to state %d\n",
 !             goto yyoverflow;
           }
           *++yyssp = yystate = yytable[yyn];
---- 1419,1442 ----
+--- 1435,1458 ----
   #if YYDEBUG
           if (yydebug)
 !             PerlIO_printf(Perl_debug_log, "yydebug: state %d, shifting to state %d\n",
           }
           *++yyssp = yystate = yytable[yyn];
 ***************
-*** 1472,1481 ****
+*** 1511,1520 ****
   #if YYDEBUG
                   if (yydebug)
 !                     printf("yydebug: state %d, error recovery shifting\
 !                     goto yyoverflow;
                   }
                   *++yyssp = yystate = yytable[yyn];
---- 1474,1498 ----
+--- 1490,1514 ----
   #if YYDEBUG
                   if (yydebug)
 !                     PerlIO_printf(Perl_debug_log,
                   }
                   *++yyssp = yystate = yytable[yyn];
 ***************
-*** 1487,1492 ****
+*** 1526,1531 ****
   #if YYDEBUG
                   if (yydebug)
 !                     printf("yydebug: error recovery discarding state %d\n",
 !                             *yyssp);
   #endif
                   if (yyssp <= yyss) goto yyabort;
---- 1504,1510 ----
+--- 1520,1526 ----
   #if YYDEBUG
                   if (yydebug)
 !                     PerlIO_printf(Perl_debug_log,
   #endif
                   if (yyssp <= yyss) goto yyabort;
 ***************
-*** 1505,1510 ****
+*** 1544,1549 ****
               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
---- 1523,1529 ----
+--- 1539,1545 ----
               if (yychar <= YYMAXTOKEN) yys = yyname[yychar];
               if (!yys) yys = "illegal-symbol";
 !             PerlIO_printf(Perl_debug_log,
           }
   #endif
 ***************
-*** 1515,1519 ****
+*** 1554,1558 ****
   #if YYDEBUG
       if (yydebug)
 !         printf("yydebug: state %d, reducing by rule %d (%s)\n",
                   yystate, yyn, yyrule[yyn]);
   #endif
---- 1534,1538 ----
+--- 1550,1554 ----
   #if YYDEBUG
       if (yydebug)
 !         PerlIO_printf(Perl_debug_log, "yydebug: state %d, reducing by rule %d (%s)\n",
                   yystate, yyn, yyrule[yyn]);
   #endif
 ***************
-*** 2305,2309 ****
+*** 2358,2362 ****
   { yyval.opval = yyvsp[0].opval; }
   break;
-! #line 2308 "y.tab.c"
+! #line 2361 "y.tab.c"
       }
       yyssp -= yym;
---- 2324,2328 ----
+--- 2354,2358 ----
   { yyval.opval = yyvsp[0].opval; }
   break;
-! #line 2329 "perly.c"
+! #line 2365 "perly.c"
       }
       yyssp -= yym;
 ***************
-*** 2315,2320 ****
+*** 2368,2373 ****
   #if YYDEBUG
           if (yydebug)
 !             printf("yydebug: after reduction, shifting from state 0 to\
 !  state %d\n", YYFINAL);
   #endif
           yystate = YYFINAL;
---- 2334,2340 ----
+--- 2364,2370 ----
   #if YYDEBUG
           if (yydebug)
 !             PerlIO_printf(Perl_debug_log,
   #endif
           yystate = YYFINAL;
 ***************
-*** 2330,2334 ****
+*** 2383,2387 ****
                   if (yychar <= YYMAXTOKEN) yys = yyname[yychar];
                   if (!yys) yys = "illegal-symbol";
 !                 printf("yydebug: state %d, reading %d (%s)\n",
                           YYFINAL, yychar, yys);
               }
---- 2350,2354 ----
+--- 2380,2384 ----
                   if (yychar <= YYMAXTOKEN) yys = yyname[yychar];
                   if (!yys) yys = "illegal-symbol";
 !                 PerlIO_printf(Perl_debug_log, "yydebug: state %d, reading %d (%s)\n",
                           YYFINAL, yychar, yys);
               }
 ***************
-*** 2345,2354 ****
+*** 2398,2407 ****
   #if YYDEBUG
       if (yydebug)
 !         printf("yydebug: after reduction, shifting from state %d \
 !         goto yyoverflow;
       }
       *++yyssp = yystate;
---- 2365,2389 ----
+--- 2395,2419 ----
   #if YYDEBUG
       if (yydebug)
 !         PerlIO_printf(Perl_debug_log,
       }
       *++yyssp = yystate;
 ***************
-*** 2356,2363 ****
+*** 2409,2416 ****
       goto yyloop;
   yyoverflow:
 !     yyerror("yacc stack overflow");
   yyaccept:
 !     return (0);
   }
---- 2391,2398 ----
+--- 2421,2448 ----
       goto yyloop;
   yyoverflow:
 !     yyerror("Out of memory for yacc stack");
 !     retval = 1;
   yyaccept:
 !     return retval;
+! }
+! 
+! #ifdef PERL_OBJECT
+! #define NO_XSLOCKS
+! #include "XSUB.h"
+! #endif
+! 
+! static void
+! yydestruct(pTHXo_ void *ptr)
+! {
+!     struct ysv* ysave = (struct ysv*)ptr;
+!     if (ysave->yyss) Safefree(ysave->yyss);
+!     if (ysave->yyvs) Safefree(ysave->yyvs);
+!     yydebug  = ysave->oldyydebug;
+!     yynerrs  = ysave->oldyynerrs;
+!     yyerrflag        = ysave->oldyyerrflag;
+!     yychar   = ysave->oldyychar;
+!     yyval    = ysave->oldyyval;
+!     yylval   = ysave->oldyylval;
+!     Safefree(ysave);
   }