perl/perl-5.29.6-First-eof-should-return-true.patch
2019-01-15 10:33:18 +01:00

46 lines
1.2 KiB
Diff

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