summaryrefslogtreecommitdiff
path: root/toke.c
diff options
context:
space:
mode:
Diffstat (limited to 'toke.c')
-rw-r--r--toke.c322
1 files changed, 161 insertions, 161 deletions
diff --git a/toke.c b/toke.c
index af93ad80e4..4b4e1401f1 100644
--- a/toke.c
+++ b/toke.c
@@ -81,9 +81,8 @@ int* yychar_pointer = NULL;
# define yylval (*yylval_pointer)
# define yychar (*yychar_pointer)
# define PERL_YYLEX_PARAM yylval_pointer,yychar_pointer
-# define yylex(a,b) Perl_yylex(aTHX_ a, b)
-#else
-# define PERL_YYLEX_PARAM
+# undef yylex
+# define yylex() Perl_yylex(aTHX_ yylval_pointer, yychar_pointer)
#endif
#include "keywords.h"
@@ -133,7 +132,7 @@ int* yychar_pointer = NULL;
#define OLDLOP(f) return(yylval.ival=f,PL_expect = XTERM,PL_bufptr = s,(int)LSTOP)
STATIC int
-ao(pTHX_ int toketype)
+S_ao(pTHX_ int toketype)
{
if (*PL_bufptr == '=') {
PL_bufptr++;
@@ -147,32 +146,32 @@ ao(pTHX_ int toketype)
}
STATIC void
-no_op(pTHX_ char *what, char *s)
+S_no_op(pTHX_ char *what, char *s)
{
char *oldbp = PL_bufptr;
bool is_first = (PL_oldbufptr == PL_linestart);
PL_bufptr = s;
- yywarn(form("%s found where operator expected", what));
+ yywarn(Perl_form(aTHX_ "%s found where operator expected", what));
if (is_first)
- warn("\t(Missing semicolon on previous line?)\n");
+ Perl_warn(aTHX_ "\t(Missing semicolon on previous line?)\n");
else if (PL_oldoldbufptr && isIDFIRST_lazy(PL_oldoldbufptr)) {
char *t;
for (t = PL_oldoldbufptr; *t && (isALNUM_lazy(t) || *t == ':'); t++) ;
if (t < PL_bufptr && isSPACE(*t))
- warn("\t(Do you need to predeclare %.*s?)\n",
+ Perl_warn(aTHX_ "\t(Do you need to predeclare %.*s?)\n",
t - PL_oldoldbufptr, PL_oldoldbufptr);
}
else if (s <= oldbp)
- warn("\t(Missing operator before end of line?)\n");
+ Perl_warn(aTHX_ "\t(Missing operator before end of line?)\n");
else
- warn("\t(Missing operator before %.*s?)\n", s - oldbp, oldbp);
+ Perl_warn(aTHX_ "\t(Missing operator before %.*s?)\n", s - oldbp, oldbp);
PL_bufptr = oldbp;
}
STATIC void
-missingterm(pTHX_ char *s)
+S_missingterm(pTHX_ char *s)
{
char tmpbuf[3];
char q;
@@ -200,7 +199,7 @@ missingterm(pTHX_ char *s)
s = tmpbuf;
}
q = strchr(s,'"') ? '\'' : '"';
- croak("Can't find string terminator %c%s%c anywhere before EOF",q,s,q);
+ Perl_croak(aTHX_ "Can't find string terminator %c%s%c anywhere before EOF",q,s,q);
}
void
@@ -208,11 +207,11 @@ Perl_deprecate(pTHX_ char *s)
{
dTHR;
if (ckWARN(WARN_DEPRECATED))
- warner(WARN_DEPRECATED, "Use of %s is deprecated", s);
+ Perl_warner(aTHX_ WARN_DEPRECATED, "Use of %s is deprecated", s);
}
STATIC void
-depcom(pTHX)
+S_depcom(pTHX)
{
deprecate("comma-less variable list");
}
@@ -220,7 +219,7 @@ depcom(pTHX)
#ifdef WIN32
STATIC I32
-win32_textfilter(pTHX_ int idx, SV *sv, int maxlen)
+S_win32_textfilter(pTHX_ int idx, SV *sv, int maxlen)
{
I32 count = FILTER_READ(idx+1, sv, maxlen);
if (count > 0 && !maxlen)
@@ -230,7 +229,7 @@ win32_textfilter(pTHX_ int idx, SV *sv, int maxlen)
#endif
STATIC I32
-utf16_textfilter(pTHX_ int idx, SV *sv, int maxlen)
+S_utf16_textfilter(pTHX_ int idx, SV *sv, int maxlen)
{
I32 count = FILTER_READ(idx+1, sv, maxlen);
if (count) {
@@ -245,7 +244,7 @@ utf16_textfilter(pTHX_ int idx, SV *sv, int maxlen)
}
STATIC I32
-utf16rev_textfilter(pTHX_ int idx, SV *sv, int maxlen)
+S_utf16rev_textfilter(pTHX_ int idx, SV *sv, int maxlen)
{
I32 count = FILTER_READ(idx+1, sv, maxlen);
if (count) {
@@ -283,12 +282,12 @@ Perl_lex_start(pTHX_ SV *line)
SAVESPTR(PL_linestr);
SAVEPPTR(PL_lex_brackstack);
SAVEPPTR(PL_lex_casestack);
- SAVEDESTRUCTOR(restore_rsfp, PL_rsfp);
+ SAVEDESTRUCTOR(S_restore_rsfp, PL_rsfp);
SAVESPTR(PL_lex_stuff);
SAVEI32(PL_lex_defer);
SAVESPTR(PL_lex_repl);
- SAVEDESTRUCTOR(restore_expect, PL_tokenbuf + PL_expect); /* encode as pointer */
- SAVEDESTRUCTOR(restore_lex_expect, PL_tokenbuf + PL_expect);
+ SAVEDESTRUCTOR(S_restore_expect, PL_tokenbuf + PL_expect); /* encode as pointer */
+ SAVEDESTRUCTOR(S_restore_lex_expect, PL_tokenbuf + PL_expect);
PL_lex_state = LEX_NORMAL;
PL_lex_defer = 0;
@@ -331,7 +330,7 @@ Perl_lex_end(pTHX)
}
STATIC void
-restore_rsfp(pTHX_ void *f)
+S_restore_rsfp(pTHX_ void *f)
{
PerlIO *fp = (PerlIO*)f;
@@ -343,21 +342,21 @@ restore_rsfp(pTHX_ void *f)
}
STATIC void
-restore_expect(pTHX_ void *e)
+S_restore_expect(pTHX_ void *e)
{
/* a safe way to store a small integer in a pointer */
PL_expect = (expectation)((char *)e - PL_tokenbuf);
}
STATIC void
-restore_lex_expect(pTHX_ void *e)
+S_restore_lex_expect(pTHX_ void *e)
{
/* a safe way to store a small integer in a pointer */
PL_lex_expect = (expectation)((char *)e - PL_tokenbuf);
}
STATIC void
-incline(pTHX_ char *s)
+S_incline(pTHX_ char *s)
{
dTHR;
char *t;
@@ -398,7 +397,7 @@ incline(pTHX_ char *s)
}
STATIC char *
-skipspace(pTHX_ register char *s)
+S_skipspace(pTHX_ register char *s)
{
dTHR;
if (PL_lex_formbrack && PL_lex_brackets <= PL_lex_formbrack) {
@@ -461,7 +460,7 @@ skipspace(pTHX_ register char *s)
}
STATIC void
-check_uni(pTHX)
+S_check_uni(pTHX)
{
char *s;
char ch;
@@ -476,7 +475,7 @@ check_uni(pTHX)
return;
ch = *s;
*s = '\0';
- warn("Warning: Use of \"%s\" without parens is ambiguous", PL_last_uni);
+ Perl_warn(aTHX_ "Warning: Use of \"%s\" without parens is ambiguous", PL_last_uni);
*s = ch;
}
@@ -486,7 +485,7 @@ check_uni(pTHX)
#define UNI(f) return uni(f,s)
STATIC int
-uni(pTHX_ I32 f, char *s)
+S_uni(pTHX_ I32 f, char *s)
{
yylval.ival = f;
PL_expect = XTERM;
@@ -507,7 +506,7 @@ uni(pTHX_ I32 f, char *s)
#define LOP(f,x) return lop(f,x,s)
STATIC I32
-lop(pTHX_ I32 f, expectation x, char *s)
+S_lop(pTHX_ I32 f, expectation x, char *s)
{
dTHR;
yylval.ival = f;
@@ -528,7 +527,7 @@ lop(pTHX_ I32 f, expectation x, char *s)
}
STATIC void
-force_next(pTHX_ I32 type)
+S_force_next(pTHX_ I32 type)
{
PL_nexttype[PL_nexttoke] = type;
PL_nexttoke++;
@@ -540,7 +539,7 @@ force_next(pTHX_ I32 type)
}
STATIC char *
-force_word(pTHX_ register char *start, int token, int check_keyword, int allow_pack, int allow_initial_tick)
+S_force_word(pTHX_ register char *start, int token, int check_keyword, int allow_pack, int allow_initial_tick)
{
register char *s;
STRLEN len;
@@ -570,7 +569,7 @@ force_word(pTHX_ register char *start, int token, int check_keyword, int allow_p
}
STATIC void
-force_ident(pTHX_ register char *s, int kind)
+S_force_ident(pTHX_ register char *s, int kind)
{
if (s && *s) {
OP* o = (OP*)newSVOP(OP_CONST, 0, newSVpv(s,0));
@@ -593,7 +592,7 @@ force_ident(pTHX_ register char *s, int kind)
}
STATIC char *
-force_version(pTHX_ char *s)
+S_force_version(pTHX_ char *s)
{
OP *version = Nullop;
@@ -620,7 +619,7 @@ force_version(pTHX_ char *s)
}
STATIC SV *
-tokeq(pTHX_ SV *sv)
+S_tokeq(pTHX_ SV *sv)
{
register char *s;
register char *send;
@@ -658,7 +657,7 @@ tokeq(pTHX_ SV *sv)
}
STATIC I32
-sublex_start(pTHX)
+S_sublex_start(pTHX)
{
register I32 op_type = yylval.ival;
@@ -702,7 +701,7 @@ sublex_start(pTHX)
}
STATIC I32
-sublex_push(pTHX)
+S_sublex_push(pTHX)
{
dTHR;
ENTER;
@@ -755,7 +754,7 @@ sublex_push(pTHX)
}
STATIC I32
-sublex_done(pTHX)
+S_sublex_done(pTHX)
{
if (!PL_lex_starts++) {
PL_expect = XOPERATOR;
@@ -765,7 +764,7 @@ sublex_done(pTHX)
if (PL_lex_casemods) { /* oops, we've got some unbalanced parens */
PL_lex_state = LEX_INTERPCASEMOD;
- return yylex(PERL_YYLEX_PARAM);
+ return yylex();
}
/* Is there a right-hand side to take care of? */
@@ -878,7 +877,7 @@ sublex_done(pTHX)
*/
STATIC char *
-scan_const(pTHX_ char *start)
+S_scan_const(pTHX_ char *start)
{
register char *send = PL_bufend; /* end of the constant */
SV *sv = NEWSV(93, send - start); /* sv for the constant */
@@ -1035,7 +1034,7 @@ scan_const(pTHX_ char *start)
{
dTHR; /* only for ckWARN */
if (ckWARN(WARN_SYNTAX))
- warner(WARN_SYNTAX, "\\%c better written as $%c", *s, *s);
+ Perl_warner(aTHX_ WARN_SYNTAX, "\\%c better written as $%c", *s, *s);
*--s = '$';
break;
}
@@ -1060,7 +1059,7 @@ scan_const(pTHX_ char *start)
{
dTHR;
if (ckWARN(WARN_UNSAFE) && isALPHA(*s))
- warner(WARN_UNSAFE,
+ Perl_warner(aTHX_ WARN_UNSAFE,
"Unrecognized escape \\%c passed through",
*s);
/* default action is to copy the quoted character */
@@ -1088,7 +1087,7 @@ scan_const(pTHX_ char *start)
if (!utf) {
dTHR;
if (ckWARN(WARN_UTF8))
- warner(WARN_UTF8,
+ Perl_warner(aTHX_ WARN_UTF8,
"Use of \\x{} without utf8 declaration");
}
/* note: utf always shorter than hex */
@@ -1108,7 +1107,7 @@ scan_const(pTHX_ char *start)
if (uv >= 127 && UTF) {
dTHR;
if (ckWARN(WARN_UTF8))
- warner(WARN_UTF8,
+ Perl_warner(aTHX_ WARN_UTF8,
"\\x%.*s will produce malformed UTF-8 character; use \\x{%.*s} for that",
len,s,len,s);
}
@@ -1192,7 +1191,7 @@ scan_const(pTHX_ char *start)
/* This is the one truly awful dwimmer necessary to conflate C and sed. */
STATIC int
-intuit_more(pTHX_ register char *s)
+S_intuit_more(pTHX_ register char *s)
{
if (PL_lex_brackets)
return TRUE;
@@ -1322,7 +1321,7 @@ intuit_more(pTHX_ register char *s)
}
STATIC int
-intuit_method(pTHX_ char *start, GV *gv)
+S_intuit_method(pTHX_ char *start, GV *gv)
{
char *s = start + (*start == '$');
char tmpbuf[sizeof PL_tokenbuf];
@@ -1381,7 +1380,7 @@ intuit_method(pTHX_ char *start, GV *gv)
}
STATIC char*
-incl_perldb(pTHX)
+S_incl_perldb(pTHX)
{
if (PL_perldb) {
char *pdb = PerlEnv_getenv("PERL5DB");
@@ -1423,11 +1422,11 @@ Perl_filter_add(pTHX_ filter_t funcp, SV *datasv)
if (!datasv)
datasv = NEWSV(255,0);
if (!SvUPGRADE(datasv, SVt_PVIO))
- die("Can't upgrade filter_add data to SVt_PVIO");
+ Perl_die(aTHX_ "Can't upgrade filter_add data to SVt_PVIO");
IoDIRP(datasv) = (DIR*)funcp; /* stash funcp into spare field */
if (PL_filter_debug) {
STRLEN n_a;
- warn("filter_add func %p (%s)", funcp, SvPV(datasv, n_a));
+ Perl_warn(aTHX_ "filter_add func %p (%s)", funcp, SvPV(datasv, n_a));
}
av_unshift(PL_rsfp_filters, 1);
av_store(PL_rsfp_filters, 0, datasv) ;
@@ -1440,7 +1439,7 @@ void
Perl_filter_del(pTHX_ filter_t funcp)
{
if (PL_filter_debug)
- warn("filter_del func %p", funcp);
+ Perl_warn(aTHX_ "filter_del func %p", funcp);
if (!PL_rsfp_filters || AvFILLp(PL_rsfp_filters)<0)
return;
/* if filter is on top of stack (usual case) just pop it off */
@@ -1451,7 +1450,7 @@ Perl_filter_del(pTHX_ filter_t funcp)
return;
}
/* we need to search for the correct entry and clear it */
- die("filter_del can only delete in reverse order (currently)");
+ Perl_die(aTHX_ "filter_del can only delete in reverse order (currently)");
}
@@ -1471,7 +1470,7 @@ Perl_filter_read(pTHX_ int idx, SV *buf_sv, int maxlen)
/* Provide a default input filter to make life easy. */
/* Note that we append to the line. This is handy. */
if (PL_filter_debug)
- warn("filter_read %d: from rsfp\n", idx);
+ Perl_warn(aTHX_ "filter_read %d: from rsfp\n", idx);
if (maxlen) {
/* Want a block */
int len ;
@@ -1500,24 +1499,24 @@ Perl_filter_read(pTHX_ int idx, SV *buf_sv, int maxlen)
/* Skip this filter slot if filter has been deleted */
if ( (datasv = FILTER_DATA(idx)) == &PL_sv_undef){
if (PL_filter_debug)
- warn("filter_read %d: skipped (filter deleted)\n", idx);
+ Perl_warn(aTHX_ "filter_read %d: skipped (filter deleted)\n", idx);
return FILTER_READ(idx+1, buf_sv, maxlen); /* recurse */
}
/* Get function pointer hidden within datasv */
funcp = (filter_t)IoDIRP(datasv);
if (PL_filter_debug) {
STRLEN n_a;
- warn("filter_read %d: via function %p (%s)\n",
+ Perl_warn(aTHX_ "filter_read %d: via function %p (%s)\n",
idx, funcp, SvPV(datasv,n_a));
}
/* Call function. The function is expected to */
/* call "FILTER_READ(idx+1, buf_sv)" first. */
/* Return: <0:error, =0:eof, >0:not eof */
- return (*funcp)(PERL_OBJECT_THIS_ idx, buf_sv, maxlen);
+ return (*funcp)(aTHX_ idx, buf_sv, maxlen);
}
STATIC char *
-filter_gets(pTHX_ register SV *sv, register PerlIO *fp, STRLEN append)
+S_filter_gets(pTHX_ register SV *sv, register PerlIO *fp, STRLEN append)
{
#ifdef WIN32FILTER
if (!PL_rsfp_filters) {
@@ -1570,9 +1569,9 @@ filter_gets(pTHX_ register SV *sv, register PerlIO *fp, STRLEN append)
int
#ifdef USE_PURE_BISON
-yylex(pTHX_ YYSTYPE *lvalp, int *lcharp)
+Perl_yylex(pTHX_ YYSTYPE *lvalp, int *lcharp)
#else
-yylex(pTHX)
+Perl_yylex(pTHX)
#endif
{
dTHR;
@@ -1602,7 +1601,7 @@ yylex(pTHX)
*/
if (PL_in_my) {
if (strchr(PL_tokenbuf,':'))
- yyerror(form(PL_no_myglob,PL_tokenbuf));
+ yyerror(Perl_form(aTHX_ PL_no_myglob,PL_tokenbuf));
yylval.opval = newOP(OP_PADANY, 0);
yylval.opval->op_targ = pad_allocmy(PL_tokenbuf);
@@ -1645,7 +1644,7 @@ yylex(pTHX)
d++)
{
if (strnEQ(d,"<=>",3) || strnEQ(d,"cmp",3)) {
- croak("Can't use \"my %s\" in sort comparison",
+ Perl_croak(aTHX_ "Can't use \"my %s\" in sort comparison",
PL_tokenbuf);
}
}
@@ -1665,7 +1664,7 @@ yylex(pTHX)
if (pit == '@' && PL_lex_state != LEX_NORMAL && !PL_lex_brackets) {
GV *gv = gv_fetchpv(PL_tokenbuf+1, FALSE, SVt_PVAV);
if (!gv || ((PL_tokenbuf[0] == '@') ? !GvAV(gv) : !GvHV(gv)))
- yyerror(form("In string, %s now must be written as \\%s",
+ yyerror(Perl_form(aTHX_ "In string, %s now must be written as \\%s",
PL_tokenbuf, PL_tokenbuf));
}
@@ -1705,7 +1704,7 @@ yylex(pTHX)
case LEX_INTERPCASEMOD:
#ifdef DEBUGGING
if (PL_bufptr != PL_bufend && *PL_bufptr != '\\')
- croak("panic: INTERPCASEMOD");
+ Perl_croak(aTHX_ "panic: INTERPCASEMOD");
#endif
/* handle \E or end of string */
if (PL_bufptr == PL_bufend || PL_bufptr[1] == 'E') {
@@ -1725,7 +1724,7 @@ yylex(pTHX)
if (PL_bufptr != PL_bufend)
PL_bufptr += 2;
PL_lex_state = LEX_INTERPCONCAT;
- return yylex(PERL_YYLEX_PARAM);
+ return yylex();
}
else {
s = PL_bufptr + 1;
@@ -1760,7 +1759,7 @@ yylex(pTHX)
else if (*s == 'Q')
PL_nextval[PL_nexttoke].ival = OP_QUOTEMETA;
else
- croak("panic: yylex");
+ Perl_croak(aTHX_ "panic: yylex");
PL_bufptr = s + 1;
force_next(FUNC);
if (PL_lex_starts) {
@@ -1769,7 +1768,7 @@ yylex(pTHX)
Aop(OP_CONCAT);
}
else
- return yylex(PERL_YYLEX_PARAM);
+ return yylex();
}
case LEX_INTERPPUSH:
@@ -1802,7 +1801,7 @@ yylex(pTHX)
s = PL_bufptr;
Aop(OP_CONCAT);
}
- return yylex(PERL_YYLEX_PARAM);
+ return yylex();
case LEX_INTERPENDMAYBE:
if (intuit_more(PL_bufptr)) {
@@ -1821,14 +1820,14 @@ yylex(pTHX)
&& SvEVALED(PL_lex_repl))
{
if (PL_bufptr != PL_bufend)
- croak("Bad evalled substitution pattern");
+ Perl_croak(aTHX_ "Bad evalled substitution pattern");
PL_lex_repl = Nullsv;
}
/* FALLTHROUGH */
case LEX_INTERPCONCAT:
#ifdef DEBUGGING
if (PL_lex_brackets)
- croak("panic: INTERPCONCAT");
+ Perl_croak(aTHX_ "panic: INTERPCONCAT");
#endif
if (PL_bufptr == PL_bufend)
return sublex_done();
@@ -1858,11 +1857,11 @@ yylex(pTHX)
Aop(OP_CONCAT);
else {
PL_bufptr = s;
- return yylex(PERL_YYLEX_PARAM);
+ return yylex();
}
}
- return yylex(PERL_YYLEX_PARAM);
+ return yylex();
case LEX_FORMLINE:
PL_lex_state = LEX_NORMAL;
s = scan_formline(PL_bufptr);
@@ -1883,7 +1882,7 @@ yylex(pTHX)
default:
if (isIDFIRST_lazy(s))
goto keylookup;
- croak("Unrecognized character \\x%02X", *s & 255);
+ Perl_croak(aTHX_ "Unrecognized character \\x%02X", *s & 255);
case 4:
case 26:
goto fake_eof; /* emulate EOF on ^D or ^Z */
@@ -1925,20 +1924,20 @@ yylex(pTHX)
if (PL_minus_F) {
if (strchr("/'\"", *PL_splitstr)
&& strchr(PL_splitstr + 1, *PL_splitstr))
- sv_catpvf(PL_linestr, "@F=split(%s);", PL_splitstr);
+ Perl_sv_catpvf(aTHX_ PL_linestr, "@F=split(%s);", PL_splitstr);
else {
char delim;
s = "'~#\200\1'"; /* surely one char is unused...*/
while (s[1] && strchr(PL_splitstr, *s)) s++;
delim = *s;
- sv_catpvf(PL_linestr, "@F=split(%s%c",
+ Perl_sv_catpvf(aTHX_ PL_linestr, "@F=split(%s%c",
"q" + (delim == '\''), delim);
for (s = PL_splitstr; *s; s++) {
if (*s == '\\')
sv_catpvn(PL_linestr, "\\", 1);
sv_catpvn(PL_linestr, s, 1);
}
- sv_catpvf(PL_linestr, "%c);", delim);
+ Perl_sv_catpvf(aTHX_ PL_linestr, "%c);", delim);
}
}
else
@@ -2102,7 +2101,7 @@ yylex(pTHX)
newargv = PL_origargv;
newargv[0] = ipath;
PerlProc_execv(ipath, newargv);
- croak("Can't exec %s", ipath);
+ Perl_croak(aTHX_ "Can't exec %s", ipath);
}
if (d) {
U32 oldpdb = PL_perldb;
@@ -2117,7 +2116,7 @@ yylex(pTHX)
if (*d == 'M' || *d == 'm') {
char *m = d;
while (*d && !isSPACE(*d)) d++;
- croak("Too late for \"-%.*s\" option",
+ Perl_croak(aTHX_ "Too late for \"-%.*s\" option",
(int)(d - m), m);
}
d = moreswitches(d);
@@ -2142,13 +2141,13 @@ yylex(pTHX)
if (PL_lex_formbrack && PL_lex_brackets <= PL_lex_formbrack) {
PL_bufptr = s;
PL_lex_state = LEX_FORMLINE;
- return yylex(PERL_YYLEX_PARAM);
+ return yylex();
}
goto retry;
case '\r':
#ifdef PERL_STRICT_CR
- warn("Illegal character \\%03o (carriage return)", '\r');
- croak(
+ Perl_warn(aTHX_ "Illegal character \\%03o (carriage return)", '\r');
+ Perl_croak(aTHX_
"(Maybe you didn't strip carriage returns after a network transfer?)\n");
#endif
case ' ': case '\t': case '\f': case 013:
@@ -2166,7 +2165,7 @@ yylex(pTHX)
if (PL_lex_formbrack && PL_lex_brackets <= PL_lex_formbrack) {
PL_bufptr = s;
PL_lex_state = LEX_FORMLINE;
- return yylex(PERL_YYLEX_PARAM);
+ return yylex();
}
}
else {
@@ -2218,7 +2217,7 @@ yylex(pTHX)
case 'A': gv_fetchpv("\024",TRUE, SVt_PV); FTST(OP_FTATIME);
case 'C': gv_fetchpv("\024",TRUE, SVt_PV); FTST(OP_FTCTIME);
default:
- croak("Unrecognized file test: -%c", (int)tmp);
+ Perl_croak(aTHX_ "Unrecognized file test: -%c", (int)tmp);
break;
}
}
@@ -2503,7 +2502,7 @@ yylex(pTHX)
if (PL_lex_fakebrack) {
PL_lex_state = LEX_INTERPEND;
PL_bufptr = s;
- return yylex(PERL_YYLEX_PARAM); /* ignore fake brackets */
+ return yylex(); /* ignore fake brackets */
}
if (*s == '-' && s[1] == '>')
PL_lex_state = LEX_INTERPENDMAYBE;
@@ -2514,7 +2513,7 @@ yylex(pTHX)
if (PL_lex_brackets < PL_lex_fakebrack) {
PL_bufptr = s;
PL_lex_fakebrack = 0;
- return yylex(PERL_YYLEX_PARAM); /* ignore fake brackets */
+ return yylex(); /* ignore fake brackets */
}
force_next('}');
TOKEN(';');
@@ -2527,7 +2526,7 @@ yylex(pTHX)
if (PL_expect == XOPERATOR) {
if (ckWARN(WARN_SEMICOLON) && isIDFIRST_lazy(s) && PL_bufptr == PL_linestart) {
PL_curcop->cop_line--;
- warner(WARN_SEMICOLON, PL_warn_nosemi);
+ Perl_warner(aTHX_ WARN_SEMICOLON, PL_warn_nosemi);
PL_curcop->cop_line++;
}
BAop(OP_BIT_AND);
@@ -2560,7 +2559,7 @@ yylex(pTHX)
if (tmp == '~')
PMop(OP_MATCH);
if (ckWARN(WARN_SYNTAX) && tmp && isSPACE(*s) && strchr("+-*/%.^&|<",tmp))
- warner(WARN_SYNTAX, "Reversed %c= operator",(int)tmp);
+ Perl_warner(aTHX_ WARN_SYNTAX, "Reversed %c= operator",(int)tmp);
s--;
if (PL_expect == XSTATE && isALPHA(tmp) &&
(s == PL_linestart+1 || s[-2] == '\n') )
@@ -2703,7 +2702,7 @@ yylex(pTHX)
PL_bufptr = skipspace(PL_bufptr);
while (t < PL_bufend && *t != ']')
t++;
- warner(WARN_SYNTAX,
+ Perl_warner(aTHX_ WARN_SYNTAX,
"Multidimensional syntax %.*s not supported",
(t - PL_bufptr) + 1, PL_bufptr);
}
@@ -2721,7 +2720,7 @@ yylex(pTHX)
t = scan_word(t, tmpbuf, sizeof tmpbuf, TRUE, &len);
for (; isSPACE(*t); t++) ;
if (*t == ';' && get_cv(tmpbuf, FALSE))
- warner(WARN_SYNTAX,
+ Perl_warner(aTHX_ WARN_SYNTAX,
"You need to quote \"%s\"", tmpbuf);
}
}
@@ -2800,7 +2799,7 @@ yylex(pTHX)
if (*t == '}' || *t == ']') {
t++;
PL_bufptr = skipspace(PL_bufptr);
- warner(WARN_SYNTAX,
+ Perl_warner(aTHX_ WARN_SYNTAX,
"Scalar value %.*s better written as $%.*s",
t-PL_bufptr, PL_bufptr, t-PL_bufptr-1, PL_bufptr+1);
}
@@ -2914,7 +2913,7 @@ yylex(pTHX)
case '\\':
s++;
if (ckWARN(WARN_SYNTAX) && PL_lex_inwhat && isDIGIT(*s))
- warner(WARN_SYNTAX,"Can't use \\%c to mean $%c in expression",
+ Perl_warner(aTHX_ WARN_SYNTAX,"Can't use \\%c to mean $%c in expression",
*s, *s);
if (PL_expect == XOPERATOR)
no_op("Backslash",s);
@@ -3033,7 +3032,7 @@ yylex(pTHX)
gvp = 0;
if (ckWARN(WARN_AMBIGUOUS) && hgv
&& tmp != KEY_x && tmp != KEY_CORE) /* never ambiguous */
- warner(WARN_AMBIGUOUS,
+ Perl_warner(aTHX_ WARN_AMBIGUOUS,
"Ambiguous call resolved as CORE::%s(), %s",
GvENAME(hgv), "qualify as such or use &");
}
@@ -3054,7 +3053,7 @@ yylex(pTHX)
s = scan_word(s, PL_tokenbuf + len, sizeof PL_tokenbuf - len,
TRUE, &morelen);
if (!morelen)
- croak("Bad name after %s%s", PL_tokenbuf,
+ Perl_croak(aTHX_ "Bad name after %s%s", PL_tokenbuf,
*s == '\'' ? "'" : "::");
len += morelen;
}
@@ -3062,7 +3061,7 @@ yylex(pTHX)
if (PL_expect == XOPERATOR) {
if (PL_bufptr == PL_linestart) {
PL_curcop->cop_line--;
- warner(WARN_SEMICOLON, PL_warn_nosemi);
+ Perl_warner(aTHX_ WARN_SEMICOLON, PL_warn_nosemi);
PL_curcop->cop_line++;
}
else
@@ -3077,7 +3076,7 @@ yylex(pTHX)
PL_tokenbuf[len - 2] == ':' && PL_tokenbuf[len - 1] == ':')
{
if (ckWARN(WARN_UNSAFE) && ! gv_fetchpv(PL_tokenbuf, FALSE, SVt_PVHV))
- warner(WARN_UNSAFE,
+ Perl_warner(aTHX_ WARN_UNSAFE,
"Bareword \"%s\" refers to nonexistent package",
PL_tokenbuf);
len -= 2;
@@ -3181,7 +3180,7 @@ yylex(pTHX)
if (gv && GvCVu(gv)) {
CV* cv;
if (lastchar == '-')
- warn("Ambiguous use of -%s resolved as -&%s()",
+ Perl_warn(aTHX_ "Ambiguous use of -%s resolved as -&%s()",
PL_tokenbuf, PL_tokenbuf);
/* Check for a constant sub */
cv = GvCV(gv);
@@ -3228,7 +3227,7 @@ yylex(pTHX)
if (lastchar != '-') {
for (d = PL_tokenbuf; *d && isLOWER(*d); d++) ;
if (!*d)
- warner(WARN_RESERVED, PL_warn_reserved,
+ Perl_warner(aTHX_ WARN_RESERVED, PL_warn_reserved,
PL_tokenbuf);
}
}
@@ -3236,9 +3235,9 @@ yylex(pTHX)
safe_bareword:
if (lastchar && strchr("*%&", lastchar)) {
- warn("Operator or semicolon missing before %c%s",
+ Perl_warn(aTHX_ "Operator or semicolon missing before %c%s",
lastchar, PL_tokenbuf);
- warn("Ambiguous use of %c resolved as operator %c",
+ Perl_warn(aTHX_ "Ambiguous use of %c resolved as operator %c",
lastchar, lastchar);
}
TOKEN(WORD);
@@ -3251,7 +3250,7 @@ yylex(pTHX)
case KEY___LINE__:
yylval.opval = (OP*)newSVOP(OP_CONST, 0,
- newSVpvf("%ld", (long)PL_curcop->cop_line));
+ Perl_newSVpvf(aTHX_ "%ld", (long)PL_curcop->cop_line));
TERM(THING);
case KEY___PACKAGE__:
@@ -3270,7 +3269,7 @@ yylex(pTHX)
char *pname = "main";
if (PL_tokenbuf[2] == 'D')
pname = HvNAME(PL_curstash ? PL_curstash : PL_defstash);
- gv = gv_fetchpv(form("%s::DATA", pname), TRUE, SVt_PVIO);
+ gv = gv_fetchpv(Perl_form(aTHX_ "%s::DATA", pname), TRUE, SVt_PVIO);
GvMULTI_on(gv);
if (!GvIO(gv))
GvIOp(gv) = newIO();
@@ -3485,7 +3484,7 @@ yylex(pTHX)
p += 2;
p = skipspace(p);
if (isIDFIRST_lazy(p))
- croak("Missing $ on loop variable");
+ Perl_croak(aTHX_ "Missing $ on loop variable");
}
OPERATOR(FOR);
@@ -3729,7 +3728,7 @@ yylex(pTHX)
for (d = s; isALNUM_lazy(d); d++) ;
t = skipspace(d);
if (strchr("|&*+-=!?:.", *t))
- warn("Precedence problem: open %.*s should be open(%.*s)",
+ Perl_warn(aTHX_ "Precedence problem: open %.*s should be open(%.*s)",
d-s,s, d-s,s);
}
LOP(OP_OPEN,XTERM);
@@ -3803,12 +3802,12 @@ yylex(pTHX)
if (!warned && ckWARN(WARN_SYNTAX)) {
for (; !isSPACE(*d) && len; --len, ++d) {
if (*d == ',') {
- warner(WARN_SYNTAX,
+ Perl_warner(aTHX_ WARN_SYNTAX,
"Possible attempt to separate words with commas");
++warned;
}
else if (*d == '#') {
- warner(WARN_SYNTAX,
+ Perl_warner(aTHX_ WARN_SYNTAX,
"Possible attempt to put comments in qw() list");
++warned;
}
@@ -4008,7 +4007,7 @@ yylex(pTHX)
checkcomma(s,PL_tokenbuf,"subroutine name");
s = skipspace(s);
if (*s == ';' || *s == ')') /* probably a close */
- croak("sort is now a reserved word");
+ Perl_croak(aTHX_ "sort is now a reserved word");
PL_expect = XTERM;
s = force_word(s,WORD,TRUE,TRUE,FALSE);
LOP(OP_SORT,XREF);
@@ -4078,7 +4077,7 @@ yylex(pTHX)
if (PL_lex_stuff)
SvREFCNT_dec(PL_lex_stuff);
PL_lex_stuff = Nullsv;
- croak("Prototype not terminated");
+ Perl_croak(aTHX_ "Prototype not terminated");
}
/* strip spaces */
d = SvPVX(PL_lex_stuff);
@@ -4393,7 +4392,7 @@ Perl_keyword(pTHX_ register char *d, I32 len)
break;
case 6:
if (strEQ(d,"exists")) return KEY_exists;
- if (strEQ(d,"elseif")) warn("elseif should be elsif");
+ if (strEQ(d,"elseif")) Perl_warn(aTHX_ "elseif should be elsif");
break;
case 8:
if (strEQ(d,"endgrent")) return -KEY_endgrent;
@@ -4889,7 +4888,7 @@ Perl_keyword(pTHX_ register char *d, I32 len)
}
STATIC void
-checkcomma(pTHX_ register char *s, char *name, char *what)
+S_checkcomma(pTHX_ register char *s, char *name, char *what)
{
char *w;
@@ -4906,7 +4905,7 @@ checkcomma(pTHX_ register char *s, char *name, char *what)
if (*w)
for (; *w && isSPACE(*w); w++) ;
if (!*w || !strchr(";|})]oaiuw!=", *w)) /* an advisory hack only... */
- warner(WARN_SYNTAX, "%s (...) interpreted as function",name);
+ Perl_warner(aTHX_ WARN_SYNTAX, "%s (...) interpreted as function",name);
}
}
while (s < PL_bufend && isSPACE(*s))
@@ -4928,13 +4927,13 @@ checkcomma(pTHX_ register char *s, char *name, char *what)
*s = ',';
if (kw)
return;
- croak("No comma allowed after %s", what);
+ Perl_croak(aTHX_ "No comma allowed after %s", what);
}
}
}
STATIC SV *
-new_constant(pTHX_ char *s, STRLEN len, char *key, SV *sv, SV *pv, char *type)
+S_new_constant(pTHX_ char *s, STRLEN len, char *key, SV *sv, SV *pv, char *type)
{
dSP;
HV *table = GvHV(PL_hintgv); /* ^H */
@@ -4976,7 +4975,7 @@ new_constant(pTHX_ char *s, STRLEN len, char *key, SV *sv, SV *pv, char *type)
if (PERLDB_SUB && PL_curstash != PL_debstash)
PL_op->op_private |= OPpENTERSUB_DB;
PUTBACK;
- pp_pushmark(ARGS);
+ Perl_pp_pushmark(aTHX);
EXTEND(sp, 4);
PUSHs(pv);
@@ -4985,8 +4984,8 @@ new_constant(pTHX_ char *s, STRLEN len, char *key, SV *sv, SV *pv, char *type)
PUSHs(cv);
PUTBACK;
- if (PL_op = pp_entersub(ARGS))
- CALLRUNOPS();
+ if (PL_op = Perl_pp_entersub(aTHX))
+ CALLRUNOPS(aTHX);
LEAVE;
SPAGAIN;
@@ -5004,13 +5003,13 @@ new_constant(pTHX_ char *s, STRLEN len, char *key, SV *sv, SV *pv, char *type)
}
STATIC char *
-scan_word(pTHX_ register char *s, char *dest, STRLEN destlen, int allow_package, STRLEN *slp)
+S_scan_word(pTHX_ register char *s, char *dest, STRLEN destlen, int allow_package, STRLEN *slp)
{
register char *d = dest;
register char *e = d + destlen - 3; /* two-character token, ending NUL */
for (;;) {
if (d >= e)
- croak(ident_too_long);
+ Perl_croak(aTHX_ ident_too_long);
if (isALNUM(*s)) /* UTF handled below */
*d++ = *s++;
else if (*s == '\'' && allow_package && isIDFIRST_lazy(s+1)) {
@@ -5027,7 +5026,7 @@ scan_word(pTHX_ register char *s, char *dest, STRLEN destlen, int allow_package,
while (*t & 0x80 && is_utf8_mark((U8*)t))
t += UTF8SKIP(t);
if (d + (t - s) > e)
- croak(ident_too_long);
+ Perl_croak(aTHX_ ident_too_long);
Copy(s, d, t - s, char);
d += t - s;
s = t;
@@ -5041,7 +5040,7 @@ scan_word(pTHX_ register char *s, char *dest, STRLEN destlen, int allow_package,
}
STATIC char *
-scan_ident(pTHX_ register char *s, register char *send, char *dest, STRLEN destlen, I32 ck_uni)
+S_scan_ident(pTHX_ register char *s, register char *send, char *dest, STRLEN destlen, I32 ck_uni)
{
register char *d;
register char *e;
@@ -5057,14 +5056,14 @@ scan_ident(pTHX_ register char *s, register char *send, char *dest, STRLEN destl
if (isDIGIT(*s)) {
while (isDIGIT(*s)) {
if (d >= e)
- croak(ident_too_long);
+ Perl_croak(aTHX_ ident_too_long);
*d++ = *s++;
}
}
else {
for (;;) {
if (d >= e)
- croak(ident_too_long);
+ Perl_croak(aTHX_ ident_too_long);
if (isALNUM(*s)) /* UTF handled below */
*d++ = *s++;
else if (*s == '\'' && isIDFIRST_lazy(s+1)) {
@@ -5081,7 +5080,7 @@ scan_ident(pTHX_ register char *s, register char *send, char *dest, STRLEN destl
while (*t & 0x80 && is_utf8_mark((U8*)t))
t += UTF8SKIP(t);
if (d + (t - s) > e)
- croak(ident_too_long);
+ Perl_croak(aTHX_ ident_too_long);
Copy(s, d, t - s, char);
d += t - s;
s = t;
@@ -5142,7 +5141,7 @@ scan_ident(pTHX_ register char *s, register char *send, char *dest, STRLEN destl
while ((isALNUM(*s) || *s == ':') && d < e)
*d++ = *s++;
if (d >= e)
- croak(ident_too_long);
+ Perl_croak(aTHX_ ident_too_long);
}
*d = '\0';
while (s < send && (*s == ' ' || *s == '\t')) s++;
@@ -5150,7 +5149,7 @@ scan_ident(pTHX_ register char *s, register char *send, char *dest, STRLEN destl
dTHR; /* only for ckWARN */
if (ckWARN(WARN_AMBIGUOUS) && keyword(dest, d - dest)) {
char *brack = *s == '[' ? "[...]" : "{...}";
- warner(WARN_AMBIGUOUS,
+ Perl_warner(aTHX_ WARN_AMBIGUOUS,
"Ambiguous use of %c{%s%s} resolved to %c%s%s",
funny, dest, brack, funny, dest, brack);
}
@@ -5170,7 +5169,7 @@ scan_ident(pTHX_ register char *s, register char *send, char *dest, STRLEN destl
*d++ = *s++;
}
if (d >= e)
- croak(ident_too_long);
+ Perl_croak(aTHX_ ident_too_long);
*d = '\0';
}
if (*s == '}') {
@@ -5184,7 +5183,7 @@ scan_ident(pTHX_ register char *s, register char *send, char *dest, STRLEN destl
if (ckWARN(WARN_AMBIGUOUS) &&
(keyword(dest, d - dest) || get_cv(dest, FALSE)))
{
- warner(WARN_AMBIGUOUS,
+ Perl_warner(aTHX_ WARN_AMBIGUOUS,
"Ambiguous use of %c{%s} resolved to %c%s",
funny, dest, funny, dest);
}
@@ -5200,7 +5199,8 @@ scan_ident(pTHX_ register char *s, register char *send, char *dest, STRLEN destl
return s;
}
-void pmflag(U16 *pmfl, int ch)
+void
+Perl_pmflag(pTHX_ U16 *pmfl, int ch)
{
if (ch == 'i')
*pmfl |= PMf_FOLD;
@@ -5219,7 +5219,7 @@ void pmflag(U16 *pmfl, int ch)
}
STATIC char *
-scan_pat(pTHX_ char *start, I32 type)
+S_scan_pat(pTHX_ char *start, I32 type)
{
PMOP *pm;
char *s;
@@ -5229,7 +5229,7 @@ scan_pat(pTHX_ char *start, I32 type)
if (PL_lex_stuff)
SvREFCNT_dec(PL_lex_stuff);
PL_lex_stuff = Nullsv;
- croak("Search pattern not terminated");
+ Perl_croak(aTHX_ "Search pattern not terminated");
}
pm = (PMOP*)newPMOP(type, 0);
@@ -5251,7 +5251,7 @@ scan_pat(pTHX_ char *start, I32 type)
}
STATIC char *
-scan_subst(pTHX_ char *start)
+S_scan_subst(pTHX_ char *start)
{
register char *s;
register PMOP *pm;
@@ -5266,7 +5266,7 @@ scan_subst(pTHX_ char *start)
if (PL_lex_stuff)
SvREFCNT_dec(PL_lex_stuff);
PL_lex_stuff = Nullsv;
- croak("Substitution pattern not terminated");
+ Perl_croak(aTHX_ "Substitution pattern not terminated");
}
if (s[-1] == PL_multi_open)
@@ -5281,7 +5281,7 @@ scan_subst(pTHX_ char *start)
if (PL_lex_repl)
SvREFCNT_dec(PL_lex_repl);
PL_lex_repl = Nullsv;
- croak("Substitution replacement not terminated");
+ Perl_croak(aTHX_ "Substitution replacement not terminated");
}
PL_multi_start = first_start; /* so whole substitution is taken together */
@@ -5321,7 +5321,7 @@ scan_subst(pTHX_ char *start)
}
STATIC char *
-scan_trans(pTHX_ char *start)
+S_scan_trans(pTHX_ char *start)
{
register char* s;
OP *o;
@@ -5339,7 +5339,7 @@ scan_trans(pTHX_ char *start)
if (PL_lex_stuff)
SvREFCNT_dec(PL_lex_stuff);
PL_lex_stuff = Nullsv;
- croak("Transliteration pattern not terminated");
+ Perl_croak(aTHX_ "Transliteration pattern not terminated");
}
if (s[-1] == PL_multi_open)
s--;
@@ -5352,7 +5352,7 @@ scan_trans(pTHX_ char *start)
if (PL_lex_repl)
SvREFCNT_dec(PL_lex_repl);
PL_lex_repl = Nullsv;
- croak("Transliteration replacement not terminated");
+ Perl_croak(aTHX_ "Transliteration replacement not terminated");
}
if (UTF) {
@@ -5388,7 +5388,7 @@ scan_trans(pTHX_ char *start)
utf8 |= OPpTRANS_TO_UTF;
break;
default:
- croak("Too many /C and /U options");
+ Perl_croak(aTHX_ "Too many /C and /U options");
}
}
s++;
@@ -5401,7 +5401,7 @@ scan_trans(pTHX_ char *start)
}
STATIC char *
-scan_heredoc(pTHX_ register char *s)
+S_scan_heredoc(pTHX_ register char *s)
{
dTHR;
SV *herewas;
@@ -5441,7 +5441,7 @@ scan_heredoc(pTHX_ register char *s)
}
}
if (d >= PL_tokenbuf + sizeof PL_tokenbuf - 1)
- croak("Delimiter for here document is too long");
+ Perl_croak(aTHX_ "Delimiter for here document is too long");
*d++ = '\n';
*d = '\0';
len = d - PL_tokenbuf;
@@ -5611,7 +5611,7 @@ retval:
*/
STATIC char *
-scan_inputsymbol(pTHX_ char *start)
+S_scan_inputsymbol(pTHX_ char *start)
{
register char *s = start; /* current position in buffer */
register char *d;
@@ -5631,9 +5631,9 @@ scan_inputsymbol(pTHX_ char *start)
*/
if (len >= sizeof PL_tokenbuf)
- croak("Excessively long <> operator");
+ Perl_croak(aTHX_ "Excessively long <> operator");
if (s >= end)
- croak("Unterminated <> operator");
+ Perl_croak(aTHX_ "Unterminated <> operator");
s++;
@@ -5661,7 +5661,7 @@ scan_inputsymbol(pTHX_ char *start)
set_csh();
s = scan_str(start);
if (!s)
- croak("Glob not terminated");
+ Perl_croak(aTHX_ "Glob not terminated");
return s;
}
else {
@@ -5751,7 +5751,7 @@ scan_inputsymbol(pTHX_ char *start)
*/
STATIC char *
-scan_str(pTHX_ char *start)
+S_scan_str(pTHX_ char *start)
{
dTHR;
SV *sv; /* scalar value: string */
@@ -5954,7 +5954,7 @@ Perl_scan_num(pTHX_ char *start)
switch (*s) {
default:
- croak("panic: scan_num");
+ Perl_croak(aTHX_ "panic: scan_num");
/* if it starts with a 0, it could be an octal number, a decimal in
0.13 disguise, or a hexadecimal number, or a binary number.
@@ -6009,17 +6009,17 @@ Perl_scan_num(pTHX_ char *start)
/* 8 and 9 are not octal */
case '8': case '9':
if (shift == 3)
- yyerror(form("Illegal octal digit '%c'", *s));
+ yyerror(Perl_form(aTHX_ "Illegal octal digit '%c'", *s));
else
if (shift == 1)
- yyerror(form("Illegal binary digit '%c'", *s));
+ yyerror(Perl_form(aTHX_ "Illegal binary digit '%c'", *s));
/* FALL THROUGH */
/* octal digits */
case '2': case '3': case '4':
case '5': case '6': case '7':
if (shift == 1)
- yyerror(form("Illegal binary digit '%c'", *s));
+ yyerror(Perl_form(aTHX_ "Illegal binary digit '%c'", *s));
/* FALL THROUGH */
case '0': case '1':
@@ -6042,7 +6042,7 @@ Perl_scan_num(pTHX_ char *start)
n = u << shift; /* make room for the digit */
if (!overflowed && (n >> shift) != u
&& !(PL_hints & HINT_NEW_BINARY)) {
- warn("Integer overflow in %s number",
+ Perl_warn(aTHX_ "Integer overflow in %s number",
(shift == 4) ? "hex"
: ((shift == 3) ? "octal" : "binary"));
overflowed = TRUE;
@@ -6082,13 +6082,13 @@ Perl_scan_num(pTHX_ char *start)
if (*s == '_') {
dTHR; /* only for ckWARN */
if (ckWARN(WARN_SYNTAX) && lastub && s - lastub != 3)
- warner(WARN_SYNTAX, "Misplaced _ in number");
+ Perl_warner(aTHX_ WARN_SYNTAX, "Misplaced _ in number");
lastub = ++s;
}
else {
/* check for end of fixed-length buffer */
if (d >= e)
- croak(number_too_long);
+ Perl_croak(aTHX_ number_too_long);
/* if we're ok, copy the character */
*d++ = *s++;
}
@@ -6098,7 +6098,7 @@ Perl_scan_num(pTHX_ char *start)
if (lastub && s - lastub != 3) {
dTHR;
if (ckWARN(WARN_SYNTAX))
- warner(WARN_SYNTAX, "Misplaced _ in number");
+ Perl_warner(aTHX_ WARN_SYNTAX, "Misplaced _ in number");
}
/* read a decimal portion if there is one. avoid
@@ -6115,7 +6115,7 @@ Perl_scan_num(pTHX_ char *start)
for (; isDIGIT(*s) || *s == '_'; s++) {
/* fixed length buffer check */
if (d >= e)
- croak(number_too_long);
+ Perl_croak(aTHX_ number_too_long);
if (*s != '_')
*d++ = *s;
}
@@ -6136,7 +6136,7 @@ Perl_scan_num(pTHX_ char *start)
/* read digits of exponent (no underbars :-) */
while (isDIGIT(*s)) {
if (d >= e)
- croak(number_too_long);
+ Perl_croak(aTHX_ number_too_long);
*d++ = *s++;
}
}
@@ -6179,7 +6179,7 @@ Perl_scan_num(pTHX_ char *start)
}
STATIC char *
-scan_formline(pTHX_ register char *s)
+S_scan_formline(pTHX_ register char *s)
{
dTHR;
register char *eol;
@@ -6253,7 +6253,7 @@ scan_formline(pTHX_ register char *s)
}
STATIC void
-set_csh(pTHX)
+S_set_csh(pTHX)
{
#ifdef CSH
if (!PL_cshlen)
@@ -6368,34 +6368,34 @@ Perl_yyerror(pTHX_ char *s)
else {
SV *where_sv = sv_2mortal(newSVpvn("next char ", 10));
if (yychar < 32)
- sv_catpvf(where_sv, "^%c", toCTRL(yychar));
+ Perl_sv_catpvf(aTHX_ where_sv, "^%c", toCTRL(yychar));
else if (isPRINT_LC(yychar))
- sv_catpvf(where_sv, "%c", yychar);
+ Perl_sv_catpvf(aTHX_ where_sv, "%c", yychar);
else
- sv_catpvf(where_sv, "\\%03o", yychar & 255);
+ Perl_sv_catpvf(aTHX_ where_sv, "\\%03o", yychar & 255);
where = SvPVX(where_sv);
}
msg = sv_2mortal(newSVpv(s, 0));
- sv_catpvf(msg, " at %_ line %ld, ",
+ Perl_sv_catpvf(aTHX_ msg, " at %_ line %ld, ",
GvSV(PL_curcop->cop_filegv), (long)PL_curcop->cop_line);
if (context)
- sv_catpvf(msg, "near \"%.*s\"\n", contlen, context);
+ Perl_sv_catpvf(aTHX_ msg, "near \"%.*s\"\n", contlen, context);
else
- sv_catpvf(msg, "%s\n", where);
+ Perl_sv_catpvf(aTHX_ msg, "%s\n", where);
if (PL_multi_start < PL_multi_end && (U32)(PL_curcop->cop_line - PL_multi_end) <= 1) {
- sv_catpvf(msg,
+ Perl_sv_catpvf(aTHX_ msg,
" (Might be a runaway multi-line %c%c string starting on line %ld)\n",
(int)PL_multi_open,(int)PL_multi_close,(long)PL_multi_start);
PL_multi_end = 0;
}
if (PL_in_eval & EVAL_WARNONLY)
- warn("%_", msg);
+ Perl_warn(aTHX_ "%_", msg);
else if (PL_in_eval)
sv_catsv(ERRSV, msg);
else
PerlIO_write(PerlIO_stderr(), SvPVX(msg), SvCUR(msg));
if (++PL_error_count >= 10)
- croak("%_ has too many errors.\n", GvSV(PL_curcop->cop_filegv));
+ Perl_croak(aTHX_ "%_ has too many errors.\n", GvSV(PL_curcop->cop_filegv));
PL_in_my = 0;
PL_in_my_stash = Nullhv;
return 0;