Blob Blame Raw
From eb699a9c8fb7ddfcafc714f1eba1bbc395dc3675 Mon Sep 17 00:00:00 2001
From: Hauke D <haukex@zero-g.net>
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ř <ppisar@redhat.com>
---
 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