[win32] add archname to *sitearch in config.{b,g,v}c
[p5sagit/p5-mst-13.2.git] / toke.c
diff --git a/toke.c b/toke.c
index f643732..6773f3f 100644 (file)
--- a/toke.c
+++ b/toke.c
@@ -500,7 +500,7 @@ force_next(I32 type)
 }
 
 static char *
-force_word(register char *start, int token, int check_keyword, int allow_pack, int allow_tick)
+force_word(register char *start, int token, int check_keyword, int allow_pack, int allow_initial_tick)
 {
     register char *s;
     STRLEN len;
@@ -509,7 +509,7 @@ force_word(register char *start, int token, int check_keyword, int allow_pack, i
     s = start;
     if (isIDFIRST(*s) ||
        (allow_pack && *s == ':') ||
-       (allow_tick && *s == '\'') )
+       (allow_initial_tick && *s == '\'') )
     {
        s = scan_word(s, tokenbuf, sizeof tokenbuf, allow_pack, &len);
        if (check_keyword && keyword(tokenbuf, len))
@@ -1068,6 +1068,7 @@ incl_perldb(void)
 
        if (pdb)
            return pdb;
+       SETERRNO(0,SS$_NORMAL);
        return "BEGIN { require 'perl5db.pl' }";
     }
     return "";
@@ -1122,9 +1123,8 @@ filter_del(filter_t funcp)
     if (!rsfp_filters || AvFILL(rsfp_filters)<0)
        return;
     /* if filter is on top of stack (usual case) just pop it off */
-    if (IoDIRP(FILTER_DATA(0)) == (void*)funcp){
-       /* sv_free(av_pop(rsfp_filters)); */
-       sv_free(av_shift(rsfp_filters));
+    if (IoDIRP(FILTER_DATA(AvFILL(rsfp_filters))) == (void*)funcp){
+       sv_free(av_pop(rsfp_filters));
 
         return;
     }
@@ -1231,6 +1231,8 @@ yylex(void)
     register char *d;
     register I32 tmp;
     STRLEN len;
+    GV *gv = Nullgv;
+    GV **gvp = 0;
 
     if (pending_ident) {
        char pit = pending_ident;
@@ -1246,10 +1248,10 @@ yylex(void)
 
        if (!strchr(tokenbuf,':')) {
 #ifdef USE_THREADS
-           /* Check for single character per-thread magicals */
+           /* Check for single character per-thread SVs */
            if (tokenbuf[0] == '$' && tokenbuf[2] == '\0'
-               && !isALPHA(tokenbuf[1]) /* Rule out obvious non-magicals */
-               && (tmp = find_thread_magical(&tokenbuf[1])) != NOT_IN_PAD)
+               && !isALPHA(tokenbuf[1]) /* Rule out obvious non-threadsvs */
+               && (tmp = find_threadsv(&tokenbuf[1])) != NOT_IN_PAD)
            {
                yylval.opval = newOP(OP_THREADSV, 0);
                yylval.opval->op_targ = tmp;
@@ -1393,7 +1395,7 @@ yylex(void)
            force_next(',');
 #ifdef USE_THREADS
            nextval[nexttoke].opval = newOP(OP_THREADSV, 0);
-           nextval[nexttoke].opval->op_targ = find_thread_magical("\"");
+           nextval[nexttoke].opval->op_targ = find_threadsv("\"");
            force_next(PRIVATEREF);
 #else
            force_ident("\"", '$');
@@ -2546,8 +2548,8 @@ yylex(void)
     case 'z': case 'Z':
 
       keylookup: {
-       GV *gv = Nullgv;
-       GV **gvp = 0;
+       gv = Nullgv;
+       gvp = 0;
 
        bufptr = s;
        s = scan_word(s, tokenbuf, sizeof tokenbuf, FALSE, &len);
@@ -3541,7 +3543,7 @@ yylex(void)
            if (*s == ';' || *s == ')')         /* probably a close */
                croak("sort is now a reserved word");
            expect = XTERM;
-           s = force_word(s,WORD,TRUE,TRUE,TRUE);
+           s = force_word(s,WORD,TRUE,TRUE,FALSE);
            LOP(OP_SORT,XREF);
 
        case KEY_split:
@@ -5382,3 +5384,4 @@ yyerror(char *s)
     return 0;
 }
 
+