X-Git-Url: http://git.vpit.fr/?p=perl%2Fmodules%2Findirect.git;a=blobdiff_plain;f=indirect.xs;h=ee702c61c6f64f575a02970da3fafde7206039a5;hp=9e8dc99bdb995fd2979471cf13dadbb945cb04ab;hb=bde376117bfa1b3cc6b40bfe28e19ef120ba3ae0;hpb=3b0b8496006f89abcccdcc5f0322fed266e8ed53 diff --git a/indirect.xs b/indirect.xs index 9e8dc99..ee702c6 100644 --- a/indirect.xs +++ b/indirect.xs @@ -146,6 +146,9 @@ static SV *indirect_hint(pTHX) { # ifndef PL_lex_inwhat # define PL_lex_inwhat PL_parser->lex_inwhat # endif +# ifndef PL_multi_close +# define PL_multi_close PL_parser->multi_close +# endif #else # ifndef PL_linestr # define PL_linestr PL_Ilinestr @@ -159,6 +162,9 @@ static SV *indirect_hint(pTHX) { # ifndef PL_lex_inwhat # define PL_lex_inwhat PL_Ilex_inwhat # endif +# ifndef PL_multi_close +# define PL_multi_close PL_Imulti_close +# endif #endif /* ... Safe version of call_sv() ........................................... */ @@ -333,8 +339,11 @@ static OP *indirect_ck_const(pTHX_ OP *o) { if (SvPOK(sv) && (SvTYPE(sv) >= SVt_PV)) { STRLEN pos; + const char *bufptr; + + bufptr = PL_multi_close == '<' ? PL_bufptr : PL_oldbufptr; - if (indirect_find(sv, PL_oldbufptr, &pos)) { + if (indirect_find(sv, bufptr, &pos)) { STRLEN len; /* If the constant is equal to the current package name, try to look for