This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Revert "toke.c: PL_in_eval purge"
authorFather Chrysostomos <sprout@cpan.org>
Fri, 31 Aug 2012 16:52:53 +0000 (09:52 -0700)
committerFather Chrysostomos <sprout@cpan.org>
Fri, 31 Aug 2012 19:31:27 +0000 (12:31 -0700)
commit62e4c90a271e4c9a7e8d172f3d36399885df56bc
treead62e7cef84e7dc7edb3a581ae7fdc3d95b90bcf
parent09b6b4fbab78d77d855f401bf6adba60e3032aa0
Revert "toke.c: PL_in_eval purge"

This reverts commit 5c49e90fd624f3ab1cdb1f1d8e4f0525d7881b99.

This change broke line numbers under mad when the last statement in the main program lacks a semicolon.

I was mistaken in thinking that PL_rsfp would always be true when
PL_in_eval is false.

But the use of PL_in_eval is still wrong.  Under a mad build, we get
this inconsistency in line numbers:

$ perl -e 'print "\n-e undef\n"' > foo
$ ./miniperl foo
Use of uninitialized value in -e at foo line 2.
$ ./miniperl -we 'require "foo"'
Use of uninitialized value in -e at foo line 3.
foo did not return a true value at -e line 1.
toke.c