From eb699a9c8fb7ddfcafc714f1eba1bbc395dc3675 Mon Sep 17 00:00:00 2001 From: Hauke D Date: Wed, 12 Dec 2018 22:26:26 +0100 Subject: [PATCH] First "eof" should return true MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit When no file has previously been opened, "eof" should return true. This behavior was broken by 32e653230c7ccc (see also [#60978]). Signed-off-by: Petr Písař --- pp_sys.c | 2 +- t/io/tell.t | 1 - 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/pp_sys.c b/pp_sys.c index 5dc20b14f0..e28e8906f1 100644 --- 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)); diff --git a/t/io/tell.t b/t/io/tell.t index 30adafbc01..ba106f0cc7 100644 --- a/t/io/tell.t +++ b/t/io/tell.t @@ -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; -- 2.17.2