summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJesse Luehrs <doy@tozt.net>2013-07-21 01:46:05 -0400
committerJesse Luehrs <doy@tozt.net>2013-07-21 01:46:05 -0400
commit302dbb801d19d19260de25d29bf099f7e217b064 (patch)
tree3c92b6017e38f1e980cc5a79228030b9358254a4
parent10a4394ca53c09f45a8559a87ed7c4f4d18aa1ed (diff)
downloadparse-keyword-302dbb801d19d19260de25d29bf099f7e217b064.tar.gz
parse-keyword-302dbb801d19d19260de25d29bf099f7e217b064.zip
actually, need to do this in all of these functions
or else error messages don't have the right file and line
-rw-r--r--Keyword.xs5
1 files changed, 5 insertions, 0 deletions
diff --git a/Keyword.xs b/Keyword.xs
index cc62542..403d38b 100644
--- a/Keyword.xs
+++ b/Keyword.xs
@@ -75,6 +75,7 @@ install_keyword_handler(keyword, handler)
void
lex_read_space()
CODE:
+ PL_curcop = &PL_compiling;
lex_read_space(0);
SV*
@@ -82,6 +83,7 @@ lex_peek_unichar()
PREINIT:
I32 ch;
CODE:
+ PL_curcop = &PL_compiling;
ch = lex_peek_unichar(0);
RETVAL = newSVpvf("%c", (int)ch); /* XXX unicode */
OUTPUT:
@@ -107,6 +109,7 @@ void
ensure_linestr_len(len)
UV len
CODE:
+ PL_curcop = &PL_compiling;
while (PL_parser->bufend - PL_parser->bufptr < len) {
if (!lex_next_chunk(LEX_KEEP_PREVIOUS)) {
break;
@@ -116,6 +119,7 @@ ensure_linestr_len(len)
SV*
linestr()
CODE:
+ PL_curcop = &PL_compiling;
RETVAL = newSVpvn(PL_parser->bufptr, PL_parser->bufend - PL_parser->bufptr);
OUTPUT:
RETVAL
@@ -124,4 +128,5 @@ void
lex_read_to(len)
UV len
CODE:
+ PL_curcop = &PL_compiling;
lex_read_to(PL_parser->bufptr + len);