First "eof" should return true
authorHauke D <haukex@zero-g.net>
Wed, 12 Dec 2018 21:26:26 +0000 (22:26 +0100)
committerTony Cook <tony@develop-help.com>
Wed, 2 Jan 2019 00:53:51 +0000 (11:53 +1100)
When no file has previously been opened, "eof" should return true. This
behavior was broken by 32e653230c7ccc (see also [#60978]).

pp_sys.c
t/io/tell.t

index 5dc20b1..e28e890 100644 (file)
--- a/pp_sys.c
+++ b/pp_sys.c
@@ -2121,7 +2121,7 @@ PP(pp_eof)
     }
 
     if (!gv)
-       RETPUSHNO;
+       RETPUSHYES;
 
     if ((io = GvIO(gv)) && (mg = SvTIED_mg((const SV *)io, PERL_MAGIC_tiedscalar))) {
        return tied_method1(SV_CONST(EOF), SP, MUTABLE_SV(io), mg, newSVuv(which));
index 30adafb..ba106f0 100644 (file)
@@ -189,7 +189,6 @@ seek *$fh,0,0;
 is(tell, 0, "argless tell after seek *\$coercible...");
 
 {
-    local $TODO = "not fixed yet";
     # [perl #133721]
     fresh_perl_is(<<'EOI', 'ok', {}, 'eof with no ${^LAST_FH}');
 print "ok" if eof;